ChangeLog
17.6 KB
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
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
2001-02-28 Alain Magloire
* mailbox/address.c (address_get_personal) : Remove surrounding quotes.
* mailbox/mbx_mbox.c (mbox_scan) : If the mailbox is updated don't
rescan again.
(mbox_expunge) : Same the uidvalidity in the header field "IMABase:"
on the first message of the mailbox.
* imap4d/fetch.c (fetch_envelope) : Envelope imap4 command implemented.
(fetch_send_address) : New function.
2001-02-26 Alain Magloire
* mailbox/mbx_imap.c (imap_submessage_size) : New function to
retrieve message size of attachments.
* imap4d/fetch.c : More functionnality for the FETCH command.
(fetch_operation) : New operation.
* imap4d/util.c (util_token) : little helper function.
2001-02-25 Alain Magloire
* lib/strtok_r.c : If there are no delimiters left save the old string
and return NULL.
* mailbox/folder_imap.c (imap_fetch) : Finish imap FETCH command.
(imap_rfc822) : New Function.
(imap_rfc822_text) : New Function.
(imap_rfc822_size) : New Function.
(imap_rfc822_header) : New Function.
(imap_uid) : New Function.
(imap_body) : New Function.
(imap_bodystructure0) : Save the size.
2001-02-22 Alain Magloire
* mailbox/property.c : New file.
* include/mailutils/property.h : New file.
* mailbox/mailbox.c (mailbox_get_property) : New function,
a first draft to let set "property" on a mailbox that can
change its behaviour.
* mailbox/include/mailbox0.h : New field in struct _mailbox, property.
* sieve/lex-sieve.lex : Add LGPL banner.
* sieve/gram-sieve.y : Add LGPL banner.
2001-02-22 Alain Magloire
* sieve : New Directory.
* sieve/lex-sieve.lex : RFC3028 tokenizer.
* sieve/gram-sieve.y : RFC3028 grammar.
2001-02-20 Alain Magloire
* mailbox/mailbox.c (mailbox_set_ticket mailbox_set_authority
mailbox_set_stream) : Those objects are now part of th folder
if a folder is attached to the mailbox.
* mailbox/mbx_imap.c (imap_message_read imap_body_read) :
If offset == 0, reset the lines to 0.
2001-02-19 Alain Magloire
* mailbox/mbx_pop.c (pop_body_read) : Move the CHECK_BUSY higher
it should be the first thing done. If the state is POP_NO_STATE
reset the offset and the size to 0 i.e we are starting fresh.
(pop_header_read) : Likewise.
(pop_message_read) : Likewise.
* mailbox/stream.c (stream_write) : Don't call stream_flush().
2001-02-04 Alain Magloire
* mailbox/message.c (message_get_uid) : Add message_get_uid() for
the UID of the message (IMAP definition) and message_get_uidl() for
the POP3 definition.
* mailbox/attachment.c : Indentation fixes.
* mailbox/file_stream.c : Make sure that the FILE* is close before opening.
* mailbox/folder_imap.c : Use strcasecmp() not strcmp().
* mailbox/mailbox.c : Added mailbox_uidnext() and mailbox_uidvalidity.
* mailbox/mapfile_stream.c : When munmap() failed we should check
against MAP_FAILED, not NULL.
* mailbox/mbx_imap.c : Implement imap_uidnext(), imap_uidvalidity()
imap_message_uid().
* mailbox/mbx_mbox.c : Implement mbox_uidnext(), mbox_uidvalidity()
mbox_message_uid().
* mailbox/mbx_mboxscan.c : Implement uidvalidity, it is save int the
header of the first message, "X-IMAPbase: 127673838 123", a la c-client.
Save UID, it is save in "X-UID".
* mailbox/mbx_pop.c : Implement pop_messages_recent(),
pop_message_unseen() and pop_uid().
* mailbox/trans_stream.c : Indentation fixes.
* include/mailutils/message.h: New prototypes message_get_uid(),
message_set_get_uid().
* include/mailutils/mailbox.h: New prototypes mailbox_uidnext(),
mailbox_uidvalidity().
* lib/snprintf.c lib/snprintf.h : Put it under the LGPL term.
* mailbox/imap4d/fetch.c : First draft implementation, very yucky.
* mailbox/imap4d/select.c : First draft implementation.
* mailbox/imap4d/util.c : Add util_msgset() and util_send().
Reuse of util_getcommand() for subcommands.
* mailbox/pop3d/uidl.c : API change the call is message_get_uidl()
to have UIDL POP3.
2001-02-03 Alain Magloire
* mailbox/mailbox.c mailbox/mbx_mbox.c mailbox/mbx_imap.c :
Implement mailbox_messages_recent() and mailbox_message_unseen(), this
time as define by the IMAP rfc.
2001-02-02 Alain Magloire
* mailbox/header.c : ENOENT was not return if the header was
not found.
* mailbox/mbx_mbox.c: When expunging check to see if the registar
the path_record too.
2001-02-02 Alain Magloire
* pop3d/extra.c (pop3_readline) : Since the length of the string
is known, we can use memcpy() and friends for string manipulations.
memXXX() functions are builtin in GNU C (gcc) and are much faster
then the strXXX() counterparts. Small change in the loop to take
advantage of this.
* pop3d/quit.c : The rfc1939 insist that after a QUIT, we must
release any resources and close the connection:
"Whether the removal was successful or not, the server
then releases any exclusive-access lock on the maildrop
and closes the TCP connection." This was not done if error
occured while expunging, now we will close the connection and
notify the client of the error(ERR_FILE).
2001-02-01 Alain Magloire
"Premature Optimization Is The Root Of All Evil", Knuth.
* mailbox/attachment.c: Typo should be "Content-Disposition"
* mailbox/mbx_mbox.c mailbox/mbx_mboxscan.c mailbox/header.c :
Attempt to optimze the header, header_get_fvalue() is created,
The mailbox save/cache the most common headers, when doing a
header_get_value(), header_get_fvalue() is call first hoping
that the requested header was cache, if it fails we fall back
to the usual parsing. The common elected headers are : From,
To, Cc, Subject, Date, Content-Type, X-UIDL, X-UID.
* mailbox/mailbox.c mailbox/mbx_mbox.c mailbox/mbx_imap.c :
I've confuse the semantic of "unseen" and "recent", "unseen"
means new mail, not recent. Renamed mailbox_recent_count()
to mailbox_unseen_count().
* include/mailutils/mailbox.h : updated for mailbox_unseen_count()
2001-01-25 Alain Magloire
* frm/frm.c : Forget to add --summary option and fix return status.
When being very quiet just freopen(/dev/null, w, stdout).
2001-01-25 Alain Magloire
* pop3d/capa.c : Add UIDL in the capability list.
and update Copyrigth.
* pop3d/pop3d.c : Remove mbox_record register, only need path_record.
* pop3d/retr.c : When retrieve a message should be mark as read.
since we do not strip out the header "Status:".
* pop3d/top.c : Adjust stream_readline().
2001-01-25 Alain Magloire
While working on the new version of the API mailbox, Changelog was
discontinued, since the API could literaly change overnight a
maintenace of the entries were of a particular burden.
The API of the library, and some utilities like pop3d are
stable enough to restart normal entries.
* mailbox/* : New Api to access mailbox.
* include/mailutils : Public prototypes of the API.
* frm/frm.c frm/Makefile.am : A clone of elm frm utility.
* from/from.c from/Makefile.am : A utility to scan mailboxes.
* pop3d/* : GNU pop3d server.
2000-05-19 Sean 'Shaleh' Perry <shaleh@debian.org>
* libmailbox/mh.c: fleshed out mh_open() some more
2000-05-18 Sean 'Shaleh' Perry <shaleh@debian.org>
* libmailbox/mh.c: fleshed out mh_open() some more
2000-05-15 Sean 'Shaleh' Perry <shaleh@debian.org>
* libmailbox/*: ran some files thru emacs indent, I think I introduced
some oddness with vi
* libmailbox/mh.[ch]: new files, based on maildir
the mh work is very empty -- just mh_open right now
2000-04-19 Jeff Bailey <jbailey@nisa.net>
* configure.in: Test for limits.h and inttypes.h, add malloc
and realloc checks.
* m4/: New directory
* m4/Makefile.am: New file to support directory
* m4/malloc.m4: File to support lib/ directory
* m4/realloc.m4: File to support lib/ directory
* lib/Makefile.am: Distribute xalloc.h
* lib/xalloc.h: New file to support xmalloc.c
* lib/xmalloc.c: New version from sh-utils-2.0g
* autogen.sh: Look in m4 for extra macros
* doc/Makefile.am: Rearrange to quiet automake
2000-03-28 Jakob 'sparky' Kaivo <jkaivo@elijah.nodomainname.net>
* pop3d/pop3d.c (main): handle SIGPIPE
2000-01-19 Sean 'Shaleh' Perry
* mailbox/mbx_mh.c: some more code fleshing, still ugly
* README README-alpha: updates, corrected README to list mailbox as LGPL
2000-01-19 Sean 'Shaleh' Perry
* mailbox/mbx_mh.c: new file
no header, no error checking, no hable englais
* url/url_mh.[ch]: new files
url support for MH mailboxes
2000-01-17 Sean 'Shaleh' Perry
* examples/from.c: remove extraneous copyright notice
1999-12-15 Alain Magloire
* url/url_mbox.h url/url_pop.h url/url_imap.h url/url_mailto.h
New files.
1999-12-01 Alain Magloire
* url/_cpystr.c url/chewurl.c url/url.c url/url_imap.c
url/url_mailto.c url/url_mbox.c url/url_pop.c : New files,
first attempt to define the URL API.
* lib/Makefile.am: added xmalloc.c, xstrdup.c, xstrtol.{c,h}
* lib/xmalloc.c lib/xstrdup.c lib/xstrtol.c lib/xstrtol.h : New files
1999-11-21 Jeff Bailey
* doc/rfc*: Add. Standards followed should be included here.
1999-11-23 Jakob 'sparky' Kaivo
* TODO: Mention Maildir
* libmailbox/mailbox.c (mbox_init): new function
* libmailbox/maildir.h: new file
* libmailbox/maildir.c: new file
* libmailbox/mailbox.c (mbox_open): uncommented maildir_open attempt
1999-11-15 Jeff Bailey
* lib/ansi2knr.c lib/ansi2knr.h: Add
* configure.in: Add AM_C_PROTOTYPES
* libmailbox/Makefile.am: Add ansi2knr handling
1999-11-08 Sean 'Shaleh' Perry
* cleaned up some of the automake autoconf magic for non-Linux
1999-11-07 Sean 'Shaleh' Perry
* TODO: restructuring, now split into sections
* libmailbox/mailbox.c libmailbox/mailbox.h: added two new functions
to the api and began implementing them in unixmbox
is_updated() => has this mailbox been updated externally?
scan() => build info on mailbox, removing old data as needed
currently not implemented
1999-11-06 Sean 'Shaleh' Perry
* libmailbox/mailbox.c: more work on expunge
* libmailbox/mailbox.c: added a tester routine
* Makefile.am: added -g
1999-11-06 Sean 'Shaleh' Perry
* libmailbox/unixmbox.c: work on expunge
use read/write along with lseek still blows up -- getting there
* mail/mail.c: check return value of mbox_open()
1999-10-23 Alain Magloire
* ChangeLog: Cleanup according to GNU std, and remove
of email addresses. The emails should be AUTHORS or THANKS
so if they change no need to sed everything.
1999-10-11 Jeff Bailey
* libmailbox/Makefile.am: Remove no-install option, add -pedantic
1999-10-12 Sean 'Shaleh' Perry
* made sure that the imap4 was REALLY broken
1999-10-11 Jeff Bailey
* imap4d/Makefile.am: New file
* configure.in: Create imap4d/Makefile, and no install option
for library
* pop3d/Makefile.am: Add warnings, remove unneeded variable
* TODO: Update
* impa4rev1/: Rename to imap4d. (I asked first, really I did...)
* lib/Makefile.am: Update for new files
* lib/getline.c: New File
* lib/getline.h: New file
1999-10-11 Sean 'Shaleh' Perry
* added my imap code -- PLEASE DO NOT TOUCH
1999-10-10 Jeff Bailey
* THANKS: New file
* doc/mailutils.texi: New File
Provided by Alain Magloire <alainm@rcsm.ece.mcgill.ca> with some
changes so that Makeinfo reports no errors.
* doc/Makefile.am: New file
* configure.in: Deal with libsrc to lib rename
* pop3d/Makefile.am: Deal with libsrc to lib rename
* Makefile.am: Deal with libsrc to lib rename.
Add reference to doc/ subdirectory.
* libsrc/: Rename to lib/
1999-10-09 Sean 'Shaleh' Perry
* Made changelog.pl output in approved format -- I miss the time stamp
1999-10-09 Sean 'Shaleh' Perry
* added examples/gnu-pop3d.pam
1999-10-08 Jeff Bailey
* doc/: New directory
* pop3d/Makefile.am: Remove pam detection, now handled by configure
in the @AUTHLIBS@ spot.
* configure.in: Detect pam correctly/handle crypt case correctly
Add option: --disable-pam
* acconfig.h: New File
1999-10-08 Sean 'Shaleh' Perry
* added showmail.c to examples
* libmailbox: some minor code cleanups
1999-10-08 Sean 'Shaleh' Perry
* fixed the "if empty mailbox, return not implemented"
NB: seems there was a large assumption being made:
if unixmbox_open() failed, it was because it was not mbox
this was wrong for many reasons, so on actual "not mbox",
return EBADMSG.
Prolly want to come up with a better error, but this works for now
* more cleaning in the mailbox code
a) added stat() call -- we can bomb earlier, plus detect if
passed object is a directory or file
b) unixmbox_close() free()'s mbox. This will hamper the use
when we add support for more mailboxes later. Need to find
a solution. Perhaps a unixmbox_free() call.
There was also a small leak there -- mbox->name was being left.
c) To aid checking in unixbox_open(), added checks around fgets call.
Now properly detects EOF, errors, etc. This was a large cause of the
spurious "not implemented" bug.
d) all of unixmbox_open()'s function calls should now be checked
NB: need to do the same for rest of file
1999-10-07 Sean 'Shaleh' Perry
* removed spurious code in from.c
* added TODO file
1999-10-07 Jeff Bailey
* Makefile.am: Compile libsrc/ first.
* pop3d/Makefile.am: Link properly with crypt and libmailutils.a
from libsrc/
* libsrc/Makefile.am: Produce one library for all functions.
Do not use libtool for this library, it will never be shared.
* configure.in: Remove AM_MAINTAINER_MODE. Export crypt detection
to Makefiles
1999-10-07 Sean 'Shaleh' Perry
* included my read_a_line() in examples/
1999-10-06 Sean 'Shaleh' Perry
* Cleanup some compilation issues
* changed "w+" to "w" in called to pop3_mainloop():ofile = fdopen()
why was it called with w+? It is only ever used for writing.
* catch EINTR in call to accept() (play nice w/ our UNIX friends)
* set SO_REUSEADDR on daemon's socket
1999-10-05 Sean 'Shaleh' Perry
* Added changelog.pl so we can have automated entries
set CVS_EMAIL=me@here.com and CVS_FULLNAME="Joe Blow"
usage: changelog.pl "added signal.c" or changelog.pl, an editor will
then appear (uses $VISUAL and $EDITOR)
the format is controlled simply via the format call at the end
and the section of perl code directly above it
1999-10-05 Sean 'Shaleh' Perry
* added pop3d/signal.c -- contains pop3_sigchld() currently
1999-10-05 Sean 'Shaleh' Perry
* initial fork() rewrite, not even compiled it yet
1999-10-04 Sean 'Shaleh' Perry
* changed lock(int mode) to lock(mailbox_lock_t mode), this will allow
the type to be chnaged later without affecting code compatibility
* added name to AUTHORS
* noticed mention of IMAP4 server and went back to coding it (-:
1999-10-03 Jeff Bailey
* mail/mail.c: Support --help, --version.
* mail/Makefile.am: Add -Wall to compile line.
* libmailbox/Makefile.am: Add -Wall to compile line.
* libmailbox/mailbox.c: Warning cleanup, second parameter of lock
should be unsigned int, not int.
* libmailbox/mailbox.h: ""
* libmailbox/unixmbox.h: ""
* libmailbox/unixmbox.c: ""
* AUTHORS: Include my name. =)
* README: Rewrite for public consumption
* README-alpha: New file, add mailing list address, CVS information.
* libmailbox/unixmbox.c: Include config.h if defined
* libmailbox/mailbox.c: Include config.h if defined
* mail/mail.c: Include config.h if defined, update copyright.
1999-10-01 Sean 'Shaleh' Perry
* added an examples directory and the first example, from.c
1999-10-01 Jakob 'sparky' Kaivo
* libmailbox/*.[ch]: added cleanup patches from Shaleh while he works
on getting CVS access
1999-09-22 Jakob 'sparky' Kaivo
* mail/mail.c (main): added 'f' and 'F' to test mbox_header_line
* pop3d/apop.c (pop3_apop): cleanup, partial rewrite for libmailbox
* pop3d/retr.c (pop3_retr): fixed a potential segfault
* pop3d/user.c (pop3_user): cleanup and use mbox_lock
* libmailbox/mailbox.c (mbox_header_line): new function
(mbox_body_lines): new function
* mail/Makefile.am (mail_DEPENDENCIES): added libmailbox.la
* pop3d/top.c (pop3_top): made it work with libmailbox
* libmailbox/unixmbox.c (unixmbox_open): added check to see if it's
actually an mbox file
(unixmbox_open): Set mbox->_lock to unixmbox_lock
(unixmbox_lock): new function
* libmailbox/unixmbox.h: Added prototype for locking
* libmailbox/mailbox.c: Add dummy initializer for locking
* libmailbox/mailbox.h: Added interface for locking
Added interfaces for mbox_header_line and mbox_body_lines
* pop3d/*.[ch]: changed copyright info to FSF
* libmailbox/*.[ch]: added copyright/licensing info
1999-09-21 Jakob 'sparky' Kaivo
* pop3d/Makefile.am (pop3d_LDADD): add $(AUTHLIBS)
* configure.in: Added libsrc/Makefile to AC_OUTPUT (duh, Jake!)
fixed the PAM and crypt checks
* README: actually put something here, noted necessary tools to build
from CVS
1999-09-14 Jakob 'sparky' Kaivo
* pop3d/pop3d.c (main): moved setgid() call to after option parsing
(main): make --version report PACKAGE and VERSION
* libmailbox/mailbox.c (mbox_open): changed paramater type to const
* pop3d/Makefile.am (INCLUDES): change relative directories to
top_srcdir base
* configure.in: Added checks for PAM and crypt
1999-09-13 Jakob 'sparky' Kaivo
* pop3d/retr.c (pop3_retr): fixed calls mbox_header => mbox_get_header
and mbox_body => mbox_get_body
* pop3d/user.c (pop3_user): removed references to mailbox variable
* pop3d/stat.c (pop3_stat): fixed mbox->is_deleted => mbox_is_deleted
* pop3d/pop3d.c (pop3_mainloop): removed reference to lockfile variable
* pop3d/extra.c (pop3_abquit): change fclose(mbox) to mbox_close(mbox)
removed calls to free(messages) and pop3_unlock()
* pop3d/dele.c (pop3_dele): fixed call to mbox_delete()
* Makefile.am (SUBDIRS): added pop3d and libsrc
* configure.in: Added checks needed for pop3d/*
made it work with libtool
* libsrc/*: imported from gnu-pop3d tree
* pop3d/*: imported from gnu-pop3d tree
1999-09-11 Jeff Bailey
* libmailbox/unixmbox.h: Do not prefix config.h defines with _
1999-09-10 Jeff Bailey
* */*: Accomidate directory rearrange