diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-09-01 21:37:51 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-09-01 21:37:51 (GMT) |
commit | a820f204162f61e3e7a91e66c1aabea22f23d0cb (patch) | |
tree | d8cd00ab7dbef97272858c5217ce3ef4b6981996 /src/analysis/db/auth.c | |
parent | 14f1b8ff552dfb8aef6c66b3c65e816aa7820bb0 (diff) |
Prepared the update of the user identity from the GUI.
Diffstat (limited to 'src/analysis/db/auth.c')
-rw-r--r-- | src/analysis/db/auth.c | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/src/analysis/db/auth.c b/src/analysis/db/auth.c index af51af6..5e62f58 100644 --- a/src/analysis/db/auth.c +++ b/src/analysis/db/auth.c @@ -209,6 +209,38 @@ static char *get_cert_storage_directory(const char *outdir, const char *host, co /****************************************************************************** * * +* Paramètres : - * +* * +* Description : Détermine la désignation par défaut de l'usager. * +* * +* Retour : Nom déterminé à libérer de la mémoire. * +* * +* Remarques : - * +* * +******************************************************************************/ + +char *get_default_username(void) +{ + char *result; /* Désignation à retourner */ + uid_t uid; /* Identifiant d'utilisateur */ + struct passwd *pw; /* Indications sur l'usager */ + + uid = geteuid(); + pw = getpwuid(uid); + + if (pw != NULL) + result = strdup(pw->pw_name); + + else + result = strdup("anonymous"); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : valid = durée de validité des certificats. * * entries = éléments d'identité à utiliser pour l'opération. * * * @@ -224,8 +256,6 @@ bool setup_client_identity(unsigned long valid, x509_entries *entries) { bool result; /* Bilan de l'opération */ char *working; /* Répertoire pour le client */ - uid_t uid; /* Identifiant d'utilisateur */ - struct passwd *pw; /* Indications sur l'usager */ working = get_db_working_directory("clients", NULL, NULL, NULL); @@ -235,18 +265,11 @@ bool setup_client_identity(unsigned long valid, x509_entries *entries) { if (entries->common_name == NULL) { - uid = geteuid(); - pw = getpwuid(uid); - - if (pw != NULL) - { - log_variadic_message(LMT_WARNING, - _("Replaced the empty identity common name with '%s'"), - pw->pw_name); - - entries->common_name = strdup(pw->pw_name); + entries->common_name = get_default_username(); - } + log_variadic_message(LMT_WARNING, + _("Replaced the empty identity common name with '%s'"), + entries->common_name); } |