1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-19 12:28:08 +01:00

Merged with r272 of mainline 1.6.

This commit is contained in:
Andrew Psaltis
2009-05-01 13:02:44 -04:00
15 changed files with 214 additions and 44 deletions

165
CHANGES
View File

@@ -1,11 +1,160 @@
MAJOR CHANGES FROM 1.5: ------------------------------------------------------------
* Enhanced GUI revno: 369
* Console client (wicd-curses) committer: Adam Blackburn <compwiz18@gmail.com>
* Support for multiple backends branch nick: 1.6
* Enhanced network setting properties timestamp: Sun 2009-04-26 08:00:33 +0900
* Bug fixes message:
Redirected bzr output to /dev/null
CHANGELOG: ------------------------------------------------------------
revno: 368
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Sun 2009-04-26 07:53:24 +0900
message:
Fixed setup.py translations installation and made wicd-daemon.py +x
------------------------------------------------------------
revno: 367
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Thu 2009-04-23 19:41:10 +0800
message:
Merged
------------------------------------------------------------
revno: 365.1.2
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: 1.6
timestamp: Wed 2009-04-22 17:40:07 -0400
message:
Merged r318 of experimental-nacl, fixing yet another wicd-curses bug.
------------------------------------------------------------
revno: 202.2.27
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Wed 2009-04-22 17:37:50 -0400
message:
Made the network preferences dialogs save whether they are using static IPs or not. Thanks to Adam for finding this one.
------------------------------------------------------------
revno: 202.2.26
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Wed 2009-04-22 14:06:26 -0400
message:
Merged r366 of mainline 1.6.
------------------------------------------------------------
revno: 365.1.1
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: 1.6
timestamp: Wed 2009-04-22 12:13:06 -0400
message:
Set the SVG wicd icon as the window icon in wicd-client.
------------------------------------------------------------
revno: 366
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Thu 2009-04-23 19:38:48 +0800
message:
Updated CHANGES and added NEWS
------------------------------------------------------------
revno: 365
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Wed 2009-04-22 22:17:39 +0800
message:
fixed another typo
------------------------------------------------------------
revno: 364
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Wed 2009-04-22 22:11:33 +0800
message:
fixed a typo
------------------------------------------------------------
revno: 363
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Wed 2009-04-22 22:02:31 +0800
message:
Updated version number
------------------------------------------------------------
revno: 362
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Wed 2009-04-22 21:45:51 +0800
message:
Updated vcsinfo.py generation logic
------------------------------------------------------------
revno: 361
committer: Dan O'Reilly <oreilldf@gmail.com>
branch nick: experimental
timestamp: Tue 2009-04-21 21:25:59 -0400
message:
Refactor monitor.py polling code to remove reliance on globals.
Make sure we update the polling rate in wicd-monitor when the backend changes.
------------------------------------------------------------
revno: 360
committer: Dan O'Reilly <oreilldf@gmail.com>
branch nick: experimental
timestamp: Tue 2009-04-21 20:30:40 -0400
message:
Use atexit instead of catching SIGTERM in wicd-daemon.
Use Popen to launch wicd-monitor instead of gobject.spawn_async.
------------------------------------------------------------
revno: 359
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: 1.6
timestamp: Tue 2009-04-21 17:47:46 -0400
message:
Merged r316 of experimental-nacl, providing some small feature additions and bufixes.
------------------------------------------------------------
revno: 202.2.25
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Tue 2009-04-21 14:09:29 -0400
message:
Fixed a problem where if a scan is initiated externally, and wicd-curses doesn't see it, wicd-curses will half-drop a running big dialog.
------------------------------------------------------------
revno: 202.2.24
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Tue 2009-04-21 13:34:01 -0400
message:
Fix bug introduced in r356 where wicd would crash upon not finding dhclient.
------------------------------------------------------------
revno: 202.2.23
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Tue 2009-04-21 13:16:44 -0400
message:
Added support for disabling nonexistent external tools in the pref_curses.py.
Added a DynRadioButton in curses_misc.py.
------------------------------------------------------------
revno: 202.2.22
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Tue 2009-04-21 13:15:30 -0400
message:
Merged with r358 of mainline 1.6.
------------------------------------------------------------
revno: 202.2.21
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Fri 2009-04-17 08:04:02 -0400
message:
Merged r355 of mainline 1.6.
------------------------------------------------------------
revno: 202.2.20
committer: Andrew Psaltis <ampsaltis@gmail.com>
branch nick: experimental-nacl
timestamp: Sun 2009-04-12 12:12:38 -0400
message:
Merge r352 of mainline 1.6
------------------------------------------------------------
revno: 358
committer: Adam Blackburn <compwiz18@gmail.com>
branch nick: 1.6
timestamp: Tue 2009-04-21 22:33:29 +0800
message:
Updated CHANGES
------------------------------------------------------------ ------------------------------------------------------------
revno: 357 revno: 357
committer: Andrew Psaltis <ampsaltis@gmail.com> committer: Andrew Psaltis <ampsaltis@gmail.com>

