Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec74c6331f | ||
|
|
7156261d57 | ||
|
|
23a76d9656 | ||
|
|
496bc86752 | ||
|
|
bd5839e538 |
17 changed files with 795 additions and 1 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
wicd-1.7.0.tar.bz2
|
||||
|
|
@ -1 +0,0 @@
|
|||
Orphaned for 6+ weeks
|
||||
11
org.wicd.daemon.service
Normal file
11
org.wicd.daemon.service
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# This D-Bus service activation file is only for systemd support since
|
||||
# an auto-activated wicd would be quite surprising for those people
|
||||
# who have wicd installed but turned off. Thus the Exec path available to
|
||||
# D-Bus is /bin/false, but systemd knows the real Exec path due to the
|
||||
# wicd systemd .service file.
|
||||
|
||||
[D-BUS Service]
|
||||
Name=org.wicd.daemon
|
||||
Exec=/bin/false
|
||||
User=root
|
||||
SystemdService=dbus-org.wicd.daemon.service
|
||||
1
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
7e5956891d6696b6185baa7f5dc70c56 wicd-1.7.0.tar.bz2
|
||||
19
wicd-1.7.0-CVE-2012-0813.patch
Normal file
19
wicd-1.7.0-CVE-2012-0813.patch
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
diff -up wicd-1.7.0/wicd/configmanager.py.CVE-2012-0813 wicd-1.7.0/wicd/configmanager.py
|
||||
--- wicd-1.7.0/wicd/configmanager.py.CVE-2012-0813 2012-01-27 14:34:12.779219466 -0500
|
||||
+++ wicd-1.7.0/wicd/configmanager.py 2012-01-27 14:34:33.534091679 -0500
|
||||
@@ -97,8 +97,13 @@ class ConfigManager(RawConfigParser):
|
||||
ret = ret[3:-3]
|
||||
if default:
|
||||
if self.debug:
|
||||
- print ''.join(['found ', option, ' in configuration ',
|
||||
- str(ret)])
|
||||
+ # mask out sensitive information
|
||||
+ if option in ['apsk', 'password', 'identity', 'private_key', \
|
||||
+ 'private_key_passwd', 'key', 'passphrase']:
|
||||
+ print ''.join(['found ', option, ' in configuration *****'])
|
||||
+ else:
|
||||
+ print ''.join(['found ', option, ' in configuration ',
|
||||
+ str(ret)])
|
||||
else:
|
||||
if default != "__None__":
|
||||
print 'did not find %s in configuration, setting default %s' % (option, str(default))
|
||||
91
wicd-1.7.0-CVE-2012-2095.patch
Normal file
91
wicd-1.7.0-CVE-2012-2095.patch
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
diff -up wicd-1.7.0/wicd/wicd-daemon.py.CVE-2012-2095 wicd-1.7.0/wicd/wicd-daemon.py
|
||||
--- wicd-1.7.0/wicd/wicd-daemon.py.CVE-2012-2095 2012-04-13 10:17:46.356047035 -0400
|
||||
+++ wicd-1.7.0/wicd/wicd-daemon.py 2012-04-13 10:18:35.018046979 -0400
|
||||
@@ -978,6 +978,28 @@ class WirelessDaemon(dbus.service.Object
|
||||
"wireless-settings.conf"),
|
||||
debug=debug)
|
||||
|
||||
+ self._validProperties = (
|
||||
+ 'bssid',
|
||||
+ 'essid',
|
||||
+ 'hidden',
|
||||
+ 'channel',
|
||||
+ 'mode',
|
||||
+ 'enctype',
|
||||
+ 'encryption_method',
|
||||
+ 'key',
|
||||
+ 'automatic',
|
||||
+ 'ip',
|
||||
+ 'netmask',
|
||||
+ 'broadcast',
|
||||
+ 'gateway',
|
||||
+ 'use_static_dns',
|
||||
+ 'use_global_dns',
|
||||
+ 'dns1',
|
||||
+ 'dns2',
|
||||
+ 'dns3',
|
||||
+ 'use_settings_globally',
|
||||
+ )
|
||||
+
|
||||
def get_debug_mode(self):
|
||||
return self._debug_mode
|
||||
def set_debug_mode(self, mode):
|
||||
@@ -1086,9 +1108,9 @@ class WirelessDaemon(dbus.service.Object
|
||||
def SetWirelessProperty(self, netid, prop, value):
|
||||
""" Sets property to value in network specified. """
|
||||
# We don't write script settings here.
|
||||
- if (prop.strip()).endswith("script"):
|
||||
- print "Setting script properties through the daemon is not" \
|
||||
- + " permitted."
|
||||
+ if prop.strip() not in self._validProperties:
|
||||
+ print "Trying to set invalid property (or property not " \
|
||||
+ "permitted): "+ prop.strip() + "."
|
||||
return False
|
||||
self.LastScan[netid][prop] = misc.to_unicode(misc.Noneify(value))
|
||||
|
||||
@@ -1365,6 +1387,25 @@ class WiredDaemon(dbus.service.Object):
|
||||
"wired-settings.conf"),
|
||||
debug=debug)
|
||||
|
||||
+ self._validProperties = (
|
||||
+ 'ip',
|
||||
+ 'broadcast',
|
||||
+ 'netmask',
|
||||
+ 'gateway',
|
||||
+ 'search_domain',
|
||||
+ 'dns_domain',
|
||||
+ 'dns1',
|
||||
+ 'dns2',
|
||||
+ 'dns3',
|
||||
+ 'encryption_enabled',
|
||||
+ 'default',
|
||||
+ 'dhcphostname',
|
||||
+ 'lastused',
|
||||
+ 'profilename',
|
||||
+ 'use_global_dns',
|
||||
+ 'use_static_dns',
|
||||
+ )
|
||||
+
|
||||
def get_debug_mode(self):
|
||||
return self._debug_mode
|
||||
def set_debug_mode(self, mode):
|
||||
@@ -1405,14 +1446,14 @@ class WiredDaemon(dbus.service.Object):
|
||||
return str(iface)
|
||||
|
||||
@dbus.service.method('org.wicd.daemon.wired')
|
||||
- def SetWiredProperty(self, property, value):
|
||||
+ def SetWiredProperty(self, prop, value):
|
||||
""" Sets the given property to the given value. """
|
||||
if self.WiredNetwork:
|
||||
- if (property.strip()).endswith("script"):
|
||||
- print "Setting script properties through the daemon" \
|
||||
- + " is not permitted."
|
||||
+ if prop.strip() not in self._validProperties:
|
||||
+ print "Trying to set invalid property (or property not " \
|
||||
+ "permitted): "+ prop.strip() + "."
|
||||
return False
|
||||
- self.WiredNetwork[property] = misc.to_unicode(misc.Noneify(value))
|
||||
+ self.WiredNetwork[prop] = misc.to_unicode(misc.Noneify(value))
|
||||
return True
|
||||
else:
|
||||
print 'SetWiredProperty: WiredNetwork does not exist'
|
||||
34
wicd-1.7.0-bz740256.patch
Normal file
34
wicd-1.7.0-bz740256.patch
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
diff -up wicd-1.7.0/gtk/guiutil.py.orig wicd-1.7.0/gtk/guiutil.py
|
||||
--- wicd-1.7.0/gtk/guiutil.py.orig 2010-01-14 23:49:11.000000000 -0500
|
||||
+++ wicd-1.7.0/gtk/guiutil.py 2012-04-25 11:40:30.747191654 -0400
|
||||
@@ -106,13 +106,12 @@ def string_input(prompt, secondary, text
|
||||
dialog.vbox.pack_end(hbox, True, True, 0)
|
||||
dialog.show_all()
|
||||
|
||||
+ text = ''
|
||||
if dialog.run() == gtk.RESPONSE_OK:
|
||||
- text = entry.get_text()
|
||||
- dialog.destroy()
|
||||
- return text
|
||||
- else:
|
||||
- dialog.destroy()
|
||||
- return None
|
||||
+ text = entry.get_text().strip()
|
||||
+
|
||||
+ dialog.destroy()
|
||||
+ return text
|
||||
|
||||
class SmallLabel(gtk.Label):
|
||||
def __init__(self, text=''):
|
||||
diff -up wicd-1.7.0/gtk/netentry.py.orig wicd-1.7.0/gtk/netentry.py
|
||||
--- wicd-1.7.0/gtk/netentry.py.orig 2010-01-14 23:49:11.000000000 -0500
|
||||
+++ wicd-1.7.0/gtk/netentry.py 2012-04-25 11:41:06.364192922 -0400
|
||||
@@ -725,7 +725,7 @@ class WiredNetworkEntry(NetworkEntry):
|
||||
"will not be used by the computer. It " +
|
||||
"allows you to " +
|
||||
"easily distinguish between different network " +
|
||||
- "profiles.", "Profile name:").strip()
|
||||
+ "profiles.", "Profile name:")
|
||||
|
||||
# if response is "" or None
|
||||
if not response:
|
||||
50
wicd-1.7.0-dbus-failure.patch
Normal file
50
wicd-1.7.0-dbus-failure.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
diff -up wicd-1.7.0/cli/wicd-cli.py.orig wicd-1.7.0/cli/wicd-cli.py
|
||||
--- wicd-1.7.0/cli/wicd-cli.py.orig 2010-01-14 23:49:11.000000000 -0500
|
||||
+++ wicd-1.7.0/cli/wicd-cli.py 2011-08-05 11:09:57.561058338 -0400
|
||||
@@ -43,6 +43,10 @@ except dbus.DBusException:
|
||||
print 'Error: Could not connect to the daemon. Please make sure it is running.'
|
||||
sys.exit(3)
|
||||
|
||||
+if daemon is None:
|
||||
+ print 'Error connecting to wicd via D-Bus. Please make sure the wicd service is running.'
|
||||
+ sys.exit(3)
|
||||
+
|
||||
parser = optparse.OptionParser()
|
||||
|
||||
parser.add_option('--network', '-n', type='int', default=-1)
|
||||
diff -up wicd-1.7.0/curses/wicd-curses.py.orig wicd-1.7.0/curses/wicd-curses.py
|
||||
--- wicd-1.7.0/curses/wicd-curses.py.orig 2010-01-14 23:49:11.000000000 -0500
|
||||
+++ wicd-1.7.0/curses/wicd-curses.py 2011-08-05 11:09:00.248056606 -0400
|
||||
@@ -1016,6 +1016,10 @@ def setup_dbus(force=True):
|
||||
wireless = dbus_ifaces['wireless']
|
||||
wired = dbus_ifaces['wired']
|
||||
|
||||
+ if daemon is None:
|
||||
+ print 'Error connecting to wicd via D-Bus. Please make sure the wicd service is running.'
|
||||
+ sys.exit(3)
|
||||
+
|
||||
netentry_curses.dbus_init(dbus_ifaces)
|
||||
return True
|
||||
|
||||
diff -up wicd-1.7.0/gtk/gui.py.orig wicd-1.7.0/gtk/gui.py
|
||||
--- wicd-1.7.0/gtk/gui.py.orig 2010-01-14 23:49:11.000000000 -0500
|
||||
+++ wicd-1.7.0/gtk/gui.py 2011-08-05 10:49:08.392177338 -0400
|
||||
@@ -146,6 +146,17 @@ class appGui(object):
|
||||
""" Initializes everything needed for the GUI. """
|
||||
setup_dbus()
|
||||
|
||||
+ if daemon is None:
|
||||
+ errmsg = "Error connecting to wicd service via D-Bus." + \
|
||||
+ "Please ensure the wicd service is running."
|
||||
+ d = gtk.MessageDialog(parent=None,
|
||||
+ flags=gtk.DIALOG_MODAL,
|
||||
+ type=gtk.MESSAGE_ERROR,
|
||||
+ buttons=gtk.BUTTONS_OK,
|
||||
+ message_format=errmsg)
|
||||
+ d.run()
|
||||
+ sys.exit(1)
|
||||
+
|
||||
self.tray = tray
|
||||
|
||||
gladefile = os.path.join(wpath.gtk, "wicd.glade")
|
||||
diff -up wicd-1.7.0/gtk/wicd-client.py.orig wicd-1.7.0/gtk/wicd-client.py
|
||||
54
wicd-1.7.0-dbus-policy.patch
Normal file
54
wicd-1.7.0-dbus-policy.patch
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
diff -up wicd-1.7.0/in/other=wicd.conf.in.orig wicd-1.7.0/in/other=wicd.conf.in
|
||||
--- wicd-1.7.0/in/other=wicd.conf.in.orig 2010-01-14 23:49:11.000000000 -0500
|
||||
+++ wicd-1.7.0/in/other=wicd.conf.in 2011-08-11 16:57:20.818332542 -0400
|
||||
@@ -7,41 +7,24 @@
|
||||
<allow own="org.wicd.daemon"/>
|
||||
<allow send_destination="org.wicd.daemon"/>
|
||||
<allow send_interface="org.wicd.daemon"/>
|
||||
- <allow send_destination="org.wicd.daemon.wireless"/>
|
||||
- <allow send_interface="org.wicd.daemon.wireless"/>
|
||||
- <allow send_destination="org.wicd.daemon.wired"/>
|
||||
- <allow send_interface="org.wicd.daemon.wired"/>
|
||||
+ <allow send_destination="org.wicd.daemon.wireless"/>
|
||||
+ <allow send_interface="org.wicd.daemon.wireless"/>
|
||||
+ <allow send_destination="org.wicd.daemon.wired"/>
|
||||
+ <allow send_interface="org.wicd.daemon.wired"/>
|
||||
</policy>
|
||||
|
||||
<policy context="default">
|
||||
<deny own="org.wicd.daemon"/>
|
||||
</policy>
|
||||
|
||||
- <!-- This Unix group will have permission to use Wicd's gui -->
|
||||
- <policy group="%WICDGROUP%">
|
||||
- <allow send_destination="org.wicd.daemon"/>
|
||||
- <allow send_interface="org.wicd.daemon"/>
|
||||
- <allow send_interface="org.freedesktop.DBus.Introspectable"/>
|
||||
- <!-- The Introspectable allow shouldn't be needed here, but
|
||||
- it seems that a few distributions aren't yet allowing
|
||||
- it in their hal configs, and we need it here, so... -->
|
||||
- </policy>
|
||||
-
|
||||
- <!-- Comment the block below if you do not want all users logged in
|
||||
- locally to have permission to use wicd-client. This ignores the
|
||||
- group based permission model defined above for the "%WICDGROUP%"
|
||||
- group. Note that this only applies if you are using ConsoleKit -
|
||||
- if you do not have ConsoleKit installed and in use, then this
|
||||
- block makes no difference either way. -->
|
||||
-
|
||||
<policy at_console="true">
|
||||
<allow send_destination="org.wicd.daemon"/>
|
||||
<allow send_interface="org.wicd.daemon"/>
|
||||
- <allow send_destination="org.wicd.daemon.wireless"/>
|
||||
- <allow send_interface="org.wicd.daemon.wireless"/>
|
||||
- <allow send_destination="org.wicd.daemon.wired"/>
|
||||
- <allow send_interface="org.wicd.daemon.wired"/>
|
||||
- <allow send_interface="org.freedesktop.DBus.Introspectable"/>
|
||||
+ <allow send_destination="org.wicd.daemon.wireless"/>
|
||||
+ <allow send_interface="org.wicd.daemon.wireless"/>
|
||||
+ <allow send_destination="org.wicd.daemon.wired"/>
|
||||
+ <allow send_interface="org.wicd.daemon.wired"/>
|
||||
+ <allow send_interface="org.freedesktop.DBus.Introspectable"/>
|
||||
</policy>
|
||||
|
||||
</busconfig>
|
||||
50
wicd-1.7.0-deepcopy.patch
Normal file
50
wicd-1.7.0-deepcopy.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
diff -up wicd-1.7.0/wicd/configmanager.py.deepcopy wicd-1.7.0/wicd/configmanager.py
|
||||
--- wicd-1.7.0/wicd/configmanager.py.deepcopy 2010-01-14 18:49:11.000000000 -1000
|
||||
+++ wicd-1.7.0/wicd/configmanager.py 2010-10-22 10:18:14.000000000 -1000
|
||||
@@ -25,6 +25,7 @@ reusable for other purposes as well.
|
||||
#
|
||||
|
||||
import os, copy
|
||||
+import cPickle
|
||||
|
||||
from ConfigParser import RawConfigParser
|
||||
|
||||
@@ -35,7 +36,7 @@ from dbus import Int32
|
||||
class ConfigManager(RawConfigParser):
|
||||
""" A class that can be used to manage a given configuration file. """
|
||||
def __init__(self, path, debug=False, mark_whitespace="`'`"):
|
||||
- RawConfigParser.__init__(self)
|
||||
+ RawConfigParser.__init__(self, allow_no_value = True)
|
||||
self.config_file = path
|
||||
self.debug = debug
|
||||
self.mrk_ws = mark_whitespace
|
||||
@@ -67,7 +68,7 @@ class ConfigManager(RawConfigParser):
|
||||
if value.startswith(' ') or value.endswith(' '):
|
||||
value = "%(ws)s%(value)s%(ws)s" % {"value" : value,
|
||||
"ws" : self.mrk_ws}
|
||||
- RawConfigParser.set(self, section, str(option), value)
|
||||
+ RawConfigParser.set(self, section, str(option), "None" if value is None else value)
|
||||
if write:
|
||||
self.write()
|
||||
|
||||
@@ -176,9 +177,7 @@ class ConfigManager(RawConfigParser):
|
||||
|
||||
|
||||
def _copy_section(self, name):
|
||||
- # Yes, deepcopy sucks, but it is robust to changes in both
|
||||
- # this class and RawConfigParser.
|
||||
- p = copy.deepcopy(self)
|
||||
+ p = cPickle.loads(cPickle.dumps(self, -1))
|
||||
for sname in p.sections():
|
||||
if sname != name:
|
||||
p.remove_section(sname)
|
||||
@@ -188,8 +187,7 @@ class ConfigManager(RawConfigParser):
|
||||
|
||||
def write(self):
|
||||
""" Writes the loaded config file to disk. """
|
||||
- # Really don't like this deepcopy.
|
||||
- p = copy.deepcopy(self)
|
||||
+ p = cPickle.loads(cPickle.dumps(self, -1))
|
||||
for sname in p.sections():
|
||||
fname = p.get_option(sname, '_filename_')
|
||||
if fname and fname != self.config_file:
|
||||
27
wicd-1.7.0-error-messages.patch
Normal file
27
wicd-1.7.0-error-messages.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
diff -up wicd-1.7.0/curses/wicd-curses.py.orig wicd-1.7.0/curses/wicd-curses.py
|
||||
--- wicd-1.7.0/curses/wicd-curses.py.orig 2011-08-11 17:01:29.969340068 -0400
|
||||
+++ wicd-1.7.0/curses/wicd-curses.py 2011-08-11 17:01:30.159340092 -0400
|
||||
@@ -1033,7 +1033,7 @@ if __name__ == '__main__':
|
||||
parser = OptionParser(version="wicd-curses-%s (using wicd %s)" % (CURSES_REV,daemon.Hello()))
|
||||
except Exception, e:
|
||||
if "DBus.Error.AccessDenied" in e.get_dbus_name():
|
||||
- print language['access_denied_wc'].replace('$A','\033[1;34m'+wpath.wicd_group+'\033[0m')
|
||||
+ print language['access_denied_wc']
|
||||
sys.exit(1)
|
||||
else:
|
||||
raise
|
||||
diff -up wicd-1.7.0/wicd/translations.py.orig wicd-1.7.0/wicd/translations.py
|
||||
--- wicd-1.7.0/wicd/translations.py.orig 2010-01-14 23:49:23.000000000 -0500
|
||||
+++ wicd-1.7.0/wicd/translations.py 2011-08-11 17:01:30.179340042 -0400
|
||||
@@ -214,9 +214,9 @@ language['connection_established'] = _('
|
||||
language['disconnected'] = _('''Disconnected''')
|
||||
language['establishing_connection'] = _('''Establishing connection...''')
|
||||
language['association_failed'] = _('''Connection failed: Could not contact the wireless access point.''')
|
||||
-language['access_denied'] = _('''Unable to contact the Wicd daemon due to an access denied error from DBus. Please check that your user is in the $A group.''')
|
||||
+language['access_denied'] = _('''Unable to contact the Wicd daemon due to an access denied error from DBus. Please check your D-Bus policy configuration.''')
|
||||
language['disconnecting_active'] = _('''Disconnecting active connections...''')
|
||||
-language['access_denied_wc'] = _('''ERROR: wicd-curses was denied access to the wicd daemon: please check that your user is in the "$A" group.''')
|
||||
+language['access_denied_wc'] = _('''ERROR: wicd-curses was denied access to the wicd daemon: please check your D-Bus policy configuration.''')
|
||||
language['post_disconnect_script'] = _('''Run post-disconnect script''')
|
||||
language['resume_script'] = _('''Resume script''')
|
||||
language['suspend_script'] = _('''Suspend script''')
|
||||
13
wicd-1.7.0-initialize-check-and-message.patch
Normal file
13
wicd-1.7.0-initialize-check-and-message.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff -up wicd-1.7.0/cli/wicd-cli.py.orig wicd-1.7.0/cli/wicd-cli.py
|
||||
--- wicd-1.7.0/cli/wicd-cli.py.orig 2011-08-19 15:24:57.413159478 -0400
|
||||
+++ wicd-1.7.0/cli/wicd-cli.py 2011-08-19 15:31:49.790055545 -0400
|
||||
@@ -195,6 +195,9 @@ if options.connect:
|
||||
|
||||
check = lambda: wired.CheckIfWiredConnecting()
|
||||
message = lambda: wired.CheckWiredConnectingMessage()
|
||||
+ else:
|
||||
+ check = lambda: False
|
||||
+ message = lambda: False
|
||||
|
||||
# update user on what the daemon is doing
|
||||
last = None
|
||||
53
wicd-1.7.0-remove-WHEREAREMYFILES.patch
Normal file
53
wicd-1.7.0-remove-WHEREAREMYFILES.patch
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
diff -up wicd-1.7.0/in/man=wicd-curses.8.in.orig wicd-1.7.0/in/man=wicd-curses.8.in
|
||||
--- wicd-1.7.0/in/man=wicd-curses.8.in.orig 2010-01-14 18:49:11.000000000 -1000
|
||||
+++ wicd-1.7.0/in/man=wicd-curses.8.in 2010-05-19 09:20:00.000000000 -1000
|
||||
@@ -57,10 +57,6 @@ Bring up instructions on how to edit the
|
||||
.BR O
|
||||
Raise the Ad-Hoc network creation dialog
|
||||
|
||||
-.SH "FILES"
|
||||
-.TP
|
||||
-.I ~/.wicd/WHEREAREMYFILES
|
||||
-Reminder that your network configuration files are not here ;-)
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
.BR wicd-client (1),
|
||||
diff -up wicd-1.7.0/in/scripts=wicd-client.in.orig wicd-1.7.0/in/scripts=wicd-client.in
|
||||
--- wicd-1.7.0/in/scripts=wicd-client.in.orig 2010-01-14 18:49:11.000000000 -1000
|
||||
+++ wicd-1.7.0/in/scripts=wicd-client.in 2010-05-19 09:20:25.000000000 -1000
|
||||
@@ -6,10 +6,6 @@ NC=$(tput sgr0)
|
||||
if [ ! -d "$HOME/.wicd" ]; then
|
||||
mkdir -p "$HOME/.wicd"
|
||||
fi
|
||||
-# Make sure the user knows WHEREAREMYFILES ;-)
|
||||
-if [ -e "%VARLIB%WHEREAREMYFILES" ] && [ ! -L "$HOME/.wicd/WHEREAREMYFILES" ]; then
|
||||
- ln -s "%VARLIB%WHEREAREMYFILES" "$HOME/.wicd/WHEREAREMYFILES"
|
||||
-fi
|
||||
if [ "$DISPLAY" = "" ]; then
|
||||
if [ -x "%BIN%wicd-curses" ]; then
|
||||
if [ ! -f "$HOME/.wicd/CLIENT_CURSES_WARNING" ]; then
|
||||
diff -up wicd-1.7.0/in/scripts=wicd-curses.in.orig wicd-1.7.0/in/scripts=wicd-curses.in
|
||||
--- wicd-1.7.0/in/scripts=wicd-curses.in.orig 2010-01-14 18:49:11.000000000 -1000
|
||||
+++ wicd-1.7.0/in/scripts=wicd-curses.in 2010-05-19 09:20:36.000000000 -1000
|
||||
@@ -2,8 +2,5 @@
|
||||
if [ ! -d "$HOME/.wicd" ]; then
|
||||
mkdir -p "$HOME/.wicd"
|
||||
fi
|
||||
-if [ -e "%VARLIB%WHEREAREMYFILES" ] && [ ! -L "$HOME/.wicd/WHEREAREMYFILES" ]; then
|
||||
- ln -s "%VARLIB%WHEREAREMYFILES" "$HOME/.wicd/WHEREAREMYFILES"
|
||||
-fi
|
||||
|
||||
exec %PYTHON% -O %SHARE%curses/wicd-curses.py $@
|
||||
diff -up wicd-1.7.0/in/scripts=wicd-gtk.in.orig wicd-1.7.0/in/scripts=wicd-gtk.in
|
||||
--- wicd-1.7.0/in/scripts=wicd-gtk.in.orig 2010-01-14 18:49:11.000000000 -1000
|
||||
+++ wicd-1.7.0/in/scripts=wicd-gtk.in 2010-05-19 09:20:44.000000000 -1000
|
||||
@@ -4,9 +4,5 @@
|
||||
if [ ! -d "$HOME/.wicd" ]; then
|
||||
mkdir -p "$HOME/.wicd"
|
||||
fi
|
||||
-# Make sure the user knows WHEREAREMYFILES ;-)
|
||||
-if [ -e "/var/lib/wicd/WHEREAREMYFILES" ] && [ ! -L "$HOME/.wicd/WHEREAREMYFILES" ]; then
|
||||
- ln -s "/var/lib/wicd/WHEREAREMYFILES" "$HOME/.wicd/WHEREAREMYFILES"
|
||||
-fi
|
||||
|
||||
exec %PYTHON% -O %SHARE%gtk/wicd-client.py $@
|
||||
11
wicd-1.7.0-wired_showing.patch
Normal file
11
wicd-1.7.0-wired_showing.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
diff -up wicd-1.7.0/gtk/gui.py.orig wicd-1.7.0/gtk/gui.py
|
||||
--- wicd-1.7.0/gtk/gui.py.orig 2011-08-19 14:53:37.667180427 -0400
|
||||
+++ wicd-1.7.0/gtk/gui.py 2011-08-19 14:55:43.657056952 -0400
|
||||
@@ -220,6 +220,7 @@ class appGui(object):
|
||||
self.refreshing = False
|
||||
self.prev_state = None
|
||||
self.update_cb = None
|
||||
+ self._wired_showing = False
|
||||
self.network_list.set_sensitive(False)
|
||||
label = gtk.Label("%s..." % language['scanning'])
|
||||
self.network_list.pack_start(label)
|
||||
6
wicd.logrotate
Normal file
6
wicd.logrotate
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
/var/log/wicd.log {
|
||||
missingok
|
||||
notifempty
|
||||
size 30k
|
||||
create 0600 root root
|
||||
}
|
||||
15
wicd.service
Normal file
15
wicd.service
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[Unit]
|
||||
Description=Wicd a wireless and wired network manager for Linux
|
||||
After=syslog.target
|
||||
Wants=network.target
|
||||
Before=network.target
|
||||
Conflicts=NetworkManager.service
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
BusName=org.wicd.daemon
|
||||
ExecStart=/usr/sbin/wicd --no-daemon
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Alias=dbus-org.wicd.daemon.service
|
||||
359
wicd.spec
Normal file
359
wicd.spec
Normal file
|
|
@ -0,0 +1,359 @@
|
|||
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
|
||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
||||
%endif
|
||||
|
||||
%{!?_systemd_unitdir: %global _systemd_unitdir %(pkg-config systemd --variable=systemdsystemunitdir)}
|
||||
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: wicd
|
||||
Version: 1.7.0
|
||||
Release: 13%{?dist}
|
||||
Summary: Wireless and wired network connection manager
|
||||
|
||||
Group: System Environment/Base
|
||||
License: GPLv2+
|
||||
URL: http://wicd.sourceforge.net/
|
||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
|
||||
Source1: wicd.logrotate
|
||||
Source2: wicd.service
|
||||
Source3: org.wicd.daemon.service
|
||||
|
||||
Patch0: wicd-1.7.0-remove-WHEREAREMYFILES.patch
|
||||
Patch1: wicd-1.7.0-deepcopy.patch
|
||||
Patch2: wicd-1.7.0-dbus-failure.patch
|
||||
Patch3: wicd-1.7.0-error-messages.patch
|
||||
Patch4: wicd-1.7.0-dbus-policy.patch
|
||||
Patch5: wicd-1.7.0-wired_showing.patch
|
||||
Patch6: wicd-1.7.0-initialize-check-and-message.patch
|
||||
Patch7: wicd-1.7.0-CVE-2012-0813.patch
|
||||
Patch8: wicd-1.7.0-CVE-2012-2095.patch
|
||||
Patch9: wicd-1.7.0-bz740256.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n)
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: systemd-units
|
||||
|
||||
Requires: pm-utils >= 1.2.4
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
|
||||
%description
|
||||
Wicd is designed to give the user as much control over behavior of network
|
||||
connections as possible. Every network, both wired and wireless, has its
|
||||
own profile with its own configuration options and connection behavior.
|
||||
Wicd will try to automatically connect only to networks the user specifies
|
||||
it should try, with a preference first to a wired network, then to wireless.
|
||||
|
||||
This package provides the architecture-dependent components of wicd.
|
||||
|
||||
%package common
|
||||
Summary: Wicd common files
|
||||
Group: System Environment/Base
|
||||
BuildArch: noarch
|
||||
Requires: dbus
|
||||
Requires: dbus-python
|
||||
Requires: dhclient
|
||||
Requires: ethtool
|
||||
Requires: iproute
|
||||
Requires: logrotate
|
||||
Requires: net-tools
|
||||
Requires: wireless-tools
|
||||
Requires: wpa_supplicant
|
||||
Requires(post): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
|
||||
%description common
|
||||
This package provides the main wicd daemon and the wicd-cli front-end.
|
||||
|
||||
%package curses
|
||||
Summary: Curses client for wicd
|
||||
Group: Applications/System
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
Requires: python-urwid >= 0.9.8.3
|
||||
|
||||
%description curses
|
||||
Client program for wicd that uses a curses interface.
|
||||
|
||||
%package gtk
|
||||
Summary: GTK+ client for wicd
|
||||
Group: Applications/Internet
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
Requires: pygtk2-libglade >= 2.10
|
||||
|
||||
%description gtk
|
||||
Client program for wicd that uses a GTK+ interface.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
# Remove the WHEREAREMYFILES and resetting of ~/.wicd/WHEREAREMYFILES
|
||||
# This is pointless. The documentation can just provide WHEREAREMYFILES,
|
||||
# which we do in this package.
|
||||
%patch0 -p1
|
||||
|
||||
# Use cPickle instead of deepcopy in configmanager.py
|
||||
%patch1 -p1
|
||||
|
||||
# Handle D-Bus connection failures a little better
|
||||
%patch2 -p1
|
||||
|
||||
# Direct users to D-Bus policy configuration on connection failure
|
||||
%patch3 -p1
|
||||
|
||||
# Allow users at the console to control wicd
|
||||
%patch4 -p1
|
||||
|
||||
# Initialize appGui._wired_showing in __init__
|
||||
%patch5 -p1
|
||||
|
||||
# Make sure check and message are always a lambda
|
||||
%patch6 -p1
|
||||
|
||||
# Fix CVE-2012-0813
|
||||
# Patch based on upstream:
|
||||
# http://bazaar.launchpad.net/~wicd-devel/wicd/experimental/revision/682
|
||||
%patch7 -p1
|
||||
|
||||
# Fix CVE-2012-2095
|
||||
# Patch based on upstream:
|
||||
# http://bazaar.launchpad.net/~wicd-devel/wicd/experimental/revision/751
|
||||
%patch8 -p1
|
||||
|
||||
# Fix BZ #740256
|
||||
%patch9 -p1
|
||||
|
||||
%build
|
||||
# NOTE: --etc is where dhclient.conf.template goes
|
||||
%{__python} setup.py configure \
|
||||
--distro redhat \
|
||||
--lib %{_libdir} \
|
||||
--share %{_datadir}/wicd \
|
||||
--etc %{_sysconfdir}/dhcp \
|
||||
--bin %{_bindir} \
|
||||
--pmutils %{_libdir}/pm-utils/sleep.d \
|
||||
--log %{_localstatedir}/log \
|
||||
--no-install-init
|
||||
%{__python} setup.py build
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
%{__python} setup.py install --skip-build --no-compile --root %{buildroot}
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/backends/be-external.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/backends/be-ioctl.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/cli/wicd-cli.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/curses/curses_misc.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/curses/netentry_curses.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/curses/prefs_curses.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/daemon/wicd-daemon.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/gtk/gui.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/gtk/prefs.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{_datadir}/wicd/gtk/wicd-client.py
|
||||
|
||||
rm -f %{buildroot}%{_localstatedir}/lib/wicd/WHEREAREMYFILES
|
||||
rm -rf %{buildroot}%{_datadir}/doc
|
||||
find %{buildroot} -type f -name ".empty_on_purpose" | xargs rm
|
||||
|
||||
for lib in %{buildroot}%{python_sitelib}/wicd/*.py ; do
|
||||
sed '/\/usr\/bin\/env/d' $lib > $lib.new &&
|
||||
touch -r $lib $lib.new &&
|
||||
mv $lib.new $lib
|
||||
done
|
||||
|
||||
sed -i -e 's/.$//' %{buildroot}%{python_sitelib}/wicd/logfile.py
|
||||
sed -i -e '/^#!\//, 1d' %{buildroot}%{python_sitelib}/wicd/logfile.py
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
||||
install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/wicd
|
||||
|
||||
mkdir -p %{buildroot}%{_systemd_unitdir}
|
||||
install -m 0644 %{SOURCE2} %{buildroot}%{_systemd_unitdir}/wicd.service
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
|
||||
install -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/dbus-1/system-services/org.wicd.daemon.service
|
||||
|
||||
desktop-file-install \
|
||||
--remove-category="Application" \
|
||||
--delete-original \
|
||||
--dir=%{buildroot}%{_datadir}/applications \
|
||||
%{buildroot}%{_datadir}/applications/wicd.desktop
|
||||
|
||||
desktop-file-install \
|
||||
--dir=%{buildroot}%{_sysconfdir}/xdg/autostart \
|
||||
%{buildroot}%{_sysconfdir}/xdg/autostart/wicd-tray.desktop
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%post common
|
||||
if [ $1 -eq 1 ]; then
|
||||
# Package install, not upgrade
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%preun common
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl disable wicd.service > /dev/null 2>&1 || :
|
||||
/bin/systemctl stop wicd.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%postun common
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ $1 -ge 1 ] ; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart wicd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%triggerun -- wicd-common < 1.7.0-5
|
||||
if /sbin/chkconfig --level 3 wicd ; then
|
||||
/bin/systemctl enable wicd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%post gtk
|
||||
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
|
||||
%postun gtk
|
||||
if [ $1 -eq 0 ]; then
|
||||
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
|
||||
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
fi
|
||||
|
||||
%posttrans gtk
|
||||
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/pm-utils/sleep.d/91wicd
|
||||
|
||||
%files common -f %{name}.lang
|
||||
%defattr(-,root,root,-)
|
||||
%doc AUTHORS CHANGES LICENSE NEWS README other/WHEREAREMYFILES
|
||||
%dir %{python_sitelib}/wicd
|
||||
%dir %{_sysconfdir}/wicd
|
||||
%dir %{_sysconfdir}/wicd/encryption
|
||||
%dir %{_sysconfdir}/wicd/encryption/templates
|
||||
%dir %{_sysconfdir}/wicd/scripts
|
||||
%dir %{_sysconfdir}/wicd/scripts/postconnect
|
||||
%dir %{_sysconfdir}/wicd/scripts/postdisconnect
|
||||
%dir %{_sysconfdir}/wicd/scripts/preconnect
|
||||
%dir %{_sysconfdir}/wicd/scripts/predisconnect
|
||||
%{_sysconfdir}/acpi/resume.d/80-wicd-connect.sh
|
||||
%{_sysconfdir}/acpi/suspend.d/50-wicd-suspend.sh
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/wicd.conf
|
||||
%config(noreplace) %{_sysconfdir}/dhcp/dhclient.conf.template.default
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/wicd
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/active
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/eap
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/eap-tls
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/leap
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/peap
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/peap-tkip
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/ttls
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/wep-hex
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/wep-passphrase
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/wep-shared
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/wpa
|
||||
%config(noreplace) %{_sysconfdir}/wicd/encryption/templates/wpa-psk
|
||||
%{_systemd_unitdir}/wicd.service
|
||||
%{python_sitelib}/wicd/*
|
||||
%{python_sitelib}/Wicd-%{version}*.egg-info
|
||||
%{_bindir}/wicd-cli
|
||||
%{_bindir}/wicd-client
|
||||
%{_sbindir}/wicd
|
||||
%{_datadir}/applications/wicd.desktop
|
||||
%{_datadir}/dbus-1/system-services/org.wicd.daemon.service
|
||||
%{_datadir}/man/man1/wicd-client.1*
|
||||
%{_datadir}/man/man5/wicd-manager-settings.conf.5*
|
||||
%{_datadir}/man/man5/wicd-wired-settings.conf.5*
|
||||
%{_datadir}/man/man5/wicd-wireless-settings.conf.5*
|
||||
%{_datadir}/man/man8/wicd-cli.8*
|
||||
%{_datadir}/man/man8/wicd.8*
|
||||
%lang(nl) %{_datadir}/man/nl/man1/wicd-client.1*
|
||||
%lang(nl) %{_datadir}/man/nl/man5/wicd-manager-settings.conf.5*
|
||||
%lang(nl) %{_datadir}/man/nl/man5/wicd-wired-settings.conf.5*
|
||||
%lang(nl) %{_datadir}/man/nl/man5/wicd-wireless-settings.conf.5*
|
||||
%lang(nl) %{_datadir}/man/nl/man8/wicd.8*
|
||||
%dir %{_datadir}/wicd
|
||||
%dir %{_datadir}/wicd/backends
|
||||
%dir %{_datadir}/wicd/cli
|
||||
%dir %{_datadir}/wicd/daemon
|
||||
%{_datadir}/wicd/backends/*
|
||||
%{_datadir}/wicd/cli/*
|
||||
%{_datadir}/wicd/daemon/*
|
||||
%dir %{_localstatedir}/lib/wicd
|
||||
%dir %{_localstatedir}/lib/wicd/configurations
|
||||
|
||||
%files curses
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_datadir}/wicd/curses
|
||||
%{_datadir}/wicd/curses/*
|
||||
%{_bindir}/wicd-curses
|
||||
%{_datadir}/man/man8/wicd-curses.8*
|
||||
%lang(nl) %{_datadir}/man/nl/man8/wicd-curses.8*
|
||||
|
||||
%files gtk
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_datadir}/wicd/gtk
|
||||
%dir %{_datadir}/pixmaps/wicd
|
||||
%{_sysconfdir}/xdg/autostart/wicd-tray.desktop
|
||||
%{_datadir}/wicd/gtk/*
|
||||
%{_datadir}/pixmaps/wicd/*
|
||||
%{_datadir}/pixmaps/wicd-gtk.xpm
|
||||
%{_bindir}/wicd-gtk
|
||||
%{_datadir}/icons/hicolor/*/apps/wicd-gtk.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/wicd-gtk.svg
|
||||
|
||||
%changelog
|
||||
* Wed Apr 25 2012 David Cantrell <dcantrell@redhat.com> - 1.7.0-13
|
||||
- Fix 'guiutil.py:147:set_text:TypeError: Gtk.Entry.set_text()
|
||||
argument 1 must be string, not dbus.Boolean' (#740256)
|
||||
|
||||
* Fri Apr 13 2012 David Cantrell <dcantrell@redhat.com> - 1.7.0-12
|
||||
- Fix CVE-2012-2095 (#811763)
|
||||
|
||||
* Fri Jan 27 2012 David Cantrell <dcantrell@redhat.com> - 1.7.0-11
|
||||
- Fix CVE-2012-0813 (#785147)
|
||||
|
||||
* Fri Aug 19 2011 David Cantrell <dcantrell@redhat.com> - 1.7.0-10
|
||||
- Initialize appGui._wired_showing in __init__ (#723553)
|
||||
- Make sure check and message in wicd-cli are a lambda (#712435)
|
||||
|
||||
* Thu Aug 11 2011 David Cantrell <dcantrell@redhat.com> - 1.7.0-9
|
||||
- Correct systemd unit file for wicd, add D-Bus service file (#699116)
|
||||
- Move docs to the wicd-common subpackage
|
||||
- Correct /etc/dbus-1/system.d/wicd.conf (#699116)
|
||||
|
||||
* Mon May 09 2011 Bill Nottingham <notting@redhat.com> - 1.7.0-8
|
||||
- fix systemd scriptlets for upgrade
|
||||
|
||||
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Sat Jan 15 2011 David Cantrell <dcantrell@redhat.com> - 1.7.0-6
|
||||
- Correct typo with _systemd_unitdir macro usage in spec file
|
||||
|
||||
* Sat Jan 15 2011 David Cantrell <dcantrell@redhat.com> - 1.7.0-5
|
||||
- Replace existing init script with systemd unit file (#661226)
|
||||
|
||||
* Fri Oct 22 2010 David Cantrell <dcantrell@redhat.com> - 1.7.0-4
|
||||
- Use cPickle instead of deepcopy in configmanager.py (#645251)
|
||||
|
||||
* Wed Aug 25 2010 David Cantrell <dcantrell@redhat.com> - 1.7.0-3
|
||||
- Remove hard dependency on the base package by wicd-common. The
|
||||
base package is arch-specific and contains optional components
|
||||
for wicd. If it is present, wicd will make use of it, but it is
|
||||
not required for normal functionality.
|
||||
|
||||
* Fri Jul 30 2010 Thomas Spura <tomspur@fedoraproject.org> - 1.7.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Mon Jun 21 2010 David Cantrell <dcantrell@redhat.com> - 1.7.0-1
|
||||
- Initial package
|
||||
Loading…
Add table
Add a link
Reference in a new issue