diff options
| author | David Bremner <david@tethera.net> | 2021-09-09 09:51:03 -0300 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2021-09-10 08:17:06 -0300 |
| commit | 060ff57642fc74f320761586e244151c04e63755 (patch) | |
| tree | 98d7aa47a4da33904723d6c8085d1d042122cc1d | |
| parent | 63b7837e0d99cb37e518af20896987830435ada1 (diff) | |
lib: use 'localhost' rather than fqdn for default mail address.
As discussed in the thread starting at [1], the fully qualified domain
name is a bit tricky to get reproducibly, might reveal information
people prefer to keep private, and somewhat unlikely to provide
reliable mail routing.
The new approach of $current_username@localhost is better for the
first two considerations, and probably at least as good as a test mail
address.
[1]: id:87sfyibqhj.fsf@tethera.net
| -rw-r--r-- | lib/config.cc | 16 | ||||
| -rwxr-xr-x | test/T590-libconfig.sh | 10 |
2 files changed, 5 insertions, 21 deletions
diff --git a/lib/config.cc b/lib/config.cc index 7ecc3c7b..8775b00a 100644 --- a/lib/config.cc +++ b/lib/config.cc @@ -543,25 +543,11 @@ _get_username_from_passwd_file (void *ctx) static const char * _get_email_from_passwd_file (void *ctx) { - - char hostname[256]; - struct hostent *hostent; - const char *domainname; char *email; char *username = _get_username_from_passwd_file (ctx); - gethostname (hostname, 256); - hostname[255] = '\0'; - - hostent = gethostbyname (hostname); - if (hostent && (domainname = strchr (hostent->h_name, '.'))) - domainname += 1; - else - domainname = "(none)"; - - email = talloc_asprintf (ctx, "%s@%s.%s", - username, hostname, domainname); + email = talloc_asprintf (ctx, "%s@localhost", username); talloc_free (username); return email; diff --git a/test/T590-libconfig.sh b/test/T590-libconfig.sh index 41f67bae..59b82a6f 100755 --- a/test/T590-libconfig.sh +++ b/test/T590-libconfig.sh @@ -12,12 +12,10 @@ import os, sys, pwd, socket pw = pwd.getpwuid(os.getuid()) user = pw.pw_name name = pw.pw_gecos.partition(",")[0] -fqdn = socket.getaddrinfo(socket.gethostname(), 0, 0, - socket.SOCK_STREAM, 0, socket.AI_CANONNAME)[0][3] + for l in sys.stdin: if l[:4] == "08: ": - l = l.replace(user, "USERNAME", 1).replace("@" + fqdn, "@FQDN", 1) - l = l.replace(".(none)", "", 1).replace(".localdomain", "", 1) + l = l.replace(user, "USERNAME", 1) elif l[:4] == "10: ": l = l.replace("'" + name, "'USER_FULL_NAME", 1) sys.stdout.write(l) @@ -416,7 +414,7 @@ cat <<'EOF' >EXPECTED 05: 'unread;inbox' 06: '' 07: 'true' -08: 'USERNAME@FQDN' +08: 'USERNAME@localhost' 09: 'NULL' 10: 'USER_FULL_NAME' 11: '8000' @@ -761,7 +759,7 @@ cat <<'EOF' >EXPECTED 05: 'unread;inbox' 06: '' 07: 'true' -08: 'USERNAME@FQDN' +08: 'USERNAME@localhost' 09: 'NULL' 10: 'USER_FULL_NAME' 11: '8000' |
