3 from settings
import cSettings
5 # server analog of cConnection
6 class Connection(dbus
.service
.Object
):
7 def __init__(self
, opath
, conmap
):
9 dbus
.service
.Object
.__init
__(self
, bus
, opath
)
10 self
.settings
= cSettings(conmap
)
12 @dbus.service
.method(dbus_interface
='org.freedesktop.NetworkManagerSettings.Connection',
13 sender_keyword
='sender',
14 in_signature
='', out_signature
='a{sa{sv}}')
15 def GetSettings(self
, sender
):
16 #print "Getting settings:", self. __dbus_object_path__
17 # return self.settings.ConMap()
18 # grr, censoring secrets makes NM complain!?
19 # bnc#479566#c3: Until I figure out how to make it work with
20 # censored secrets, only pass the settings to the same user.
21 sender_uid
= self
.connection
.get_unix_user(sender
)
22 if sender_uid
!= 0 and sender_uid
!= os
.geteuid():
23 e
= "User %u is not permitted to read the settings" % sender_uid
25 raise dbus
.exceptions
.DBusException(e
) # could do NM_SETTINGS_ERROR_* instead
26 return self
.settings
.conmap
28 @dbus.service
.method(dbus_interface
='org.freedesktop.NetworkManagerSettings.Connection.Secrets',
29 in_signature
='sasb', out_signature
='a{sa{sv}}')
30 def GetSecrets(self
, tag
, hints
, ask
):
32 print "Getting secrets:", self
.__dbus
_object
_path
__
33 return self
.settings
.SecMap()
35 @dbus.service
.method(dbus_interface
='org.freedesktop.NetworkManagerSettings.Connection',
36 in_signature
='', out_signature
='s')
38 return self
.settings
.ID()
41 return self
.settings
.Ssid()
43 def isNet(self
, net_name
):
44 return self
.settings
.isNet(net_name
)