From a79cd7832f0154b7099bdeda5f9fbff6402d6760 Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 12 Feb 2006 00:34:08 +0000 Subject: more changes --- src/cmd/upas/common/common.h | 3 +-- src/cmd/upas/common/config.c | 26 +++++++++++++------------- src/cmd/upas/common/sys.h | 23 ++++++++++++++++------- src/cmd/upas/ml/dat.h | 2 +- src/cmd/upas/ml/mkfile | 4 ++-- src/cmd/upas/send/message.c | 1 + src/cmd/upas/smtp/mkfile | 5 +++-- src/cmd/upas/smtp/mxdial.c | 8 +++++--- src/cmd/upas/smtp/smtpd.c | 2 +- src/cmd/upas/smtp/smtpd.y | 4 ++++ 10 files changed, 47 insertions(+), 31 deletions(-) (limited to 'src/cmd/upas') diff --git a/src/cmd/upas/common/common.h b/src/cmd/upas/common/common.h index d1e93841..acb155f5 100644 --- a/src/cmd/upas/common/common.h +++ b/src/cmd/upas/common/common.h @@ -75,5 +75,4 @@ extern int proc_wait(process*); extern int proc_free(process*); extern int proc_kill(process*); -/* tell compiler we're using a value so it won't complain */ -#define USE(x) if(x) + diff --git a/src/cmd/upas/common/config.c b/src/cmd/upas/common/config.c index 21b34a12..cde9e986 100644 --- a/src/cmd/upas/common/config.c +++ b/src/cmd/upas/common/config.c @@ -1,12 +1,12 @@ #include "common.h" -char *MAILROOT = "#9/mail"; -char *UPASLOG = "#9/sys/log"; -char *UPASLIB = "#9/mail/lib"; -char *UPASBIN= "#9/bin/upas"; -char *UPASTMP = "#9/mail/tmp"; -char *SHELL = "#9/bin/rc"; -char *POST = "#9/sys/lib/post/dispatch"; +char *_MAILROOT = "#9/mail"; +char *_UPASLOG = "#9/sys/log"; +char *_UPASLIB = "#9/mail/lib"; +char *_UPASBIN= "#9/bin/upas"; +char *_UPASTMP = "#9/mail/tmp"; +char *_SHELL = "#9/bin/rc"; +char *_POST = "#9/sys/lib/post/dispatch"; int MBOXMODE = 0662; @@ -18,10 +18,10 @@ upasconfig(void) if(did) return; did = 1; - MAILROOT = unsharp(MAILROOT); - UPASLOG = unsharp(UPASLOG); - UPASLIB = unsharp(UPASLIB); - UPASBIN = unsharp(UPASBIN); - SHELL = unsharp(SHELL); - POST = unsharp(POST); + _MAILROOT = unsharp(_MAILROOT); + _UPASLOG = unsharp(_UPASLOG); + _UPASLIB = unsharp(_UPASLIB); + _UPASBIN = unsharp(_UPASBIN); + _SHELL = unsharp(_SHELL); + _POST = unsharp(_POST); } diff --git a/src/cmd/upas/common/sys.h b/src/cmd/upas/common/sys.h index 50691558..dd4cd6fe 100644 --- a/src/cmd/upas/common/sys.h +++ b/src/cmd/upas/common/sys.h @@ -21,16 +21,25 @@ struct Mlock { /* * from config.c - call upasconfig() before using */ -extern char *MAILROOT; /* root of mail system */ -extern char *UPASLOG; /* log directory */ -extern char *UPASLIB; /* upas library directory */ -extern char *UPASBIN; /* upas binary directory */ -extern char *UPASTMP; /* temporary directory */ -extern char *SHELL; /* path name of shell */ -extern char *POST; /* path name of post server addresses */ +extern char *_MAILROOT; /* root of mail system */ +extern char *_UPASLOG; /* log directory */ +extern char *_UPASLIB; /* upas library directory */ +extern char *_UPASBIN; /* upas binary directory */ +extern char *_UPASTMP; /* temporary directory */ +extern char *_SHELL; /* path name of shell */ +extern char *_POST; /* path name of post server addresses */ extern int MBOXMODE; /* default mailbox protection mode */ extern void upasconfig(void); +/* forgive me */ +#define MAILROOT (upasconfig(), _MAILROOT) +#define UPASLOG (upasconfig(), _UPASLOG) +#define UPASLIB (upasconfig(), _UPASLIB) +#define UPASBIN (upasconfig(), _UPASBIN) +#define UPASTMP (upasconfig(), _UPASTMP) +#define SHELL (upasconfig(), _SHELL) +#define POST (upasconfig(), _POST) + /* * files in libsys.c */ diff --git a/src/cmd/upas/ml/dat.h b/src/cmd/upas/ml/dat.h index 3527af50..5d23bae8 100644 --- a/src/cmd/upas/ml/dat.h +++ b/src/cmd/upas/ml/dat.h @@ -1,6 +1,6 @@ #include "../smtp/smtp.h" -#include "../smtp/y.tab.h" +#include "../smtp/rfc822.tab.h" typedef struct Addr Addr; struct Addr diff --git a/src/cmd/upas/ml/mkfile b/src/cmd/upas/ml/mkfile index 1a384108..8eca4f08 100644 --- a/src/cmd/upas/ml/mkfile +++ b/src/cmd/upas/ml/mkfile @@ -14,7 +14,7 @@ UHFILES= ../common/common.h\ dat.h\ HFILES=$UHFILES\ - ../smtp/y.tab.h\ + ../smtp/rfc822.tab.h\ LIB=../common/libcommon.a @@ -25,7 +25,7 @@ CFLAGS=$CFLAGS -I../common $O.ml: ../smtp/rfc822.tab.$O $O.mlowner: ../smtp/rfc822.tab.$O -../smtp/y.tab.h ../smtp/rfc822.tab.$O: +../smtp/rfc822.tab.h ../smtp/rfc822.tab.$O: ( cd ../smtp mk rfc822.tab.$O diff --git a/src/cmd/upas/send/message.c b/src/cmd/upas/send/message.c index 8cee34a0..56fddba3 100644 --- a/src/cmd/upas/send/message.c +++ b/src/cmd/upas/send/message.c @@ -118,6 +118,7 @@ getaddr(Node *p) for(; p; p = p->next) if(p->s && p->addr) return s_copy(s_to_c(p->s)); + return nil; } /* get the text of a header line minus the field name */ diff --git a/src/cmd/upas/smtp/mkfile b/src/cmd/upas/smtp/mkfile index c4c7e053..9d5bf940 100644 --- a/src/cmd/upas/smtp/mkfile +++ b/src/cmd/upas/smtp/mkfile @@ -41,12 +41,13 @@ smtpd.tab.c: smtpd.y smtpd.h sed 's/yy/zz/g' < xxx > $target rm xxx -rfc822.tab.c: rfc822.y smtp.h +rfc822.tab.c rfc822.tab.h: rfc822.y smtp.h 9 yacc -d -o $target rfc822.y + mv y.tab.h rfc822.tab.h clean:V: rm -f *.[$OS] [$OS].$TARG smtpd.tab.c rfc822.tab.c y.tab.? y.debug $TARG -../common/libcommon.a +../common/libcommon.a: cd ../common; mk diff --git a/src/cmd/upas/smtp/mxdial.c b/src/cmd/upas/smtp/mxdial.c index 13f40ab5..ae272c7d 100644 --- a/src/cmd/upas/smtp/mxdial.c +++ b/src/cmd/upas/smtp/mxdial.c @@ -23,7 +23,7 @@ extern int debug; static int mxlookup(DS*, char*); static int mxlookup1(DS*, char*); -static int compar(void*, void*); +static int compar(const void*, const void*); static int callmx(DS*, char*, char*); static void expand_meta(DS *ds); extern int cistrcmp(char*, char*); @@ -50,8 +50,10 @@ mxdial(char *addr, char *ddomain, char *gdomain) } static int -timeout(void*, char *msg) +timeout(void *v, char *msg) { + USED(v); + if(strstr(msg, "alarm")) return 1; return 0; @@ -232,7 +234,7 @@ mxlookup1(DS *ds, char *domain) } static int -compar(void *a, void *b) +compar(const void *a, const void *b) { return ((Mx*)a)->pref - ((Mx*)b)->pref; } diff --git a/src/cmd/upas/smtp/smtpd.c b/src/cmd/upas/smtp/smtpd.c index 8bd4511d..7b54b3cf 100644 --- a/src/cmd/upas/smtp/smtpd.c +++ b/src/cmd/upas/smtp/smtpd.c @@ -7,7 +7,7 @@ #include #include #include -#include "../smtp/y.tab.h" +#include "../smtp/rfc822.tab.h" #define DBGMX 1 diff --git a/src/cmd/upas/smtp/smtpd.y b/src/cmd/upas/smtp/smtpd.y index 57b89a02..00a3fe95 100644 --- a/src/cmd/upas/smtp/smtpd.y +++ b/src/cmd/upas/smtp/smtpd.y @@ -189,6 +189,7 @@ parseinit(void) yyfp = &bin; } +int yylex(void) { int c; @@ -229,6 +230,7 @@ cat(YYSTYPE *y1, YYSTYPE *y2, YYSTYPE *y3, YYSTYPE *y4, YYSTYPE *y5, YYSTYPE *y6 { YYSTYPE rv; + memset(&rv, 0, sizeof rv); if(y1->s) rv.s = y1->s; else { @@ -296,6 +298,7 @@ cat(YYSTYPE *y1, YYSTYPE *y2, YYSTYPE *y3, YYSTYPE *y4, YYSTYPE *y5, YYSTYPE *y6 } } else return rv; + return rv; } void @@ -312,6 +315,7 @@ anonymous(void) { YYSTYPE rv; + memset(&rv, 0, sizeof rv); rv.s = s_copy("/dev/null"); return rv; } -- cgit v1.2.3