diff --git a/scapy.py b/scapy.py index ab8563bcbca9809b1a17b6b479807b07f53f1946..6b717999d792d9bcc06aad98553e639fb6d6b5c7 100755 --- a/scapy.py +++ b/scapy.py @@ -13809,6 +13809,7 @@ def scapy_write_history_file(readline): def interact(mydict=None,argv=None,mybanner=None,loglevel=1): + global session import code,sys,cPickle,types,os,imp,getopt,logging logging.getLogger("scapy").setLevel(loglevel) @@ -13831,13 +13832,15 @@ def interact(mydict=None,argv=None,mybanner=None,loglevel=1): # scapy=imp.load_module("scapy",*imp.find_module(scapy_module)) - import __builtin__ # __builtin__.__dict__.update(scapy.__dict__) + import __builtin__ __builtin__.__dict__.update(globals()) + globkeys = globals().keys() + globkeys.append("scapy_session") if mydict is not None: __builtin__.__dict__.update(mydict) - - + globkeys += mydict.keys() + import re, atexit try: import rlcompleter,readline @@ -13958,10 +13961,14 @@ def interact(mydict=None,argv=None,mybanner=None,loglevel=1): if conf.session: save_session(conf.session, session) - - sys.exit() + for k in globkeys: + try: + del(__builtin__.__dict__[k]) + except: + pass + def read_config_file(configfile): try: execfile(configfile)