mirror of
https://github.com/gryf/wicd.git
synced 2025-12-19 20:38:00 +01:00
Fixed bug where script changes weren't getting saved.
Added check to make sure encryption information is entered when it's required.
This commit is contained in:
@@ -106,11 +106,10 @@ def get_script_info(network, network_type):
|
|||||||
def write_scripts(network, network_type, script_info):
|
def write_scripts(network, network_type, script_info):
|
||||||
""" Writes script info to disk and loads it into the daemon. """
|
""" Writes script info to disk and loads it into the daemon. """
|
||||||
con = ConfigParser.ConfigParser()
|
con = ConfigParser.ConfigParser()
|
||||||
print "writing scripts, type", network_type
|
print "Writing scripts, type", network_type
|
||||||
if network_type == "wired":
|
if network_type == "wired":
|
||||||
con.read(wired_conf)
|
con.read(wired_conf)
|
||||||
if con.has_section(network):
|
if con.has_section(network):
|
||||||
con.add_section(network)
|
|
||||||
con.set(network, "beforescript", script_info["pre_entry"])
|
con.set(network, "beforescript", script_info["pre_entry"])
|
||||||
con.set(network, "afterscript", script_info["post_entry"])
|
con.set(network, "afterscript", script_info["post_entry"])
|
||||||
con.set(network, "disconnectscript",
|
con.set(network, "disconnectscript",
|
||||||
@@ -122,7 +121,6 @@ def write_scripts(network, network_type, script_info):
|
|||||||
bssid = wireless.GetWirelessProperty(int(network), "bssid")
|
bssid = wireless.GetWirelessProperty(int(network), "bssid")
|
||||||
con.read(wireless_conf)
|
con.read(wireless_conf)
|
||||||
if con.has_section(bssid):
|
if con.has_section(bssid):
|
||||||
con.add_section(bssid)
|
|
||||||
con.set(bssid, "beforescript", script_info["pre_entry"])
|
con.set(bssid, "beforescript", script_info["pre_entry"])
|
||||||
con.set(bssid, "afterscript", script_info["post_entry"])
|
con.set(bssid, "afterscript", script_info["post_entry"])
|
||||||
con.set(bssid, "disconnectscript", script_info["disconnect_entry"])
|
con.set(bssid, "disconnectscript", script_info["disconnect_entry"])
|
||||||
|
|||||||
61
gui.py
61
gui.py
@@ -147,6 +147,8 @@ language['stop_showing_chooser'] = _('Stop Showing Autoconnect pop-up temporaril
|
|||||||
language['display_type_dialog'] = _('Use dBm to measure signal strength')
|
language['display_type_dialog'] = _('Use dBm to measure signal strength')
|
||||||
language['scripts'] = _('Scripts')
|
language['scripts'] = _('Scripts')
|
||||||
language['invalid_address'] = _('Invalid address in $A entry.')
|
language['invalid_address'] = _('Invalid address in $A entry.')
|
||||||
|
language['encrypt_info_missing'] = _('Required encryption information is missing.')
|
||||||
|
language['enable_encryption'] = _('This network requires encryption to be enabled.')
|
||||||
|
|
||||||
language['0'] = _('0')
|
language['0'] = _('0')
|
||||||
language['1'] = _('1')
|
language['1'] = _('1')
|
||||||
@@ -1372,10 +1374,21 @@ class appGui:
|
|||||||
|
|
||||||
# Now save the settings.
|
# Now save the settings.
|
||||||
if nettype == "wireless":
|
if nettype == "wireless":
|
||||||
self.save_wireless_settings(networkid, entry)
|
if not self.save_wireless_settings(networkid, entry):
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Copy settings if they're set to be used globally.
|
||||||
|
if entry.checkGlobalSettings.get_active():
|
||||||
|
all_ids = config.FindMatchingEssids(
|
||||||
|
wireless.GetWirelessProperty(networkid, "essid"))
|
||||||
|
for network in all_ids:
|
||||||
|
config.CopySettingsToProfile(
|
||||||
|
wireless.GetWirelessProperty(networkid, "bssid"),
|
||||||
|
network)
|
||||||
|
|
||||||
elif nettype == "wired":
|
elif nettype == "wired":
|
||||||
self.save_wired_settings(entry)
|
if not self.save_wired_settings(entry):
|
||||||
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -1407,12 +1420,36 @@ class appGui:
|
|||||||
wired.SetWiredProperty("dns2", '')
|
wired.SetWiredProperty("dns2", '')
|
||||||
wired.SetWiredProperty("dns3", '')
|
wired.SetWiredProperty("dns3", '')
|
||||||
config.SaveWiredNetworkProfile(entry.comboProfileNames.get_active_text())
|
config.SaveWiredNetworkProfile(entry.comboProfileNames.get_active_text())
|
||||||
|
return True
|
||||||
|
|
||||||
def save_wireless_settings(self, networkid, entry):
|
def save_wireless_settings(self, networkid, entry):
|
||||||
""" Save wireless network settings. """
|
""" Save wireless network settings. """
|
||||||
|
# Check encryption info
|
||||||
|
if entry.checkboxEncryption.get_active():
|
||||||
|
print "setting encryption info..."
|
||||||
|
encryptionInfo = entry.encryptionInfo
|
||||||
|
encrypt_methods = misc.LoadEncryptionMethods()
|
||||||
|
wireless.SetWirelessProperty(networkid, "enctype",
|
||||||
|
encrypt_methods[entry.comboEncryption.
|
||||||
|
get_active()][1])
|
||||||
|
for x in encryptionInfo:
|
||||||
|
if encryptionInfo[x].get_text() == "":
|
||||||
|
misc.error(self.window, language['encrypt_info_missing'])
|
||||||
|
return False
|
||||||
|
wireless.SetWirelessProperty(networkid, x,
|
||||||
|
noneToString(encryptionInfo[x].get_text()))
|
||||||
|
elif not entry.checkboxEncryption.get_active() and \
|
||||||
|
wireless.GetWirelessProperty(networkid, "encryption"):
|
||||||
|
misc.error(self.window, language['enable_encryption'])
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
print 'encryption is', wireless.GetWirelessProperty(networkid, "encryption")
|
||||||
|
print "no encryption specified..."
|
||||||
|
wireless.SetWirelessProperty(networkid, "enctype", "None")
|
||||||
|
|
||||||
wireless.SetWirelessProperty(networkid, "automatic",
|
wireless.SetWirelessProperty(networkid, "automatic",
|
||||||
noneToString(entry.checkboxAutoConnect.get_active()))
|
noneToString(entry.checkboxAutoConnect.get_active()))
|
||||||
|
# Save IP info
|
||||||
if entry.checkboxStaticIP.get_active():
|
if entry.checkboxStaticIP.get_active():
|
||||||
wireless.SetWirelessProperty(networkid, "ip",
|
wireless.SetWirelessProperty(networkid, "ip",
|
||||||
noneToString(entry.txtIP.get_text()))
|
noneToString(entry.txtIP.get_text()))
|
||||||
@@ -1425,7 +1462,8 @@ class appGui:
|
|||||||
wireless.SetWirelessProperty(networkid, "ip", '')
|
wireless.SetWirelessProperty(networkid, "ip", '')
|
||||||
wireless.SetWirelessProperty(networkid, "netmask", '')
|
wireless.SetWirelessProperty(networkid, "netmask", '')
|
||||||
wireless.SetWirelessProperty(networkid, "gateway", '')
|
wireless.SetWirelessProperty(networkid, "gateway", '')
|
||||||
|
|
||||||
|
# Save DNS info
|
||||||
if entry.checkboxStaticDNS.get_active() and \
|
if entry.checkboxStaticDNS.get_active() and \
|
||||||
not entry.checkboxGlobalDNS.get_active():
|
not entry.checkboxGlobalDNS.get_active():
|
||||||
wireless.SetWirelessProperty(networkid, 'use_static_dns', True)
|
wireless.SetWirelessProperty(networkid, 'use_static_dns', True)
|
||||||
@@ -1446,22 +1484,9 @@ class appGui:
|
|||||||
wireless.SetWirelessProperty(networkid, 'dns1', '')
|
wireless.SetWirelessProperty(networkid, 'dns1', '')
|
||||||
wireless.SetWirelessProperty(networkid, 'dns2', '')
|
wireless.SetWirelessProperty(networkid, 'dns2', '')
|
||||||
wireless.SetWirelessProperty(networkid, 'dns3', '')
|
wireless.SetWirelessProperty(networkid, 'dns3', '')
|
||||||
|
|
||||||
if entry.checkboxEncryption.get_active():
|
|
||||||
print "setting encryption info..."
|
|
||||||
encryptionInfo = entry.encryptionInfo
|
|
||||||
encrypt_methods = misc.LoadEncryptionMethods()
|
|
||||||
wireless.SetWirelessProperty(networkid, "enctype",
|
|
||||||
encrypt_methods[entry.comboEncryption.
|
|
||||||
get_active()][1])
|
|
||||||
for x in encryptionInfo:
|
|
||||||
wireless.SetWirelessProperty(networkid, x,
|
|
||||||
noneToString(encryptionInfo[x].get_text()))
|
|
||||||
else:
|
|
||||||
print "no encryption specified..."
|
|
||||||
wireless.SetWirelessProperty(networkid, "enctype", "None")
|
|
||||||
|
|
||||||
config.SaveWirelessNetworkProfile(networkid)
|
config.SaveWirelessNetworkProfile(networkid)
|
||||||
|
return True
|
||||||
|
|
||||||
def edit_advanced(self, widget, event, ttype, networkid, networkentry):
|
def edit_advanced(self, widget, event, ttype, networkid, networkentry):
|
||||||
""" Display the advanced settings dialog.
|
""" Display the advanced settings dialog.
|
||||||
|
|||||||
Reference in New Issue
Block a user