Skip to content

Commit c043cdd

Browse files
committed
certificate handler: use mapper
Use mapper to retrieve a D-Bus busname, instead of assuming a well-known busname. Change-Id: I668f750ab098b847bf3a662abdf6614170471c41 Signed-off-by: Deepak Kodihalli <[email protected]>
1 parent dee2ef5 commit c043cdd

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

module/obmc/wsgi/apps/rest_dbus.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -880,11 +880,10 @@ class CertificateHandler:
880880
file_loc = '/tmp'
881881
file_suffix = '.pem'
882882
file_prefix = 'cert_'
883-
CERT_BUSNAME = 'xyz.openbmc_project.Certs.Manager'
884883
CERT_PATH = '/xyz/openbmc_project/certs'
885884
CERT_IFACE = 'xyz.openbmc_project.Certs.Install'
886885

887-
def do_upload(cls, cert_type, service):
886+
def do_upload(cls, route_handler, cert_type, service):
888887
def cleanup():
889888
if os.path.exists(temp.name):
890889
os.remove(temp.name)
@@ -911,16 +910,20 @@ def cleanup():
911910

912911
try:
913912
bus = dbus.SystemBus()
914-
busName = cls.CERT_BUSNAME + "." + cert_type.capitalize() + "." \
915-
+ service.capitalize()
916913
certPath = cls.CERT_PATH + "/" + cert_type + "/" + service
917-
obj = bus.get_object(busName, certPath)
918-
iface = dbus.Interface(obj, cls.CERT_IFACE)
919-
iface.Install(temp.name)
920-
except dbus.exceptions.DBusException as e:
914+
intfs = route_handler.try_mapper_call(
915+
route_handler.mapper.get_object, path=certPath)
916+
for busname,intf in intfs.items():
917+
if cls.CERT_IFACE in intf:
918+
obj = bus.get_object(busName, certPath)
919+
iface = dbus.Interface(obj, cls.CERT_IFACE)
920+
iface.Install(temp.name)
921+
cleanup()
922+
return
923+
abort(404, "Path not found")
924+
except Exception as e:
921925
cleanup()
922926
abort(503, str(e))
923-
cleanup()
924927

925928

926929
class CertificatePutHandler(RouteHandler):
@@ -935,7 +938,7 @@ def __init__(self, app, bus):
935938
app, bus, self.verbs, self.rules, self.content_type)
936939

937940
def do_put(self, cert_type, service):
938-
return CertificateHandler().do_upload(cert_type, service)
941+
return CertificateHandler().do_upload(self, cert_type, service)
939942

940943
def find(self, **kw):
941944
pass

0 commit comments

Comments
 (0)