- 01 Aug, 2014 40 commits
-
-
Dan Winship authored
Since the API has not changed at this point, this is mostly just a matter of updating Makefiles, and changing references to the library name in comments. NetworkManager cannot link to libnm due to the duplicated type/symbol names. So it links to libnm-core.la directly, which means that NetworkManager gets a separate copy of that code from libnm.so. Everything else links to libnm.
-
Dan Winship authored
Add docs infrastructure
-
Dan Winship authored
This fixes up the code from the previous "clean" import, and adds build infrastructure. [There are two slightly orthogonal sets of changes in this patch. First, the files added in the previous commit were modified as followed: # Replace internal references to "libnm-util" and "libnm-glib" with "libnm" perl -pi -e 's/libnm-(util|glib)/libnm/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch] # Fix includes of the enum-types files perl -pi -e 's/nm-utils-enum-types/nm-core-enum-types/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch] perl -pi -e 's/nm-glib-enum-types/nm-enum-types/;' libnm/*.[ch] libnm/tests/*.[ch] # Fix some python example code perl -pi -e 's/import NMClient/import NM/;' -e 's/NMClient.Client\(\)/NM.Client()/;' libnm/nm-client.c Then, the build infrastructure was added (without further modifying any existing files in libnm-core or libnm.) Note: to regenerate libnm.ver after rebase: (head -2 libnm-util/libnm-util.ver; (grep -h '\s'nm_ libnm-util/libnm-util.ver libnm-glib/libnm-glib.ver | env LANG=C sort); tail -3 libnm-util/libnm-util.ver) > libnm/libnm.ver ]
-
Dan Winship authored
This commit begins creating the new "libnm", which will replace libnm-util and libnm-glib. The main reason for the libnm-util/libnm-glib split is that the daemon needs to link to libnm-util (to get NMSettings, NMConnection, etc), but can't link to libnm-glib (because it uses many of the same type names as the NetworkManager daemon. eg, NMDevice). So the daemon links to only libnm-util, but basically all clients link to both. With libnm, there will be only a single client-visible library, and NetworkManager will internally link against a private "libnm-core" containing the parts that used to be in libnm-util. (The "libnm-core" parts still need to be in their own directory so that the daemon can see those header files without also seeing the ones in libnm/ that conflict with its own headers.) [This commit just copies the source code from libnm-util/ to libnm-core/, and libnm-glib/ to libnm/: mkdir -p libnm-core/tests/ mkdir -p libnm/tests/ cp libnm-util/*.[ch] libnm-util/nm-version.h.in libnm-core/ rm -f libnm-core/nm-version.h libnm-core/nm-setting-template.[ch] libnm-core/nm-utils-enum-types.[ch] cp libnm-util/tests/*.[ch] libnm-core/tests/ cp libnm-glib/*.[ch] libnm/ rm -f libnm/libnm_glib.[ch] libnm/libnm-glib-test.c libnm/nm-glib-enum-types.[ch] cp libnm-glib/tests/*.[ch] libnm/tests/ ]
-
Thomas Haller authored
https://bugzilla.gnome.org/show_bug.cgi?id=733212Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Make use of the previously added _LOG() macros in nm-device.c. This reduces code, but also ensures printing the same prefix for every logline produced *for* a device instance. Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Add new macro nm_log_obj() to prefix the log line with a pointer value as identifier. This macro can be used to give each logging line a common prefix with defined format. It is mainly intended to print a message "for" an object, for example inside a method function. Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Change the definition of nm_log() to first check whether logging is enabled. This has the benefit, that the logging arguments don't have to be evaluated if logging is disabled. With this change, you must ensure, that calling any logging function is side-effect-free. For example: nm_log_debug ("This is a bug %s, %d", has_side_effect (), ++i); would be a bug, because the logging arguments get only evaluated depending on the logging setup. Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Now the order of arguments corresponds to nm_logging_enabled(). Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Base the definition of nm_log_*() macros on the nm_log() macro, instead of directly on the _nm_log() function. Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Ensure that nm_logging_setup() was called for all functions where it actually makes a difference. This is especially important for nm_logging_enabled(), so that the behavior of the following is identical: nm_log_info(LOGD_CORE, "hello world"); and if (nm_logging_enabled (LOGL_INFO, LOGD_CORE)) nm_log_info(LOGD_CORE, "hello world"); Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Dan Winship authored
-
Dan Winship authored
Test that the code to track whether NetworkManager is running works correctly.
-
Dan Winship authored
NMObjectCache was assuming there would never be more than one object with the same path, but since NMClient is an NMObject, it was getting cached too, so if you created two clients and then unreffed one of them, it's possible the wrong one could get left in the cache, causing a crash the next time the other one called nm_object_cache_clear(). Fix this by only adding NMObjects to the cache in the codepaths where we also check to see if the object was already in the cache. (This also means we can remove the "except" argument to nm_object_cache_clear(), since the NMClient won't be cached any more.)
-
Dan Winship authored
test-nm-client.c and test-remote-settings-client.c were using their own assertion macros so they could kill the test service on assertion failure. Except that some new code didn't get the memo and used the g_assert* macros. Not to mention that sometimes the tests would crash outside of an assertion macro. We can make test-networkmanager-service.py notice that its parent has crashed by opening a pipe between them and taking advantage of the fact that the pipe will be automatically closed if the parent crashes. So then test-networkmanager-service.py just has to watch for that, and exit if the pipe closes. Then that lets us drop the test_assert* macros and just use g_assert* instead.
-
Dan Winship authored
-
Dan Winship authored
Use "TESTS = tests-nm-client test-remote-settings-client" rather than overriding "check-local". Add a script "libnm-test-launch.sh" that will handle redirecting the test via dbus-launch if needed.
-
Dan Winship authored
Rather than passing the path to the test service on the command line, compile it into the test programs. (Among other things, this makes it easier to run the test directly from the command line.)
-
Thomas Haller authored
Out-of-tree build fails with: ../../src/dns-manager/nm-dns-manager.c:38:33: fatal error: libnm-util/nm-utils.h: No such file or directory Fixes regression introduced by commit 7580cfef. Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Fix sources so that they compile with clang. https://bugzilla.gnome.org/show_bug.cgi?id=733806Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
Use nm_utils_inet4_ntop() and nm_utils_inet6_ntop() instead. And get rid of the unneeded error-checking. gcc warns: make[4]: Entering directory `/data/src/NetworkManager/src' CC nm-dns-manager.lo dns-manager/nm-dns-manager.c: In function 'merge_one_ip4_config': dns-manager/nm-dns-manager.c:137:37: warning: ordered comparison of pointer with integer zero [-Wextra] if (inet_ntop (AF_INET, &addr, buf, INET_ADDRSTRLEN) > 0) ^ dns-manager/nm-dns-manager.c:168:37: warning: ordered comparison of pointer with integer zero [-Wextra] if (inet_ntop (AF_INET, &addr, buf, INET_ADDRSTRLEN) > 0) ^ dns-manager/nm-dns-manager.c: In function 'merge_one_ip6_config': dns-manager/nm-dns-manager.c:197:64: warning: ordered comparison of pointer with integer zero [-Wextra] if (inet_ntop (AF_INET, &(addr->s6_addr32[3]), buf, INET_ADDRSTRLEN) > 0) ^ dns-manager/nm-dns-manager.c:200:38: warning: ordered comparison of pointer with integer zero [-Wextra] if (inet_ntop (AF_INET6, addr, buf, INET6_ADDRSTRLEN) > 0) { ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
gcc warns: make[4]: Entering directory `./NetworkManager/cli/src' CC utils.o utils.c: In function ‘parse_output_fields’: utils.c:707:7: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] if (found) { ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
gcc warns: make[4]: Entering directory `./NetworkManager/libnm-util' CC nm-value-transforms.lo nm-value-transforms.c: In function '_nm_utils_convert_op_array_to_string': nm-value-transforms.c:121:6: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] if (i > 0) ^ nm-value-transforms.c: In function '_nm_utils_convert_string_array_to_string': nm-value-transforms.c:121:6: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] if (i > 0) ^ make[7]: Entering directory `./NetworkManager/src/settings/plugins/ifcfg-rh' CC reader.lo reader.c: In function 'make_wired_setting': reader.c:3295:6: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] if (!found) ^ reader.c: In function 'wireless_connection_from_ifcfg': reader.c:3295:6: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] if (!found) ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
gcc warns: make[4]: Entering directory `./NetworkManager/cli/src' CC connections.o connections.c: In function ‘complete_connection_by_type’: connections.c:4235:18: error: ‘mtu_int’ may be used uninitialized in this function [-Werror=maybe-uninitialized] g_object_set (s_wired, NM_SETTING_WIRED_MTU, mtu_int, NULL); ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
gcc warns: make[5]: Entering directory `./NetworkManager/src/platform/tests' CC platform.o platform.c: In function ‘do_ip6_route_add’: platform.c:696:2: error: ‘plen’ may be used uninitialized in this function [-Werror=maybe-uninitialized] return nm_platform_ip6_route_add (ifindex, NM_PLATFORM_SOURCE_USER, ^ platform.c: In function ‘do_ip6_route_delete’: platform.c:724:2: error: ‘plen’ may be used uninitialized in this function [-Werror=maybe-uninitialized] return nm_platform_ip6_route_delete (ifindex, network, plen, metric); ^ platform.c: In function ‘do_ip4_route_delete’: [...] Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
clang warns: make[4]: Entering directory `./NetworkManager/cli/src' CC connections.o connections.c:2206:23: error: unused variable 'nmc_mobile_settings' [-Werror,-Wunused-const-variable] static const NameItem nmc_mobile_settings [] = { ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
clang warns: make[5]: Entering directory `./NetworkManager/src/platform/tests' CC test_link_fake-test-link.o test-link.c:133:1: error: control may reach end of non-void function [-Werror,-Wreturn-type] } ^ test-link.c:191:10: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] char *stdout = NULL; ^ /usr/include/stdio.h:173:16: note: expanded from macro 'stdout' #define stdout stdout ^ /usr/include/stdio.h:169:25: note: previous declaration is here extern struct _IO_FILE *stdout; /* Standard output stream. */ ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
clang warns: make[7]: Entering directory `./NetworkManager/src/settings/plugins/ifcfg-rh' CC writer.lo writer.c:2505:20: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier] static const char const as_dash[] = "\\][|/=()!"; ^~~~~~ CC utils.lo utils.c:40:20: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier] static const char const drop_chars[] = "\r\n"; /* drop CR and LF */ ^~~~~~ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED would map to NM_DEVICE_STATE_REASON_NOW_MANAGED. clang warns: make[6]: Entering directory `./NetworkManager/src/devices/wifi' CC nm-device-olpc-mesh.lo nm-device-olpc-mesh.c:193:28: error: implicit conversion from enumeration type 'enum NMVPNConnectionStateReason' to different enumeration type 'NMDeviceStateReason' [-Werror,-Wenum-conversion] NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nm-device-olpc-mesh.c:319:27: error: implicit conversion from enumeration type 'enum NMVPNConnectionStateReason' to different enumeration type 'NMDeviceStateReason' [-Werror,-Wenum-conversion] NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-
Thomas Haller authored
g_error() does not return, but clang seems not to understand that and gives the following warning. make[4]: Entering directory `./NetworkManager/src' CC NetworkManagerUtils.lo NetworkManagerUtils.c:1584:1: error: control may reach end of non-void function [-Werror,-Wreturn-type] } ^ Signed-off-by:
Thomas Haller <thaller@redhat.com>
-