View File

@@ -1,15 +1,16 @@
Installation of Wicd should be done using your distribution package if one Installation of Wicd should be done using your distribution package if one
exists. If not, the installation is relatively straightforward, but there exists. If not, the installation is relatively straightforward, but there
are a few dependencies: are a few dependencies:
1. python (obviously) and pygtk 1. python (>=2.4, <3.0)
2. pygtk (>=2.10)
2. dbus and its glib and python bindings 2. dbus and its glib and python bindings
3. a dhcp client (dhclient, dhcpcd, and pump are supported) 3. a dhcp client (dhclient, dhcpcd, and pump are supported)
4. wireless-tools (iwlist, iwconfig, etcetera) 4. wireless-tools (iwlist, iwconfig, etcetera)
5. net-tools (ip, route, etcetera) 5. net-tools (ip, route, etcetera)
6. a graphical sudo application (gksu, kdesu, and ktsuss are supported), 6. a graphical sudo application (gksu, kdesu, and ktsuss are supported),
while optional, is strongly recommended while optional, is strongly recommended
7. urwid (if you want to use the curses client) 7. urwid (if you want to use the curses client - needs version >=0.9.8.3)
8. pm-utils (optional for suspend/resume integration - needs version 1.2.4+) 8. pm-utils (optional for suspend/resume integration - needs version >=1.2.4)
If you are installing from a bzr pull or beta/rc tarball and you want If you are installing from a bzr pull or beta/rc tarball and you want
the native language translations, first run this: the native language translations, first run this:

34
NEWS Normal file
View File

@@ -0,0 +1,34 @@
Wicd 1.6.x Branch
Major Changes:
- Improved tray icon and gui images (thanks to Martin Sagastume)
- Reorganized network list in the gui for easier navigation
- New experimental ioctl backend, which is more cpu-friendly than the
previous one
- Added a curses client (thanks to Andrew Psaltis)
- Added a right-click connection menu to the tray icon
- Added options to specify a dns domain and search domain for static networks
- Reworked the Preferences menu to be more in line with GNOME standards
- Added support for global scripts
- Made it possible to have optional entries in encryption templates
Minor Changes and Other Enchancements:
- Better autoconnection behavior
- Tray/GUI will survive the daemon being killed
- Reasons for connection failures will now bubble back to the GUI
- Add/Remove wired profile system is now more user-friendly
- Support for using resolvconf instead of directly editing /etc/resolv.conf
- Wicd won't blindly kill dhcp clients / wpa_supplicant any more
- Added an option to automatically switch from a wireless network to a wired
one as soon as a cable is plugged in
- Moved scanning to its own thread, which makes GUI and daemon more responsive
during scans
- Made it possible to specify macros in script entries
- The gui will now display the encryption entry dialog if you attempt to
connect to an encrypted network without entering a password
- Static gateway entry is now optional
- Passwords with leading or trailing whitespace are now stored properly
- Many init/config script, man page, and setup.py fixes/updates, including
better autodetection of file placement with regard to sleep hooks and
kde autostart files (thanks to Robby Workman)

View File

