diff options
Diffstat (limited to 'src/settings/plugins/ifupdown')
7 files changed, 98 insertions, 69 deletions
diff --git a/src/settings/plugins/ifupdown/meson.build b/src/settings/plugins/ifupdown/meson.build new file mode 100644 index 00000000..fd028f4d --- /dev/null +++ b/src/settings/plugins/ifupdown/meson.build @@ -0,0 +1,53 @@ +sources = files( + 'nms-ifupdown-interface-parser.c', + 'nms-ifupdown-parser.c' +) + +deps = [ + libudev_dep, + nm_dep +] + +cflags = '-DSYSCONFDIR="@0@"'.format(nm_sysconfdir) + +libnms_ifupdown_core = static_library( + 'nms-ifupdown-core', + sources: sources, + dependencies: deps, + c_args: cflags +) + +sources = files( + 'nms-ifupdown-connection.c', + 'nms-ifupdown-plugin.c' +) + +libnm_settings_plugin_ifupdown = shared_module( + 'nm-settings-plugin-ifupdown', + sources: sources, + dependencies: deps, + c_args: cflags, + link_with: libnms_ifupdown_core, + link_args: ldflags_linker_script_settings, + link_depends: linker_script_settings, + install: true, + install_dir: nm_plugindir +) + +core_plugins += libnm_settings_plugin_ifupdown + +# FIXME: check_so_symbols replacement +''' +run_target( + 'check-local-symbols-settings-ifupdown', + command: [check_so_symbols, libnm_settings_plugin_ifupdown.full_path()], + depends: libnm_settings_plugin_ifupdown +) + +check-local-symbols-settings-ifupdown: src/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la + $(call check_so_symbols,$(builddir)/src/settings/plugins/ifupdown/.libs/libnm-settings-plugin-ifupdown.so) +''' + +if enable_tests + subdir('tests') +endif diff --git a/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.c b/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.c index 8421afc2..94a65ecb 100644 --- a/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.c +++ b/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.c @@ -126,11 +126,10 @@ _recursive_ifparser (const char *eni_file, int quiet) if (!quiet) nm_log_info (LOGD_SETTINGS, " interface-parser: parsing file %s\n", eni_file); - while (!feof(inp)) { - char *token[128]; /* 255 chars can only be split into 127 tokens */ - char value[255]; /* large enough to join previously split tokens */ + char *token[128]; /* 255 chars can only be split into 127 tokens */ + char value[255]; /* large enough to join previously split tokens */ char *safeptr; int toknum; int len = 0; @@ -169,7 +168,7 @@ _recursive_ifparser (const char *eni_file, int quiet) continue; } -#define SPACES " \t" +#define SPACES " \t" /* tokenize input; */ for (toknum = 0, token[toknum] = strtok_r(line, SPACES, &safeptr); token[toknum] != NULL; diff --git a/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h b/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h index bf9c4465..7e6c8e34 100644 --- a/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h +++ b/src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h @@ -20,7 +20,6 @@ * (C) Copyright 2004 Tom Parker */ - #ifndef _INTERFACE_PARSER_H #define _INTERFACE_PARSER_H diff --git a/src/settings/plugins/ifupdown/nms-ifupdown-parser.c b/src/settings/plugins/ifupdown/nms-ifupdown-parser.c index 99879c92..884c6591 100644 --- a/src/settings/plugins/ifupdown/nms-ifupdown-parser.c +++ b/src/settings/plugins/ifupdown/nms-ifupdown-parser.c @@ -37,7 +37,6 @@ #include "nms-ifupdown-plugin.h" #include "nms-ifupdown-parser.h" - static const gchar* _ifupdownplugin_guess_connection_type (if_block *block) { @@ -63,7 +62,6 @@ _ifupdownplugin_guess_connection_type (if_block *block) return ret_type; } - struct _Mapping { const gchar *domain; const gpointer target; @@ -340,7 +338,7 @@ update_wireless_security_setting_from_if_block(NMConnection *connection, } g_object_set(wireless_security_setting, - newkey, typed_property_value ? typed_property_value : property_value, + newkey, typed_property_value ?: property_value, NULL); security = TRUE; @@ -388,7 +386,7 @@ update_wireless_security_setting_from_if_block(NMConnection *connection, } g_object_set(wireless_security_setting, - newkey, typed_property_value ? typed_property_value : property_value, + newkey, typed_property_value ?: property_value, NULL); security = TRUE; @@ -401,7 +399,6 @@ update_wireless_security_setting_from_if_block(NMConnection *connection, curr = curr->next; } - if (security) nm_connection_add_setting (connection, NM_SETTING (wireless_security_setting)); } diff --git a/src/settings/plugins/ifupdown/nms-ifupdown-plugin.c b/src/settings/plugins/ifupdown/nms-ifupdown-plugin.c index bfad9d15..8bd72d02 100644 --- a/src/settings/plugins/ifupdown/nms-ifupdown-plugin.c +++ b/src/settings/plugins/ifupdown/nms-ifupdown-plugin.c @@ -50,9 +50,6 @@ #define ENI_INTERFACES_FILE "/etc/network/interfaces" -#define IFUPDOWN_PLUGIN_NAME "ifupdown" -#define IFUPDOWN_PLUGIN_INFO "(C) 2008 Canonical Ltd. To report bugs please use the NetworkManager mailing list." - #define IFUPDOWN_UNMANAGE_WELL_KNOWN_DEFAULT TRUE /* #define ALWAYS_UNMANAGE TRUE */ @@ -303,28 +300,6 @@ get_unmanaged_specs (NMSettingsPlugin *config) /*****************************************************************************/ static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) -{ - switch (prop_id) { - case NM_SETTINGS_PLUGIN_PROP_NAME: - g_value_set_string (value, IFUPDOWN_PLUGIN_NAME); - break; - case NM_SETTINGS_PLUGIN_PROP_INFO: - g_value_set_string (value, IFUPDOWN_PLUGIN_INFO); - break; - case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES: - g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_NONE); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -/*****************************************************************************/ - -static void _udev_device_unref (gpointer ptr) { udev_device_unref (ptr); @@ -513,19 +488,6 @@ settings_plugin_ifupdown_class_init (SettingsPluginIfupdownClass *req_class) GObjectClass *object_class = G_OBJECT_CLASS (req_class); object_class->dispose = dispose; - object_class->get_property = get_property; - - g_object_class_override_property (object_class, - NM_SETTINGS_PLUGIN_PROP_NAME, - NM_SETTINGS_PLUGIN_NAME); - - g_object_class_override_property (object_class, - NM_SETTINGS_PLUGIN_PROP_INFO, - NM_SETTINGS_PLUGIN_INFO); - - g_object_class_override_property (object_class, - NM_SETTINGS_PLUGIN_PROP_CAPABILITIES, - NM_SETTINGS_PLUGIN_CAPABILITIES); } static void diff --git a/src/settings/plugins/ifupdown/tests/meson.build b/src/settings/plugins/ifupdown/tests/meson.build new file mode 100644 index 00000000..ee3b6a34 --- /dev/null +++ b/src/settings/plugins/ifupdown/tests/meson.build @@ -0,0 +1,15 @@ +test_unit = 'test-ifupdown' + +exe = executable( + test_unit, + test_unit + '.c', + dependencies: test_nm_dep, + c_args: nm_build_cflags, + link_with: libnms_ifupdown_core +) + +test( + 'ifupdown/' + test_unit, + test_script, + args: test_args + [exe.full_path()] +) diff --git a/src/settings/plugins/ifupdown/tests/test-ifupdown.c b/src/settings/plugins/ifupdown/tests/test-ifupdown.c index d037b8a6..18bad65e 100644 --- a/src/settings/plugins/ifupdown/tests/test-ifupdown.c +++ b/src/settings/plugins/ifupdown/tests/test-ifupdown.c @@ -29,6 +29,10 @@ #include "nm-test-utils-core.h" +#define TEST_DIR NM_BUILD_SRCDIR"/src/settings/plugins/ifupdown/tests" + +/*****************************************************************************/ + typedef struct { char *key; char *data; @@ -168,7 +172,7 @@ dump_blocks (void) for (n = ifparser_getfirst (); n != NULL; n = n->next) { if_data *m; - // each block start with its type & name + // each block start with its type & name // (single quotes used to show typ & name baoundaries) g_print("'%s' '%s'\n", n->type, n->name); @@ -659,45 +663,45 @@ main (int argc, char **argv) if (0) dump_blocks (); - g_test_add_data_func ("/ifupdate/ignore_line_before_first_block", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/ignore_line_before_first_block", TEST_DIR, (GTestDataFunc) test1_ignore_line_before_first_block); - g_test_add_data_func ("/ifupdate/wrapped_line", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/wrapped_line", TEST_DIR, (GTestDataFunc) test2_wrapped_line); - g_test_add_data_func ("/ifupdate/wrapped_multiline_multiarg", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/wrapped_multiline_multiarg", TEST_DIR, (GTestDataFunc) test3_wrapped_multiline_multiarg); - g_test_add_data_func ("/ifupdate/allow_auto_is_auto", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/allow_auto_is_auto", TEST_DIR, (GTestDataFunc) test4_allow_auto_is_auto); - g_test_add_data_func ("/ifupdate/allow_auto_multiarg", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/allow_auto_multiarg", TEST_DIR, (GTestDataFunc) test5_allow_auto_multiarg); - g_test_add_data_func ("/ifupdate/mixed_whitespace", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/mixed_whitespace", TEST_DIR, (GTestDataFunc) test6_mixed_whitespace); - g_test_add_data_func ("/ifupdate/long_line", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/long_line", TEST_DIR, (GTestDataFunc) test7_long_line); - g_test_add_data_func ("/ifupdate/long_line_wrapped", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/long_line_wrapped", TEST_DIR, (GTestDataFunc) test8_long_line_wrapped); - g_test_add_data_func ("/ifupdate/wrapped_lines_in_block", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/wrapped_lines_in_block", TEST_DIR, (GTestDataFunc) test9_wrapped_lines_in_block); - g_test_add_data_func ("/ifupdate/complex_wrap", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/complex_wrap", TEST_DIR, (GTestDataFunc) test11_complex_wrap); - g_test_add_data_func ("/ifupdate/complex_wrap_split_word", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/complex_wrap_split_word", TEST_DIR, (GTestDataFunc) test12_complex_wrap_split_word); - g_test_add_data_func ("/ifupdate/more_mixed_whitespace", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/more_mixed_whitespace", TEST_DIR, (GTestDataFunc) test13_more_mixed_whitespace); - g_test_add_data_func ("/ifupdate/mixed_whitespace_block_start", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/mixed_whitespace_block_start", TEST_DIR, (GTestDataFunc) test14_mixed_whitespace_block_start); - g_test_add_data_func ("/ifupdate/trailing_space", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/trailing_space", TEST_DIR, (GTestDataFunc) test15_trailing_space); - g_test_add_data_func ("/ifupdate/missing_newline", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/missing_newline", TEST_DIR, (GTestDataFunc) test16_missing_newline); - g_test_add_data_func ("/ifupdate/read_static_ipv4", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/read_static_ipv4", TEST_DIR, (GTestDataFunc) test17_read_static_ipv4); - g_test_add_data_func ("/ifupdate/read_static_ipv6", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/read_static_ipv6", TEST_DIR, (GTestDataFunc) test18_read_static_ipv6); - g_test_add_data_func ("/ifupdate/read_static_ipv4_plen", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/read_static_ipv4_plen", TEST_DIR, (GTestDataFunc) test19_read_static_ipv4_plen); - g_test_add_data_func ("/ifupdate/source_stanza", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/source_stanza", TEST_DIR, (GTestDataFunc) test20_source_stanza); - g_test_add_data_func ("/ifupdate/source_dir_stanza", TEST_ENI_DIR, + g_test_add_data_func ("/ifupdate/source_dir_stanza", TEST_DIR, (GTestDataFunc) test21_source_dir_stanza); return g_test_run (); |