X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/dbdbd49d59ae5c14e66b1c148a63b8abc9d076ab..62b9266aa31b2baced3252987b256b4e43ec9573:/uip/msgchk.c diff --git a/uip/msgchk.c b/uip/msgchk.c index a553300f..5ab5b760 100644 --- a/uip/msgchk.c +++ b/uip/msgchk.c @@ -5,14 +5,21 @@ * complete copyright information. */ -#include -#include -#include +#include "h/mh.h" +#include "sbr/dtime.h" +#include "sbr/getarguments.h" +#include "sbr/smatch.h" +#include "sbr/ambigsw.h" +#include "sbr/print_version.h" +#include "sbr/print_help.h" +#include "sbr/error.h" +#include "h/mts.h" +#include "h/tws.h" #include "h/done.h" -#include +#include "h/utils.h" #include -#include +#include "popsbr.h" #ifndef CYRUS_SASL # define SASLminc(a) (a) @@ -41,6 +48,7 @@ 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) \ @@ -78,9 +86,14 @@ static int remotemail (char *, char *, char *, char *, int, int, int, int, int main (int argc, char **argv) { - int datesw = 1, notifysw = NT_ALL; - int status = 0, sasl = 0, tls = 0, noverify = 0; - int snoop = 0, vecp = 0; + bool datesw = true; + int notifysw = NT_ALL; + int status = 0; + bool sasl = false; + int tls = 0; + bool noverify = false; + bool snoop = false; + int vecp = 0; char *cp, *host = NULL, *port = NULL, *user = NULL, *proxy = NULL; char buf[BUFSIZ], *saslmech = NULL, *auth_svc = NULL; char **argp, **arguments, *vec[MAXVEC]; @@ -112,10 +125,10 @@ main (int argc, char **argv) done (0); case DATESW: - datesw++; + datesw = true; continue; case NDATESW: - datesw = 0; + datesw = false; continue; case NOTESW: @@ -148,15 +161,15 @@ main (int argc, char **argv) continue; case SNOOPSW: - snoop++; + snoop = true; continue; case SASLSW: - sasl++; + sasl = true; continue; case NOSASLSW: - sasl = 0; + sasl = false; continue; case SASLMECHSW: @@ -164,8 +177,12 @@ main (int argc, char **argv) die("missing argument to %s", argp[-2]); continue; + case TLSSW: + tls = 1; + continue; + case INITTLSSW: - tls++; + tls = 2; continue; case NOTLSSW: @@ -173,11 +190,11 @@ main (int argc, char **argv) continue; case CERTVERSW: - noverify = 0; + noverify = false; continue; case NOCERTVERSW: - noverify++; + noverify = true; continue; case AUTHSERVICESW: @@ -220,8 +237,10 @@ main (int argc, char **argv) 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; @@ -235,7 +254,7 @@ main (int argc, char **argv) snoop, sasl, saslmech, tlsflag, auth_svc); } } else { - if (user == NULL) user = getusername (); + if (user == NULL) user = getusername (1); if (vecp == 0) { char *home; @@ -344,7 +363,8 @@ remotemail (char *host, char *port, char *user, char *proxy, int notifysw, int personal, int snoop, int sasl, char *saslmech, int tls, const char *auth_svc) { - int nmsgs, nbytes, status; + int nmsgs, nbytes; + bool status; if (auth_svc == NULL) { if (saslmech && ! strcasecmp(saslmech, "xoauth2")) { @@ -378,14 +398,14 @@ remotemail (char *host, char *port, char *user, char *proxy, int notifysw, else notifysw = 0; - status = 0; + status = false; } else { if (notifysw & NT_NMAI) printf (personal ? "You don't %s%s" : "%s doesn't %s", personal ? "" : user, "have any mail waiting"); else notifysw = 0; - status = 1; + status = true; } if (notifysw) printf (" on %s\n", host);