projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SASL mods.
[mmh]
/
uip
/
inc.c
diff --git
a/uip/inc.c
b/uip/inc.c
index
3209a97
..
f076e48
100644
(file)
--- a/
uip/inc.c
+++ b/
uip/inc.c
@@
-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 }
};
@@
-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 */