projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
compiled mh-chart with synopses of commands
[mmh]
/
uip
/
inc.c
diff --git
a/uip/inc.c
b/uip/inc.c
index
3209a97
..
7475d5e
100644
(file)
--- a/
uip/inc.c
+++ b/
uip/inc.c
@@
-40,7
+40,7
@@
#include <h/scansbr.h>
#include <h/signals.h>
#include <h/tws.h>
#include <h/scansbr.h>
#include <h/signals.h>
#include <h/tws.h>
-#include <zotnet/mts/mts.h>
+#include <h/mts.h>
#include <errno.h>
#include <signal.h>
#include <errno.h>
#include <signal.h>
@@
-68,6
+68,12
@@
# define KPOPminc(a) 0
#endif
# define KPOPminc(a) 0
#endif
+#ifndef CYRUS_SASL
+# define SASLminc(a) (a)
+#else
+# define SASLminc(a) 0
+#endif
+
static struct swit switches[] = {
#define AUDSW 0
{ "audit audit-file", 0 },
static struct swit switches[] = {
#define AUDSW 0
{ "audit audit-file", 0 },
@@
-117,6
+123,10
@@
static struct swit switches[] = {
{ "snoop", -5 },
#define KPOPSW 23
{ "kpop", KPOPminc (-4) },
{ "snoop", -5 },
#define KPOPSW 23
{ "kpop", KPOPminc (-4) },
+#define SASLSW 24
+ { "sasl", SASLminc(-4) },
+#define SASLMECHSW 25
+ { "saslmech", SASLminc(-8) },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-222,11
+232,11
@@
main (int argc, char **argv)
int chgflag = 1, trnflag = 1;
int noisy = 1, width = 0;
int rpop, i, hghnum, msgnum;
int chgflag = 1, trnflag = 1;
int noisy = 1, width = 0;
int rpop, i, hghnum, msgnum;
- int kpop = 0;
+ int kpop = 0, sasl = 0;
char *cp, *maildir, *folder = NULL;
char *format = NULL, *form = NULL;
char *host = NULL, *user = NULL;
char *cp, *maildir, *folder = NULL;
char *format = NULL, *form = NULL;
char *host = NULL, *user = NULL;
- char *audfile = NULL, *from = NULL;
+ char *audfile = NULL, *from = NULL, *saslmech = NULL;
char buf[BUFSIZ], **argp, *nfs, **arguments;
struct msgs *mp;
struct stat st, s1;
char buf[BUFSIZ], **argp, *nfs, **arguments;
struct msgs *mp;
struct stat st, s1;
@@
-235,6
+245,7
@@
main (int argc, char **argv)
#ifdef POP
int nmsgs, nbytes, p = 0;
char *pass = NULL;
#ifdef POP
int nmsgs, nbytes, p = 0;
char *pass = NULL;
+ char *MAILHOST_env_variable;
#endif
#ifdef MHE
#endif
#ifdef MHE
@@
-243,7
+254,6
@@
main (int argc, char **argv)
#ifdef HESIOD
struct hes_postoffice *po;
#ifdef HESIOD
struct hes_postoffice *po;
- char *tmphost;
#endif
/* absolutely the first thing we do is save our privileges,
#endif
/* absolutely the first thing we do is save our privileges,
@@
-265,7
+275,6
@@
main (int argc, char **argv)
argp = arguments;
#ifdef POP
argp = arguments;
#ifdef POP
-# ifdef HESIOD
/*
* Scheme is:
* use MAILHOST environment variable if present,
/*
* Scheme is:
* use MAILHOST environment variable if present,
@@
-273,8
+282,9
@@
main (int argc, char **argv)
* If that fails, use the default (if any)
* provided by mts.conf in mts_init()
*/
* If that fails, use the default (if any)
* provided by mts.conf in mts_init()
*/
- if ((tmphost = getenv("MAILHOST")) != NULL)
- pophost = tmphost;
+ if ((MAILHOST_env_variable = getenv("MAILHOST")) != NULL)
+ pophost = MAILHOST_env_variable;
+# ifdef HESIOD
else if ((po = hes_getmailhost(getusername())) != NULL &&
strcmp(po->po_type, "POP") == 0)
pophost = po->po_host;
else if ((po = hes_getmailhost(getusername())) != NULL &&
strcmp(po->po_type, "POP") == 0)
pophost = po->po_host;
@@
-421,6
+431,15
@@
main (int argc, char **argv)
case SNOOPSW:
snoop++;
continue;
case SNOOPSW:
snoop++;
continue;
+
+ case SASLSW:
+ sasl++;
+ continue;
+
+ case SASLMECHSW:
+ if (!(saslmech = *argp++) || *saslmech == '-')
+ adios (NULL, "missing argument to %s", argp[-2]);
+ continue;
}
}
if (*cp == '+' || *cp == '@') {
}
}
if (*cp == '+' || *cp == '@') {
@@
-469,7
+488,7
@@
main (int argc, char **argv)
if ( strcmp( POPSERVICE, "kpop" ) == 0 ) {
kpop = 1;
}
if ( strcmp( POPSERVICE, "kpop" ) == 0 ) {
kpop = 1;
}
- if (kpop || ( rpop > 0))
+ if (kpop || sasl || ( rpop > 0))
pass = getusername ();
else
ruserpass (host, &user, &pass);
pass = getusername ();
else
ruserpass (host, &user, &pass);
@@
-477,7
+496,8
@@
main (int argc, char **argv)
/*
* initialize POP connection
*/
/*
* initialize POP connection
*/
- if (pop_init (host, user, pass, snoop, kpop ? 1 : rpop, kpop) == NOTOK)
+ if (pop_init (host, user, pass, snoop, kpop ? 1 : rpop, kpop,
+ sasl, saslmech) == NOTOK)
adios (NULL, "%s", response);
/* Check if there are any messages */
adios (NULL, "%s", response);
/* Check if there are any messages */