Print this page
Add libuserdefs and use in cmd/{oamuser,passwd}
*** 96,105 ****
--- 96,132 ----
{ USERATTR_AUDIT_FLAGS_KW, check_auditflags, auditflags },
};
#define NKEYS (sizeof (keys)/sizeof (ua_key_t))
+ /* Import default keys for ordinary useradd */
+ void
+ import_def(struct userdefs *ud)
+ {
+ int i;
+
+ /* Don't import the user type (skip i = 0) */
+ for (i = 1; i < NKEYS; i++) {
+ if (keys[i].newvalue == NULL)
+ keys[i].newvalue =
+ userdef_get_by_uakey(ud, keys[i].key);
+ }
+ }
+
+ /* Export command line keys to defaults for useradd -D */
+ void
+ update_def(struct userdefs *ud)
+ {
+ int i;
+
+ for (i = 0; i < NKEYS; i++) {
+ if (keys[i].newvalue != NULL)
+ userdef_set_by_uakey(ud, keys[i].key,
+ keys[i].newvalue);
+ }
+ }
+
/*
* Change a key, there are three different call sequences:
*
* key, value - key with option letter, value.
* NULL, value - -K key=value option.