Perform final cleanup for support for the STLS command in POP. Add
necessary switches to msgchk and add information to man pages.
.IR mechanism ]
.RB [ \-authservice
.IR service ]
.IR mechanism ]
.RB [ \-authservice
.IR service ]
.RB [ \-initialtls ]
.RB [ \-notls ]
.RB [ \-certverify " | " \-nocertverify ]
.RB [ \-initialtls ]
.RB [ \-notls ]
.RB [ \-certverify " | " \-nocertverify ]
If
.B nmh
has been compiled with TLS support, the
If
.B nmh
has been compiled with TLS support, the
+.B \-tls
+and
+.B \-initialtls
+switches will require the negotiation of TLS when connecting
+to the remote POP server. The
+.B \-tls
+switch will direct
+.B inc
+to negotiate TLS as part of the normal POP protocol using
+the STLS command. The
-switch will require the negotiation of TLS when connecting
-to the remote POP server.
-will negotiate TLS immediately after the connection has taken place,
+to negotiate TLS immediately after the connection has taken place,
before any POP commands are sent or received. Data encrypted by TLS is
labeled `(tls-encrypted)' and `(tls-decrypted)' when viewing the POP
transaction with the
before any POP commands are sent or received. Data encrypted by TLS is
labeled `(tls-encrypted)' and `(tls-decrypted)' when viewing the POP
transaction with the
.RB [ \-sasl " | " \-nosasl ]
.RB [ \-saslmech
.IR mechanism ]
.RB [ \-sasl " | " \-nosasl ]
.RB [ \-saslmech
.IR mechanism ]
.RB [ \-initialtls ]
.RB [ \-notls ]
.RB [ \-certverify " | " \-nocertverify ]
.RB [ \-initialtls ]
.RB [ \-notls ]
.RB [ \-certverify " | " \-nocertverify ]
If
.B nmh
has been compiled with TLS support, the
If
.B nmh
has been compiled with TLS support, the
-switch will require the negotiation of TLS when connecting
+switches will require the negotiation of TLS when connecting
to the remote POP server. The
to the remote POP server. The
+.B \-tls
+switch will negotiate TLS as part of the normal POP protocol using
+the STLS command. The
.B \-initialtls
switch will negotiate TLS immediately after the connection has taken place,
before any POP commands are sent or received. Data encrypted by TLS is
.B \-initialtls
switch will negotiate TLS immediately after the connection has taken place,
before any POP commands are sent or received. Data encrypted by TLS is
X("nosasl", SASLminc(6), NOSASLSW) \
X("saslmech", SASLminc(5), SASLMECHSW) \
X("authservice", SASLminc(0), AUTHSERVICESW) \
X("nosasl", SASLminc(6), NOSASLSW) \
X("saslmech", SASLminc(5), SASLMECHSW) \
X("authservice", SASLminc(0), AUTHSERVICESW) \
+ X("tls", TLSminc(-3), TLSSW) \
X("initialtls", TLSminc(-10), INITTLSSW) \
X("notls", TLSminc(-5), NOTLSSW) \
X("certverify", TLSminc(-10), CERTVERSW) \
X("initialtls", TLSminc(-10), INITTLSSW) \
X("notls", TLSminc(-5), NOTLSSW) \
X("certverify", TLSminc(-10), CERTVERSW) \
int notifysw = NT_ALL;
int status = 0;
bool sasl = false;
int notifysw = NT_ALL;
int status = 0;
bool sasl = false;
bool noverify = false;
bool snoop = false;
int vecp = 0;
bool noverify = false;
bool snoop = false;
int vecp = 0;
die("missing argument to %s", argp[-2]);
continue;
die("missing argument to %s", argp[-2]);
continue;
+ case TLSSW:
+ tls = 1;
+ continue;
+
continue;
case CERTVERSW:
continue;
case CERTVERSW:
if (host) {
int tlsflag = 0;
if (host) {
int tlsflag = 0;
- if (tls)
- tlsflag |= P_INITTLS;
+ if (tls == 1)
+ tlsflag = P_STARTTLS;
+ else if (tls == 2)
+ tlsflag = P_INITTLS;
if (noverify)
tlsflag |= P_NOVERIFY;
if (noverify)
tlsflag |= P_NOVERIFY;