summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* dns: refresh DNS if plugin child quits unexpectedly (bgo #728342)dcbw/dns-plugin-children-bgo728342Dan Williams2015-03-091-1/+22
| | | | | | | | If the child dies, or something kills the child externally, refresh DNS which should respawn the child, similar to what we do with wpa_supplicant, teamd, etc. https://bugzilla.gnome.org/show_bug.cgi?id=728342
* fixup! dns: ensure that update_dns() always returns a GError on failureDan Williams2015-03-092-3/+20
|
* dns: ensure that update_dns() always returns a GError on failureDan Williams2015-03-094-65/+49
| | | | Callers may expect this, so make sure we do it.
* dns: refactor building IP config lists for plugins (bgo #728342)Dan Williams2015-03-091-27/+43
| | | | | | Don't bother building the lists if no DNS plugins are enabled. https://bugzilla.gnome.org/show_bug.cgi?id=728342
* dns: kill plugin child synchronously to avoid restart race (rh #1161232) ↵Dan Williams2015-03-091-2/+3
| | | | | | | | | | | | | | | | | (bgo #728342) NM was killing the dnsmasq local caching nameserver process and immediately starting a new one, and new process couldn't bind to 127.0.0.1 because the old one hadn't quit yet. Thus the new process quit, and the user was left with no split DNS at all. While this does introduce more synchronous waiting into the connection process, it's not that much time and NM will kill dnsmasq if it hasn't quit after 1 second. The longer-term fix is to use dnsmasq's D-Bus interface to update DNS without respawning it. https://bugzilla.gnome.org/show_bug.cgi?id=728342 https://bugzilla.redhat.com/show_bug.cgi?id=1161232
* route-manager: refactor: a readability improvementLubomir Rintel2015-03-091-2/+4
|
* examples: add a Python example deactivating connections by type (bgo #732826)Jiří Klimeš2015-03-052-1/+83
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=732826
* examples: add a Lua example deactivating connections by type (bgo #732826)Jiří Klimeš2015-03-052-1/+84
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=732826
* build: fix typo in configure script failing detection of libsystemdThomas Haller2015-03-041-1/+1
| | | | | | Also revert 068e9210ec2deb63cda38b2c7cbb1987ed98130d. Fixes: ce6d5580f5f66edc3635854f3c7a98950cf227e9
* supplicant: remove unused variableThomas Haller2015-03-041-1/+0
|
* session: check for libsystemd-logind and fallback to libsystemdPavel Šimerda2015-03-041-1/+1
| | | | | | | The previous change turned out to be wrong despite it was nothing more than a reversion of the respective lines. Acked-By: Thomas Haller <thaller@redhat.com>
* session: check for libsystemd and fallback to libsystemd-loginPavel Šimerda2015-03-041-1/+1
| | | | | Acked-By: Michael Biebl <biebl@debian.org> Acked-By: Lubomir Rintel <lkundrak@v3.sk>
* dhcp: sd-dhcp6-client: delay setting the DUID and don't fail constructorThomas Haller2015-03-042-11/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reimport systemd dhcp code to bring patch cc22955cfefb4bd6e7a135f1ec95fb5a07ba9ce3. sd-dhcp6-client: delay setting the DUID and don't fail constructor sd_dhcp6_client_new() tried to set the DUID based on the machine id. If the host has no /etc/machine-id, the constructor would fail making it impossible to create an sd_dhcp6_client instance. Relax this and create a DUID only later as needed. This way a caller caller can workaround a missing machine-id file and set a DUID of his choosing via sd_dhcp6_client_set_duid(). Conflicts: src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c
| * dhcp: update systemd DHCP codeThomas Haller2015-03-042-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct dump from systemd git on 2015-03-04, git commit cc22955cfefb4bd6e7a. Only relevant files were included. SYSTEMD_DIR=../systemd COMMIT=cc22955cfefb4bd6e7a135f1ec95fb5a07ba9ce3 ( cd "$SYSTEMD_DIR" git checkout "$COMMIT" git reset --hard git clean -fdx ) /bin/cp "$SYSTEMD_DIR"/src/libsystemd/sd-id128/sd-id128.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd/sd-id128/sd-id128.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-identifier.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-identifier.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-identifier.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-identifier.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-internal.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-lease-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-lease-internal.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-network.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-network.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-option.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-option.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-packet.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-packet.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-protocol.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-protocol.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-internal.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-lease-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-lease-internal.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-network.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-network.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-option.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-option.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-protocol.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-protocol.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/network-internal.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/network-internal.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/network-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/network-internal.h /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp-client.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp-lease.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp6-client.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp6-lease.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-lease.c /bin/cp "$SYSTEMD_DIR"/src/shared/async.h ./src/dhcp-manager/systemd-dhcp/src/shared/async.h /bin/cp "$SYSTEMD_DIR"/src/shared/fileio.c ./src/dhcp-manager/systemd-dhcp/src/shared/fileio.c /bin/cp "$SYSTEMD_DIR"/src/shared/fileio.h ./src/dhcp-manager/systemd-dhcp/src/shared/fileio.h /bin/cp "$SYSTEMD_DIR"/src/shared/list.h ./src/dhcp-manager/systemd-dhcp/src/shared/list.h /bin/cp "$SYSTEMD_DIR"/src/shared/log.h ./src/dhcp-manager/systemd-dhcp/src/shared/log.h /bin/cp "$SYSTEMD_DIR"/src/shared/macro.h ./src/dhcp-manager/systemd-dhcp/src/shared/macro.h /bin/cp "$SYSTEMD_DIR"/src/shared/path-util.c ./src/dhcp-manager/systemd-dhcp/src/shared/path-util.c /bin/cp "$SYSTEMD_DIR"/src/shared/path-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/path-util.h /bin/cp "$SYSTEMD_DIR"/src/shared/refcnt.h ./src/dhcp-manager/systemd-dhcp/src/shared/refcnt.h /bin/cp "$SYSTEMD_DIR"/src/shared/siphash24.c ./src/dhcp-manager/systemd-dhcp/src/shared/siphash24.c /bin/cp "$SYSTEMD_DIR"/src/shared/siphash24.h ./src/dhcp-manager/systemd-dhcp/src/shared/siphash24.h /bin/cp "$SYSTEMD_DIR"/src/shared/socket-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/socket-util.h /bin/cp "$SYSTEMD_DIR"/src/shared/sparse-endian.h ./src/dhcp-manager/systemd-dhcp/src/shared/sparse-endian.h /bin/cp "$SYSTEMD_DIR"/src/shared/strv.c ./src/dhcp-manager/systemd-dhcp/src/shared/strv.c /bin/cp "$SYSTEMD_DIR"/src/shared/strv.h ./src/dhcp-manager/systemd-dhcp/src/shared/strv.h /bin/cp "$SYSTEMD_DIR"/src/shared/time-util.c ./src/dhcp-manager/systemd-dhcp/src/shared/time-util.c /bin/cp "$SYSTEMD_DIR"/src/shared/time-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/time-util.h /bin/cp "$SYSTEMD_DIR"/src/shared/utf8.c ./src/dhcp-manager/systemd-dhcp/src/shared/utf8.c /bin/cp "$SYSTEMD_DIR"/src/shared/utf8.h ./src/dhcp-manager/systemd-dhcp/src/shared/utf8.h /bin/cp "$SYSTEMD_DIR"/src/shared/util.c ./src/dhcp-manager/systemd-dhcp/src/shared/util.c /bin/cp "$SYSTEMD_DIR"/src/shared/util.h ./src/dhcp-manager/systemd-dhcp/src/shared/util.h /bin/cp "$SYSTEMD_DIR"/src/shared/unaligned.h ./src/dhcp-manager/systemd-dhcp/src/shared/unaligned.h /bin/cp "$SYSTEMD_DIR"/src/shared/in-addr-util.c ./src/dhcp-manager/systemd-dhcp/src/shared/in-addr-util.c /bin/cp "$SYSTEMD_DIR"/src/shared/in-addr-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/in-addr-util.h /bin/cp "$SYSTEMD_DIR"/src/systemd/_sd-common.h ./src/dhcp-manager/systemd-dhcp/src/systemd/_sd-common.h /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp-client.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp-client.h /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp-lease.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp-lease.h /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp6-client.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp6-client.h /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp6-lease.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp6-lease.h /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-event.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-event.h /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-id128.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-id128.h
* | vpn: convert NMVpnConnection <-> VPN service communication to GDBus (bgo ↵Dan Williams2015-03-034-592/+485
| | | | | | | | | | | | | | | | | | | | | | #745307) Of special note is the new D-Bus rule to allow root to talk to org.freedesktop.NetworkManager.VPN.Plugin, without which NetworkManager would not hear signals from the VPN plugins. Oddly, this worked fine with dbus-glib... https://bugzilla.gnome.org/show_bug.cgi?id=745307
* | merge: replace usage of dbus-glib in supplicant code with GDBus (bgo #744598)Dan Williams2015-03-0314-1469/+1025
|\ \
| * | supplicant: remove unused nm-call-store.c/.hdcbw/wifi-gdbusDan Williams2015-03-034-163/+0
| | |
| * | supplicant: convert interface/config to GDBusDan Williams2015-03-038-1096/+888
| | |
| * | supplicant: clean up some whitespaceDan Williams2015-03-031-28/+28
| | |
| * | supplicant: make NMSupplicantInterface independent of NMSupplicantManagerDan Williams2015-03-035-89/+39
| | | | | | | | | | | | | | | | | | The Interface held a reference to the manager to listen for the 'available' signal. Instead of that, let's make the child unaware of the master to keep the inheritance cleaner.
| * | supplicant: clean up NMSupplicantInterface::dispose()Dan Williams2015-03-031-27/+23
| | |
| * | supplicant: convert NMSupplicantManager to GDBusDan Williams2015-03-031-93/+81
| | |
| * | supplicant: clean up NMSupplicantManager::dispose()Dan Williams2015-03-031-16/+9
|/ /
* | dhcp: revert "remove local modifications initializing cleanup variables"Thomas Haller2015-03-035-6/+6
| | | | | | | | | | | | | | | | | | | | | | rpmbuild buils NM with -fexceptions, which causes -Wmaybe-uninitialized warnings for auto variables that have a cleanup function. Maybe we should not build RPM packages with -fexceptions, but anyway, for now just fix the build. This reverts partly commit 4a58425dbfe43ecbf0224ae6ecee5c3360338a0d and adds more fixes of uninitialized variables.
* | dhcp: merge branch 'th/systemd-dhcp-integration' (bgo #742719)Thomas Haller2015-03-0337-825/+3496
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update internal dhcp library with new code from upstream systemd. HEAD=117cb022b13cedf4035e2a778b8d61528075a8b4 MERGE=$(git rev-list --merges -n1 $HEAD) # how did we modify the systemd code? git diffs $MERGE^1 $HEAD -- :/src/dhcp-manager/systemd-dhcp/ # what changed in systemd since last merge: git diffs $MERGE^2 $HEAD -- :/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/ https://bugzilla.gnome.org/show_bug.cgi?id=742719
| * | dhcp: add prefix to logging lines from systemd libraryThomas Haller2015-03-031-1/+1
| | |
| * | dhcp: avoid compilation error in macro.h due to undefined __STDC_VERSION__ ↵Thomas Haller2015-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | variable for -std=gnu99 systemd compiles with -std=gnu99, while we compile our sources with -std=gnu89. Hence __STDC_VERSION__ is not defined. As we define -std=gnu98 as CFLAGS with --enable-more-warnings, we cannot overwrite it via libsystemd_dhcp_la_CFLAGS because the (user provided) CFLAGS takes precedence.
| * | dhcp: include sys/resource.h in nm-sd-adapt.hThomas Haller2015-03-031-0/+1
| | | | | | | | | | | | | | | | | | As we don't provide "missing.h" header from systemd, we lack some includes. Include <sys/resource.h> in nm-sd-adapt.h for struct rlimit.
| * | dhcp: include net/if_arp.h in nm-sd-adapt.hThomas Haller2015-03-031-0/+2
| | | | | | | | | | | | | | | | | | | | | sd-dhcp6-client.c uses ARPHRD_ETHER and more from net/if_arp.h. In upstream systemd code, that header is included indirectly via udev.h. As we don't include udev.h, include net/if_arp.h directly in the adapter.
| * | dhcp: remove sd_dhcp6_client_set_ifname() functionThomas Haller2015-03-033-21/+0
| | | | | | | | | | | | | | | | | | This function was added to inject the ifname to the dhcp6 client. As dhcp_identifier_set_iaid() now looks up the name itself by calling if_indextoname(), this is no longer needed.
| * | dhcp: add systemd's dhcp-identifier.c for dhcp_identifier_set_duid_en()Thomas Haller2015-03-033-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Also patch dhcp_identifier_set_iaid() to get the ifname via if_indextoname(), instead of udev. This also makes our local modification sd_dhcp6_client_set_ifname() obsolete, which will be removed next.
| * | dhcp: add systemd's sd-id128.c for sd_id128_get_machine()Thomas Haller2015-03-033-1/+8
| | |
| * | dhcp: add systemd's path-util.c for path_kill_slashes()Thomas Haller2015-03-034-0/+14
| | | | | | | | | | | | | | | tempfn_xxxxxx() now uses path_kill_slashes(). Add path-util.c from systemd source to provide it.
| * | dhcp: add systemd's 'log.h' to provide logging macrosThomas Haller2015-03-034-24/+30
| | | | | | | | | | | | | | | | | | The 'log.h' header from systemd implements most logging commands based on a few fundamental logging commands. Reuse 'log.h' for most parts and let the adapter only redefine the necessary commands.
| * | dhcp: comment-out unused systemd utility functionsThomas Haller2015-03-032-2/+2
| | |
| * | dhcp: comment-in now needed string_table_lookup() function in util.cThomas Haller2015-03-031-0/+2
| | |
| * | dhcp: comment-in now needed filename_is_valid() function in util.cThomas Haller2015-03-031-0/+2
| | |
| * | dhcp: remove local modifications initializing cleanup variablesThomas Haller2015-03-035-6/+8
| | | | | | | | | | | | | | | | | | | | | I cannot reproduce any compiler warnings with these changes. I think it is desirable, that our version of the code is as similar as possible to the upstream systemd code. Undo these local modifications.
| * | dhcp/trivial: remove unused fixes to our copy of the systemd codeThomas Haller2015-03-032-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Make our copy more similar to what systemd has by removing local changes that are unnecessary. These changes don't affect the build, because the code is excluded with #if 0.
| * | dhcp/trivial: remove code commentThomas Haller2015-03-031-2/+0
| | | | | | | | | | | | | | | | | | dcbw added a comment line and submitted the patch to systemd. The patch was merged without the comment. Remove it also from our version, to make the file more similar to what systemd has.
| * | dhcp: merge branch 'master' into th/systemd-dhcp-integrationThomas Haller2015-03-03692-36420/+61398
| |\ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only basic merging. The result does not yet compile. https://bugzilla.gnome.org/show_bug.cgi?id=742719 Conflicts: src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-packet.c src/dhcp-manager/systemd-dhcp/src/libsystemd-network/network-internal.c src/dhcp-manager/systemd-dhcp/src/libsystemd-network/network-internal.h src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c src/dhcp-manager/systemd-dhcp/src/shared/macro.h src/dhcp-manager/systemd-dhcp/src/shared/strv.c src/dhcp-manager/systemd-dhcp/src/shared/util.c src/dhcp-manager/systemd-dhcp/src/shared/util.h src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp6-client.h
* | wwan: refactor nm_modem_ip_type_to_string() and fix return typeThomas Haller2015-03-031-19/+9
| | | | | | | | | | | | | | | | | | | | | | The statement g_return_val_if_reached (NM_MODEM_IP_TYPE_UNKNOWN); was wrong, because the return type is 'const char *'. But just refactor nm_modem_ip_type_to_string() to get rid of the static table and make it a switch statement. Fixes: 85d9132464b76b75c0145376458c35f16472dc32
* | wwan: don't warn on disconnect if ModemManager isn't runningDan Williams2015-03-021-1/+2
| | | | | | | | | | If ModemManager quit or was terminated, and that caused the disconnect, don't bother printing out a warning if MM couldn't be started.
* | trivial: don't run wifi tests if the tests are disabledLubomir Rintel2015-03-021-0/+2
| |
* | dhcp: cleanup internal systemd dhcp libraryThomas Haller2015-03-0245-78/+100
|\ \ | | | | | | | | | | | | | | | | | | Merge first part of patches that prepare for updating the dhcp library to new systemd upstream. https://bugzilla.gnome.org/show_bug.cgi?id=742719
| * | dhcp: ensure every systemd dhcp file includes 'nm-sd-adapt.h' firstThomas Haller2015-03-0224-2/+48
| | |
| * | dhcp: don't include config.h in systemd sourceThomas Haller2015-03-0217-31/+3
| | | | | | | | | | | | | | | systemd sources should all include 'nm-sd-adapt.h' as first header, which in turn already includes our 'config.h'.
| * | logging: add error argument to _nm_log() to support "%m" format specifierThomas Haller2015-03-023-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A gnu extension to printf adds the format specifier "%m" to print @errno. To preserve the error number until the point where the logging statement is constructed, pass it as an additional argument to _nm_log(). This is not (yet) used from NM internal code. But systemd is adding similar functionality to its logging functions. Add the same also to nm-logging, to support systemd's usage of "%m".
| * | dhcp/trivial: add '/* NM_IGNORED */' comment to #endif added by NetworkManagerThomas Haller2015-03-029-40/+40
| | |
| * | dhcp/trivial: remove shaddowed '#if 0 /* NM_IGNORED */' blockThomas Haller2015-03-021-2/+0
|/ / | | | | | | Remove '#if 0' inside another '#if 0' block.