mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-08 04:50:17 +01:00
Use PolicyKit to authorize the system settings' AddConnection method
and the system settings connections' Update and Delete methods.
* libnm-glib/nm-settings.c (impl_exported_connection_update)
(impl_exported_connection_delete, nm_exported_connection_update)
(nm_exported_connection_delete): Return boolean and fill GError
to notify the callers of the reasons why it might have failed.
* libnm-glib/nm-dbus-settings-system.c
(nm_dbus_settings_system_add_connection): Return the error from dbus
call so that the callers can see why it failed.
* libnm-glib/nm-dbus-connection.c (update, delete): Update the
signatures.
* system-settings/src/nm-polkit-helpers.[ch]: Implement.
* system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
abstract base class that checks PolicyKit permissions.
* system-settings/src/dbus-settings.c:
(impl_settings_add_connection): Check the policy before carring out
the request.
* system-settings/plugins/keyfile/nm-keyfile-connection.c:
Inherit from NMSysconfigConnection, check the policies before
allowing updating or removing.
* system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
Inherit from NMSysconfigConnection.
* introspection/nm-exported-connection.xml: Annotate "Update" and
"Delete" methods with async flag so that the implementations can get
access to DBusGMethodInvocation.
* system-settings/src/dbus-settings.c
(settings_add_connection_check_privileges): Implement.
(impl_settings_add_connection): Check the privileges before adding a new
connection. Improve error reporting.
* introspection/nm-settings-system.xml: Make the 'AddConnection' method
async so that the implementation can access DBusGMethodInvocation.
* configure.in: Check for PolicyKit.
* policy/org.freedesktop.network-manager-settings.system.policy:
New file.
* policy/Makefile.am: Install the policy file.
* configure.in: Add 'policy' subdir.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3646 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
50 lines
1 KiB
Makefile
50 lines
1 KiB
Makefile
if WITH_DOCS
|
|
|
|
all:
|
|
|
|
XSLTPROC = xsltproc --xinclude --nonet
|
|
|
|
XMLS = $(wildcard introspection/nm-*.xml)
|
|
# Figure out if we need ASYNC_INTROSPECT and add it later
|
|
|
|
GENERATED_FILES = \
|
|
docs/spec.html
|
|
|
|
docs/spec.html: $(XMLS) introspection/all.xml introspection/generic-types.xml introspection/errors.xml introspection/vpn-errors.xml tools/doc-generator.xsl introspection/generic-types.xml
|
|
@install -d docs
|
|
$(XSLTPROC) tools/doc-generator.xsl introspection/all.xml > $@
|
|
|
|
all: $(GENERATED_FILES)
|
|
|
|
clean:
|
|
rm -f $(GENERATED_FILES)
|
|
|
|
endif
|
|
|
|
SUBDIRS = \
|
|
marshallers \
|
|
libnm-util \
|
|
libnm-glib \
|
|
src \
|
|
initscript \
|
|
test \
|
|
po \
|
|
man \
|
|
include \
|
|
introspection \
|
|
callouts \
|
|
system-settings \
|
|
tools \
|
|
policy
|
|
|
|
EXTRA_DIST = \
|
|
CONTRIBUTING \
|
|
NetworkManager.pc.in \
|
|
intltool-extract.in \
|
|
intltool-merge.in \
|
|
intltool-update.in
|
|
|
|
DISTCLEANFILES = intltool-extract intltool-merge intltool-update
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = NetworkManager.pc
|