@@ -24,7 +24,7 @@ import subprocess
# Be sure to keep this updated! # Be sure to keep this updated!
# VERSIONNUMBER # VERSIONNUMBER
VERSION_NUM = '1.6.0a2' VERSION_NUM = '1.6.0a3'
# REVISION_NUM is automatically updated # REVISION_NUM is automatically updated
REVISION_NUM = 'unknown' REVISION_NUM = 'unknown'
CURSES_REVNO = 'uimod' CURSES_REVNO = 'uimod'
@@ -33,7 +33,7 @@ CURSES_REVNO = 'uimod'
os.chdir(os.path.abspath(os.path.split(__file__)[0])) os.chdir(os.path.abspath(os.path.split(__file__)[0]))
try: try:
if os.path.exists('.bzr') and os.system('bzr') == 0: if os.path.exists('.bzr') and os.system('bzr > /dev/null 2>&1') == 0:
try: try:
os.system('bzr version-info --python > vcsinfo.py') os.system('bzr version-info --python > vcsinfo.py')
except: except:
@@ -463,14 +463,10 @@ try:
print 'Using pid path', os.path.basename(wpath.pidfile) print 'Using pid path', os.path.basename(wpath.pidfile)
print 'Language support for', print 'Language support for',
for language in os.listdir('translations/'): for language in os.listdir('translations/'):
if not language.startswith('.'): print language,
codes = language.split('_') data.append((wpath.translations + language + '/LC_MESSAGES/',
short_language = language
if codes[0].lower() == codes[1].lower():
short_language = codes[0].lower()
print short_language,
data.append((wpath.translations + short_language + '/LC_MESSAGES/',
['translations/' + language + '/LC_MESSAGES/wicd.mo'])) ['translations/' + language + '/LC_MESSAGES/wicd.mo']))
print
except Exception, e: except Exception, e:
print str(e) print str(e)
print '''Error setting up data array. This is normal if print '''Error setting up data array. This is normal if

View File

@@ -23,7 +23,6 @@ from wicd import dbusmanager
import dbus import dbus
import time import time
import gobject
import sys import sys
if getattr(dbus, 'version', (0, 0, 0)) < (0, 80, 0): if getattr(dbus, 'version', (0, 0, 0)) < (0, 80, 0):

View File

@@ -106,8 +106,9 @@ class ConfigManager(RawConfigParser):
# Try to intelligently handle the type of the return value. # Try to intelligently handle the type of the return value.
try: try:
if not ret.startswith('0') or len(ret) == 1:
ret = int(ret) ret = int(ret)
except (ValueError, TypeError): except (ValueError, TypeError, AttributeError):
ret = Noneify(ret) ret = Noneify(ret)
# This is a workaround for a python-dbus issue on 64-bit systems. # This is a workaround for a python-dbus issue on 64-bit systems.
if isinstance(ret, (int)): if isinstance(ret, (int)):

View File

@@ -24,7 +24,6 @@ A module for managing wicd's dbus interfaces.
# #
import dbus import dbus
from dbus import DBusException
if getattr(dbus, "version", (0, 0, 0)) < (0, 80, 0): if getattr(dbus, "version", (0, 0, 0)) < (0, 80, 0):
import dbus.glib import dbus.glib
else: else:

View File

@@ -31,7 +31,6 @@ import pango
import gtk import gtk
import gtk.glade import gtk.glade
from dbus import DBusException from dbus import DBusException
from dbus import version as dbus_version
from wicd import misc from wicd import misc
from wicd import wpath from wicd import wpath
@@ -41,7 +40,7 @@ from wicd import netentry
from wicd.misc import noneToString from wicd.misc import noneToString
from wicd.netentry import WiredNetworkEntry, WirelessNetworkEntry from wicd.netentry import WiredNetworkEntry, WirelessNetworkEntry
from wicd.prefs import PreferencesDialog from wicd.prefs import PreferencesDialog
from wicd.guiutil import error, GreyLabel, LabelEntry, SmallLabel from wicd.guiutil import error, LabelEntry
from wicd.translations import language from wicd.translations import language
if __name__ == '__main__': if __name__ == '__main__':
@@ -149,7 +148,7 @@ class appGui(object):
gladefile = os.path.join(wpath.share, "wicd.glade") gladefile = os.path.join(wpath.share, "wicd.glade")
self.wTree = gtk.glade.XML(gladefile) self.wTree = gtk.glade.XML(gladefile)
self.window = self.wTree.get_widget("window1") self.window = self.wTree.get_widget("window1")
self.window.set_icon_from_file(wpath.icons +'scalable/apps/wicd-client.svg') self.window.set_icon_name("wicd-client")
size = daemon.ReadWindowSize("main") size = daemon.ReadWindowSize("main")
width = size[0] width = size[0]
height = size[1] height = size[1]
@@ -709,7 +708,7 @@ class appGui(object):
try: try:
daemon.WriteWindowSize(width, height, "main") daemon.WriteWindowSize(width, height, "main")
daemon.SetGUIOpen(False) daemon.SetGUIOpen(False)
except dbusmanager.DBusException: except DBusException:
pass pass
if self.standalone: if self.standalone:

