X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpost.c;h=75468185c4faa8f01135410e511bc4d188c22bb2;hp=1f706fe53cadaa5ffeea667db9e7e1d585790ece;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=13f84dd50ca5754391dbd3296a5c7425f9363600 diff --git a/uip/post.c b/uip/post.c index 1f706fe..7546818 100644 --- a/uip/post.c +++ b/uip/post.c @@ -138,6 +138,8 @@ static struct swit switches[] = { { "saslmech", SASLminc(-5) }, #define USERSW 39 { "user", SASLminc(-4) }, +#define PORTSW 40 + { "port server port name/number", 4 }, { NULL, 0 } }; @@ -236,6 +238,7 @@ static int nameoutput=0; /* putadr() has output header name */ static int sasl=0; /* Use SASL auth for SMTP */ static char *saslmech=NULL; /* Force use of particular SASL mech */ static char *user=NULL; /* Authenticate as this user */ +static char *port="smtp"; /* Name of server port for SMTP */ static unsigned msgflags = 0; /* what we've seen */ @@ -518,6 +521,11 @@ main (int argc, char **argv) if (!(user = *argp++) || *user == '-') adios (NULL, "missing argument to %s", argp[-2]); continue; + + case PORTSW: + if (!(port = *argp++) || *port == '-') + adios (NULL, "missing argument to %s", argp[-2]); + continue; } } if (msg) @@ -639,7 +647,8 @@ main (int argc, char **argv) if (verbose) printf (partno ? "Partial Message #%s Processed\n" : "Message Processed\n", partno); - return done (0); + done (0); + return 1; } @@ -1288,7 +1297,7 @@ static int find_prefix (void) { int len, result; - char buffer[BUFSIZ]; + unsigned char buffer[BUFSIZ]; FILE *in; if ((in = fopen (tmpfil, "r")) == NULL) @@ -1402,7 +1411,7 @@ post (char *file, int bccque, int talk) sigon (); - if (rp_isbad (retval = sm_init (clientsw, serversw, watch, verbose, + if (rp_isbad (retval = sm_init (clientsw, serversw, port, watch, verbose, snoop, onex, queued, sasl, saslmech, user)) || rp_isbad (retval = sm_winit (smtpmode, from))) @@ -1441,8 +1450,9 @@ verify_all_addresses (int talk) sigon (); if (!whomsw || checksw) - if (rp_isbad (retval = sm_init (clientsw, serversw, watch, verbose, snoop, 0, - queued, sasl, saslmech, user)) + if (rp_isbad (retval = sm_init (clientsw, serversw, port, watch, + verbose, snoop, 0, queued, sasl, + saslmech, user)) || rp_isbad (retval = sm_winit (smtpmode, from))) die (NULL, "problem initializing server; %s", rp_string (retval));