From 7427b76904be76426c2a84c9de80fa48a0e022c8 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Wed, 9 Dec 2020 23:22:21 -0500 Subject: [PATCH] In the text client - fixed the logic for determining whether to display the email address of a message author next to their display name. Since we ALWAYS include at least a UPN now, we were getting superfluous displays of them. Must fix the same thing in webcit next. --- textclient/messages.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/textclient/messages.c b/textclient/messages.c index 731854b3a..7fd9502df 100644 --- a/textclient/messages.c +++ b/textclient/messages.c @@ -1,7 +1,7 @@ /* * Text client functions for reading and writing of messages * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -410,6 +410,7 @@ int read_message(CtdlIPC *ipc, char ch; int linelen; int final_line_is_blank = 0; + int is_local = 0; has_images = 0; @@ -444,6 +445,18 @@ int read_message(CtdlIPC *ipc, color(BRIGHT_CYAN); } + /* Determine if the message originated here on the local system. If it did we will suppress printing of email addresses */ + is_local = 0; + char *at = !IsEmptyStr(message->email) ? strchr(message->email,'@') : NULL; + if (at) { + if (!strcasecmp(++at, ipc->ServInfo.fqdn)) { + is_local = 1; + } + } + else { + is_local = 1; // no address means it couldn't have originated anywhere else + } + /* View headers only */ if (pagin == 2) { scr_printf("nhdr=%s\nfrom=%s\ntype=%d\nmsgn=%s\n", @@ -500,7 +513,7 @@ int read_message(CtdlIPC *ipc, strftime(now, sizeof now, "%F %R", &thetime); if (dest) { fprintf(dest, "%s from %s ", now, message->author); - if (!IsEmptyStr(message->email)) { + if (!is_local) { fprintf(dest, "<%s> ", message->email); } } @@ -511,7 +524,7 @@ int read_message(CtdlIPC *ipc, scr_printf("from "); color(BRIGHT_CYAN); scr_printf("%s ", message->author); - if (!IsEmptyStr(message->email)) { + if (!is_local) { color(DIM_WHITE); scr_printf("<"); color(BRIGHT_BLUE); -- 2.30.2