diff options
Diffstat (limited to 'src/settings/plugins/keyfile/nms-keyfile-reader.c')
| -rw-r--r-- | src/settings/plugins/keyfile/nms-keyfile-reader.c | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/src/settings/plugins/keyfile/nms-keyfile-reader.c b/src/settings/plugins/keyfile/nms-keyfile-reader.c index e8c9f9fe..577709d8 100644 --- a/src/settings/plugins/keyfile/nms-keyfile-reader.c +++ b/src/settings/plugins/keyfile/nms-keyfile-reader.c @@ -17,11 +17,15 @@ /*****************************************************************************/ static const char * -_fmt_warn (const char *group, NMSetting *setting, const char *property_name, const char *message, char **out_message) +_fmt_warn (const NMKeyfileHandlerData *handler_data, char **out_message) { - const char *setting_name = setting ? nm_setting_get_name (setting) : NULL; + const char *group = handler_data->kf_group_name; + const char *message = _nm_keyfile_handler_data_warn_get_message (handler_data); if (group) { + NMSetting *setting = handler_data->cur_setting; + const char *property_name = handler_data->cur_property; + const char *setting_name = setting ? nm_setting_get_name (setting) : NULL; char *res; if (setting_name) { @@ -37,30 +41,30 @@ _fmt_warn (const char *group, NMSetting *setting, const char *property_name, con res = g_strdup_printf ("%s: %s", group, message); *out_message = res; return res; - } else - return message; + } + + return message; } typedef struct { bool verbose; -} HandlerReadData; +} ReadInfo; static gboolean _handler_read (GKeyFile *keyfile, NMConnection *connection, - NMKeyfileReadType type, - void *type_data, - void *user_data, - GError **error) + NMKeyfileHandlerType handler_type, + NMKeyfileHandlerData *handler_data, + void *user_data) { - const HandlerReadData *handler_data = user_data; + const ReadInfo *read_info = user_data; - if (type == NM_KEYFILE_READ_TYPE_WARN) { - NMKeyfileReadTypeDataWarn *warn_data = type_data; + if (handler_type == NM_KEYFILE_HANDLER_TYPE_WARN) { + const NMKeyfileHandlerDataWarn *warn_data = &handler_data->warn; NMLogLevel level; char *message_free = NULL; - if (!handler_data->verbose) + if (!read_info->verbose) return TRUE; if (warn_data->severity > NM_KEYFILE_WARN_SEVERITY_WARN) @@ -72,15 +76,17 @@ _handler_read (GKeyFile *keyfile, else level = LOGL_INFO; - nm_log (level, LOGD_SETTINGS, NULL, + nm_log (level, + LOGD_SETTINGS, + NULL, nm_connection_get_uuid (connection), "keyfile: %s", - _fmt_warn (warn_data->group, warn_data->setting, - warn_data->property_name, warn_data->message, + _fmt_warn (handler_data, &message_free)); g_free (message_free); return TRUE; } + return FALSE; } @@ -93,7 +99,7 @@ nms_keyfile_reader_from_keyfile (GKeyFile *key_file, GError **error) { NMConnection *connection; - HandlerReadData data = { + ReadInfo read_info = { .verbose = verbose, }; gs_free char *base_dir_free = NULL; @@ -122,7 +128,7 @@ nms_keyfile_reader_from_keyfile (GKeyFile *key_file, filename = &s[1]; } - connection = nm_keyfile_read (key_file, base_dir, _handler_read, &data, error); + connection = nm_keyfile_read (key_file, base_dir, NM_KEYFILE_HANDLER_FLAGS_NONE, _handler_read, &read_info, error); if (!connection) return NULL; @@ -150,6 +156,7 @@ nms_keyfile_reader_from_file (const char *full_filename, struct stat *out_stat, NMTernary *out_is_nm_generated, NMTernary *out_is_volatile, + NMTernary *out_is_external, char **out_shadowed_storage, NMTernary *out_shadowed_owned, GError **error) @@ -163,6 +170,7 @@ nms_keyfile_reader_from_file (const char *full_filename, NM_SET_OUT (out_is_nm_generated, NM_TERNARY_DEFAULT); NM_SET_OUT (out_is_volatile, NM_TERNARY_DEFAULT); + NM_SET_OUT (out_is_external, NM_TERNARY_DEFAULT); if (!nms_keyfile_utils_check_file_permissions (NMS_KEYFILE_FILETYPE_KEYFILE, full_filename, @@ -198,6 +206,11 @@ nms_keyfile_reader_from_file (const char *full_filename, NM_KEYFILE_KEY_NMMETA_VOLATILE, NM_TERNARY_DEFAULT)); + NM_SET_OUT (out_is_external, nm_key_file_get_boolean (key_file, + NM_KEYFILE_GROUP_NMMETA, + NM_KEYFILE_KEY_NMMETA_EXTERNAL, + NM_TERNARY_DEFAULT)); + NM_SET_OUT (out_shadowed_storage, g_key_file_get_string (key_file, NM_KEYFILE_GROUP_NMMETA, NM_KEYFILE_KEY_NMMETA_SHADOWED_STORAGE, |