home *** CD-ROM | disk | FTP | other *** search
- head 1.12;
- access;
- symbols
- C_1:1.12;
- locks; strict;
- comment @ * @;
-
-
- 1.12
- date 93.11.16.23.39.58; author Aussem; state Exp;
- branches;
- next 1.11;
-
- 1.11
- date 93.11.13.23.13.20; author Aussem; state Exp;
- branches;
- next 1.10;
-
- 1.10
- date 93.11.13.22.11.07; author Aussem; state Exp;
- branches;
- next 1.9;
-
- 1.9
- date 93.11.13.21.44.00; author Aussem; state Exp;
- branches;
- next 1.8;
-
- 1.8
- date 93.11.12.23.04.42; author Aussem; state Exp;
- branches;
- next 1.7;
-
- 1.7
- date 93.10.18.19.58.28; author Aussem; state Exp;
- branches;
- next 1.6;
-
- 1.6
- date 93.10.17.23.24.25; author Aussem; state Exp;
- branches;
- next 1.5;
-
- 1.5
- date 93.10.17.21.48.50; author Aussem; state Exp;
- branches;
- next 1.4;
-
- 1.4
- date 93.10.10.19.28.46; author Aussem; state Exp;
- branches;
- next 1.3;
-
- 1.3
- date 93.09.18.16.47.47; author Aussem; state Exp;
- branches;
- next 1.2;
-
- 1.2
- date 93.09.10.01.50.41; author Aussem; state Exp;
- branches;
- next 1.1;
-
- 1.1
- date 93.09.08.16.25.48; author Aussem; state Exp;
- branches;
- next ;
-
-
- desc
- @defnition modul for smail
- @
-
-
- 1.12
- log
- @MAXPATH and MAXDOM make bigger
- @
- text
- @/*
- *
- * Defs.h: header file for rmail/smail.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Log: defs.h,v $
- * Revision 1.11 1993/11/13 23:13:20 Aussem
- * MAXLINE inserted
- *
- * Revision 1.10 1993/11/13 22:11:07 Aussem
- * VERSION is now again in defs.h
- *
- * Revision 1.9 1993/11/13 21:44:00 Aussem
- * VERSION defined removed
- * now stored in global var version
- *
- * Revision 1.8 1993/11/12 23:04:42 Aussem
- * Version string rewritten
- *
- * Revision 1.7 1993/10/18 19:58:28 Aussem
- * insert BSMTPSITES and UUBATCH
- *
- * Revision 1.6 1993/10/17 23:24:25 Aussem
- * insert in BARG a \n
- *
- * Revision 1.5 1993/10/17 21:48:50 Aussem
- * BARG and BMAIL for bsmtp mails inserted
- *
- * Revision 1.4 1993/10/10 19:28:46 Aussem
- * define for uumail:
- *
- * Revision 1.3 1993/09/18 16:47:47 Aussem
- * insert GNU license text in the header
- *
- * Revision 1.2 1993/09/10 01:50:41 Aussem
- * moved uulib:-files to uulib:mail/-files
- * new support for wCNews styled logfile as MAILLOG
- *
- * Revision 1.1 1993/09/08 16:25:48 Aussem
- * Initial revision
- *
- *
- */
-
- /* actual version */
- #define SMAIL_VERSION "1.0"
-
- #if defined(AMIGA)
- #define GETHOSTNAME /* use gethostname() */
- #else
- #define UNAME /* use uname() */
- #endif
-
- /* if defined, HOSTNAME overrides UNAME and GETHOSTNAME */
- /*#define HOSTNAME "nadia" /* literal name */
-
- /* #define HOSTDOMAIN "host.dom" /* overrides default HOSTNAME.MYDOM */
-
- /*
- * .UUCP here is just for testing, GET REGISTERED in COM, EDU, etc.
- * See INFO.REGISTRY for details.
- */
-
- /*#define MYDOM ".UUCP" /* literal domain suffix */
-
- /*
- * WARNING: DOMGATE is only for qualified gateways - use caution.
- * If you don't fully understand it - don't use it!
- * If you are not completely sure you need it - don't use it!
- * If you are not prepared to handle all addresses to MYDOM - don't use it!
- *
- * if defined, DOMGATE (DOMain GATEway) will cause addresses of the form
- *
- * user@@MYDOM or MYDOM!user
- *
- * (with and without the leading '.' on MYDOM)
- * to be seen treated simply 'user' - a purely local address.
- * Then, it is left to the aliasing code to map it back to a
- * non-local address if necessary.
- */
-
- /* #define DOMGATE /* Act as Domain Gateway */
-
- /*
- * HIDDENHOSTS allows hosts that serve as domain gateways to hide
- * the subdomains beneath them. Mail that originates at any of
- * the hosts in the subdomain will appear to come from the gateway host.
- * Hence, mail from
- *
- * anything.hostdomain!user
- *
- * will appear to come from
- *
- * hostdomain!user
- *
- * A consequence is that return mail to hostdomain!user would need to
- * be forwarded to the proper subdomain via aliases or other forwarding
- * facilities.
- *
- * If you're using sendmail, then if defined here,
- * it should be used in ruleset 4 of the sendmail.cf, too.
- */
-
- /* #define HIDDENHOSTS /* hide subdomains of hostdomain */
-
- /*
- * Mail that would otherwise be undeliverable will be passed to the
- * aliased SMARTHOST for potential delivery.
- *
- * Be sure that the host you specify in your pathalias input knows that you're
- * using it as a relay, or you might upset somebody when they find out some
- * other way. If you're using 'foovax' as your relay, and below you have
- * #define SMARTHOST "smart-host", then the pathalias alias would be:
- *
- * smart-host = foovax
- *
- * You can use SMSmarthost in uulib:config to determinate an smarthost
- */
-
- /*#define SMARTHOST "unido" /* pathalias alias for relay host */
-
- /* SMARTMAIL
- ** if no paths file does not exists or the path to smarthost
- ** is not found, all mails will be directly be send to SMARTHOST
- ** (or the SMSmarthost in uulib:config)
- ** <smarthost>!<searched_domain>!<user>
- */
- #define SMARTMAIL
-
- /*
- ** ALIAS and CASEALIAS are used only if SENDMAIL is NOT defined.
- ** Sites using sendmail have to let sendmail do the aliasing.
- ** LOWERLOGNAME maps all local login names into lower case. This
- ** helps sites who have only upper case send mail to mixed case sites.
- */
-
- #define ALIAS "uulib:Mail/aliases" /* location of mail aliases */
- /* #define CASEALIAS /* make aliases case sensitive */
- /* #define LOWERLOGNAME /* map local logins to lower case */
-
- /*
- * defining FULLNAME means that Full Name resolution
- * will be attempted when necessary.
- *
- * the Full Name information will be taken from a
- * list of {Full Name, address} pairs.
- * The names in the list must be sorted
- * without regard to upper/lower case.
- *
- * defining DOT_REQD says that the user name must contain a '.' for
- * the Full Name search to be done.
- *
- * All full name searches are case insensitive.
- *
- */
-
- #define FULLNAME "uulib:Mail/fullnames" /* list of Full Name, address pairs */
-
- /* #define DOT_REQD /* Must be George.P.Burdell@@gatech.EDU
- ** not just Burdell@@gatech.EDU
- */
-
- /*
- ** PATHS is name of pathalias file. This is mandatory.
- ** Define LOG if you want a log of mail. This can be handy for
- ** debugging and traffic analysis.
- ** Define RECORD for a copy of all mail. This uses much time and
- ** space and is only used for extreme debugging cases.
- */
-
- #ifndef PATHS
- #define PATHS "uulib:Mail/paths" /* location of the path database */
- #endif
-
- /* Style ala DUUCP logfile */
- #define LOG "uuspool:maillog" /* log of uucp mail */
-
- /* Attenttion all mails are logged here */
- #define RECORD "NIL:" /* record of uucp mail */
-
- /* style ala wCNews logfile */
- #define MAILLOG "uulib:Mail/logfile"
-
- /* File for BSMTP sites you directly call */
- #define BSMTPSITES "uulib:mail/bsmtp_sites"
-
- /*
- ** Mailer options:
- ** RMAIL is the command to invoke rmail on machine sys.
- ** RARG is how to insulate metacharacters from RMAIL.
- ** LMAIL is the command to invoke the local mail transfer agent.
- ** BMAIL is the command to invoke the bsmtp mail transfer agent.
- ** LARG is how to insulate metacharacters from LMAIL.
- ** BARG is how to insulate metacharacters from BMAIL.
- ** RLARG is LARG with host! on the front - to pass a uux addr to sendmail.
- ** SENDMAIL selects one of two sets of defines below for either
- ** using sendmail or /bin/lmail.
- */
-
- #ifndef UUX
- #define UUX "uux" /* location of uux command */
- #endif
-
- #ifndef SMAIL
- #define SMAIL "smail" /* location of smail command */
- #endif
-
- #ifndef UUMAIL
- #define UUMAIL "uumail:"
- #endif
-
- #ifndef UUBATCH
- #define UUBATCH "uuspool:batch/"
- #endif
-
- /*
- ** command used to retry failed mail, flag is used to set the routing level.
- */
- #define VFLAG ((debug == VERBOSE)?"-v":"")
- #define RETRY(flag) "%s %s %s -F %s ", SMAIL, VFLAG, flag, spoolfile
-
- /*
- ** use the -a if you have it. This sometimes helps failed mail and warning
- ** messages get back to where the mail originated.
- **
- ** some versions of uux can't do '-a' - pick one of the next two definitions
- */
-
- /* #define RMAIL(flags,from,sys) "%s -a%s %s - %s!rmail",UUX,from,flags,sys /* */
- /*#define RMAIL(flags,from,sys) "%s %s - %s!rmail",UUX,flags,sys /* */
- #define RMAIL(flags,from,sys) "%s %s %%s \"%s!rmail",UUX,flags,sys /* */
-
- #define RARG(user) " %s",user
- #define RFROM(frm,now,host) "From %s %.24s remote from %s\n",frm,now,host
-
- #define HANDLE ALL
- #define ROUTING REROUTE
-
- #define LMAIL(frm,sys) "mail %%s ",frm
- #define BMAIL(sys,myhost) "batch_smtp %%s %s %s",sys,myhost
- #define LARG(user) " %s",postmaster(user)
- #define BARG(user) "RCPT TO:<%s>\n",user
- #define RLARG(sys,frm) " %s!%s",sys,frm
- #define LFROM(frm,now,host) "From %s %.24s\n",frm,now
-
- /*
- ** The following definitions affect the queueing algorithm for uux.
- **
- ** DEFQUEUE if defined the default is to queue uux mail
- **
- ** QUEUECOST remote mail with a cost of less than QUEUECOST
- ** will be handed to uux for immediate delivery.
- **
- ** MAXNOQUEUE don't allow more than 'n' immediate delivery
- ** jobs to be started on a single invocation of smail.
- **
- ** GETCOST if defined, the paths file will be searched for
- ** each address to discover the cost of the route.
- ** this allows informed decisions about whether to
- ** use the queue flags when calling uux. The price
- ** is in the overhead of a paths file search for
- ** addresses that are not going to be routed.
- */
-
- #define DEFQUEUE /* default is to queue uux jobs */
-
- #define QUEUECOST 300 /* deliver immediately if the cost
- /* is DEMAND or better */
-
- #define MAXNOQUEUE 2 /* max UUX_NOQUEUE jobs */
-
- #define GETCOST /* search for cost */
-
- #define UUX_QUEUE "" /* uux flag for queueing */
- #define UUX_NOQUEUE "" /* uux with immediate delivery */
-
- /*
- ** Normally, all mail destined for the local host is delivered with a single
- ** call to the local mailer, and all remote mail is delivered with one call
- ** to the remote mailer for each remote host. This kind of 'batching' saves
- ** on the cpu overhead.
- **
- ** MAXCLEN is used to limit the length of commands that are exec'd by smail.
- ** This is done to keep other program's buffers from overflowing, or to
- ** allow for less intelligent commands which can take only one argument
- ** at a time (e.g., 4.1 /bin/mail). To disable the batching, set MAXCLEN
- ** a small value (like 0).
- */
-
- #define MAXCLEN 0 /* longest command allowed (approx.)
- /* this is to keep other's buffers
- ** from overflowing
- */
-
- /*
- ** PLEASE DON'T TOUCH THE REST
- */
-
- #define SMLBUF 512 /* small buffer (handle one item) */
- #define BIGBUF 4096 /* handle lots of items */
-
- #define MAXPATH 128 /* number of elements in ! path */
- #define MAXDOMS 64 /* number of subdomains in . domain */
- #define MAXARGS 500 /* number of arguments */
- #ifndef NULL
- #define NULL 0
- #endif
-
- #define DEBUG if (debug==YES) (void) printf
- #define ADVISE if (debug!=NO) (void) printf
- #define error(stat,msg,a) { (void) fprintf(stderr, msg, a); exit(stat); }
- #define lower(c) ( isupper(c) ? c-'A'+'a' : c )
- /* max line length */
- #define MAXLINE 60
-
- enum eform { /* format of addresses */
- ERROR, /* bad or invalidated format */
- LOCAL, /* just a local name */
- DOMAIN, /* user@@domain or domain!user */
- UUCP, /* host!address */
- ROUTE, /* intermediate form - to be routed */
- SENT /* sent to a mailer on a previous pass */
- };
-
- enum ehandle { /* what addresses can we handle? (don't kick to LMAIL) */
- ALL, /* UUCP and DOMAIN addresses */
- JUSTUUCP, /* UUCP only; set by -l */
- NONE /* all mail is LOCAL; set by -L */
- };
-
- enum erouting { /* when to route A!B!C!D */
- JUSTDOMAIN, /* route A if A is a domain */
- ALWAYS, /* route A always; set by -r */
- REROUTE /* route C, B, or A (whichever works); set by -R */
- };
-
- enum edebug { /* debug modes */
- NO, /* normal deliver */
- VERBOSE, /* talk alot */
- YES /* talk and don't deliver */
- };
-
-
- #include <string.h>
- #include "sysexits.h"
- #ifndef GENPROTO
- #include "pwd.h"
- typedef struct alias_node node;
- typedef struct pw_node pwlist;
-
- #include "protos.h"
- #endif
- @
-
-
- 1.11
- log
- @MAXLINE inserted
- @
- text
- @d20 3
- d315 2
- a316 2
- #define MAXPATH 32 /* number of elements in ! path */
- #define MAXDOMS 16 /* number of subdomains in . domain */
- @
-
-
- 1.10
- log
- @VERSION is now again in defs.h
- @
- text
- @d20 3
- d323 2
- a324 1
-
- @
-
-
- 1.9
- log
- @VERSION defined removed
- now stored in global var version
- @
- text
- @d20 4
- d52 2
- a53 1
- /*#define SENDMAIL "sendmail" /* Turn off to use /bin/(l)mail only */
- a242 12
- #ifdef SENDMAIL
-
- #define HANDLE JUSTUUCP /* see HANDLE definition below */
- #define ROUTING JUSTDOMAIN /* see ROUTING definition below */
-
- #define LMAIL(frm,sys) "%s -em -f%s",SENDMAIL,frm
- #define LARG(user) " %s",postmaster(user)
- #define RLARG(sys,frm) " %s!%s",sys,frm
- #define LFROM(frm,now,host) "From %s %.24s\n",frm,now
-
- #else
-
- a251 2
-
- #endif
- @
-
-
- 1.8
- log
- @Version string rewritten
- @
- text
- @d20 3
- a46 5
-
-
- #ifndef VERSION
- #define VERSION "Smail Amiga"
- #endif
- @
-
-
- 1.7
- log
- @insert BSMTPSITES and UUBATCH
- @
- text
- @d20 3
- d47 1
- a47 1
- #define VERSION "smail 2.5/Amiga"
- @
-
-
- 1.6
- log
- @insert in BARG a \n
- @
- text
- @d20 3
- d185 3
- d211 4
- @
-
-
- 1.5
- log
- @BARG and BMAIL for bsmtp mails inserted
- @
- text
- @d20 3
- d245 1
- a245 1
- #define BARG(user) "RCPT TO:<%s>",user
- @
-
-
- 1.4
- log
- @define for uumail:
- @
- text
- @d20 3
- d184 1
- d186 1
- d240 1
- d242 1
- @
-
-
- 1.3
- log
- @insert GNU license text in the header
- @
- text
- @d20 3
- d181 1
- a181 1
- ** LARG is how to insulate metacharacters from LMAIL.
- d193 4
- @
-
-
- 1.2
- log
- @moved uulib:-files to uulib:mail/-files
- new support for wCNews styled logfile as MAILLOG
- @
- text
- @d5 4
- a8 5
- * Configuration options for rmail/smail.
- * default configuration is:
- * full domain name is 'hostname.uucp' (get registered!)
- * path file is /usr/lib/uucp/paths.
- * no log, no record, use sendmail.
- d10 4
- a13 1
- * You can change these in the next few blocks.
- d15 4
- d20 4
- @
-
-
- 1.1
- log
- @Initial revision
- @
- text
- @d13 3
- a15 1
- * $Log$
- d17 1
- d116 1
- a116 1
- #define ALIAS "uulib:aliases" /* location of mail aliases */
- d136 1
- a136 1
- #define FULLNAME "uulib:fullnames" /* list of Full Name, address pairs */
- d151 1
- a151 1
- #define PATHS "uulib:paths" /* location of the path database */
- d154 1
- d156 2
- d159 3
- @
-