def ctrl_conn_init(self): il.do_set_logging(self.sock, CONFIG["tincan_logging"]) # Callback endpoint to receive notifications il.do_set_cb_endpoint(self.sock, self.sock.getsockname()) il.do_set_local_ip(self.sock, self.uid, self.ip4, il.gen_ip6(self.uid), CONFIG["ip4_mask"], CONFIG["ip6_mask"], CONFIG["subnet_mask"], CONFIG["switchmode"], CONFIG["mtu"], CONFIG["internal_mtu"]) # Register to the XMPP server il.do_register_service(self.sock, self.user, self.password, self.host) il.do_set_switchmode(self.sock, CONFIG["switchmode"]) il.do_set_trimpolicy(self.sock, CONFIG["trim_enabled"]) il.do_get_state(self.sock) # Information about the local node
def __init__(self): with open('config.json') as data_file: # Read config.json into an OrderedDict, to load the # modules in the order in which they appear in config.json self.json_data = json.load(data_file, object_pairs_hook=OrderedDict) # Parse config and update default CONFIG in ipoplib self.parse_config() ipoplib.CONFIG = self.CONFIG # CFxHandleDict is a dict containing the references to # CFxHandles of all CMs with key as the module name and # value as the CFxHandle reference self.CFxHandleDict = {} self.vpn_type = self.CONFIG['CFx']['vpn_type'] self.user = self.CONFIG['CFx']["xmpp_username"] self.password = self.CONFIG['CFx']["xmpp_password"] self.host = self.CONFIG['CFx']["xmpp_host"] self.ip4 = self.CONFIG['AddressMapper']["ip4"] if(self.vpn_type == 'GroupVPN'): self.uid = ipoplib.gen_uid(self.ip4) # SHA-1 Hash elif(self.vpn_type == 'SocialVPN'): self.uid = self.CONFIG['CFx']['local_uid'] self.ip6 = ipoplib.gen_ip6(self.uid) if socket.has_ipv6: self.sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) self.sock_svr = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) self.sock_svr.bind((self.CONFIG['TincanSender']["localhost6"], self.CONFIG['CFx']["contr_port"])) else: self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock_svr = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock_svr.bind((self.CONFIG['TincanSender']["localhost"], self.CONFIG['CFx']["contr_port"])) self.sock.bind(("", 0)) self.sock_list = [self.sock, self.sock_svr]
def create_connection(self, uid, data, nid, sec, cas, ip4): il.do_create_link(self.sock, uid, data, nid, sec, cas) if (CONFIG["switchmode"] == 1): il.do_set_remote_ip(self.sock, uid, ip4, il.gen_ip6(uid)) else: il.do_set_remote_ip(self.sock, uid, ip4, il.gen_ip6(uid))