diff -ur hypermail-2b30/src/lang.h hypermail-2b30/src/lang.h --- hypermail-2b30/src/lang.h Sun May 28 18:43:28 2000 +++ hypermail-2b30/src/lang.h Tue Jan 30 16:44:59 2001 @@ -159,10 +159,10 @@ "Über diese Liste", /* About this list -HTML*/ "Ende der Nachricht", /* End of Messages -HTML*/ "Anfang der Nachricht", /* Start of Messages -HTML*/ - "Datums-Sicht", /* Date view -HTML*/ - "Thread-Sicht", /* Thread view -HTML*/ - "Subject-Sicht", /* Subject view -HTML*/ - "Autor-Sicht", /* Author view -HTML*/ + "Datumsansicht", /* Date view -HTML*/ + "Baumansicht", /* Thread view -HTML*/ + "Betreffansicht", /* Subject view -HTML*/ + "Autorenansicht", /* Author view -HTML*/ "Weitere Gruppen", /* Other groups -HTML*/ "Nachrichten", /* Messages -HTML*/ "Anfang", /* Starting -HTML*/ @@ -170,12 +170,12 @@ "Über dieses Archiv", /* About this archive -HTML*/ "sortiert nach", /* sorted by -HTML*/ "Weitere Mail-Archive", /* Other mail archives -HTML*/ - "Datum", /* By Date -HTML*/ + "nach Datum", /* By Date -HTML*/ "Neueste Nachrichten", /* Most recent messages-HTML*/ "Autor", /* author -HTML*/ "Datum", /* date -HTML*/ - "Thread", /* thread -HTML*/ - "Subject", /* subject -HTML*/ + "Baum", /* thread -HTML*/ + "Betreff", /* subject -HTML*/ "für Optionen", /* for options -STDOUT*/ "Schreibe Nachrichten in", /* Writing messages to-STDOUT*/ "Schreibe Datums-Index in", /* Writing date index to-STDOUT*/ @@ -183,18 +183,18 @@ "Schreibe Subject-Index in", /* Writing subject index to-STDOUT*/ "Schreibe Autoren-Index in", /* Writing author index to-STDOUT*/ "Letztes Datum", /* Last message date -HTML*/ - "Archiviert auf", /* Archived on -HTML*/ + "Archiviert am", /* Archived on -HTML*/ "Kann Dateimodus nicht ändern", /* Can not chmod -STDERR*/ "Kann nicht schreiben", /* Could not write -STDERR*/ "Nächste Nachricht", /* Next message -HTML*/ "Vorherige Nachricht", /* Previous message -HTML*/ "Vielleicht als Antwort auf", /* Maybe in reply to -HTML*/ "Als Antwort auf", /* In reply to -HTML*/ - "Nächste im Thread", /* Next in thread -HTML*/ + "Nächster Zweig", /* Next in thread -HTML*/ "Eventuelle Antwort", /* Maybe reply -HTML*/ - "Nach Thread", /* By Thread -HTML*/ - "Nach Subject", /* By Subject -HTML*/ - "Nach Autor", /* By Author -HTML*/ + "als Baum", /* By Thread -HTML*/ + "nach Betreff", /* By Subject -HTML*/ + "nach Autor", /* By Author -HTML*/ "Kann das Verzeichnis nicht erstellen", /* Can not create directory -STDERR*/ "Erstelle Verzeichnis", /* Creating directory -STDOUT*/ "Konfiguration", /* Configuration Values -STDOUT*/ @@ -254,7 +254,7 @@ "Read only one mail from input", "Autor", /* author -HTML*/ "Datum", /* date -HTML*/ - "Subject", /* subject -HTML*/ + "Betreff", /* subject -HTML*/ "Mail actions", /* Mail actions (MA) header -HTML*/ "mail a new topic", /* MA New Message -HTML*/ "respond to this message", /* MA Reply -HTML*/ diff -ur hypermail-2b30/src/parse.c hypermail-2b30/src/parse.c --- hypermail-2b30/src/parse.c Thu Jun 8 00:10:44 2000 +++ hypermail-2b30/src/parse.c Sun Jan 28 16:05:56 2001 @@ -998,6 +998,7 @@ char *dir, int inlinehtml, /* if HTML should be inlined */ int startnum) { + FILE *fp; char *date = NULL; char *subject = NULL; @@ -1307,7 +1308,14 @@ file_created = MAKE_FILE; /* please make one */ } } + else if (!strncasecmp(head->line, "Content-Base:", 13)) { + char *ptr = head->line + 13; + content=CONTENT_IGNORE; + /* we must make sure this is not parsed more times + than this */ + head->parsedheader = TRUE; + } else if (!strncasecmp(head->line, "Content-Type:", 13)) { char *ptr = head->line + 13; #define DISP_HREF 1 @@ -1994,7 +2002,7 @@ else fname = FILE_SUFFIXER; - binname = maprintf("%s%c%.2d-%s", + binname = maprintf("%s%c%05d-%s", att_dir, PATH_SEPARATOR, att_counter, fname); /* @@ move this one up */ diff -ur hypermail-2b30/src/print.c hypermail-2b30/src/print.c --- hypermail-2b30/src/print.c Thu Jun 8 00:11:32 2000 +++ hypermail-2b30/src/print.c Sat Feb 3 23:14:09 2001 @@ -75,8 +75,9 @@ if (set_mailcommand) { if (set_hmail) { - ptr = makemailcommand("mailto:$TO", set_hmail, "", ""); - fprintf(fp, "%s\n", + ptr = makemailcommand(set_mailcommand, set_hmail, "", ""); + if (strcmp(ptr, "NONE")!=0) + fprintf(fp, "%s\n", ptr ? ptr : "", lang[MSG_NEW_MESSAGE]); if (ptr) free(ptr); @@ -86,7 +87,8 @@ ptr = makemailcommand(set_mailcommand, set_hmail, currentid, cursub); - fprintf(fp, "%s\n", + if (strcmp(ptr, "NONE")!=0) + fprintf(fp, "%s\n", ptr ? ptr : "", lang[MSG_REPLY]); if (ptr) free(ptr); @@ -498,6 +500,7 @@ } else { if (inheader) { + insig=0; if (set_showhtml) { if (pre) { fprintf(fp, "\n"); @@ -756,7 +759,7 @@ #endif if (!strcmp(email->name, email->emailaddr)) { if (use_mailcommand) { - ptr = makemailcommand(set_mailcommand, + ptr = makemailcommand(set_bodymailcommand, email->emailaddr, email->msgid, email->subject); fprintf(fp, "From: ", ptr ? ptr : ""); @@ -768,8 +771,8 @@ fprintf(fp, "%s
\n", email->name); } else { - if (use_mailcommand) { - ptr = makemailcommand(set_mailcommand, + if (use_mailcommand && strcmp(email->emailaddr,"(no email)")!=0) { + ptr = makemailcommand(set_bodymailcommand, email->emailaddr, email->msgid, email->subject); fprintf(fp, "From: %s (
", @@ -779,9 +782,12 @@ fprintf(fp, "%s)
\n", email->emailaddr); } else + { fprintf(fp, "From: %s (%s)
\n", - email->name, email->emailaddr); + email->name, + (strcmp(email->emailaddr,"(no email)")!=0) ? email->emailaddr : "no email"); + } } fprintf(fp, "Date: %s\n

\n", getdatestr(email->date)); diff -ur hypermail-2b30/src/setup.c hypermail-2b30/src/setup.c --- hypermail-2b30/src/setup.c Thu Jun 8 00:14:25 2000 +++ hypermail-2b30/src/setup.c Sun Jan 28 16:05:56 2001 @@ -47,6 +47,7 @@ int set_locktime; char *set_mailcommand; +char *set_bodymailcommand; char *set_mailto; char *set_hmail; char *set_domainaddr; @@ -219,6 +220,13 @@ "# This is an octal number representing the file permissions\n" "# that new files are set to when they are created.\n"}, + {"bodymailcommand", &set_bodymailcommand, MAILCOMMAND, CFG_STRING, + "# This specifies the mail command to use when converting\n" + "# email addresses to links. The variables $TO, $SUBJECT,\n" + "# and $ID can be used in constructing the command string.\n" + "# This command is used inside the mail bodies and in the\n" + "# From: line.\n"}, + {"mailcommand", &set_mailcommand, MAILCOMMAND, CFG_STRING, "# This specifies the mail command to use when converting\n" "# email addresses to links. The variables $TO, $SUBJECT,\n" @@ -622,6 +630,7 @@ printf("set_dateformat = %s\n",set_dateformat ? set_dateformat : "Not set"); printf("set_stripsubject = %s\n",set_stripsubject ? set_stripsubject : "Not set"); printf("set_mailcommand = %s\n",set_mailcommand ? set_mailcommand : "Not set"); + printf("set_bodymailcommand = %s\n",set_bodymailcommand ? set_bodymailcommand : "Not set"); printf("set_mailto = %s\n",set_mailto ? set_mailto : "Not set"); printf("set_hmail = %s\n",set_hmail ? set_hmail : "Not set"); printf("set_domainaddr = %s\n",set_domainaddr ? set_domainaddr : "Not set"); diff -ur hypermail-2b30/src/setup.h hypermail-2b30/src/setup.h --- hypermail-2b30/src/setup.h Thu Jun 8 00:14:25 2000 +++ hypermail-2b30/src/setup.h Sun Jan 28 16:05:56 2001 @@ -73,6 +73,7 @@ extern char *set_label; extern char *set_mailcommand; +extern char *set_bodymailcommand; extern char *set_mailto; extern char *set_hmail; extern char *set_domainaddr; diff -ur hypermail-2b30/src/string.c hypermail-2b30/src/string.c --- hypermail-2b30/src/string.c Thu Jun 8 00:15:34 2000 +++ hypermail-2b30/src/string.c Sun Jan 28 16:05:56 2001 @@ -568,7 +568,7 @@ char *newcmd = NULL; char *newcmd2; - if (isre(subject, NULL)) + if (subject && isre(subject, NULL)) hasre = 1; else hasre = 0; @@ -576,9 +576,9 @@ convsubj = convchars(subject); /* remade to deal with any-length strings */ - tmpsubject = maprintf("%s%s", (hasre) ? "" : "Re: ", convsubj); + /* tmpsubject = maprintf("%s%s", (hasre) ? "" : "Re: ", (convsubj) ? convsubj : ""); */ + tmpsubject = maprintf("%s%s", (convsubj && !hasre) ? "Re: " : "", (convsubj) ? convsubj : ""); - if (tmpsubject) { if ((cp = strrchr(email, ' ')) != NULL) *cp = '\0'; @@ -587,7 +587,7 @@ newcmd2 = replace(newcmd, "$ID", id); free(newcmd); - newcmd = replace(newcmd2, "$SUBJECT", tmpsubject); + newcmd = replace(newcmd2, "$SUBJECT", (tmpsubject) ? tmpsubject : ""); free(newcmd2); newcmd2 = replacechar(newcmd, '%', "%25"); @@ -602,7 +602,7 @@ newcmd = newcmd2; /* this is the new string */ free(tmpsubject); - } + free(convsubj); return newcmd; } @@ -678,7 +678,7 @@ ptr-email, email, at, mailbuff); if (valid_root_domain(mailaddr)) { - char *mailcmd = makemailcommand(set_mailcommand, + char *mailcmd = makemailcommand(set_bodymailcommand, mailaddr, mid, msubject); msnprintf(tempbuff, sizeof(tempbuff),