commit cnetworkmanager for openSUSE:Factory

Hello community, here is the log from the commit of package cnetworkmanager for openSUSE:Factory checked in at Thu Mar 26 02:06:07 CET 2009. -------- --- cnetworkmanager/cnetworkmanager.changes 2009-03-06 17:42:53.000000000 +0100 +++ cnetworkmanager/cnetworkmanager.changes 2009-03-21 08:03:29.000000000 +0100 @@ -1,0 +2,12 @@ +Sat Mar 21 07:18:00 CET 2009 - mvidner@suse.cz + +- v0.8.4 +- New: When connecting (-C), monitor the NM connection state. +- Fix: RPM packaging: consistent PREFIX (bnc#485413), owning pkgdatadir. +- Fix: KeyError with --wep-hex. (James Hogan) +- Fix: knetworkmanagerrc: Don't let ConnectionSettings + override ConnectionSecrets. +- Updated pbkdf2.py to the newest upstream version (license + clarified). (Alexander Block) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- cnetworkmanager-0.8.3.tar.gz New: ---- cnetworkmanager-0.8.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cnetworkmanager.spec ++++++ --- /var/tmp/diff_new_pack.N20313/_old 2009-03-26 02:05:02.000000000 +0100 +++ /var/tmp/diff_new_pack.N20313/_new 2009-03-26 02:05:02.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package cnetworkmanager (Version 0.8.3) +# spec file for package cnetworkmanager (Version 0.8.4) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -18,8 +18,8 @@ Name: cnetworkmanager -Version: 0.8.3 -Release: 2 +Version: 0.8.4 +Release: 1 Summary: Command-line client for NetworkManager License: GPL v2 or later Url: http://vidner.net/martin/software/cnetworkmanager/ @@ -42,7 +42,7 @@ #% patch -p1 %build -make +make PREFIX=/usr %install make install DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr sysconfdir=/etc @@ -64,6 +64,15 @@ %doc /usr/share/doc/packages/cnetworkmanager %changelog +* Sat Mar 21 2009 mvidner@suse.cz +- v0.8.4 +- New: When connecting (-C), monitor the NM connection state. +- Fix: RPM packaging: consistent PREFIX (bnc#485413), owning pkgdatadir. +- Fix: KeyError with --wep-hex. (James Hogan) +- Fix: knetworkmanagerrc: Don't let ConnectionSettings + override ConnectionSecrets. +- Updated pbkdf2.py to the newest upstream version (license + clarified). (Alexander Block) * Fri Mar 06 2009 mvidner@suse.cz - Packaging fix: claim ownership of pkgdatadir * Thu Mar 05 2009 mvidner@suse.cz ++++++ cnetworkmanager-0.8.3.tar.gz -> cnetworkmanager-0.8.4.tar.gz ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/cnetworkmanager-0.8.3/cnetworkmanager new/cnetworkmanager-0.8.4/cnetworkmanager --- old/cnetworkmanager-0.8.3/cnetworkmanager 2009-03-05 15:48:44.000000000 +0100 +++ new/cnetworkmanager-0.8.4/cnetworkmanager 2009-03-21 08:07:53.000000000 +0100 @@ -3,7 +3,7 @@ # by: http://en.opensuse.org/User:Mvidner # license: http://www.gnu.org/licenses/gpl-2.0.html or later -VERSION = "0.8.3" +VERSION = "0.8.4" print "cnetworkmanager %s - Command Line Interface for NetworkManager" % VERSION norpm = False @@ -100,21 +100,29 @@ for dev in self.Devices(): dev.ListNets() - def reply_handler(self, opath): - print "Connected:", opath - def err_handler(self, *args): print "ERR:", args def silent_handler(self, *args): pass - print "BOO!:", args + #print "BOO!:", args def quitter_handler(self, *args): # exit the loop that runs only because of us print "padla" sys.exit(0) + def WatchState(self): + bus.add_signal_receiver(self.state_changed_handler, + dbus_interface="org.freedesktop.NetworkManager", + signal_name="StateChanged") + + def state_changed_handler(self, *args): + s = args[0] + ss = self.NM_STATE[s] + print time.strftime("(%X)"), + print "State:", ss + def make_nm(opath): "Detects NM version and chooses appropriate class" @@ -178,16 +186,10 @@ def ActiveConnections(self): return [] # at most one active connection, FIXME find it - def reply_handler(self): - print "Connection requested" - - def err_handler(self, *args): - print "ERR:", args - def ActivateConnection(self, conn, device, ap): # passing *_handler makes the call asynchronous self.nmi.setActiveDevice(device.opath, ssid_str(conn.Ssid()), - reply_handler=self.reply_handler, + reply_handler=self.silent_handler, error_handler=self.err_handler, ) @@ -220,7 +222,7 @@ conn.__dbus_object_path__, device.opath, ap.opath, - reply_handler=self.reply_handler, + reply_handler=self.silent_handler, error_handler=self.err_handler, ) @@ -661,8 +663,11 @@ secrets = cSettings(si.GetSecrets(security,[],False)) secrets.Dump() except dbus.exceptions.DBusException, e: - print e - print " FIXME figure out 802-1x secrets" + if e.get_dbus_name() == "org.freedesktop.DBus.Error.AccessDenied": + print " Access denied" + else: + print " ", e + print " FIXME figure out 802-1x secrets" def Settings(self): return cSettings(self.ci.GetSettings()) @@ -863,6 +868,8 @@ def mkconmap_wep(ssid, key): cm = mkconmap_wifi(ssid) + cm["802-11-wireless"]["security"] = "802-11-wireless-security" + cm["802-11-wireless-security"] = {} cm["802-11-wireless-security"]["key-mgmt"] = "none" cm["802-11-wireless-security"]["wep-tx-keyidx"] = 0 cm["802-11-wireless-security"]["wep-key0"] = key @@ -1094,7 +1101,7 @@ self.conmaps_d = {} for s in p.sections(): path = s.split("_") - #print path + #print "##", path if path[0] in ["ConnectionSetting", "ConnectionSecrets"]: cid = path[1] self.conmaps_d.setdefault(cid, {}) @@ -1102,11 +1109,19 @@ values = {} for (n, v) in p.items(s): - # WTF, Value_ is transfrmed to value_ + # WTF, Value_ is transformed to value_ if n[:6] == "value_": n = n[6:] v = self.ParseValue(v) - values[n] = v + #print "# %s:%s" % (n, v) + # do not overwrite ConnectionSecrets + # with empty ConnectionSettings field + try: + vv = self.conmaps_d[cid][part][n] + except KeyError: + vv = "" + if vv == "": + values[n] = v if len(values) != 0: # empty 802-1x confuses NM!? self.conmaps_d[cid].setdefault(part, {}) self.conmaps_d[cid][part].update(**values) @@ -1148,24 +1163,34 @@ else: return "" -def abbr_signal_handler(*args, **kwargs): - ifc = kwargs["interface"] - sig = kwargs["member"] - opath = kwargs["path"] - line = "SIG %s: %s.%s%s" % (abbrev(opath,"/"), abbrev(ifc,"."), sig, args) - print line - -class Monitor: +class MonitorBase: def __init__(self): self.amap = {} - bus.add_signal_receiver(self.abbr_signal_handler, + self.specific = {} + bus.add_signal_receiver(self.abbr_h, path_keyword="path", interface_keyword="interface", member_keyword="member") - def abbr_signal_handler(self, *args, **kwargs): + def ignore(self, dbus_interface, signal_name): + self.watch(self.null_h, dbus_interface, signal_name) + + def null_h(self, *args, **kwargs): + pass + + def watch(self, handler, dbus_interface, signal_name): + self.specific[dbus_interface +"."+ signal_name] = True + bus.add_signal_receiver(handler, + dbus_interface=dbus_interface, + signal_name=signal_name, + path_keyword="path") + + def abbr_h(self, *args, **kwargs): ifc = kwargs["interface"] sig = kwargs["member"] + if self.specific.has_key(ifc +"."+ sig): + return + opath = kwargs["path"] line = "SIG %s: %s.%s%s" % (self.abbrev(opath,"/"), self.abbrev(ifc,"."), @@ -1176,19 +1201,81 @@ words = s.split(sep) words = map (self.a1, words) result = sep.join(words) - if not self.amap.has_key(s): - print "ABBR %s is %s" % (result, s) - self.amap[s] = result + if self.amap.has_key(result): + if self.amap[result] != s: + print "ABBR COLLISION %s was %s now %s" % (result, self.amap[result], s) else: - if self.amap[s] != result: - print "ABBR COLLISION %s was %s now %s" % (s, self.amap[s], result) + print "ABBR %s is %s" % (result, s) + self.amap[result] = s return result def a1(self, s): - try: - return s[0] - except: + if s == "": return "" + #print "#A", s + # first char, delete lowercase and _ from the rest + return s[0] + s[1:].translate(string.maketrans("", ""), + string.lowercase + "_") + +class Monitor(MonitorBase): + def __init__(self): + MonitorBase.__init__(self) + + self.watch( + self.propc_h, + dbus_interface="org.freedesktop.NetworkManager.Device.Wireless", + signal_name="PropertiesChanged") + self.watch( + self.propc_h, + dbus_interface="org.freedesktop.NetworkManager.AccessPoint", + signal_name="PropertiesChanged") + + self.ignore("org.freedesktop.Hal.Device", "PropertyModified") + self.ignore("fi.epitest.hostap.WPASupplicant.Interface", "ScanResultsAvailable") + self.ignore("com.redhat.PrinterSpooler", "QueueChanged") + self.ignore("org.freedesktop.NetworkManager", "StateChange") # deprecated + self.watch(self.nm_sc_h, "org.freedesktop.NetworkManager", "StateChanged") + self.watch(self.wpas_isc_h, "fi.epitest.hostap.WPASupplicant.Interface", "StateChange") + self.watch(self.nmd_sc_h, "org.freedesktop.NetworkManager.Device", "StateChanged") + self.watch(self.bus_noc_h, "org.freedesktop.DBus", "NameOwnerChanged") + + def bus_noc_h(self, *args, **kwargs): + (name, old, new) = args + if new == "": + new = "gone" + else: + new = "at " + new + print "\tBUS NOC\t%s %s" % (name, new) + + def wpas_isc_h(self, *args, **kwargs): + opath = kwargs["path"] + (new, old) = args + print "\tWPAS %s\t(%s, was %s)" % (new, opath, old.lower()) + + def nmd_sc_h(self, *args, **kwargs): + opath = kwargs["path"] + (new, old, reason) = args + news = cDevice_07.NM_DEVICE_STATE[new] + olds = cDevice_07.NM_DEVICE_STATE[old] + reasons = "" + if reason != 0: + reasons = "reason %d" % reason + print "\tDevice State %s\t(%s, was %s%s)" % (news, opath, olds.lower(), reasons) + + def nm_sc_h(self, *args, **kwargs): + s = args[0] + ss = cNM.NM_STATE[s] + print "\tNM State:", ss + + def propc_h(self, *args, **kwargs): + opath = kwargs["path"] + props = args[0] + for k, v in props.iteritems(): + if k == "Strength": + v = "%u" % v + line = "\tPROP\t%s\t%s\t(%s)" % (k, v, opath) + print line + # main @@ -1365,6 +1452,7 @@ print "pbkdf2", wpa_psk_hex c = mkconmap_psk(options.connect, wpa_psk_hex) us.addCon(c) + nm.WatchState() if Connect(options.connect): LOOP = True diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/cnetworkmanager-0.8.3/cnetworkmanager.spec new/cnetworkmanager-0.8.4/cnetworkmanager.spec --- old/cnetworkmanager-0.8.3/cnetworkmanager.spec 2009-03-05 15:48:44.000000000 +0100 +++ new/cnetworkmanager-0.8.4/cnetworkmanager.spec 2009-03-21 08:07:53.000000000 +0100 @@ -18,7 +18,7 @@ Name: cnetworkmanager -Version: 0.8.3 +Version: 0.8.4 Release: 1 Summary: Command-line client for NetworkManager License: GPL v2 or later @@ -26,6 +26,7 @@ Group: Productivity/Networking/System BuildRequires: dbus-1 Requires: dbus-1-python python-gobject2 +Provides: NetworkManager-client BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Source: %{name}-%{version}.tar.gz @@ -41,7 +42,7 @@ #% patch -p1 %build -make +make PREFIX=/usr %install make install DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr sysconfdir=/etc @@ -55,6 +56,7 @@ %files %defattr(-,root,root) /usr/bin/cnetworkmanager +%dir /usr/share/cnetworkmanager /usr/share/cnetworkmanager/cnetworkmanager /usr/share/cnetworkmanager/pbkdf2.py /etc/dbus-1/system.d/cnetworkmanager.conf @@ -62,6 +64,17 @@ %doc /usr/share/doc/packages/cnetworkmanager %changelog +* Sat Mar 21 2009 mvidner@suse.cz +- v0.8.4 +- New: When connecting (-C), monitor the NM connection state. +- Fix: RPM packaging: consistent PREFIX (bnc#485413), owning pkgdatadir. +- Fix: KeyError with --wep-hex. (James Hogan) +- Fix: knetworkmanagerrc: Don't let ConnectionSettings + override ConnectionSecrets. +- Updated pbkdf2.py to the newest upstream version (license + clarified). (Alexander Block) +* Fri Mar 06 2009 mvidner@suse.cz +- Packaging fix: claim ownership of pkgdatadir * Thu Mar 05 2009 mvidner@suse.cz - v0.8.3 - Fix: secrets leak via o.fd.NMS.Connection.Secrets (CVE-2009-0365) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/cnetworkmanager-0.8.3/Makefile new/cnetworkmanager-0.8.4/Makefile --- old/cnetworkmanager-0.8.3/Makefile 2009-03-05 15:48:44.000000000 +0100 +++ new/cnetworkmanager-0.8.4/Makefile 2009-03-21 08:07:53.000000000 +0100 @@ -1,5 +1,5 @@ PACKAGE=cnetworkmanager -VERSION=0.8.3 +VERSION=0.8.4 PREFIX=/usr/local bindir=${PREFIX}/bin diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/cnetworkmanager-0.8.3/NEWS new/cnetworkmanager-0.8.4/NEWS --- old/cnetworkmanager-0.8.3/NEWS 2009-03-05 15:48:44.000000000 +0100 +++ new/cnetworkmanager-0.8.4/NEWS 2009-03-21 08:07:53.000000000 +0100 @@ -1,3 +1,11 @@ +0.8.4, Sat 2009-03-21 +New: When connecting (-C), monitor the NM connection state. +Fix: RPM packaging: consistent PREFIX (bnc#485413), owning pkgdatadir. +Fix: KeyError with --wep-hex. (James Hogan) +Fix: knetworkmanagerrc: Don't let ConnectionSettings override ConnectionSecrets. +Updated pbkdf2.py to the newest upstream version (license +clarified). (Alexander Block) + 0.8.3, Thu 2009-03-05 Fix: secrets leak via o.fd.NMS.Connection.Secrets (CVE-2009-0365) Fix: secrets leak via o.fd.NMS.Connection.GetSettings (bnc#479566#c3) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/cnetworkmanager-0.8.3/pbkdf2.py new/cnetworkmanager-0.8.4/pbkdf2.py --- old/cnetworkmanager-0.8.3/pbkdf2.py 2009-03-05 15:48:44.000000000 +0100 +++ new/cnetworkmanager-0.8.4/pbkdf2.py 2009-03-21 08:07:53.000000000 +0100 @@ -4,12 +4,14 @@ # for details. Basically, it derives a key from a password and salt. # (c) 2004 Matt Johnston <matt @ ucc asn au> -# This code may be freely used and modified for any purpose. +# This code may be freely used, distributed, relicensed, and modified for any +# purpose. # Revision history # v0.1 October 2004 - Initial release # v0.2 8 March 2007 - Make usable with hashlib in Python 2.5 and use # v0.3 "" the correct digest_size rather than always 20 +# v0.4 13 March 2009 - Mention distribution and relicensing in the copyright import sys import hmac ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de