aboutsummaryrefslogtreecommitdiffstats
path: root/mail/pine4/files/patch-ac
blob: df5cc47f546665abd48aca2f429b2d62e8dc1fab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
*** pine/osdep/os-bsf.h.orig    Sat Jun 15 12:32:50 1996
--- pine/osdep/os-bsf.h Fri Jun 14 00:45:08 1996
***************
*** 0 ****
--- 1,407 ----
+ /*----------------------------------------------------------------------
+   $Id: os-bsi.h,v 1.42 1996/06/05 17:12:38 mikes Exp $
+ 
+             T H E    P I N E    M A I L   S Y S T E M
+ 
+    Laurence Lundblade and Mike Seibel
+    Networks and Distributed Computing
+    Computing and Communications
+    University of Washington
+    Administration Builiding, AG-44
+    Seattle, Washington, 98195, USA
+    Internet: lgl@CAC.Washington.EDU
+              mikes@CAC.Washington.EDU
+ 
+    Please address all bugs and comments to "pine-bugs@cac.washington.edu"
+ 
+ 
+    Pine and Pico are registered trademarks of the University of Washington.
+    No commercial use of these trademarks may be made without prior written
+    permission of the University of Washington.
+ 
+    Pine, Pico, and Pilot software and its included text are Copyright
+    1989-1996 by the University of Washington.
+ 
+    The full text of our legal notices is contained in the file called
+    CPYRIGHT, included with this distribution.
+ 
+ 
+    Pine is in part based on The Elm Mail System:
+     ***********************************************************************
+     *  The Elm Mail System  -  Revision: 2.13                             *
+     *                                                                     *
+     *             Copyright (c) 1986, 1987 Dave Taylor              *
+     *             Copyright (c) 1988, 1989 USENET Community Trust   *
+     ***********************************************************************
+  
+ 
+   ----------------------------------------------------------------------*/
+ 
+ #ifndef _OS_INCLUDED
+ #define _OS_INCLUDED
+ 
+ 
+ /*----------------------------------------------------------------------
+ 
+    This first section has some constants that you may want to change
+    for your configuration.  This is the BSD/386 Gamma 4.1 version of the
+    os.h file.
+    Further down in the file are os-dependent things that need to be set up
+    correctly for each os.  They aren't interesting, they just have to be
+    right.  There are also a few constants down there that may be of
+    interest to some.
+ 
+  ----*/
+ 
+ /*----------------------------------------------------------------------
+    Define this if you want the disk quota to be checked on startup.
+    Of course, this only makes sense if your system has quotas.  If it doesn't,
+    there should be a dummy disk_quota() routine in os-xxx.c so that defining
+    this won't be harmful anyway.
+  ----*/
+ /* #define USE_QUOTAS  /* comment out if you never want quotas checked */
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+    Define this if you want to allow the users to change their From header
+    line when they send out mail.  The users will still have to configure
+    either default-composer-hdrs or customized-hdrs to get at the From
+    header, even if this is set.
+  ----*/
+ #define ALLOW_CHANGING_FROM  /* comment out to not allow changing From */
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+    Define this if you want to allow users to turn on the feature that
+    enables sending to take place in a fork()'d child.  This may reduce
+    the time on the user's wall clock it takes to post mail.
+    NOTE: You'll also have to make sure the appropriate osdep/postreap.*
+          file is included in the os-*.ic file for your system.
+  ----*/
+ #define BACKGROUND_POST  /* comment out to disable posting from child */
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+     Turn this on if you want to disable the keyboard lock function.
+  ----*/
+ /* #define NO_KEYBOARD_LOCK */
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+     Turn this on to trigger QP encoding of sent message text if it contains
+   "From " at the beginning of a line or "." on a line by itself.
+  ----*/
+ /* #define ENCODE_FROMS */
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+     Timeouts (seconds)
+  ----*/
+ #define DF_MAILCHECK      "150" /* How often to check for new mail, by
+                  default.  There's some expense in doing
+                  this so it shouldn't be done too
+                  frequently.  (Can be set in config
+                  file now.)  */
+ 
+ /*----------------------------------------------------------------------
+     Check pointing (seconds)
+  ----*/
+ #define CHECK_POINT_TIME (7*60) /* Check point the mail file (write changes
+                  to disk) if more than CHECK_POINT_TIME
+                  seconds have passed since the first
+                  change was made.  Depending on what is
+                  happening, we may wait up to three times
+                  this long, since we don't want to do the
+                  slow check pointing and irritate the user. */
+                                      
+ #define CHECK_POINT_FREQ   (12) /* Check point the mail file if there have been
+                                    at least this many (status) changes to the
+                  current mail file.  We may wait longer if
+                  it isn't a good time to do the checkpoint. */
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+  In scrolling through text, the number of lines from the previous
+  screen to overlap when showing the next screen.  Usually set to two.
+  ----*/
+ #define   DF_OVERLAP  "2"
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+  When scrolling screens, the number of lines from top and bottom of
+  the screen to initiate single-line scrolling.
+  ----*/
+ #define   DF_MARGIN   "0"
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+  Default fill column for pine composer and maximum fill column.  The max
+  is used to stop people from setting their custom fill column higher than
+  that number.  Note that DF_FILLCOL is a string but MAX_FILLCOL is an integer.
+  ----*/
+ #define   DF_FILLCOL  "74"
+ #define   MAX_FILLCOL 80
+ 
+ 
+ 
+ /*----- System-wide config file ----------------------------------------*/
+ #define SYSTEM_PINERC             "/usr/local/etc/pine.conf"
+ #define SYSTEM_PINERC_FIXED       "/usr/local/etc/pine.conf.fixed"
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+    The default folder names and folder directories (some for backwards
+    compatibility).  Think hard before changing any of these.
+  ----*/
+ #define DF_DEFAULT_FCC            "sent-mail"
+ #define DEFAULT_SAVE              "saved-messages"
+ #define POSTPONED_MAIL            "postponed-mail"
+ #define POSTPONED_MSGS            "postponed-msgs"
+ #define INTERRUPTED_MAIL          ".pine-interrupted-mail"
+ #define DEADLETTER                "dead.letter"
+ #define DF_MAIL_DIRECTORY         "mail"
+ #define INBOX_NAME                "INBOX"
+ #define DF_SIGNATURE_FILE         ".signature"
+ #define DF_ELM_STYLE_SAVE         "no"
+ #define DF_HEADER_IN_REPLY        "no"
+ #define DF_OLD_STYLE_REPLY        "no"
+ #define DF_USE_ONLY_DOMAIN_NAME   "no"
+ #define DF_FEATURE_LEVEL          "sapling"
+ #define DF_SAVE_BY_SENDER         "no"
+ #define DF_SORT_KEY               "arrival"
+ #define DF_AB_SORT_RULE           "fullname-with-lists-last"
+ #define DF_SAVED_MSG_NAME_RULE    "default-folder"
+ #define DF_FCC_RULE               "default-fcc"
+ #define DF_STANDARD_PRINTER       "lpr"
+ #define ANSI_PRINTER              "attached-to-ansi"
+ #define DF_ADDRESSBOOK            ".addressbook"
+ #define DF_BUGS_FULLNAME          "Pine Developers"
+ #define DF_BUGS_ADDRESS           "pine-bugs@cac.washington.edu"
+ #define DF_SUGGEST_FULLNAME       "Pine Developers"
+ #define DF_SUGGEST_ADDRESS        "pine-suggestions@cac.washington.edu"
+ #define DF_PINEINFO_FULLNAME      "Pine-Info News Group"
+ #define DF_PINEINFO_ADDRESS       "pine-info@cac.washington.edu"
+ #define DF_LOCAL_FULLNAME         "Local Support"
+ #define DF_LOCAL_ADDRESS          "postmaster"
+ #define DF_KBLOCK_PASSWD_COUNT    "1"
+ 
+ /*----------------------------------------------------------------------
+    The default printer when pine starts up for the first time with no printer
+  ----*/
+ #define DF_DEFAULT_PRINTER        ANSI_PRINTER
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+ 
+    OS dependencies, BSD/386 Gamma 4.1 version.  See also the os-bsi.c files.
+    The following stuff may need to be changed for a new port, but once
+    the port is done, it won't change.  At the bottom of the file are a few
+    constants that you may want to configure differently than they
+    are configured, but probably not.
+ 
+  ----*/
+ 
+ 
+ 
+ /*----------------- Are we ANSI? ---------------------------------------*/
+ #define ANSI      /* this is an ANSI compiler */
+ 
+ /*------ If our compiler doesn't understand type void ------------------*/
+ /* #define void char     /* no void in compiler */
+ 
+ 
+ 
+ /*------- Some more includes that should usually be correct ------------*/
+ #include <pwd.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <netdb.h>
+ 
+ 
+ 
+ /*----------------- locale.h -------------------------------------------*/
+ /* #include <locale.h>  /* To make matching and sorting work right */
+ 
+ 
+ 
+ /*----------------- time.h ---------------------------------------------*/
+ #include <time.h>
+ /* plain time.h isn't enough on some systems */
+ /* #include <sys/time.h>  /* For struct timeval usually in time.h */ 
+ 
+ 
+ 
+ /*--------------- signal.h ---------------------------------------------*/
+ /* #include <signal.h>      /* sometimes both required, sometimes */
+ #include <sys/signal.h>  /* only one or the other */
+ 
+ #define SigType void     /* value returned by sig handlers is void */
+ /* #define SigType int      /* value returned by sig handlers is int */
+ 
+ /* #define POSIX_SIGNALS    /* use POSIX signal semantics (ttyin.c) */
+ /* #define SYSV_SIGNALS    /* use System-V signal semantics (ttyin.c) */
+ 
+ 
+ 
+ 
+ /*-------------- A couple typedef's for integer sizes ------------------*/
+ typedef unsigned int usign32_t;
+ typedef unsigned short usign16_t;
+ 
+ 
+ 
+ /*-------------- qsort argument type -----------------------------------*/
+ #define QSType void  /* qsort arg is of type void * */
+ /* #define QSType char  /* qsort arg is of type char * */
+ 
+ 
+ 
+ /*-------------- fcntl flag to set non-blocking IO ---------------------*/
+ /*#define NON_BLOCKING_IO O_NONBLOCK      /* POSIX style */
+ #define   NON_BLOCKING_IO FNDELAY     /* good ol' bsd style  */
+ 
+ 
+ 
+ /*------ how help text is referenced (always char ** on Unix) ----------*/
+ #define HelpType char **
+ #define NO_HELP (char **)NULL
+ 
+ 
+ 
+ /*
+  * Choose one of the following three terminal drivers
+  */
+ 
+ /*--------- Good 'ol BSD -----------------------------------------------*/
+ #include <sgtty.h>      /* BSD-based systems */
+ 
+ /*--------- System V terminal driver -----------------------------------*/
+ /* #define HAVE_TERMIO     /* this is for pure System V */
+ /* #include <termio.h>     /* Sys V */
+ 
+ /*--------- POSIX terminal driver --------------------------------------*/
+ /* #define HAVE_TERMIOS    /* this is an alternative */
+ /* #include <termios.h>    /* POSIX */
+ 
+ 
+ 
+ /*-------- Use poll system call instead of select ----------------------*/
+ /* #define USE_POLL        /* use the poll() system call instead of select() */
+ 
+ 
+ 
+ /*-------- Use terminfo database instead of termcap --------------------*/
+ /* #define USE_TERMINFO    /* use terminfo instead of termcap */
+ 
+ 
+ 
+ /*-- What argument does wait(2) take? Define this if it is a union -----*/
+ #define HAVE_WAIT_UNION  /* the arg to wait is a union wait * */
+ 
+ 
+ 
+ /*-------- Is window resizing available? -------------------------------*/
+ #if defined(TIOCGWINSZ) && defined(SIGWINCH)
+ #define RESIZING  /* SIGWINCH and friends */
+ #endif
+ 
+ 
+ 
+ /*-------- If no vfork, use regular fork -------------------------------*/
+ /* #define vfork fork  /* vfork is just a lightweight fork, so can use fork */
+ 
+ 
+ 
+ /*----- The usual sendmail configuration for sending mail on Unix ------*/
+ #define SENDMAIL  "/usr/sbin/sendmail"
+ #define SENDMAILFLAGS "-bs -odb -oem" /* send via smtp with backgroud
+                      delivery and mail back errors */
+ 
+ 
+ /*----------------------------------------------------------------------
+    If no nntp-servers are defined, this program will be used to post news.
+  ----*/
+ /* #define SENDNEWS   "/usr/local/bin/inews -h"   /* news posting cmd */
+ 
+ 
+ /*--------- Program employed by users to change their password ---------*/
+ #define   PASSWD_PROG "/bin/passwd"
+ 
+ 
+ /*-------------- A couple constants used to size arrays ----------------*/
+ #include <sys/param.h>          /* Get it from param.h if available */
+ #undef MAXPATH                  /* Sometimes defined in param.h differently */
+ #define MAXPATH MAXPATHLEN      /* Longest pathname we ever expect */
+ /* #define MAXPATH        (512)    /* Longest pathname we ever expect */
+ #define MAXFOLDER      (64)     /* Longest foldername we ever expect */  
+ 
+ 
+ /*-- Max screen pine will display on. Used to define some array sizes --*/
+ #define MAX_SCREEN_COLS  (170) 
+ #define MAX_SCREEN_ROWS  (200) 
+ 
+ 
+ /*---- When no screen size can be discovered this is the size used -----*/
+ #define DEFAULT_LINES_ON_TERMINAL (24)
+ #define DEFAULT_COLUMNS_ON_TERMINAL   (80)
+ 
+ 
+ /*----------------------------------------------------------------------
+     Where to put the output of pine in debug mode. Files are created
+  in the user's home directory and have a number appended to them when
+  there is more than one.
+  ----*/
+ #define DEBUGFILE ".pine-debug"
+ 
+ /*----------------------------------------------------------------------
+     The number of debug files to save in the user's home diretory. The files
+  are useful for figuring out what a user did when he complains that something
+  went wrong. It's important to keep a bunch around, usually 4, so that the
+  debug file in question will still be around when the problem gets 
+  investigated. Users tend to go in and out of Pine a few times and there
+  is one file for each pine invocation
+  ----*/
+ #define NUMDEBUGFILES 4
+ 
+ /*----------------------------------------------------------------------
+    The default debug level to set (approximate meanings):
+        1 logs only highest level events and errors
+        2 logs events like file writes
+        3
+        4 logs each command
+        5
+        6 
+        7 logs details of command execution (7 is highest to run any production)
+        8
+        9 logs gross details of command execution
+  ----*/
+ #define DEFAULT_DEBUG 2
+ 
+ 
+ 
+ /*----------------------------------------------------------------------
+     Various maximum field lengths, probably shouldn't be changed.
+  ----*/
+ #define MAX_FULLNAME     (100) 
+ #define MAX_NICKNAME      (40)
+ #define MAX_ADDRESS      (200)
+ #define MAX_NEW_LIST     (500)  /* Max addrs to be added when creating list */
+ #define MAX_SEARCH       (100)  /* Longest string to search for             */
+ #define MAX_ADDR_EXPN   (1000)  /* Longest expanded addr                    */
+ #define MAX_ADDR_FIELD (10000)  /* Longest fully-expanded addr field        */
+ 
+ 
+ #endif /* _OS_INCLUDED */
+ 
+