fix security/privacy problem (from ks@ef.purdue.edu (Kirk Smith))
[unix-history] / usr / src / usr.bin / mail / def.h
index 415aeac..a597628 100644 (file)
@@ -1,18 +1,20 @@
-#
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ *
+ *     @(#)def.h       5.2 (Berkeley) %G%
+ */
 
 
-#include "local.h"
-#include <sys/types.h>
+#include <sys/param.h>         /* includes <sys/types.h> */
 #include <signal.h>
 #include <stdio.h>
 #include <sgtty.h>
 #include <signal.h>
 #include <stdio.h>
 #include <sgtty.h>
+#include "local.h"
 
 #undef isalpha
 #undef isdigit
 
 
 #undef isalpha
 #undef isdigit
 
-/*
- * Sccs Id = "@(#)def.h        2.4 %G%";
- */
-
 /*
  * Mail -- a mail program
  *
 /*
  * Mail -- a mail program
  *
 
 
 #define        ESCAPE          '~'             /* Default escape for sending */
 
 
 #define        ESCAPE          '~'             /* Default escape for sending */
-#define        NMLSIZE         20              /* max names in a message list */
-#define        PATHSIZE        35              /* Size of pathnames throughout */
-#define        NAMESIZE        20              /* Max size of user name */
-#define        HSHSIZE         19              /* Hash size for aliases and vars */
+#define        NMLSIZE         1024            /* max names in a message list */
+#define        PATHSIZE        1024            /* Size of pathnames throughout */
+#define        NAMESIZE        32              /* Max size of user name */
+#define        HSHSIZE         59              /* Hash size for aliases and vars */
 #define        HDRFIELDS       3               /* Number of header fields */
 #define        LINESIZE        BUFSIZ          /* max readable line width */
 #define        STRINGSIZE      ((unsigned) 128)/* Dynamic allocation units */
 #define        HDRFIELDS       3               /* Number of header fields */
 #define        LINESIZE        BUFSIZ          /* max readable line width */
 #define        STRINGSIZE      ((unsigned) 128)/* Dynamic allocation units */
-#define        MAXARGC         20              /* Maximum list of raw strings */
+#define        MAXARGC         1024            /* Maximum list of raw strings */
 #define        NOSTR           ((char *) 0)    /* Null string pointer */
 #define        MAXEXP          25              /* Maximum expansion of aliases */
 #define        equal(a, b)     (strcmp(a,b)==0)/* A nice function to string compare */
 #define        NOSTR           ((char *) 0)    /* Null string pointer */
 #define        MAXEXP          25              /* Maximum expansion of aliases */
 #define        equal(a, b)     (strcmp(a,b)==0)/* A nice function to string compare */
@@ -50,7 +52,7 @@ struct message {
        short   m_flag;                 /* flags, see below */
        short   m_block;                /* block number of this message */
        short   m_offset;               /* offset in block of message */
        short   m_flag;                 /* flags, see below */
        short   m_block;                /* block number of this message */
        short   m_offset;               /* offset in block of message */
-       unsigned        m_size;         /* Bytes in the message */
+       long    m_size;                 /* Bytes in the message */
        short   m_lines;                /* Lines in the message */
 };
 
        short   m_lines;                /* Lines in the message */
 };
 
@@ -191,6 +193,14 @@ struct grouphead {
 #define        NOGRP   ((struct grouphead *) 0)/* The nil grouphead pointer */
 #define        NOGE    ((struct group *) 0)    /* The nil group pointer */
 
 #define        NOGRP   ((struct grouphead *) 0)/* The nil grouphead pointer */
 #define        NOGE    ((struct group *) 0)    /* The nil group pointer */
 
+/*
+ * Structure of the hash table of ignored header fields
+ */
+struct ignore {
+       struct ignore   *i_link;        /* Next ignored field in bucket */
+       char            *i_field;       /* This ignored field */
+};
+
 /*
  * Token values returned by the scanner used for argument lists.
  * Also, sizes of scanner-related things.
 /*
  * Token values returned by the scanner used for argument lists.
  * Also, sizes of scanner-related things.
@@ -209,7 +219,7 @@ struct grouphead {
 #define TPLUS  10                      /* A '+' */
 
 #define        REGDEP  2                       /* Maximum regret depth. */
 #define TPLUS  10                      /* A '+' */
 
 #define        REGDEP  2                       /* Maximum regret depth. */
-#define        STRINGLEN       64              /* Maximum length of string token */
+#define        STRINGLEN       1024            /* Maximum length of string token */
 
 /*
  * Constants for conditional commands.  These describe whether
 
 /*
  * Constants for conditional commands.  These describe whether
@@ -235,6 +245,24 @@ struct grouphead {
 #ifndef VMUNIX
 #define        vfork() fork()
 #endif
 #ifndef VMUNIX
 #define        vfork() fork()
 #endif
+#ifndef        SIGRETRO
+#define        sigchild()
+#endif
+
+/*
+ * 4.2bsd signal interface help...
+ */
+#ifdef VMUNIX
+#define        sigset(s, a)    signal(s, a)
+#define        sigsys(s, a)    signal(s, a)
+#endif
+
+/*
+ * Truncate a file to the last character written. This is
+ * useful just before closing an old file that was opened
+ * for read/write.
+ */
+#define trunc(stream)  ftruncate(fileno(stream), (long) ftell(stream))
 
 /*
  * Forward declarations of routine types to keep lint and cc happy.
 
 /*
  * Forward declarations of routine types to keep lint and cc happy.
@@ -274,14 +302,17 @@ char      *rindex();
 char   *rpair();
 char   *salloc();
 char   *savestr();
 char   *rpair();
 char   *salloc();
 char   *savestr();
-char   *savestr();
 char   *skin();
 char   *snarf();
 char   *skin();
 char   *snarf();
+char   *strcat();
+char   *strcpy();
 char   *value();
 char   *vcopy();
 char   *yankword();
 off_t  fsize();
 char   *value();
 char   *vcopy();
 char   *yankword();
 off_t  fsize();
+#ifndef VMUNIX
 int    (*sigset())();
 int    (*sigset())();
+#endif
 struct cmd     *lex();
 struct grouphead       *findgroup();
 struct name    *cat();
 struct cmd     *lex();
 struct grouphead       *findgroup();
 struct name    *cat();
@@ -295,4 +326,6 @@ struct      name    *put();
 struct name    *usermap();
 struct name    *verify();
 struct var     *lookup();
 struct name    *usermap();
 struct name    *verify();
 struct var     *lookup();
-unsigned       int     msize();
+long   transmit();
+int    icequal();
+int    cmpdomain();