AC_DEFINE(LOCALE)
)
-dnl Do you want client-side support for using SASL for authentication?
-dnl Note that this code will be enabled for SMTP
-AC_ARG_WITH(cyrus-sasl, AS_HELP_STRING([--with-cyrus-sasl],
- [Enable SASL support via the Cyrus SASL library]))
-if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"; then
- AC_DEFINE(CYRUS_SASL, 1,
- [Define to use the Cyrus SASL library for authentication of SMTP.])dnl
- if test x"$with_cyrus_sasl" != xyes; then
- AC_MSG_WARN([Arguments to --with-cyrus-sasl now ignored])
- AC_MSG_WARN([Please pass the appropriate arguments to CPPFLAGS/LDFLAGS])
- fi
- sasl_support=yes
-else
- sasl_support=no
-fi
-
dnl Do you want client-side support for encryption with TLS?
AC_ARG_WITH(tls, AS_HELP_STRING([--with-tls], [Enable TLS support]))
if test x"$with_tls" != x -a x"$with_tls" != x"no"; then
fi
-dnl --------------------
-dnl CHECK FOR CYRUS-SASL
-dnl --------------------
-
-AS_IF([test x"$sasl_support" = x"yes"],[
- AC_CHECK_HEADER([sasl/sasl.h], , [AC_MSG_ERROR([sasl.h not found])])
- AC_CHECK_LIB([sasl2], [sasl_client_new], ,
- [AC_MSG_ERROR([Cyrus SASL library not found])])])
-
dnl -----------------
dnl CHECK FOR OPENSSL
dnl -----------------
default editor : ${editorpath}
default pager : ${pagerpath}
email address masquerading : ${masquerade}
-SASL support : ${sasl_support}
TLS support : ${tls_support}"
echo ""
.RB [ \-watch " | " \-nowatch ]
.RB [ \-width
.IR columns ]
-.RB [ \-sasl ]
-.RB [ \-saslmech
-.IR mechanism ]
-.RB [ \-user
-.IR username ]
.I file
.RB [ \-tls ]
.RB [ \-version ]
.IR seconds ]
.RB [ \-verbose " | " \-noverbose ]
.RB [ \-watch " | " \-nowatch ]
-.RB [ \-sasl ]
-.RB [ \-saslmech
-.IR mechanism ]
-.RB [ \-user
-.IR username ]
.RB [ \-tls ]
.RB [ \-width
.IR columns ]
.RB [ \-watch " | " \-nowatch ]
.RB [ \-width
.IR columns ]
-.RB [ \-sasl ]
-.RB [ \-saslmech
-.IR mechanism ]
-.RB [ \-user
-.IR username ]
.I file
.RB [ \-version ]
.RB [ \-help ]
.PP
If
.B nmh
-has been compiled with SASL support, the
-.B \-sasl
-switch will enable
-the use of SASL authentication with the SMTP MTA. Depending on the
-SASL mechanism used, this may require an additional password prompt from the
-user (but the
-.RI \*(lq \&.netrc \*(rq
-file can be used to store this password).
-.B \-saslmech
-switch can be used to select a particular SASL mechanism,
-and the the
-.B \-user
-switch can be used to select a authorization userid
-to provide to SASL other than the default.
-.PP
-If SASL authentication is successful,
-.BR nmh
-will attempt to negotiate a security layer for session encryption.
-Encrypted data is labelled with `(sasl-encrypted)' and `(sasl-decrypted)' when
-viewing the SMTP transaction with the
-.B \-snoop
-switch.
-.PP
-If
-.B nmh
has been compiled with TLS support, the
.B \-tls
switch will require the negotiation of TLS support when connecting to the
.IR servername ]
.RB [ \-port
.IR port-name/number ]
-.RB [ \-sasl ]
-.RB [ \-saslmech
-.IR mechanism ]
-.RB [ \-user
-.IR username ]
.RB [ \-width
.IR columns ]
.RB [ file
.PP
If
.B nmh
-has been compiled with SASL support, the
-.B \-sasl
-switch will enable
-the use of SASL authentication with the SMTP MTA. Depending on the
-SASL mechanism used, this may require an additional password prompt from the
-user (but the
-.RI \*(lq \&.netrc \*(rq
-file can be used to store this password).
-.B \-saslmech
-switch can be used to select a particular SASL mechanism,
-and the the
-.B \-user
-switch can be used to select a authorization userid
-to provide to SASL other than the default.
-.PP
-If SASL authentication is successful,
-.BR nmh
-will attempt to negotiate a security layer for session encryption.
-Encrypted data is labelled with `(encrypted)' and `(decrypted)' when
-viewing the SMTP transaction with the
-.B \-snoop
-switch.
-.PP
-If
-.B nmh
has been compiled with TLS support, the
.B \-tls
switch will require the negotiation of TLS support when connecting to the
#include <signal.h>
-#ifndef CYRUS_SASL
-# define SASLminc(a) (a)
-#else /* CYRUS_SASL */
-# define SASLminc(a) 0
-#endif /* CYRUS_SASL */
-
#ifndef TLS_SUPPORT
# define TLSminc(a) (a)
#else /* TLS_SUPPORT */
{ "server host", 6 },
#define SNOOPSW 36
{ "snoop", 5 },
-#define SASLSW 37
- { "sasl", SASLminc(4) },
-#define SASLMECHSW 38
- { "saslmech mechanism", SASLminc(-5) },
-#define USERSW 39
- { "user username", SASLminc(-4) },
#define ATTACHSW 40
{ "attach", 6 },
#define ATTACHFORMATSW 41
case SENDSW:
case SOMLSW:
case SNOOPSW:
- case SASLSW:
case TLSSW:
vec[vecp++] = --cp;
continue;
case WIDTHSW:
case CLIESW:
case SERVSW:
- case SASLMECHSW:
- case USERSW:
case PORTSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-')
}
-#ifndef CYRUS_SASL
-# define SASLminc(a) (a)
-#else /* CYRUS_SASL */
-# define SASLminc(a) 0
-#endif /* CYRUS_SASL */
-
#ifndef TLS_SUPPORT
# define TLSminc(a) (a)
#else /* TLS_SUPPORT */
{ "draftmessage msg", -6 },
#define SNDRFSW 35
{ "nodraftfolder", -3 },
-#define SASLSW 36
- { "sasl", SASLminc(-4) },
-#define SASLMECHSW 37
- { "saslmech", SASLminc(-5) },
-#define USERSW 38
- { "user", SASLminc(-4) },
#define SNDATTACHSW 39
{ "attach file", 6 },
#define SNDATTACHFORMAT 40
case SSNDSW:
case SOMLSW:
case SNOOPSW:
- case SASLSW:
case TLSSW:
vec[vecp++] = --cp;
continue;
case WIDTHSW:
case CLIESW:
case SERVSW:
- case SASLMECHSW:
- case USERSW:
case PORTSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-') {
#include <h/signals.h>
#include <signal.h>
-#ifndef CYRUS_SASL
-# define SASLminc(a) (a)
-#else /* CYRUS_SASL */
-# define SASLminc(a) 0
-#endif /* CYRUS_SASL */
-
#ifndef TLS_SUPPORT
# define TLSminc(a) (a)
#else /* TLS_SUPPORT */
{ "server host", -6 },
#define SNOOPSW 11
{ "snoop", -5 },
-#define SASLSW 12
- { "sasl", SASLminc(4) },
-#define SASLMECHSW 13
- { "saslmech mechanism", SASLminc(-5) },
-#define USERSW 14
- { "user username", SASLminc(-4) },
#define PORTSW 15
{ "port server port name/number", 4 },
#define TLSSW 16
case CHKSW:
case NOCHKSW:
case SNOOPSW:
- case SASLSW:
vec[vecp++] = --cp;
continue;
case ALIASW:
case CLIESW:
case SERVSW:
- case USERSW:
case PORTSW:
- case SASLMECHSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);