*/
#include "h/mh.h"
+#include "sbr/dtime.h"
#include "sbr/getarguments.h"
#include "sbr/smatch.h"
#include "sbr/ambigsw.h"
#include "h/utils.h"
#include <pwd.h>
-#include "h/popsbr.h"
+#include "popsbr.h"
#ifndef CYRUS_SASL
# define SASLminc(a) (a)
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) \
int notifysw = NT_ALL;
int status = 0;
bool sasl = false;
- bool tls = false;
+ int tls = 0;
bool noverify = false;
bool snoop = false;
int vecp = 0;
die("missing argument to %s", argp[-2]);
continue;
+ case TLSSW:
+ tls = 1;
+ continue;
+
case INITTLSSW:
- tls = true;
+ tls = 2;
continue;
case NOTLSSW:
- tls = false;
+ tls = 0;
continue;
case CERTVERSW:
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;
snoop, sasl, saslmech, tlsflag, auth_svc);
}
} else {
- if (user == NULL) user = getusername ();
+ if (user == NULL) user = getusername (1);
if (vecp == 0) {
char *home;