]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
user-record: add new 'default_area' field, but don't hook it up yet
authorLennart Poettering <lennart@poettering.net>
Fri, 3 Jan 2025 17:21:14 +0000 (18:21 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 6 Feb 2025 08:23:49 +0000 (09:23 +0100)
src/shared/user-record-show.c
src/shared/user-record.c
src/shared/user-record.h

index af4f7cfb6c8adb5186514fa6bca3acf978aeb1b3..5c5bd15063994b502ccb8e28f929fd9c4ae8110f 100644 (file)
@@ -273,6 +273,9 @@ void user_record_show(UserRecord *hr, bool show_full_group_info) {
                 printf("\n");
         }
 
+        if (hr->default_area)
+                printf("Default Area: %s\n", hr->default_area);
+
         if (hr->blob_directory) {
                 _cleanup_free_ char **filenames = NULL;
                 size_t n_filenames = 0;
index 51439f970660011ae6b4f8c32c1cb5da89229fbd..4817bec0735b584fc6767479eec6e6c577b7a7ff 100644 (file)
@@ -216,6 +216,8 @@ static UserRecord* user_record_free(UserRecord *h) {
         strv_free(h->self_modifiable_blobs);
         strv_free(h->self_modifiable_privileged);
 
+        free(h->default_area);
+
         sd_json_variant_unref(h->json);
 
         return mfree(h);
@@ -1316,6 +1318,7 @@ static int dispatch_per_machine(const char *name, sd_json_variant *variant, sd_j
                 { "tmpLimitScale",              _SD_JSON_VARIANT_TYPE_INVALID, dispatch_tmpfs_limit_scale,           offsetof(UserRecord, tmp_limit),                     0,             },
                 { "devShmLimit",                _SD_JSON_VARIANT_TYPE_INVALID, dispatch_tmpfs_limit,                 offsetof(UserRecord, dev_shm_limit),                 0,             },
                 { "devShmLimitScale",           _SD_JSON_VARIANT_TYPE_INVALID, dispatch_tmpfs_limit_scale,           offsetof(UserRecord, dev_shm_limit),                 0,             },
+                { "defaultArea",                SD_JSON_VARIANT_STRING,        json_dispatch_filename,               offsetof(UserRecord, default_area),                  0              },
                 {},
         };
 
@@ -1369,6 +1372,7 @@ static int dispatch_status(const char *name, sd_json_variant *variant, sd_json_d
                 { "fallbackShell",              SD_JSON_VARIANT_STRING,        json_dispatch_filename_or_path, offsetof(UserRecord, fallback_shell),                0              },
                 { "fallbackHomeDirectory",      SD_JSON_VARIANT_STRING,        json_dispatch_home_directory,   offsetof(UserRecord, fallback_home_directory),       0              },
                 { "useFallback",                SD_JSON_VARIANT_BOOLEAN,       sd_json_dispatch_stdbool,       offsetof(UserRecord, use_fallback),                  0              },
+                { "defaultArea",                SD_JSON_VARIANT_STRING,        json_dispatch_filename,         offsetof(UserRecord, default_area),                  0              },
                 {},
         };
 
@@ -1670,6 +1674,7 @@ int user_record_load(UserRecord *h, sd_json_variant *v, UserRecordLoadFlags load
                 { "tmpLimitScale",              _SD_JSON_VARIANT_TYPE_INVALID, dispatch_tmpfs_limit_scale,           offsetof(UserRecord, tmp_limit),                     0,             },
                 { "devShmLimit",                _SD_JSON_VARIANT_TYPE_INVALID, dispatch_tmpfs_limit,                 offsetof(UserRecord, dev_shm_limit),                 0,             },
                 { "devShmLimitScale",           _SD_JSON_VARIANT_TYPE_INVALID, dispatch_tmpfs_limit_scale,           offsetof(UserRecord, dev_shm_limit),                 0,             },
+                { "defaultArea",                SD_JSON_VARIANT_STRING,        json_dispatch_filename,               offsetof(UserRecord, default_area),                  0              },
 
                 { "secret",                     SD_JSON_VARIANT_OBJECT,        dispatch_secret,                      0,                                                   0              },
                 { "privileged",                 SD_JSON_VARIANT_OBJECT,        dispatch_privileged,                  0,                                                   0              },
@@ -2229,6 +2234,7 @@ const char** user_record_self_modifiable_fields(UserRecord *h) {
                 "additionalLanguages",
                 "preferredSessionLauncher",
                 "preferredSessionType",
+                "defaultArea",
 
                 /* Authentication methods */
                 "pkcs11TokenUri",
index d1b9fefa3230c792970c719d2d7f9ef5c3477919..8f58c5ca93d84bbc8315d595a93b78f798d3dca3 100644 (file)
@@ -406,6 +406,8 @@ typedef struct UserRecord {
 
         TmpfsLimit tmp_limit, dev_shm_limit;
 
+        char *default_area;
+
         sd_json_variant *json;
 } UserRecord;