aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/upas/common/common.h3
-rw-r--r--src/cmd/upas/common/config.c26
-rw-r--r--src/cmd/upas/common/sys.h23
-rw-r--r--src/cmd/upas/ml/dat.h2
-rw-r--r--src/cmd/upas/ml/mkfile4
-rw-r--r--src/cmd/upas/send/message.c1
-rw-r--r--src/cmd/upas/smtp/mkfile5
-rw-r--r--src/cmd/upas/smtp/mxdial.c8
-rw-r--r--src/cmd/upas/smtp/smtpd.c2
-rw-r--r--src/cmd/upas/smtp/smtpd.y4
10 files changed, 47 insertions, 31 deletions
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 <mp.h>
#include <libsec.h>
#include <auth.h>
-#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;
}