View File

@@ -25,8 +25,6 @@ import sys
import os import os
import time import time
import wicd.wpath as wpath
class SizeError(IOError): class SizeError(IOError):
pass pass

View File

@@ -26,7 +26,6 @@ when appropriate.
import gobject import gobject
import time import time
import sys
from dbus import DBusException from dbus import DBusException
@@ -53,7 +52,7 @@ def diewithdbus(func):
ret = func(self, *__args, **__kargs) ret = func(self, *__args, **__kargs)
self.__lost_dbus_count = 0 self.__lost_dbus_count = 0
return ret return ret
except dbusmanager.DBusException, e: except DBusException, e:
print "Caught exception %s" % str(e) print "Caught exception %s" % str(e)
if not hasattr(self, "__lost_dbus_count"): if not hasattr(self, "__lost_dbus_count"):
self.__lost_dbus_count = 0 self.__lost_dbus_count = 0

View File

@@ -29,7 +29,7 @@ import misc
import wpath import wpath
import dbusmanager import dbusmanager
from misc import noneToString, stringToNone, noneToBlankString, to_bool from misc import noneToString, stringToNone, noneToBlankString, to_bool
from guiutil import error, SmallLabel, LabelEntry, GreyLabel, LeftAlignedLabel, string_input from guiutil import error, LabelEntry, GreyLabel, LeftAlignedLabel, string_input
from translations import language from translations import language

View File

@@ -26,7 +26,7 @@ handles recieving/sendings the settings from/to the daemon.
import gtk import gtk
import gobject import gobject
import pango #import pango
import os import os
import gtk.glade import gtk.glade

View File

@@ -40,7 +40,6 @@ import gobject
import getopt import getopt
import os import os
import pango import pango
import time
import atexit import atexit
from dbus import DBusException from dbus import DBusException

0
wicd/wicd-daemon.py Executable file → Normal file
View File

View File

@@ -112,10 +112,9 @@ def GetWirelessInterfaces():
""" """
dev_dir = '/sys/class/net/' dev_dir = '/sys/class/net/'
ifnames = [] ifnames = [iface for iface in os.listdir(dev_dir)
if os.path.isdir(dev_dir + iface) and
ifnames = [iface for iface in os.listdir(dev_dir) if os.path.isdir(dev_dir + iface) 'wireless' in os.listdir(dev_dir + iface)]
and 'wireless' in os.listdir(dev_dir + iface)]
return ifnames return ifnames
@@ -134,10 +133,7 @@ def IsValidWpaSuppDriver(driver):
""" Returns True if given string is a valid wpa_supplicant driver. """ """ Returns True if given string is a valid wpa_supplicant driver. """
output = misc.Run(["wpa_supplicant", "-D%s" % driver, "-iolan19", output = misc.Run(["wpa_supplicant", "-D%s" % driver, "-iolan19",
"-c/etc/abcd%sdefzz.zconfz" % random.randint(1, 1000)]) "-c/etc/abcd%sdefzz.zconfz" % random.randint(1, 1000)])
if re.match("Unsupported driver", output): return not "Unsupported driver" in output
return False
else:
return True
def neediface(default_response): def neediface(default_response):
""" A decorator for only running a method if self.iface is defined. """ A decorator for only running a method if self.iface is defined.