#! /usr/bin/env python # Name Server security plugins. ACCEPTED_ID = 's3cr3t' #----- required global funcs that return validator objects ------ def BCGuard(): return None # no special broadcast server guard def NSGuard(): v=NSnewConnValidator() v.setAllowedIdentifications([ACCEPTED_ID]) return v #----- validator object implementation -------- import Pyro.protocol # NS Pyro Daemon newConnValidator class NSnewConnValidator(Pyro.protocol.DefaultConnValidator): def acceptIdentification(self, tcpserver, conn, hash, challenge): print conn.addr[0],'SENDS IDENTIFICATION...' (ok,reason)=Pyro.protocol.DefaultConnValidator.acceptIdentification(self, tcpserver, conn, hash, challenge) if not ok: print 'Connection denied! Make sure the identification is "'+ACCEPTED_ID+'"' return (ok,reason)