* Is default email address in notmuch setup / lib useful? @ 2021-09-05 22:35 David Bremner 2021-09-06 17:14 ` Alexander Adolf 0 siblings, 1 reply; 7+ messages in thread From: David Bremner @ 2021-09-05 22:35 UTC (permalink / raw) To: notmuch Currently notmuch tries to make a guess for a default email address based on the "fully qualified hostname" of the host it is running on. This is roughly equivalent to running "hostname -f". I have observed two things 1) It's a bit flaky. There are various functions (gethostbyname, getaddrinfo) that work in subtly different ways. We've tried three different setups in the test suite to test this, and none of them work everywhere. 2) It doesn't seem that useful. The number of people running notmuch on hosts that can (and want to) receive email seems pretty small. Furthermore, it's not obvious we're going to get the right name. For example on my laptop it returns "zancas.local", which is only routable on my home LAN. I could be wrong about 2, though. If you actually find this to be a useful feature, please reply to this thread. If people agree it's generally not useful, I'd propose to replace it with some simpler default like "localhost" [1], equally useful to for testing, but simpler to implement and test. [1]: required by at least RFC6761 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is default email address in notmuch setup / lib useful? 2021-09-05 22:35 Is default email address in notmuch setup / lib useful? David Bremner @ 2021-09-06 17:14 ` Alexander Adolf 2021-09-06 20:39 ` Tomi Ollila 0 siblings, 1 reply; 7+ messages in thread From: Alexander Adolf @ 2021-09-06 17:14 UTC (permalink / raw) To: David Bremner, notmuch David Bremner <david@tethera.net> writes: > Currently notmuch tries to make a guess for a default email address > based on the "fully qualified hostname" of the host it is running > on. This is roughly equivalent to running "hostname -f". I have observed > two things > [...] > If people agree it's generally not useful, I'd propose to replace it > with some simpler default like "localhost" [1], equally useful to for > testing, but simpler to implement and test. > [...] I'd support David's suggestion to just default it to "localhost". If an unsuspecting user tries to send their first email with notmuch, the current behaviour could reveal information about the user's local infrastructure in the message. "localhost" is a much safer default, IMO. --alex ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is default email address in notmuch setup / lib useful? 2021-09-06 17:14 ` Alexander Adolf @ 2021-09-06 20:39 ` Tomi Ollila 2021-09-07 1:26 ` David Bremner 0 siblings, 1 reply; 7+ messages in thread From: Tomi Ollila @ 2021-09-06 20:39 UTC (permalink / raw) To: Alexander Adolf, David Bremner, notmuch On Mon, Sep 06 2021, Alexander Adolf wrote: > David Bremner <david@tethera.net> writes: > >> Currently notmuch tries to make a guess for a default email address >> based on the "fully qualified hostname" of the host it is running >> on. This is roughly equivalent to running "hostname -f". I have observed >> two things >> [...] >> If people agree it's generally not useful, I'd propose to replace it >> with some simpler default like "localhost" [1], equally useful to for >> testing, but simpler to implement and test. >> [...] > > I'd support David's suggestion to just default it to "localhost". > > If an unsuspecting user tries to send their first email with notmuch, > the current behaviour could reveal information about the user's local > infrastructure in the message. "localhost" is a much safer default, IMO. Agreed. I tried to look whether we could get rid of user.name and user.primary_email config values (and then emacs/other email clients would need to resolve that information elsewhere). I don't know if that can ever be done (or should), but the the current beaviour is flaky (and I agree potentially insecure). > > --alex Tomi ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is default email address in notmuch setup / lib useful? 2021-09-06 20:39 ` Tomi Ollila @ 2021-09-07 1:26 ` David Bremner 2021-09-07 7:57 ` Tomi Ollila 0 siblings, 1 reply; 7+ messages in thread From: David Bremner @ 2021-09-07 1:26 UTC (permalink / raw) To: Tomi Ollila, Alexander Adolf, notmuch Tomi Ollila <tomi.ollila@iki.fi> writes: > > Agreed. I tried to look whether we could get rid of user.name and > user.primary_email config values (and then emacs/other email clients > would need to resolve that information elsewhere). I don't know if > that can ever be done (or should), but the the current beaviour > is flaky (and I agree potentially insecure). Would that involve getting rid of notmuch-reply, or something else? d ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is default email address in notmuch setup / lib useful? 2021-09-07 1:26 ` David Bremner @ 2021-09-07 7:57 ` Tomi Ollila 2021-09-09 12:51 ` [PATCH] lib: use 'localhost' rather than fqdn for default mail address David Bremner 0 siblings, 1 reply; 7+ messages in thread From: Tomi Ollila @ 2021-09-07 7:57 UTC (permalink / raw) To: David Bremner, Alexander Adolf, notmuch On Mon, Sep 06 2021, David Bremner wrote: > Tomi Ollila <tomi.ollila@iki.fi> writes: > >> >> Agreed. I tried to look whether we could get rid of user.name and >> user.primary_email config values (and then emacs/other email clients >> would need to resolve that information elsewhere). I don't know if >> that can ever be done (or should), but the the current beaviour >> is flaky (and I agree potentially insecure). > > Would that involve getting rid of notmuch-reply, or something else? I did not think/remember that. Are there any users (am I a user >;D) ? Anyway, localhost ftw (for now) > > d Tomi ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] lib: use 'localhost' rather than fqdn for default mail address. 2021-09-07 7:57 ` Tomi Ollila @ 2021-09-09 12:51 ` David Bremner 2021-09-09 20:09 ` Tomi Ollila 0 siblings, 1 reply; 7+ messages in thread From: David Bremner @ 2021-09-09 12:51 UTC (permalink / raw) To: Tomi Ollila, David Bremner, notmuch 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 --- lib/config.cc | 17 ++--------------- test/T590-libconfig.sh | 10 ++++------ 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/lib/config.cc b/lib/config.cc index 7ecc3c7b..408570bc 100644 --- a/lib/config.cc +++ b/lib/config.cc @@ -543,25 +543,12 @@ _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' -- 2.30.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] lib: use 'localhost' rather than fqdn for default mail address. 2021-09-09 12:51 ` [PATCH] lib: use 'localhost' rather than fqdn for default mail address David Bremner @ 2021-09-09 20:09 ` Tomi Ollila 0 siblings, 0 replies; 7+ messages in thread From: Tomi Ollila @ 2021-09-09 20:09 UTC (permalink / raw) To: David Bremner, notmuch On Thu, Sep 09 2021, David Bremner wrote: > 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 > --- > lib/config.cc | 17 ++--------------- > test/T590-libconfig.sh | 10 ++++------ > 2 files changed, 6 insertions(+), 21 deletions(-) > > diff --git a/lib/config.cc b/lib/config.cc > index 7ecc3c7b..408570bc 100644 > --- a/lib/config.cc > +++ b/lib/config.cc > @@ -543,25 +543,12 @@ _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); perhaps the above 2 lines as one: > + email = talloc_asprintf (ctx, "%s@localhost", username); LGTM in any way. Tomi ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-09-09 20:09 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-09-05 22:35 Is default email address in notmuch setup / lib useful? David Bremner 2021-09-06 17:14 ` Alexander Adolf 2021-09-06 20:39 ` Tomi Ollila 2021-09-07 1:26 ` David Bremner 2021-09-07 7:57 ` Tomi Ollila 2021-09-09 12:51 ` [PATCH] lib: use 'localhost' rather than fqdn for default mail address David Bremner 2021-09-09 20:09 ` Tomi Ollila
Code repositories for project(s) associated with this public inbox https://yhetil.org/notmuch.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).