Exemple #1
0
def build_protocol():
    if have_required_settings("MANHOLE_BIND_ADDRESS", "MANHOLE_PASSWORD"):
        host, port = parse_hostname(get_setting("MANHOLE_BIND_ADDRESS"))
        manhole = manhole_factory()
        
        reactor.listenTCP(port, manhole, interface=host)
        
        return manhole
Exemple #2
0
def build_protocol():
    if have_required_settings("ECHOER_BIND_ADDRESS"):
        host, port = parse_hostname(get_setting("ECHOER_BIND_ADDRESS"))
        echoer = Echoer()
        
        reactor.listenUDP(port, echoer, interface=host)
        
        return echoer
Exemple #3
0
def build_protocol():
    defaultSettings = '''#BIND_ADDRESS = ""
'''
    
    load_secondary_settings("echoer", defaultSettings)
    
    if have_required_settings("ECHOER_BIND_ADDRESS"):
        host, port = parse_hostname(get_setting("ECHOER_BIND_ADDRESS"))
        echoer = Echoer()
        
        reactor.listenUDP(port, echoer, interface=host)
        
        return echoer
Exemple #4
0
def build_protocol():
    defaultSettings = """#BIND_ADDRESS = ""
#PASSWORD = ""
"""
    
    load_secondary_settings("manhole", defaultSettings)
    
    if have_required_settings("MANHOLE_BIND_ADDRESS", "MANHOLE_PASSWORD"):
        host, port = parse_hostname(get_setting("MANHOLE_BIND_ADDRESS"))
        manhole = manhole_factory()
        
        reactor.listenTCP(port, manhole, interface=host)
        
        return manhole
Exemple #5
0
 def __init__(self, nick, networks):
     self.nick = nick
     self.networks = networks
     self.clients = {}
     self.resolved = {}
     
     for network in networks:
         host, port = parse_hostname(network)
         client = IrcBot(self, network, networks[network])
         
         def capture(host, port, client): #hack around python's tricky scoping rules
             def callback(resolved):
                 addr = "%s:%s" % (resolved, port)
                 unresolvedAddr = "%s:%s" % (host, port)
                 client.address = unresolvedAddr
                 
                 self.resolved.update({addr: unresolvedAddr})
                 self.clients.update({unresolvedAddr: client})
                 reactor.connectTCP(resolved, port, self)
             
             return callback
         
         reactor.resolve(host).addCallback(capture(host, port, client))