-
Notifications
You must be signed in to change notification settings - Fork 44
/
ChangeLog.old
519 lines (340 loc) · 17.2 KB
/
ChangeLog.old
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
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
2001-02-01 Bruce Guenter <[email protected]>
* src/send.cc (send_all): If sending the file fails, skip to the
next file instead of aborting sending completely.
2000-12-29 Bruce Guenter <[email protected]>
* Released version 1.00RC5
2000-10-05 Bruce Guenter <[email protected]>
* lib/hostname.cc: Fixed the prototype for getdomainname.
2000-10-02 Bruce Guenter <[email protected]>
* protocols/smtp.cc (docmd): Return proper error codes for
permanent and temporary SMTP failures.
2000-08-28 Bruce Guenter <[email protected]>
* Released version 1.00RC4
* lib/address.cc (RULE(domain)): Modified to handle (and strip) a
trailing period in the domain name.
2000-08-15 Bruce Guenter <[email protected]>
* lib/hostname.cc (getnames): Added an extern declaration of
getdomainname for systems that don't declare it.
2000-08-10 Bruce Guenter <[email protected]>
* Released version 1.00RC3
* src/inject.cc (read_header): Fixed header parsing logic.
2000-08-07 Bruce Guenter <[email protected]>
* src/inject.cc: Treat the first non-header line as the first line
of the body.
* src/sendmail.cc: Ignore the -L option (set the identifier for
syslog messages).
2000-07-12 Bruce Guenter <[email protected]>
* src/send.cc: Added code to handle buggy named pipes that require
both a reader and a writer to be opened simultaneously.
* lib/tcpconnect.cc (tcpconnect): AF_INET should have been PF_INET
in call to socket. Also, the sin_family needed to be set to
AF_INET.
2000-07-03 Bruce Guenter <[email protected]>
* lib/hostname.cc (getnames): Fixed typo that caused systems
without "domainname" in struct utsname to fail to compile.
2000-06-28 Bruce Guenter <[email protected]>
* Released version 1.00RC2
* lib/hostname.cc (getnames): Changed the logic here to append the
domain name to the node name to produce the fully qualified host
name if the node name does not already contain the domain name.
* protocols/smtp.cc: Changed all the calls to smtp::docmd to use
the start of the range instead of the expected response. This may
have been causing some SMTP sessions to fail.
2000-06-19 Bruce Guenter <[email protected]>
* lib/tcpconnect.cc (tcpconnect): Removed an extraneous const from
the call to connect.
2000-06-15 Bruce Guenter <[email protected]>
* Released version 1.00RC1
* Fixed up copyright notices in all the sources.
* lib/makefield.cc (make_date): Totally reworked the logic here if
tm_gmtoff is detected to fix timezone and DST detection bugs.
2000-01-11 Bruce Guenter <[email protected]>
* Released version 0.40
* lib/makefield.cc: Fixed up to autodetect (with the help of
configure) the tm_isdst and tm_gmtoff flags in struct tm.
2000-01-11 Bruce Guenter <[email protected]>
* lib/tcpconnect.cc: Reordered the include files here to avoid
problems with FreeBSD headers.
2000-01-10 Bruce Guenter <[email protected]>
* lib/address.cc: Renamed isspecial to issymbol to avoid problems
on FreeBSD caused by an existing "isspecial" macro.
* src/sendmail.cc (cli_main): Fixed typo that caused parseargs to
not be called.
1999-10-22 Bruce Guenter <[email protected]>
* protocols/protocol.cc (cli_main): Use the already opened FD to
load the message from instead of opening it.
* src/send.cc (send_one): Open the named file for writing before
attempting to send message, and pass it to exec_protocol.
(exec_protocol): Dup the open message to FD 0 before executing
program.
1999-10-21 Bruce Guenter <[email protected]>
* Released version 0.39
* lib/list.h: Added a const_list_iterator, as well as a copy
constructor for list<T>.
1999-10-20 Bruce Guenter <[email protected]>
* src/inject.cc (parse_line): Added test for non-RFC header lines
(ie lines starting with anything except a sequence of
non-whitespace characters follows by a colon).
(read_header): Test if the first header line is a continuation
line and fail if so.
* src/send.cc (load_remotes): Fixed parsing of "remotes" control
file to allow any whitespace between, before, and after elements,
as well as to handle lines starting with a '#' as comments.
1999-10-04 Bruce Guenter <[email protected]>
* Released version 0.38
* src/send.cc (load_config): Don't fail reading the configuration
if pausetime can't be read.
1999-09-23 Bruce Guenter <[email protected]>
* Released version 0.37
* lib/address.cc (RULE(route_spec)): Made the "phrase" optional to
allow addresses like "<foo@bar>" (note, no comment) to be parsed.
1999-09-16 Bruce Guenter <[email protected]>
* src/send.cc (send_all): Load the config each time the queue is
run.
(do_select): Removed the logic here to handle reloading the config
on HUP, since it's reloaded all the time.
(load_files): Removed the 'stat' on the queue directory as an
indicator of if it needs to be rescanned, and made the contents
reloaded always.
(do_select): Force a reload of the queue if the select times out.
1999-09-11 Bruce Guenter <[email protected]>
* Released version 0.36
* src/sendmail.cc: Rewrote to use the CLI library.
* src/inject.cc: Rewrote to use the CLI library.
* protocols/protocol.cc: Rewrote to use the CLI library.
1999-09-02 Bruce Guenter <[email protected]>
* Released version 0.35
1999-08-26 Bruce Guenter <[email protected]>
* src/send.cc (remote): Parse options from the string.
(load_remotes): Handle options after the protocol name.
(exec_protocol): Build an argument list including options.
* protocols/protocol.cc (parse_args): Added support for a port
number.
* protocols/qmqp.cc: Adapted to use generic interface.
* protocols/smtp.cc: Adapted to use generic interface.
* protocols/protocol.cc (main): Started writing a generic protocol
library, which will open the message file and determine a port
number.
* src/send.cc (load_files): Stat the queue before opening it to
see if the contents have changed.
1999-07-22 Bruce Guenter <[email protected]>
* lib/hostname.cc (getnames): Switched the implementation of
domainname and hostname to use uname(2). This fixes a problem
observed with empty domain names.
1999-07-16 Bruce Guenter <[email protected]>
* lib/address.cc: Rewrote this parsing framework to do a top-level
tokenization before parsing, and then parse based on those
tokens.
1999-07-15 Bruce Guenter <[email protected]>
* Imported latest mystring and fdbuf libraries, and adapted the
rest of the code to call the new routines.
1999-03-30 Bruce Guenter <[email protected]>
* Integrated new modularized mystring library from vmailmgr.
1999-03-27 Bruce Guenter <[email protected]>
* Released version 0.33
* src/queue.cc (copyenv): Only do the envelope remapping on
recipient addresses.
* lib/listtest.cc: Wrote test code for the list class (not
compiled, but included in the distribution).
* lib/list.h (remove): Fixed (hopefully) the code to advance the
prev/curr pointers after removing a node.
* src/send.cc (catchsender): Removed an extraneous return line.
* doc/nullmailer-queue.8: Updated to describe the admin address
facility.
* src/queue.cc (main): Load in the "admin" address and localhost
to determine how to remap addresses.
If the hostname is localhost, remap this address to the admin
address.
1999-03-04 Bruce Guenter <[email protected]>
* Released version 0.32
* lib/address.cc (unquote): Wrote this routine to remove quoting
and escaped characters from a string.
(quote): Wrote this routine to add necessary quoting and escaping
to addresses.
(RULE(quoted_string)): Unquote strings before returning them.
Modified many other routines to handle unquoting.
1999-02-25 Bruce Guenter <[email protected]>
* Released version 0.31
* Makefile.am (install-root): Needed to make nullmailer-queue
setuid nullmail here.
* HOWTO: Added a quick guide to getting nullmailer running.
1999-02-23 Bruce Guenter <[email protected]>
* Released version 0.30
* src/inject.cc (struct header_field): Do not empty the recipient
list when a resent field is seen if header recipients are being
ignored.
* doc/nullmailer-inject.1: Adjusted the section on setting the
host name to account for the below change.
* src/inject.cc (setup_from): Set the host name to defaulthost
instead of hostname(), and canonicalize host and shost before
using them.
* lib/fdbuf_copy.cc (fdbuf_copy): Added an initial EOF test and
moved the loop's EOF test to the end of the loop.
1999-02-22 Bruce Guenter <[email protected]>
* src/inject.cc (send_body): Removed the test to see if fin is at
EOF before calling fdbuf_copy.
* lib/fdbuf_copy.cc (fdbuf_copy): Revised loop termination
condition from in.last_count() == 0 (which could happen at EOF) to
!in.eof() (since EOF is not an error condition).
* Released version 0.29
* src/inject.cc: Fixed a number of offsets in the header_has_* and
header_field_* declarations.
* doc/nullmailer-inject.1: Modified the documentation to describe
the "-n" (do not queue) and "-v" (show envelope) flags.
* src/inject.cc: Added handling for flags to print out the message
and optionally the envelope instead of queueing the message.
* src/sendmail.cc (parseargs): Added a whole long list of sendmail
flags to ignore.
* lib/address.cc (RULE(route)): fixed missing pointer advance
1999-02-21 Bruce Guenter <[email protected]>
* test/address-test.cc: Moved this testing code out of the main
address.cc source code module.
1999-02-20 Bruce Guenter <[email protected]>
* lib/address.cc (RULE(address)): Reversed order of group and
mailbox.
(RULE(phrase)): Fixed the extra trailing space added by this rule
along with cleaning up how this rule works.
(RULE(mailboxes)): Added this rule, a parallel of addresses, for
use in group.
(RULE(group)): Fixed several bugs in this rule.
1999-02-19 Bruce Guenter <[email protected]>
* lib/address.cc (RULE(quoted_string)): Fixed inclusion of quotes
in quoted addresses.
(TEST_ADDRESS): Added in a self-test framework
(RULE(comment)): fixed missing comment carry-through
(RULE(group)): fixed missing comment insertion
(RULE(addresses)): fixed missing comment insertion
(RULE(local_part)): forgot to advance pointer if a comment was
matched.
(RULE(domain)): forgot to advance pointer after SKIPDELIM
(RULE(addr_spec)): forgot to advance pointer after SKIPDELIM
1999-02-18 Bruce Guenter <[email protected]>
* Released version 0.28
* src/sendmail.cc (main): Pass "-e" to inject (use either) instead
of "-a" (use args only) if sendmail was not passed a "-t",
otherwise pass "-b" (use both) instead of "-h" (use header only).
* spec: Fixed the useradd part of this script to add the
"nullmail" user instead of "$1".
* init: Reworked large parts of this script to make it work on my
systems.
* src/send.cc (read_trigger): Modified behavior of this routine to
read a chunk of data from the trigger before closing it. This
prevents the trigger from being "pulled" after it's been reopened.
* src/sendmail.cc: Prefixed all error messages with "sendmail:".
* src/inject.cc (setup_from): Added code to handle the "c" flag --
use "address (comment)" style in the generated from line instead
of "comment <address>".
(exec_queue): Fixed error message to print out the actual value of
SBIN_DIR, plus prefixing the message with "nullmailer-inject".
* Released version 0.27
* src/inject.cc (main): Whoops -- write should have been writeln.
* protocols/qmqp.cc: Completed (with minimal testing) the QMQP
module.
* lib/fdbuf_copy.cc (fdbuf_copy): Added a "noflush" option to make
calling flush on the output fdbuf optional.
* lib/makefield.cc (make_date): Fixed bug: neglected to
NUL-terminate the timezone string.
* lib/canonicalize.cc (canonicalize): Moved this function out of
address.cc
* lib/errcodes.cc (errorstr): Added some new error codes
* lib/fdibuf.cc (getchar): Wrote this routine to read in a single
character.
(getnetstring): Wrote this routine to read in a netstring
* lib/netstring.cc (strnl2net): Wrote this routine that converts a
string plus a newline character into a netstring. This avoids an
extra memory allocation and copy to do the concatenation before
making the netstring.
* protocols/qmqp.cc: Started a QMQP protocol module.
* lib/netstring.cc (str2net): Wrote this routine to convert
strings into netstrings (for details, see
ftp://koobera.math.uic.edu/www/proto/netstrings.txt).
* protocols/smtp.cc (main): Moved the message file open above the
connection to avoid making a connection if the file is unreadable.
* lib/fdibuf.cc (rewind): Wrote this routine to rewind an open
fdibuf.
* src/inject.cc (make_recipient_list): Completed code to handle
the "t" flag.
* doc/nullmailer-inject.1: Added section describing the parsing of
the NULLMAILER_FLAGS environment variable.
* src/inject.cc (struct header_field): Added code to handle fields
that are ignored.
(fix_header): Added preliminary code to add in a missing to field.
(parse_flags): Wrote this routine to handle the NULLMAILER_FLAGS
environment variable.
(parse_args): Added a call to parse_flags.
1999-02-17 Bruce Guenter <[email protected]>
* Released version 0.26
* Moved address.cc, address.h, makefield.cc into lib.
1999-02-16 Bruce Guenter <[email protected]>
* src/queue.cc (deliver): Fixed unique filename generator to call
itoa only once per constructor, and to avoid calling time() and
getpid() more than necessary.
* src/send.cc (exec_protocol): Stripped out the error messages
printed in this routine, since they go nowhere anyways.
(send_one): Added tracing information about program execution.
* src/makefield.cc (make_messageid): Can't have two calls to itoa
as arguments to the same function call (mystring constructor in
this case) because itoa uses a static buffer.
* src/inject.cc (exec_queue): Execute nullmailer-queue from
SBIN_DIR.
* lib/defines.h: Added a definition for SBIN_DIR.
1999-02-15 Bruce Guenter <[email protected]>
* Released version 0.25
* doc/nullmailer-send.8: Updated the documentation to reflect the
new parsing code for "remotes".
* src/makefield.cc (make_messageid): Changed the format of the
message-id string to make it easier to generate and more unique.
(make_date): Fixed timezone number generator code.
* lib/itoa.cc (itoa): Fixed bug in padding code that caused the
string to be padded with unending NUL bytes instead of zeros.
* lib/config_readlist.cc (config_readlist): Modified to strip all
the lines that are read in, to ignore lines that start with a
pound ('#') or are empty, and to return false if no lines were
read.
* lib/config_read.cc (config_read): Modified to strip the
resulting string.
* lib/mystring.cc: Revised lstrip, rstrip, and strip to return
*this if no modifications to the string were necessary.
* src/send.cc (load_config): Rewrote the logic of this routine to
always load all the config files, and moved the loading of the
remotes into a separate section.
(load_remotes): Added support for loading "hostname protocol"
pairs from the remotes file.
* protocols/smtp.cc (main): Filename is argv[2], not argv[1].
* src/address.cc (RULE(local_part)): Fixed another pointer
increment bug.
* src/inject.cc (main): Moved check for no recipients into here.
1999-02-14 Bruce Guenter <[email protected]>
* lib/hostname.cc: Fixed a problem that could cause
nullmailer-inject (and possibly others) to core dump on exit.
* src/inject.cc (send_body): Fixed bug that caused transmission of
an empty body (legal) to nullmailer-queue to fail.
(read_header): Added a check to ensure that at least one recipient
was given.
1999-02-13 Bruce Guenter <[email protected]>
* src/send.cc: Rewrote the portion of this code that executes the
protocol program to not do a connect, and to expect a numerical
error code from the exit status of the program. Also implemented
a configurable pause between queue runs.
* protocols/smtp.cc: Rewrote this module extensively. It now
expects the hostname as the first command-line parameter and the
filename as the second, and returns a single error code (no
text error messages and no pipes).
1999-02-12 Bruce Guenter <[email protected]>
* src/address.cc (RULE(domain)): Fixed pointer increment bug in
this rule.
* doc/nullmailer-inject.1: Updated to reflect status of
configuration variable reading.
* src/makefield.cc (make_messageid): Use idhost instead of
hostname().
* src/inject.cc (read_config): Read the defaultdomain,
defaulthost, and idhost config files.
* src/address.cc (canonicalize): Use the defaulthost and
defaultdomain strings, declared in src/inject.cc, instead of
hostname() and domainname().
* src/inject.cc: Added code to parse the command line options as
documented in the man page.
1999-02-11 Bruce Guenter <[email protected]>
* Released version 0.22
* src/sendmail.cc: Completed the basics of this program.
* doc/nullmailer-inject.1: Filled in the DESCRIPTION a little bit.