ESMTP is utterly broken, and pulls OpenSSL.
[apps/madmutt.git] / lib-lua / madmutt.cpkg
index d083405..7752312 100644 (file)
@@ -54,10 +54,16 @@ static char *madmutt_init_shorthost(void)
 
     /* some systems report the FQDN instead of just the hostname */
     uname(&utsname);
-    p = strchrnul(utsname.nodename, '.');
+    p = m_strchrnul(utsname.nodename, '.');
     return p_dupstr(utsname.nodename, p - utsname.nodename);
 }
 
+static char *madmutt_init_os(void)
+{
+    struct utsname un;
+    return m_strdup(uname(&un) < 0 ? "Unix" : un.sysname);
+}
+
 static char *madmutt_init_hostname(void)
 {
     char buffer[STRING];
@@ -66,13 +72,13 @@ static char *madmutt_init_hostname(void)
         return m_strdup("@");
 
     if (*buffer != '@') {
-        int len   = m_strlen(buffer) + m_strlen(MCore.shorthost) + 2;
+        int len   = m_strlen(buffer) + m_strlen(mod_core.shorthost) + 2;
         char *res = p_new(char, len);
-        snprintf(res, len, "%s.%s", NONULL(MCore.shorthost), buffer);
+        snprintf(res, len, "%s.%s", NONULL(mod_core.shorthost), buffer);
         return res;
     }
 
-    return m_strdup(NONULL(MCore.shorthost));
+    return m_strdup(NONULL(mod_core.shorthost));
 }
 
 #if defined(HAVE_QDBM)
@@ -85,7 +91,7 @@ static char *madmutt_init_hostname(void)
 #  define HCACHE_BACKEND  NULL
 #endif
 
-@package MCore {
+@package mod_core {
     /*
      ** .pp
      ** \fIThis is a read-only system property and specifies madmutt's
@@ -137,6 +143,16 @@ static char *madmutt_init_hostname(void)
      */
     path_t shell          = madmutt_init_shell();
 
+    /*
+     ** .pp
+     ** This specifies the operating system name for the \fTUser-Agent:\fP header field. If
+     ** this is \fIunset\fP, it will be set to the operating system name that \fTuname(2)\fP
+     ** returns. If \fTuname(2)\fP fails, ``UNIX'' will be used.
+     ** .pp
+     ** It may, for example, look as: ``\fTMadmutt 1.5.9i (Linux)\fP''.
+     */
+    string_t operating_system = madmutt_init_os();
+
     path_t username       = madmutt_init_username();
     path_t homedir        = madmutt_init_homedir();
 
@@ -271,7 +287,7 @@ static char *madmutt_init_hostname(void)
     /*
      ** .pp
      ** \fBNote:\fP you should not enable this unless you are using Sendmail
-     ** 8.8.x or greater or in connection with the SMTP support via libESMTP.
+     ** 8.8.x or greater.
      ** .pp
      ** This variable sets the request for when notification is returned.  The
      ** string consists of a comma separated list (no spaces!) of one or more
@@ -288,7 +304,7 @@ static char *madmutt_init_hostname(void)
     /*
      ** .pp
      ** \fBNote:\fP you should not enable this unless you are using Sendmail
-     ** 8.8.x or greater or in connection with the SMTP support via libESMTP.
+     ** 8.8.x or greater.
      ** .pp
      ** This variable controls how much of your message is returned in DSN
      ** messages.  It may be set to either \fIhdrs\fP to return just the
@@ -320,12 +336,11 @@ static char *madmutt_init_hostname(void)
      ** .pp
      ** \fBWarning:\fP do not set this variable unless you are using a version
      ** of sendmail which supports the \fT-B8BITMIME\fP flag (such as sendmail
-     ** 8.8.x) or in connection with the SMTP support via libESMTP.
+     ** 8.8.x).
      ** Otherwise you may not be able to send mail.
      ** .pp
      ** When \fIset\fP, Madmutt will either invoke ``$$sendmail'' with the \fT-B8BITMIME\fP
-     ** flag when sending 8-bit messages to enable ESMTP negotiation or tell
-     ** libESMTP to do so.
+     ** flag when sending 8-bit messages to enable ESMTP negotiation.
      */
     bool use_8bitmime = 0;
 
@@ -336,9 +351,8 @@ static char *madmutt_init_hostname(void)
      ** derive it from the "From:" header.
      **
      ** .pp
-     ** \fBNote:\fP This information is passed
-     ** to sendmail command using the "-f" command line switch and
-     ** passed to the SMTP server for libESMTP (if support is compiled in).
+     ** \fBNote:\fP This information is passed to sendmail command using the
+     ** "-f" command line switch.
      */
     bool use_envelope_from = 0;