[systemd-devel] [PATCH] perl-Net-DBus + new interactive authorization
Daniel P. Berrange
dan at berrange.com
Mon Jan 12 04:49:56 PST 2015
On Mon, Jan 12, 2015 at 12:04:42PM +0000, Colin Guthrie wrote:
> Daniel P. Berrange wrote on 12/01/15 11:40:
> > On Mon, Jan 12, 2015 at 11:37:12AM +0000, Colin Guthrie wrote:
> >> Angelo Naselli wrote on 12/01/15 10:30:
> >>> Il 12/01/2015 10:16, Colin Guthrie ha scritto:
> >>>> Angelo Naselli wrote on 11/01/15 17:15:
> >>>
> >>>>> FWIW i rebuilt it in mageia 4 and libdbus1_3-1.6.18-1.8.mga4
> >>>>> I haven't any issues of course. Using it as user
> >>>>> for StartUnit/StopUnit for instance i got a only a different exception
> >>>>>
> >>>>> org.freedesktop.DBus.Error.AccessDenied: Rejected send message
> >>>>>
> >>>>> while using as root worked as before even if i used new api.
> >>>>
> >>>> This is expected unless you have also backported cauldron systemd to
> >>>> MGA4. I think we discussed before that the interactive authorisation
> >>>> stuff was only added in more recent versions of systemd, so this is
> >>>> entirely what I'd expect here.
> >>> eh eh eh, mine was only to say that even if i haven't disabled anything
> >>> and compiled all against the old library i didn't see any crash or
> >>> regression, just a different exception for the same -not working- thing.
> >>> But i haven't test anything of course :)
> >>
> >> Oh, right! Gotcha, so this is just about the comment regarding the
> >> conditional compilation against older libdbus. Sorry for misinterpreting
> >> and thanks for testing that.
> >>
> >> OK, I'll have a further look at it to see if anything special is needed,
> >> perhaps the perl binding stuff just works without too much faff here for
> >> non-present APIs (I'm certainly not an expert with this stuff!).
> >
> > I think you'll just need some #ifdef magic in the DBus.xs file to deal
> > with the new APIs being missing. Perhaps just write a stub function
> > in the DBus.xs that just raises a suitable perl error (see _croak_error
> > source in DBus.xs for example on raising errors)
>
> Perhaps, but I think in this case it would be better to simply silently
> ignore the error as this is more of a nice additional feature rather
> than a core part. I think if someone wrote some perl code that took
> advantage of this, they would prefer it would "just work" as expected
> rather than have any need to push up conditional checks into the calling
> perl code.
Sure, if it is semantically reasonable from an app's POV for it to be a
no-op on old DBus, that's fine too.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the systemd-devel
mailing list