def prepareConnect(self, userId=None, destinationPort=None, destinationIp=None, destinationType=None, reserved=None): """ Connect request """ if self.cfg['proxy-type'] == PROXY_SOCKS4: tpl = templates.socks(version=4, more=templates.connect( userId=userId, destIp=destinationIp, destPort=destinationPort)) req, summary = self.sockCodec4.encode(socks_tpl=tpl) if self.cfg['proxy-type'] == PROXY_SOCKS5: tpl = templates.socks(version=5, reserved=reserved, more=templates.connect( destIp=destinationIp, destPort=destinationPort, destType=destinationType)) req, summary = self.sockCodec5.encode(socks_tpl=tpl) return (tpl, req, summary)
def connect(self, dbName, timeout=5): """ Connect to the database @param dbName: database name @type dbName: string @param timeout: time max to wait to receive event in second (default=1s) @type timeout: integer """ TestAdapterLib.check_timeout(caller=TestAdapterLib.caller(), timeout=timeout) self.debug('connect to the db') # log connect event tpl = templates.db(host=self.cfg['host'], port=self.cfg['port'], user=self.cfg['user'], password=self.cfg['password'], more=templates.connect(db=dbName)) self.logSentEvent(shortEvt="connect", tplEvt=self.encapsule(db_event=tpl)) # connect if self.cfg['agent-support']: remote_cfg = { 'cmd': 'Connect', 'db-name': dbName, 'dbtype': 'mysql', 'user': self.cfg['user'], 'password': self.cfg['password'], 'host': self.cfg['host'], 'port': self.cfg['port'], 'timeout': int(timeout) } self.sendNotifyToAgent(data=remote_cfg) else: try: self.connPtr = MySQLdb.connect(host=self.cfg['host'], user=self.cfg['user'], passwd=self.cfg['password'], port=self.cfg['port'], connect_timeout=int(timeout), db=dbName) except MySQLdb.Error as e: self.onError(e) except Exception as e: self.error("unable to connect, generic error: %s" % str(e)) else: # log connected event tpl = templates.db(host=self.cfg['host'], port=self.cfg['port'], user=self.cfg['user'], password=self.cfg['password'], more=templates.connected()) self.logRecvEvent(shortEvt="connected", tplEvt=self.encapsule(db_event=tpl))
def connect(self, dbName, timeout=10, sslSupport=False): """ Connect to the database @param dbName: database name @type dbName: string @param sslSupport: ssl support (default=False) @type sslSupport: boolean @param timeout: time max to wait to receive event in second (default=1s) @type timeout: integer """ TestAdapterLib.check_timeout(caller=TestAdapterLib.caller(), timeout=timeout) self.debug('connect to the db') # log connect event tpl = templates.db( host=self.cfg['host'], port=self.cfg['port'], user=self.cfg['user'], password=self.cfg['password'], more=templates.connect(db=dbName) ) self.logSentEvent( shortEvt = "connect", tplEvt = self.encapsule(db_event=tpl) ) # connect if self.cfg['agent-support']: remote_cfg = { 'cmd': 'Connect', 'db-name': dbName , 'dbtype': 'postgresql', 'user': self.cfg['user'], 'password':self.cfg['password'], 'host': self.cfg['host'], 'port': self.cfg['port'], 'ssl-support': sslSupport, 'timeout': int(timeout) } self.sendNotifyToAgent(data=remote_cfg) else: try: sslMode = 'disable' if sslSupport: sslMode = 'require' self.connPtr = psycopg2.connect(database=dbName, user=self.cfg['user'], password=self.cfg['password'], host=self.cfg['host'], port=self.cfg['port'], sslmode=sslMode, connect_timeout=timeout) except psycopg2.Error as e: self.onError(err=(0, str(e)) ) except Exception as e: self.error( e ) else: # log connected event tpl = templates.db( host=self.cfg['host'], port=self.cfg['port'], user=self.cfg['user'], password=self.cfg['password'], more=templates.connected() ) self.logRecvEvent( shortEvt = "connected", tplEvt = self.encapsule(db_event=tpl) )
def connect(self, dbName, timeout=1): """ Connect to the database @param dbName: database name @type dbName: string @param timeout: time max to wait to receive event in second (default=1s) @type timeout: integer """ if not (isinstance(timeout, int) or isinstance(timeout, float)) or isinstance(timeout, bool): raise TestAdapterLib.ValueException( TestAdapterLib.caller(), "timeout argument is not a float or integer (%s)" % type(timeout)) self.debug('connect to the db') # log connect event tpl = templates.db(host=self.cfg['host'], port=self.cfg['port'], user=self.cfg['user'], password=self.cfg['password'], more=templates.connect(db=dbName)) self.logSentEvent(shortEvt="connect", tplEvt=self.encapsule(db_event=tpl)) # connect if self.cfg['agent-support']: remote_cfg = { 'cmd': 'Connect', 'db-name': dbName, 'dbtype': 'mysql', 'user': self.cfg['user'], 'password': self.cfg['password'], 'host': self.cfg['host'], 'port': self.cfg['port'], 'timeout': int(timeout) } self.sendNotifyToAgent(data=remote_cfg) else: try: if pymssql.__version__ >= "2.0.0": self.connPtr = pymssql.connect( host=self.cfg['host'], user=self.cfg['user'], password=self.cfg['password'], port=self.cfg['port'], database=dbName, user_timeout=timeout) else: self.connPtr = pymssql.connect( host=self.cfg['host'], user=self.cfg['user'], password=self.cfg['password'], database=dbName) except Exception as e: self.error(str(e)) else: # log connected event tpl = templates.db(host=self.cfg['host'], port=self.cfg['port'], user=self.cfg['user'], password=self.cfg['password'], more=templates.connected()) self.logRecvEvent(shortEvt="connected", tplEvt=self.encapsule(db_event=tpl))