mirror of
https://github.com/gryf/wicd.git
synced 2025-12-20 12:58:07 +01:00
Added script execution support, added autoconnect to wired network support, created a default wired network system to allow autoconnection
This commit is contained in:
88
daemon.py
88
daemon.py
@@ -16,7 +16,6 @@ import ConfigParser, time
|
||||
#import the random functions library
|
||||
import misc
|
||||
|
||||
|
||||
###############################
|
||||
# GENERAL NOTES
|
||||
#
|
||||
@@ -241,6 +240,16 @@ class ConnectionWizard(dbus.service.Object):
|
||||
self.wifi.Disconnect()
|
||||
#end function DisconnectWireless
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wireless')
|
||||
def SetBeforeScript(self,script):
|
||||
self.wifi.before_script = script
|
||||
#end function SetBeforeScript
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wireless')
|
||||
def SetAfterScript(self,script):
|
||||
self.wifi.after_script = script
|
||||
#end function SetAfterScript
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wireless')
|
||||
def GetNumberOfNetworks(self):
|
||||
'''returns number of networks'''
|
||||
@@ -254,6 +263,16 @@ class ConnectionWizard(dbus.service.Object):
|
||||
self.wifi.CreateAdHocNetwork(essid,channel,ip,enctype,key,encused,ics)
|
||||
#end function CreateAdHocNetwork
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wireless')
|
||||
def GetHideDupeAPs(self):
|
||||
return self.hide_dupe_aps
|
||||
#end function GetHideDupeAPs
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wireless')
|
||||
def SetHideDupeAPs(self,value):
|
||||
self.hide_dupe_aps = value
|
||||
#end function SetHideDupeAPs
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wireless')
|
||||
def GetAutoReconnect(self):
|
||||
do = bool(int(self.auto_reconnect))
|
||||
@@ -305,6 +324,18 @@ class ConnectionWizard(dbus.service.Object):
|
||||
#self.GetWiredIP()
|
||||
time.sleep(1)
|
||||
print "autoconnecting... done"
|
||||
return
|
||||
print "unable to find a network to autoconnect to, checking for a wired connection"
|
||||
if self.CheckPluggedIn() == True:
|
||||
if self.CheckIfWiredConnecting() == False: # Keeps us from going into an infinite connecting loop
|
||||
defaultNetwork = self.GetDefaultWiredNetwork()
|
||||
if defaultNetwork != None:
|
||||
self.ReadWiredNetworkProfile(defaultNetwork)
|
||||
self.ConnectWired()
|
||||
else:
|
||||
print "couldn't find a default wired connection, couldn't autoconnect"
|
||||
else:
|
||||
print "no wired connection present, couldn't autoconnect."
|
||||
else:
|
||||
print 'autoconnect failed because wireless interface == None'
|
||||
#end function AutoConnect
|
||||
@@ -369,7 +400,9 @@ class ConnectionWizard(dbus.service.Object):
|
||||
#CheckIfWirelessConnecting can be used to test if the connection
|
||||
#is done
|
||||
self.SetForcedDisconnect(False)
|
||||
print 'connecting to wireless network',self.LastScan[id]["essid"]
|
||||
self.wifi.before_script = self.GetWirelessProperty(id,'beforescript')
|
||||
self.wifi.after_script = self.GetWirelessProperty(id,'afterscript')
|
||||
print 'connecting to wireless network',self.LastScan[id]['essid']
|
||||
return self.wifi.Connect(self.LastScan[id])
|
||||
#end function Connect
|
||||
|
||||
@@ -452,6 +485,18 @@ class ConnectionWizard(dbus.service.Object):
|
||||
print 'wired connecting',False
|
||||
return False
|
||||
#end function CheckIfWiredConnecting
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wired')
|
||||
def SetBeforeScript(self,script):
|
||||
'''sets pre-connection script to run for a wired connection'''
|
||||
self.wired.before_script = script
|
||||
#end function SetBeforeScript
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wired')
|
||||
def SetAfterScript(self,script):
|
||||
'''sets post-connection script to run for a wired connection'''
|
||||
self.wired.after_script = script
|
||||
#end function SetAfterScript
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wired')
|
||||
def CheckWiredConnectingMessage(self):
|
||||
@@ -515,6 +560,8 @@ class ConnectionWizard(dbus.service.Object):
|
||||
def ConnectWired(self):
|
||||
'''connects to a wired network'''
|
||||
#simple enough.
|
||||
self.wired.before_script = self.GetWiredProperty("beforescript")
|
||||
self.wired.after_script = self.GetWiredProperty("afterscript")
|
||||
self.wired.Connect(self.WiredNetwork)
|
||||
|
||||
########## LOG FILE STUFF
|
||||
@@ -549,10 +596,38 @@ class ConnectionWizard(dbus.service.Object):
|
||||
config.set(profilename,"dns1",None)
|
||||
config.set(profilename,"dns2",None)
|
||||
config.set(profilename,"dns3",None)
|
||||
config.set(profilename,"beforescript",None)
|
||||
config.set(profilename,"afterscript",None)
|
||||
config.set(profilename,"default",False)
|
||||
config.write( open(self.wired_conf,"w"))
|
||||
return True
|
||||
#end function CreateWiredNetworkProfile
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.config')
|
||||
def UnsetWiredDefault(self):
|
||||
'''Unsets the default option in the current default wired profile'''
|
||||
config = ConfigParser.ConfigParser()
|
||||
config.read(self.wired_conf)
|
||||
profileList = config.sections()
|
||||
print "profileList = ",profileList
|
||||
for profile in profileList:
|
||||
print "profile = ", profile
|
||||
if config.get(profile,"default") == "True":
|
||||
print "removing existing default"
|
||||
config.set(profile,"default", False)
|
||||
self.SaveWiredNetworkProfile(profile)
|
||||
#end function UnsetWiredDefault
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.config')
|
||||
def GetDefaultWiredNetwork(self):
|
||||
config = ConfigParser.ConfigParser()
|
||||
config.read(self.wired_conf)
|
||||
profileList = config.sections()
|
||||
for profile in profileList:
|
||||
if config.get(profile,"default") == "True":
|
||||
return profile
|
||||
return None
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.config')
|
||||
def DeleteWiredNetworkProfile(self,profilename):
|
||||
print "deleting profile for " + str(profilename)
|
||||
@@ -640,6 +715,15 @@ class ConnectionWizard(dbus.service.Object):
|
||||
print self.LastScan[id]["bssid"]
|
||||
if config.has_section(self.LastScan[id]["bssid"]):
|
||||
self.LastScan[id]["has_profile"] = True
|
||||
|
||||
if config.has_option(self.LastScan[id]["bssid"],"beforescript"):
|
||||
self.LastScan[id]["beforescript"]= misc.Noneify(config.get(self.LastScan[id]["bssid"],"beforescript"))
|
||||
else:
|
||||
self.LastScan[id]["beforescript"]= None
|
||||
if config.has_option(self.LastScan[id]["bssid"],"afterscript"):
|
||||
self.LastScan[id]["afterscript"]=misc.Noneify(config.get(self.LastScan[id]["bssid"],"afterscript"))
|
||||
else:
|
||||
self.LastScan[id]["afterscript"] = None
|
||||
#read the essid because we be needing to name those hidden
|
||||
#wireless networks now - but only read it if it is hidden
|
||||
if self.LastScan[id]["hidden"] == True:
|
||||
|
||||
2
edgy.py
2
edgy.py
@@ -140,7 +140,7 @@ def set_signal_image():
|
||||
print wireless.AutoConnect(True)
|
||||
else:
|
||||
print "Scanning for an autoconnect network..."
|
||||
print wireless.AutoConnect(True)
|
||||
print wireless.AutoConnect(True)
|
||||
config.EnableLogging()
|
||||
return True
|
||||
|
||||
|
||||
70
gui.py
70
gui.py
@@ -13,7 +13,6 @@ except:
|
||||
print 'Missing GTK and gtk.glade. Aborting.'
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
import time, os, misc, gettext, locale, gobject, dbus, dbus.service
|
||||
|
||||
if getattr(dbus, 'version', (0,0,0)) >= (0,41,0):
|
||||
@@ -125,7 +124,11 @@ language['auto_reconnect'] = _('Automatically reconnect on connection loss')
|
||||
language['create_adhoc_network'] = _('Create an Ad-Hoc Network')
|
||||
language['essid'] = _('ESSID')
|
||||
language['use_wep_encryption'] = _('Use Encryption (WEP only)')
|
||||
language['before_script'] = _('Run script before connect')
|
||||
language['after_script'] = _('Run script after connect')
|
||||
language['script_settings'] = _('Scripts')
|
||||
language['use_ics'] = _('Activate Internet Connection Sharing')
|
||||
language['default_wired'] = _('Use as default profile (overwrites any previous default)')
|
||||
|
||||
language['0'] = _('0')
|
||||
language['1'] = _('1')
|
||||
@@ -348,11 +351,17 @@ class NetworkEntry(gtk.Expander):
|
||||
self.txtDNS1 = LabelEntry(language['dns'] + language['1'])
|
||||
self.txtDNS2 = LabelEntry(language['dns'] + language['2'])
|
||||
self.txtDNS3 = LabelEntry(language['dns'] + language['3'])
|
||||
self.txtBeforeScript = LabelEntry(language['before_script'])
|
||||
self.txtAfterScript = LabelEntry(language['after_script'])
|
||||
self.txtBeforeScript.label.set_size_request(200,-1)
|
||||
self.txtAfterScript.label.set_size_request(200,-1)
|
||||
self.checkboxStaticIP = gtk.CheckButton(language['use_static_ip'])
|
||||
self.checkboxStaticDNS = gtk.CheckButton(language['use_static_dns'])
|
||||
self.expanderAdvanced = gtk.Expander(language['advanced_settings'])
|
||||
self.expanderScripts = gtk.Expander(language['script_settings'])
|
||||
self.vboxTop = gtk.VBox(False,0)
|
||||
self.vboxAdvanced = gtk.VBox(False,0)
|
||||
self.vboxScripts = gtk.VBox(False,0)
|
||||
self.vboxAdvanced.pack_start(self.checkboxStaticIP,fill=False,expand=False)
|
||||
self.vboxAdvanced.pack_start(self.txtIP,fill=False,expand=False)
|
||||
self.vboxAdvanced.pack_start(self.txtNetmask,fill=False,expand=False)
|
||||
@@ -361,8 +370,12 @@ class NetworkEntry(gtk.Expander):
|
||||
self.vboxAdvanced.pack_start(self.txtDNS1,fill=False,expand=False)
|
||||
self.vboxAdvanced.pack_start(self.txtDNS2,fill=False,expand=False)
|
||||
self.vboxAdvanced.pack_start(self.txtDNS3,fill=False,expand=False)
|
||||
self.vboxScripts.pack_start(self.txtBeforeScript,fill=False,expand=False)
|
||||
self.vboxScripts.pack_start(self.txtAfterScript,fill=False,expand=False)
|
||||
self.vboxTop.pack_end(self.expanderScripts,fill=False,expand=False)
|
||||
self.vboxTop.pack_end(self.expanderAdvanced,fill=False,expand=False)
|
||||
self.expanderAdvanced.add(self.vboxAdvanced)
|
||||
self.expanderScripts.add(self.vboxScripts)
|
||||
#connect the events to the actions
|
||||
self.checkboxStaticIP.connect("toggled",self.toggleIPCheckbox)
|
||||
self.checkboxStaticDNS.connect("toggled",self.toggleDNSCheckbox)
|
||||
@@ -444,26 +457,41 @@ class WiredNetworkEntry(NetworkEntry):
|
||||
self.set_label(language['wired_network'])
|
||||
self.resetStaticCheckboxes()
|
||||
self.comboProfileNames = gtk.combo_box_entry_new_text()
|
||||
|
||||
profileList = config.GetWiredProfileList()
|
||||
if profileList: #make sure there is something in it...
|
||||
for x in config.GetWiredProfileList(): #add all the names to the combobox
|
||||
self.comboProfileNames.append_text(x)
|
||||
hboxTemp = gtk.HBox(False,0)
|
||||
hboxDef = gtk.HBox(False,0)
|
||||
buttonOK = gtk.Button(stock=gtk.STOCK_ADD)
|
||||
self.buttonDelete = gtk.Button(stock=gtk.STOCK_DELETE)
|
||||
self.profileHelp = gtk.Label(language['wired_network_instructions'])
|
||||
self.checkboxDefaultProfile = gtk.CheckButton(language['default_wired'])
|
||||
|
||||
self.profileHelp.set_width_chars(5) #the default is a tad too long
|
||||
self.profileHelp.set_padding(10,10)
|
||||
self.profileHelp.set_justify(gtk.JUSTIFY_LEFT)
|
||||
self.profileHelp.set_line_wrap(True)
|
||||
|
||||
self.vboxTop.pack_start(self.profileHelp,fill=False,expand=False)
|
||||
hboxTemp.pack_start(self.comboProfileNames,fill=True,expand=True)
|
||||
buttonOK = gtk.Button(stock=gtk.STOCK_ADD)
|
||||
self.buttonDelete = gtk.Button(stock=gtk.STOCK_DELETE)
|
||||
hboxTemp.pack_start(buttonOK,fill=False,expand=False)
|
||||
hboxTemp.pack_start(self.buttonDelete,fill=False,expand=False)
|
||||
hboxDef.pack_start(self.checkboxDefaultProfile,fill=False,expand=False)
|
||||
|
||||
buttonOK.connect("clicked",self.addProfile) #hook up our buttons
|
||||
self.buttonDelete.connect("clicked",self.removeProfile)
|
||||
self.comboProfileNames.connect("changed",self.changeProfile)
|
||||
self.vboxTop.pack_start(hboxTemp)
|
||||
self.vboxTop.pack_start(hboxDef)
|
||||
|
||||
if stringToBoolean(wired.GetWiredProperty("default")) == True:
|
||||
self.checkboxDefaultProfile.set_active(True)
|
||||
else:
|
||||
self.checkboxDefaultProfile.set_active(False)
|
||||
self.checkboxDefaultProfile.connect("toggled",self.toggleDefaultProfile)
|
||||
|
||||
self.show_all()
|
||||
self.profileHelp.hide()
|
||||
if profileList != None:
|
||||
@@ -475,12 +503,14 @@ class WiredNetworkEntry(NetworkEntry):
|
||||
if not wired.GetAlwaysShowWiredInterface():
|
||||
self.set_expanded(True)
|
||||
self.profileHelp.show()
|
||||
|
||||
def checkEnable(self):
|
||||
profileList = config.GetWiredProfileList()
|
||||
if profileList == None:
|
||||
self.buttonDelete.set_sensitive(False)
|
||||
self.higherLevel.connectButton.set_sensitive(False)
|
||||
self.vboxAdvanced.set_sensitive(False)
|
||||
|
||||
def addProfile(self,widget):
|
||||
print "adding profile"
|
||||
profileName = self.comboProfileNames.get_active_text()
|
||||
@@ -511,6 +541,13 @@ class WiredNetworkEntry(NetworkEntry):
|
||||
self.higherLevel.connectButton.set_sensitive(False)
|
||||
else:
|
||||
self.profileHelp.hide()
|
||||
|
||||
def toggleDefaultProfile(self,widget):
|
||||
if self.checkboxDefaultProfile.get_active() == True:
|
||||
print 'unsetting previous default profile...'
|
||||
config.UnsetWiredDefault() # Makes sure there is only one default profile at a time
|
||||
wired.SetWiredProperty("default",self.checkboxDefaultProfile.get_active())
|
||||
config.SaveWiredNetworkProfile(self.comboProfileNames.get_active_text())
|
||||
|
||||
def changeProfile(self,widget):
|
||||
if self.comboProfileNames.get_active() > -1: #this way the name doesn't change
|
||||
@@ -527,6 +564,11 @@ class WiredNetworkEntry(NetworkEntry):
|
||||
self.txtDNS1.set_text(noneToBlankString(wired.GetWiredProperty("dns1")))
|
||||
self.txtDNS2.set_text(noneToBlankString(wired.GetWiredProperty("dns2")))
|
||||
self.txtDNS3.set_text(noneToBlankString(wired.GetWiredProperty("dns3")))
|
||||
|
||||
self.txtBeforeScript.set_text(noneToBlankString(wired.GetWiredProperty("beforescript")))
|
||||
self.txtAfterScript.set_text(noneToBlankString(wired.GetWiredProperty("afterscript")))
|
||||
|
||||
self.checkboxDefaultProfile.set_active(stringToBoolean(wired.GetWiredProperty("default")))
|
||||
|
||||
self.resetStaticCheckboxes()
|
||||
class WirelessNetworkEntry(NetworkEntry):
|
||||
@@ -575,6 +617,9 @@ class WirelessNetworkEntry(NetworkEntry):
|
||||
self.txtDNS2.set_text(noneToBlankString(wireless.GetWirelessProperty(networkID,"dns2")))
|
||||
self.txtDNS3.set_text(noneToBlankString(wireless.GetWirelessProperty(networkID,"dns3")))
|
||||
|
||||
self.txtBeforeScript.set_text(noneToBlankString(wireless.GetWirelessProperty(networkID,"beforescript")))
|
||||
self.txtAfterScript.set_text(noneToBlankString(wireless.GetWirelessProperty(networkID,"afterscript")))
|
||||
|
||||
self.resetStaticCheckboxes()
|
||||
encryptionTypes = misc.LoadEncryptionMethods()
|
||||
|
||||
@@ -965,6 +1010,15 @@ class appGui:
|
||||
print "no encryption specified..."
|
||||
wireless.SetWirelessProperty(networkid,"enctype",noneToString(None))
|
||||
|
||||
# Script info
|
||||
before_script = networkentry.expander.txtBeforeScript.get_text()
|
||||
after_script = networkentry.expander.txtAfterScript.get_text()
|
||||
wireless.SetWirelessProperty(networkid,"beforescript",noneToString(before_script))
|
||||
wireless.SetWirelessProperty(networkid,"afterscript",noneToString(after_script))
|
||||
wireless.SetBeforeScript(before_script)
|
||||
wireless.SetAfterScript(after_script)
|
||||
|
||||
# if it exists. maybe kept as a value in the network entry? Not sure...
|
||||
print "connecting to wireless network..."
|
||||
config.SaveWirelessNetworkProfile(networkid)
|
||||
wireless.ConnectWireless(networkid)
|
||||
@@ -988,7 +1042,15 @@ class appGui:
|
||||
wired.SetWiredProperty("dns1",'')
|
||||
wired.SetWiredProperty("dns2",'')
|
||||
wired.SetWiredProperty("dns3",'')
|
||||
|
||||
|
||||
#Script Info
|
||||
before_script = networkentry.expander.txtBeforeScript.get_text()
|
||||
after_script = networkentry.expander.txtAfterScript.get_text()
|
||||
wired.SetWiredProperty("beforescript",noneToString(before_script))
|
||||
wired.SetWiredProperty("afterscript",noneToString(after_script))
|
||||
wired.SetBeforeScript(before_script)
|
||||
wired.SetAfterScript(after_script)
|
||||
|
||||
config.SaveWiredNetworkProfile(networkentry.expander.comboProfileNames.get_active_text())
|
||||
wired.ConnectWired()
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ class Wireless:
|
||||
wired_interface = None
|
||||
wpa_driver = None
|
||||
ConnectingThread = None
|
||||
before_script = None
|
||||
after_script = None
|
||||
|
||||
#Create a function to scan for wireless networks
|
||||
def Scan(self,essid=None):
|
||||
@@ -189,7 +191,7 @@ class Wireless:
|
||||
|
||||
def Connect(self,network):
|
||||
#call the thread, so we don't hang up the entire works
|
||||
self.ConnectingThread = self.ConnectThread(network,self.wireless_interface,self.wired_interface,self.wpa_driver)
|
||||
self.ConnectingThread = self.ConnectThread(network,self.wireless_interface,self.wired_interface,self.wpa_driver,self.before_script,self.after_script)
|
||||
self.ConnectingThread.start()
|
||||
return True
|
||||
|
||||
@@ -199,13 +201,15 @@ class Wireless:
|
||||
ShouldDie = False
|
||||
lock = thread.allocate_lock()
|
||||
|
||||
def __init__(self,network,wireless,wired,wpa_driver):
|
||||
def __init__(self,network,wireless,wired,wpa_driver,before_script,after_script):
|
||||
threading.Thread.__init__(self)
|
||||
self.network = network
|
||||
self.wireless_interface = wireless
|
||||
self.wired_interface = wired
|
||||
self.wpa_driver = wpa_driver
|
||||
self.IsConnecting = False
|
||||
self.before_script = before_script
|
||||
self.after_script = after_script
|
||||
self.lock.acquire()
|
||||
self.ConnectingMessage = 'interface_down'
|
||||
self.lock.release()
|
||||
@@ -228,7 +232,15 @@ class Wireless:
|
||||
|
||||
self.IsConnecting = True
|
||||
network = self.network
|
||||
|
||||
self.lock.acquire()
|
||||
self.ConnectingMessage = 'executing_before_script'
|
||||
self.lock.release()
|
||||
|
||||
before_script = self.before_script
|
||||
print 'before script is ', before_script
|
||||
if before_script != '' and before_script != None:
|
||||
print 'Executing pre-connection script'
|
||||
misc.Run(before_script)
|
||||
#put it down
|
||||
print "interface down..."
|
||||
self.lock.acquire()
|
||||
@@ -357,8 +369,10 @@ class Wireless:
|
||||
print "done"
|
||||
self.IsConnecting = False
|
||||
|
||||
|
||||
|
||||
after_script = self.after_script
|
||||
if after_script != '' and after_script != None:
|
||||
print 'executing post connection script'
|
||||
misc.Run(after_script)
|
||||
#end function Connect
|
||||
#end class Connect
|
||||
|
||||
@@ -436,6 +450,8 @@ class Wired:
|
||||
wireless_interface = None
|
||||
wired_interface = None
|
||||
ConnectingThread = None
|
||||
before_script = None
|
||||
after_script = None
|
||||
|
||||
def GetIP(self):
|
||||
output = misc.Run("ifconfig " + self.wired_interface)
|
||||
@@ -456,7 +472,7 @@ class Wired:
|
||||
|
||||
def Connect(self,network):
|
||||
#call the thread, so we don't hang up the entire works
|
||||
self.ConnectingThread = self.ConnectThread(network,self.wireless_interface,self.wired_interface)
|
||||
self.ConnectingThread = self.ConnectThread(network,self.wireless_interface,self.wired_interface,self.before_script,self.after_script)
|
||||
self.ConnectingThread.start()
|
||||
return True
|
||||
#end function Connect
|
||||
@@ -467,12 +483,14 @@ class Wired:
|
||||
ConnectingMessage = None
|
||||
ShouldDie = False
|
||||
|
||||
def __init__(self,network,wireless,wired):
|
||||
def __init__(self,network,wireless,wired,before_script,after_script):
|
||||
threading.Thread.__init__(self)
|
||||
self.network = network
|
||||
self.wireless_interface = wireless
|
||||
self.wired_interface = wired
|
||||
self.IsConnecting = False
|
||||
self.before_script = before_script
|
||||
self.after_script = after_script
|
||||
self.lock.acquire()
|
||||
self.ConnectingMessage = 'interface_down'
|
||||
self.lock.release()
|
||||
@@ -491,6 +509,12 @@ class Wired:
|
||||
#but we do remove all wifi entries from the
|
||||
#routing table
|
||||
|
||||
before_script = self.before_script
|
||||
print 'before script is ', before_script
|
||||
if before_script != '' and before_script != None:
|
||||
print 'Executing pre-connection script'
|
||||
misc.Run(before_script)
|
||||
|
||||
self.IsConnecting = True
|
||||
network = self.network
|
||||
|
||||
@@ -549,7 +573,7 @@ class Wired:
|
||||
misc.WriteLine(resolv,"nameserver " + network["dns2"])
|
||||
if not network.get("dns3") == None:
|
||||
print "setting the third dns server..."
|
||||
misc.WriteLine(resolv,"nameserver " + network["dns3"]))
|
||||
misc.WriteLine(resolv,"nameserver " + network["dns3"])
|
||||
|
||||
if not network.get("ip") == None:
|
||||
self.lock.acquire()
|
||||
@@ -573,5 +597,10 @@ class Wired:
|
||||
self.ConnectingMessage = 'done'
|
||||
self.lock.release()
|
||||
self.IsConnecting = False
|
||||
|
||||
after_script = self.after_script
|
||||
if after_script != '' and after_script != None:
|
||||
print 'executing post connection script'
|
||||
misc.Run(after_script)
|
||||
#end function run
|
||||
|
||||
|
||||
Reference in New Issue
Block a user