-
-/*
- * msgchk.c -- check for mail
+/* msgchk.c -- check for mail
*
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
X("help", 0, HELPSW) \
X("snoop", 0, SNOOPSW) \
X("sasl", SASLminc(4), SASLSW) \
+ X("nosasl", SASLminc(6), NOSASLSW) \
X("saslmech", SASLminc(5), SASLMECHSW) \
X("authservice", SASLminc(0), AUTHSERVICESW) \
X("initialtls", TLSminc(-10), INITTLSSW) \
X("notls", TLSminc(-5), NOTLSSW) \
+ X("certverify", TLSminc(-10), CERTVERSW) \
+ X("nocertverify", TLSminc(-12), NOCERTVERSW) \
X("proxy command", 0, PROXYSW) \
#define X(sw, minchars, id) id,
main (int argc, char **argv)
{
int datesw = 1, notifysw = NT_ALL;
- int status = 0, sasl = 0, tls = 0;
+ int status = 0, sasl = 0, tls = 0, noverify = 0;
int snoop = 0, vecp = 0;
char *cp, *host = NULL, *port = NULL, *user = NULL, *proxy = NULL;
char buf[BUFSIZ], *saslmech = NULL, *auth_svc = NULL;
sasl++;
continue;
+ case NOSASLSW:
+ sasl = 0;
+ continue;
+
case SASLMECHSW:
if (!(saslmech = *argp++) || *saslmech == '-')
adios (NULL, "missing argument to %s", argp[-2]);
tls = 0;
continue;
+ case CERTVERSW:
+ noverify = 0;
+ continue;
+
+ case NOCERTVERSW:
+ noverify++;
+ continue;
+
case AUTHSERVICESW:
#ifdef OAUTH_SUPPORT
if (!(auth_svc = *argp++) || *auth_svc == '-')
vec[vecp] = NULL;
if (host) {
+ int tlsflag = 0;
+
+ if (tls)
+ tlsflag |= P_INITTLS;
+
+ if (noverify)
+ tlsflag |= P_NOVERIFY;
+
if (vecp == 0) {
status = remotemail (host, port, user, proxy, notifysw, 1,
- snoop, sasl, saslmech, tls, auth_svc);
+ snoop, sasl, saslmech, tlsflag, auth_svc);
} else {
for (vecp = 0; vec[vecp]; vecp++)
status += remotemail (host, port, vec[vecp], proxy, notifysw, 0,
- snoop, sasl, saslmech, tls, auth_svc);
+ snoop, sasl, saslmech, tlsflag, auth_svc);
}
} else {
if (user == NULL) user = getusername ();
if ((pw = getpwnam (vec[vecp])))
status += checkmail (pw->pw_name, pw->pw_dir, datesw, notifysw, 0);
else
- advise (NULL, "no such user as %s", vec[vecp]);
+ inform("no such user as %s", vec[vecp]);
}
}
} /* host == NULL */
auth_svc) == NOTOK
|| pop_stat (&nmsgs, &nbytes) == NOTOK /* check for messages */
|| pop_quit () == NOTOK) { /* quit POP connection */
- advise (NULL, "%s", response);
+ inform("%s", response);
return 1;
}