Commit caac7dea caac7dea4cb65a8bed723d705bb6a0b89cf13da1 by Sergey Poznyakoff

Rewrite gencl as an enhanced replacement of gitlog-to-changelog.

* mu-aux/gencl: Rewritten as a replacement for gitlog-to-changelog.
* ChangeLog.amend: More spell fixes.
* Makefile.am: Use gencl instead of gitlog-to-changelog.
* doc/ChangeLog.CVS: Spell checking
* gnulib.modules: Remove gitlog-to-changelog.
1 parent fcdbdbe2
1 # Spelling corrections for GNU Mailutils ChangeLog 1 # Spelling corrections for GNU Mailutils ChangeLog
2 2
3 463bbba90fad80906a347fcd0a13e84d3142f994
4 s/afterwards\./afterward/
5
6 154c67f47ba231d3e269ad59714dcf5870a658c3
7 s/intialize/initialize/
8
9 b39b471f069c3fb61402051575021c291674b929
10 s/Bigfix/Bugfix/
11
12 da63ec15b4c8fb3084075730332a8d20a9af374f
13 s/undistrurbed/undisturbed/
14
15 7324f9691545126806bbe219607248c7ad854852
16 s/newe file/new file/
17
18 15f6dbf66eed6bed5c084d97077e7cc5f8e192a7
19 s/ex-\npressions/expressions/m
20
21 ed04bc837e353e61e4c43f6bdbd9a67859c61f61
22 s/uselsess/useless/
23
24 a04c6feb5007aeeb133b15558f13733743dee3e8
25 s/assiging/assigning/
26
27 d56b82437f909ff323d9cd87f2ed9f04322f9966
28 s/optionr&config/option \& config/g
29
30 6e8147334cf9ffe36367760c06002a1e5b7ae0d5
31 s/incluse/include/
32
33 fb16f4dff202b1b0033386c6d2e0169ab35b9103
34 s/Bigfixes/Bugfixes/
35
36 a41e62b9eb33c46ec0897c6c956057d8b797883d
37 s/lubmu_argp/libmu_argp/
38
39 22b58503041ddd74f2919e28bcbdd08a278dccc5
40 s/reveiled/revealed/
41
42 ebfd2897f2230f527d1bfdaa507674268dc513e6
43 s/characteter/character/
44
45 f9c205de215c6a94d38f40f718f6787416fc4e01
46 s/intialize_tls_session/initialize_tls_session/
47
48 7585f48fd66e55f85fea516e1706a945db5e1149
49 s/Bigfixes/Bugfixes/
50
51 690b1bf8506e50cb85d2634ba2db2fddbff99dfe
52 s/addtion/addition/
53
54 3c5aed3965c70e6e1a894005b1adc7a407d0aae9
55 s/agrument/argument/
56
57 dd08262c4c55b984e9b38a3dc4a330960d01e26f
58 s/Inclide/Include/
59
60 33a5d85239028bc3e34eec59909253d12d5434f4
61 s/Buld/Build/
62
63 7e78c6af4aa397ff422db07489850d40a9360a8c
64 s/analize/analyze/
65
66 4a151fd82add56d993437bcceb969a7cf8dd3bdf
67 s/idicate/indicate/
68
69 4faa3659d6140a25f05cf03e27429c7f1408851c
70 s/sigature/signature/
71
72 dd33613b562970a194917f1934aeab56e3cfc4f9
73 s/LIkewise/Likewise/
74
75 d85540094f0df7258af1cae7c61cc6d45c2a4f53
76 s/afterwards/afterward/
77
78 c522de119a265c25c7ea6a269c02eaa80cdc9e49
79 s/afterwards/afterward/
80
81 08dbbe2a422ee12fc9b80f2b7bd5d209b0812272
82 s/afterwards/afterward/
83
84 d1b1cba265616c7b48948c7f27d4a15f335fd6ae
85 s/afterwards/afterward/;
86 s/alwaus/always/
87
88 1f1dca416897539ad734149945482fecf6f066e5
89 s/convertor/converter/
90
91 2cbe825eb999f224ce756510dbd7123bc76ec924
92 s/Hanlde/Handle/
93
94 90450be6f2f902b26c3b63c901b729503a056ec3
95 s/caracter/character/
96
97 3d266601df7be584da838bca1f276c4ed92f3c65
98 s/compited/computed/
99
100 a43d959feceeba5008169a7e8127b8385f64b0e9
101 s/was bursted/has been burst/
102
103 78d43b05bf6dfd37b5f251715211f48f3f22fb58
104 s/Temporarly/Temporarily/
105
106 558a5b14c77602a3e416cd37e1e9bb4685967370
107 s/Temporarly/Temporarily/
108
109 128efb9c9b268678f477fb39aa427c7c939019a7
110 s/splitted/split/
111
112 c37b2f1f3e51dc5489b349cba20771cd762db148
113 s/assignement/assignment/;
114 s/corresponing/corresponding/
115
116 5b3ac30a697287b6b72e3d7f717e19a159cae821
117 s/expunsion/expunging/
118
119 aa0826526df4dc51cafc2297b7b8306831c38f98
120 s/supercedes/supercedes/
121
122 379426a154fe7ef116f2610acd0d0fa2e6a35cc7
123 s/EACCESS/EACCES/
124
125 76163154c740039046a2e0ae4b4aa423707c5473
126 s/pararameters/parameters/;
127 s/temporarly/temporarily/
128
129 d1d548e1473e5e87e42df174110d57a05b9402d1
130 s/Reflece/Reflect/
131
132 68b7dc9dacacaf0111de9d636c36ec05e1061172
133 s/testssuite/testsuite/
134
135 8c76d675333b70a0887de506073d64cd2c14643a
136 s/transpor stream/transport stream/
137
138 46e3b517d99ae4c24c000d893095168017129eb5
139 s/comand/command/
140
141 c1d1ab07c72070d2ca92f729ab2454ad0b06f0ae
142 s/(spamd_send_message): se/(spamd_send_message): set/;
143 s/imprtant/important/
144
145 66c992c3780eb1191c5644c4f3068da5abaae2ec
146 s/abridgement/abridgment/
147
148 c7491f228d5fce68e50192d26a98ecf8115f5283
149 s/abridgement/abridgment/
150
151 3fefeaa458075ca20381284950b32f6afdccfffe
152 s/abridgement/abridgment/
153
154 0c013ac57ef780d2d6f2a9b389b1c754b5c29033
155 s/abridgement/abridgment/
156
157 8e227e9b65a9e74450a81d200a99d5539f0ab93f
158 s/secion/section/
159
160 bf0d23962442075cf16eab955435de99bea961de
161 s/slopy/sloppy/
162
163 7cbbb4012d63c86e8e0726a5634bdd880ffe34b3
164 s/unneded/unneeded/
165
166 d8ab03b03566831cb5dfe8caf4a1e1b77106a342
167 s/neccessary/necessary/
168
169 88c2fc773ed17a22beebaabafc9c8ce8ecfc939d
170 s/capablity/capability/
171
172 6dad17fe877fde4f17d87bc5a0327417936dbbd8
173 s/charater/character/
174
175 96dc9ab99e9518f5f21a7710e396da8c3fd833b5
176 s/hanlder/handler/
177
178 4f36463dfe2d17b2932a656fffee9aeb7832abe4
179 s/Variois/Various/
180
181 6e40542e56205ebcaa607db2092076db8287292a
182 s/Use fgest/Use fgets/
183
184
185 34e0ea264af7c44463eef1c06fff8b1d428b34de
186 s/uncompatibly/incompatibly/
187
188 42838314448528fd390d93a0b07a0d3d2d9d312f
189 s/unnref/unref/
190
3 89d93a75c4abec10b9cfe0041eaf654d00f0a0ee 191 89d93a75c4abec10b9cfe0041eaf654d00f0a0ee
4 s/erad-only/read-only/ 192 s/erad-only/read-only/
5 193
......
...@@ -133,19 +133,18 @@ amend_file=ChangeLog.amend ...@@ -133,19 +133,18 @@ amend_file=ChangeLog.amend
133 .PHONY: ChangeLog 133 .PHONY: ChangeLog
134 ChangeLog: 134 ChangeLog:
135 $(AM_V_at)if test -d .git; then \ 135 $(AM_V_at)if test -d .git; then \
136 cmd="$(top_srcdir)/mu-aux/gencl --file=ChangeLog --verbose";\ 136 cmd="$(top_srcdir)/mu-aux/gencl --file=ChangeLog --verbose --append-dot";\
137 if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \ 137 if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \
138 then \ 138 then \
139 cmd="$$cmd --append=$(prev_change_log)"; \ 139 cmd="$$cmd --append=$(prev_change_log)"; \
140 fi; \ 140 fi; \
141 cmd="$$cmd -- $(top_srcdir)/build-aux/gitlog-to-changelog"; \
142 if test -n "$(amend_file)"; then \ 141 if test -n "$(amend_file)"; then \
143 cmd="$$cmd --amend=$(amend_file)"; \ 142 cmd="$$cmd --amend=$(amend_file)"; \
144 fi; \ 143 fi; \
145 if test -n "$(gen_start_date)"; then \ 144 if test -n "$(gen_start_date)"; then \
146 cmd="$$cmd --since=\"$(gen_start_date)\""; \ 145 cmd="$$cmd --since=$(gen_start_date)"; \
147 fi; \ 146 fi; \
148 $$cmd --format='%s%n%n%b%n' | fmt -s; \ 147 $$cmd; \
149 fi 148 fi
150 149
151 dist-hook: ChangeLog 150 dist-hook: ChangeLog
......
...@@ -284,7 +284,7 @@ ...@@ -284,7 +284,7 @@
284 284
285 2008-10-28 Sergey Poznyakoff <gray@gnu.org.ua> 285 2008-10-28 Sergey Poznyakoff <gray@gnu.org.ua>
286 286
287 Make maidag hanlde mailer URLs. 287 Make maidag handle mailer URLs.
288 288
289 This makes it possible to `deliver' mails to mailers without 289 This makes it possible to `deliver' mails to mailers without
290 explicitly specifying `remote+mailer' mailbox URLs. In 290 explicitly specifying `remote+mailer' mailbox URLs. In
...@@ -302,7 +302,7 @@ ...@@ -302,7 +302,7 @@
302 (lmtp_set_privs): New function. Sets primary and 302 (lmtp_set_privs): New function. Sets primary and
303 supplementary group privileges. 303 supplementary group privileges.
304 (maidag_lmtp_server): Call lmtp_set_privs. 304 (maidag_lmtp_server): Call lmtp_set_privs.
305 * maidag/maidag.c (lmtp_group): Remove. It is superceded by 305 * maidag/maidag.c (lmtp_group): Remove. It is superseded by
306 lmtp_groups. 306 lmtp_groups.
307 (maidag_cfg_param): Allow to specify supplementary groups. 307 (maidag_cfg_param): Allow to specify supplementary groups.
308 * maidag/maidag.h (lmtp_group): Replace with lmtp_groups. 308 * maidag/maidag.h (lmtp_group): Replace with lmtp_groups.
...@@ -819,7 +819,7 @@ ...@@ -819,7 +819,7 @@
819 (mu_list_intersect_dup, mu_list_intersect): New functions. 819 (mu_list_intersect_dup, mu_list_intersect): New functions.
820 820
821 Fix GSASL in imap4d. 821 Fix GSASL in imap4d.
822 * auth/gsasl.c (_gsasl_readline): Prevent stucking in 822 * auth/gsasl.c (_gsasl_readline): Prevent getting stuck in
823 blocking streams. 823 blocking streams.
824 * imap4d/auth_gsasl.c: Remove deprecated functions and data types. 824 * imap4d/auth_gsasl.c: Remove deprecated functions and data types.
825 * imap4d/auth_gss.c (auth_gssapi): Fix signature. 825 * imap4d/auth_gss.c (auth_gssapi): Fix signature.
...@@ -851,8 +851,8 @@ ...@@ -851,8 +851,8 @@
851 Never print .PEEK, it confuses some clients (notably Thunderbird). 851 Never print .PEEK, it confuses some clients (notably Thunderbird).
852 I need to verify RFC, though. 852 I need to verify RFC, though.
853 All callers updated. 853 All callers updated.
854 * imap4d/idle.c: Use imap4d_getline to get the reply, to avod modifying 854 * imap4d/idle.c: Use imap4d_getline to get the reply, to avoid
855 tok and command. 855 modifying tok and command.
856 * imap4d/imap4d.h (util_send_bytes, util_trim_nl): New prototypes. 856 * imap4d/imap4d.h (util_send_bytes, util_trim_nl): New prototypes.
857 * imap4d/util.c (util_trim_nl): New function. 857 * imap4d/util.c (util_trim_nl): New function.
858 (imap4d_getline): Use util_trim_nl. 858 (imap4d_getline): Use util_trim_nl.
...@@ -1376,7 +1376,7 @@ ...@@ -1376,7 +1376,7 @@
1376 * libargp/muinit.c (get_canonical_name): Do not use xmalloc. 1376 * libargp/muinit.c (get_canonical_name): Do not use xmalloc.
1377 * mailbox/ipsrv.c (mu_ip_server_get_sockaddr): Return 1377 * mailbox/ipsrv.c (mu_ip_server_get_sockaddr): Return
1378 MU_ERR_BUFSPACE if provided buffer is not long enough to 1378 MU_ERR_BUFSPACE if provided buffer is not long enough to
1379 accomodate the result. 1379 accommodate the result.
1380 * mailbox/msrv.c (mu_m_server_set_foreground) 1380 * mailbox/msrv.c (mu_m_server_set_foreground)
1381 (mu_m_server_foreground,mu_m_server_pidfile) 1381 (mu_m_server_foreground,mu_m_server_pidfile)
1382 (mu_m_server_set_default_address) 1382 (mu_m_server_set_default_address)
...@@ -1777,7 +1777,7 @@ ...@@ -1777,7 +1777,7 @@
1777 inheritance bit. 1777 inheritance bit.
1778 * mailbox/gocs.c (mu_gocs_mailbox_init): Set mailbox pattern. 1778 * mailbox/gocs.c (mu_gocs_mailbox_init): Set mailbox pattern.
1779 * mailbox/mailbox.c (_create_mailbox): Bugfix. 1779 * mailbox/mailbox.c (_create_mailbox): Bugfix.
1780 * mailbox/mbx_default.c (mu_set_mailbox_pattern): New finction. 1780 * mailbox/mbx_default.c (mu_set_mailbox_pattern): New function.
1781 (mu_set_mail_directory): Rewrite. 1781 (mu_set_mail_directory): Rewrite.
1782 (user_mailbox_name): Rewrite. 1782 (user_mailbox_name): Rewrite.
1783 * mailbox/mutil.c (mu_normalize_mailbox_url): Remove. 1783 * mailbox/mutil.c (mu_normalize_mailbox_url): Remove.
...@@ -1812,7 +1812,7 @@ ...@@ -1812,7 +1812,7 @@
1812 * mailbox/acl.c: mu_acl_log expands its argument. 1812 * mailbox/acl.c: mu_acl_log expands its argument.
1813 * mailbox/cfg_driver.c (mu_create_canned_section) 1813 * mailbox/cfg_driver.c (mu_create_canned_section)
1814 (mu_create_canned_param): Avoid creating container twice. 1814 (mu_create_canned_param): Avoid creating container twice.
1815 * mailbox/cfg_format.c (format_param): Do not pring type if 1815 * mailbox/cfg_format.c (format_param): Do not print type if
1816 argname contains a colon. 1816 argname contains a colon.
1817 * mailbox/cfg_parser.y (_scan_tree_helper): Compute target 1817 * mailbox/cfg_parser.y (_scan_tree_helper): Compute target
1818 pointer. 1818 pointer.
...@@ -2050,7 +2050,7 @@ ...@@ -2050,7 +2050,7 @@
2050 libcfg/init.c, libcfg/virtdomain.c, maidag/maidag.c, 2050 libcfg/init.c, libcfg/virtdomain.c, maidag/maidag.c,
2051 mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c, 2051 mail.local/main.c, mail.remote/mail.remote.c, mimeview/mimeview.c,
2052 movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c, 2052 movemail/movemail.c, pop3d/pop3d.c, readmsg/readmsg.c,
2053 sieve/sieve.c: Change option parsing, usig mu_cfg_tree_ functions. 2053 sieve/sieve.c: Change option parsing, using mu_cfg_tree_ functions.
2054 2054
2055 * mailbox/argcv.c: Fix a typo in comment. 2055 * mailbox/argcv.c: Fix a typo in comment.
2056 * mailbox/cfg_lexer.c (mu_parse_config_tree): New function. 2056 * mailbox/cfg_lexer.c (mu_parse_config_tree): New function.
...@@ -2132,7 +2132,7 @@ ...@@ -2132,7 +2132,7 @@
2132 * mailbox/syslog.c (mu_diag_level_to_syslog): New function. 2132 * mailbox/syslog.c (mu_diag_level_to_syslog): New function.
2133 (mu_diag_syslog_printer): New function. 2133 (mu_diag_syslog_printer): New function.
2134 2134
2135 * mh/mh_argp.c (mh_argp_parse): Set prigram name using 2135 * mh/mh_argp.c (mh_argp_parse): Set program name using
2136 mu_set_program_name. 2136 mu_set_program_name.
2137 * mh/mh_init.c (mu_error_printer): No longer needed. 2137 * mh/mh_init.c (mu_error_printer): No longer needed.
2138 * movemail/movemail.c (movemail_error_printer): No longer needed. 2138 * movemail/movemail.c (movemail_error_printer): No longer needed.
...@@ -2828,7 +2828,7 @@ ...@@ -2828,7 +2828,7 @@
2828 * include/mailutils/argp.h (mu_argp_set_config_param): New 2828 * include/mailutils/argp.h (mu_argp_set_config_param): New
2829 function. 2829 function.
2830 * include/mailutils/cfg.h (mu_cfg_time): New value 2830 * include/mailutils/cfg.h (mu_cfg_time): New value
2831 (struct mu_cfg_section): Rewamp using lists. 2831 (struct mu_cfg_section): Revamp using lists.
2832 (enum mu_cfg_cont_type, struct mu_cfg_cont): New types. 2832 (enum mu_cfg_cont_type, struct mu_cfg_cont): New types.
2833 (mu_config_create_container, mu_config_clone_container) 2833 (mu_config_create_container, mu_config_clone_container)
2834 (mu_config_destroy_container): New functions. 2834 (mu_config_destroy_container): New functions.
...@@ -2858,7 +2858,7 @@ ...@@ -2858,7 +2858,7 @@
2858 (mu_authorization_clear_list,mu_authentication_clear_list): New 2858 (mu_authorization_clear_list,mu_authentication_clear_list): New
2859 functions. 2859 functions.
2860 2860
2861 * include/mailutils/refcount.h (struct _mu_refcount): Move ro 2861 * include/mailutils/refcount.h (struct _mu_refcount): Move to
2862 refcount.c 2862 refcount.c
2863 (mu_refcount_inc,mu_refcount_dec): Change return value. 2863 (mu_refcount_inc,mu_refcount_dec): Change return value.
2864 (mu_refcount_value): New function. 2864 (mu_refcount_value): New function.
...@@ -2946,7 +2946,7 @@ ...@@ -2946,7 +2946,7 @@
2946 2946
2947 2007-09-03 Darel Henman <dhenman@gmail.com> 2947 2007-09-03 Darel Henman <dhenman@gmail.com>
2948 2948
2949 * README: Editted text in README file related to the 2949 * README: Edited text in README file related to the
2950 -enable-mh-utils option. This was to correct a reference from 2950 -enable-mh-utils option. This was to correct a reference from
2951 a now non-existent mh README file to the ..doc/texinfo/mh-mh.texi file. 2951 a now non-existent mh README file to the ..doc/texinfo/mh-mh.texi file.
2952 2952
...@@ -2963,7 +2963,7 @@ ...@@ -2963,7 +2963,7 @@
2963 2963
2964 2007-08-21 Sergey Poznyakoff <gray@gnu.org.ua> 2964 2007-08-21 Sergey Poznyakoff <gray@gnu.org.ua>
2965 2965
2966 * examples/mta.c: Accomodate for the change from 2007-08-09 2966 * examples/mta.c: Accommodate for the change from 2007-08-09
2967 2967
2968 2007-08-18 Wojciech Polak <polak@gnu.org> 2968 2007-08-18 Wojciech Polak <polak@gnu.org>
2969 2969
...@@ -3333,7 +3333,7 @@ ...@@ -3333,7 +3333,7 @@
3333 (mu_address_sget_local_part,mu_address_sget_personal) 3333 (mu_address_sget_local_part,mu_address_sget_personal)
3334 (mu_address_sget_domain,mu_address_sget_route) 3334 (mu_address_sget_domain,mu_address_sget_route)
3335 (mu_address_sget_email): New functions 3335 (mu_address_sget_email): New functions
3336 * mailbox/address.c: LIkewise 3336 * mailbox/address.c: Likewise
3337 3337
3338 2007-06-22 Sergey Poznyakoff <gray@gnu.org.ua> 3338 2007-06-22 Sergey Poznyakoff <gray@gnu.org.ua>
3339 3339
...@@ -3679,7 +3679,7 @@ ...@@ -3679,7 +3679,7 @@
3679 clashes with mysql 3679 clashes with mysql
3680 3680
3681 * config/Makefile.am (mailutils_config_CFLAGS): Define I18NLIBS 3681 * config/Makefile.am (mailutils_config_CFLAGS): Define I18NLIBS
3682 inconditionally. 3682 unconditional.
3683 * examples/Makefile.am (muath): New target 3683 * examples/Makefile.am (muath): New target
3684 3684
3685 * include/mailutils/mu_auth.h (enum mu_auth_key_type): New data 3685 * include/mailutils/mu_auth.h (enum mu_auth_key_type): New data
...@@ -3932,7 +3932,7 @@ ...@@ -3932,7 +3932,7 @@
3932 failure (either I/O, or memory allocation or EOF). 3932 failure (either I/O, or memory allocation or EOF).
3933 (action_echo): Rewritten to use shell-like syntax 3933 (action_echo): Rewritten to use shell-like syntax
3934 (run_user_action): Rewritten main loop to make it cleaner. In 3934 (run_user_action): Rewritten main loop to make it cleaner. In
3935 particular, expand agruments after word splitting. Use new echo 3935 particular, expand arguments after word splitting. Use new echo
3936 semantics. 3936 semantics.
3937 3937
3938 * mail/table.c (mail_escape_table): Add ~x 3938 * mail/table.c (mail_escape_table): Add ~x
...@@ -5593,7 +5593,7 @@ ...@@ -5593,7 +5593,7 @@
5593 * examples/argcv.c: Include <mailutils/error.h> 5593 * examples/argcv.c: Include <mailutils/error.h>
5594 * examples/base64.c: Include <config.h> 5594 * examples/base64.c: Include <config.h>
5595 * readmsg/readmsg.h: Likewise 5595 * readmsg/readmsg.h: Likewise
5596 * mail/z.c (z_parse_args): change tyoe of return_count 5596 * mail/z.c (z_parse_args): change type of return_count
5597 (mail_z): Change type of count to off_t 5597 (mail_z): Change type of count to off_t
5598 * include/mailutils/stream.h: Fix indentation 5598 * include/mailutils/stream.h: Fix indentation
5599 5599
...@@ -5790,14 +5790,14 @@ ...@@ -5790,14 +5790,14 @@
5790 * imap4d/copy.c, imap4d/fetch.c, imap4d/store.c: Always pass 5790 * imap4d/copy.c, imap4d/fetch.c, imap4d/store.c: Always pass
5791 format string as a third argument to util_finish. Although this is not 5791 format string as a third argument to util_finish. Although this is not
5792 necessary, since 'buffer' is guaranteed to contain a normal error 5792 necessary, since 'buffer' is guaranteed to contain a normal error
5793 string, without format specifiers, yet this will simplify maintainence. 5793 string, without format specifiers, yet this will simplify maintenance.
5794 5794
5795 2005-08-31 Sergey Poznyakoff <gray@gnu.org.ua> 5795 2005-08-31 Sergey Poznyakoff <gray@gnu.org.ua>
5796 5796
5797 * examples/lsf.c: New test program. List folders 5797 * examples/lsf.c: New test program. List folders
5798 * examples/Makefile.am: Add lsf 5798 * examples/Makefile.am: Add lsf
5799 * mailbox/imap/folder.c (guess_level,list_copy): Fixed 5799 * mailbox/imap/folder.c (guess_level,list_copy): Fixed
5800 (imap_parse): Handle NO case explicitely. 5800 (imap_parse): Handle NO case explicitly.
5801 * mailbox/mbox/folder.c: Minor fix. 5801 * mailbox/mbox/folder.c: Minor fix.
5802 5802
5803 2005-08-30 Sergey Poznyakoff <gray@gnu.org.ua> 5803 2005-08-30 Sergey Poznyakoff <gray@gnu.org.ua>
...@@ -5811,13 +5811,13 @@ ...@@ -5811,13 +5811,13 @@
5811 member 5811 member
5812 (struct mu_folder_list): Removed. Use mu_list_t instead 5812 (struct mu_folder_list): Removed. Use mu_list_t instead
5813 (mu_folder_list): Use mu_list_t. Take an extra argument: a maximum 5813 (mu_folder_list): Use mu_list_t. Take an extra argument: a maximum
5814 recusion level. 5814 recursion level.
5815 (mu_folder_lsub): Change typo of the last argument (mu_list_t 5815 (mu_folder_lsub): Change typo of the last argument (mu_list_t
5816 now). 5816 now).
5817 (mu_folder_list_destroy): Removed 5817 (mu_folder_list_destroy): Removed
5818 (mu_list_response_free): New function 5818 (mu_list_response_free): New function
5819 * lib/mu_asprintf.h: Remove vestiges of __P(). Define _GNU_SOURCE, 5819 * lib/mu_asprintf.h: Remove vestiges of __P(). Define _GNU_SOURCE,
5820 if not alrerady defined. 5820 if not already defined.
5821 5821
5822 * mailbox/imap/folder.c: Rewritten for new 5822 * mailbox/imap/folder.c: Rewritten for new
5823 mu_folder_list,mu_folder_lsub semantics. 5823 mu_folder_list,mu_folder_lsub semantics.
...@@ -6709,7 +6709,7 @@ ...@@ -6709,7 +6709,7 @@
6709 2005-05-27 Sergey Poznyakoff <gray@Mirddin.farlep.net> 6709 2005-05-27 Sergey Poznyakoff <gray@Mirddin.farlep.net>
6710 6710
6711 * mailbox/amd.c (amd_envelope_date): Reformat Delivery-Date value 6711 * mailbox/amd.c (amd_envelope_date): Reformat Delivery-Date value
6712 to standart ctime format. Fix memory leak. 6712 to standard ctime format. Fix memory leak.
6713 (amd_envelope_sender): Propagate return from header_aget_value() 6713 (amd_envelope_sender): Propagate return from header_aget_value()
6714 back to the caller. 6714 back to the caller.
6715 * mailbox/mbox/mbox.c (restore_sender,restore_date): New 6715 * mailbox/mbox/mbox.c (restore_sender,restore_date): New
...@@ -7332,7 +7332,7 @@ ...@@ -7332,7 +7332,7 @@
7332 7332
7333 * mail/mail.h (MAIL_ATTRIBUTE_SHOWN): New attribute. Shows 7333 * mail/mail.h (MAIL_ATTRIBUTE_SHOWN): New attribute. Shows
7334 that the message has been displayed during the current session. 7334 that the message has been displayed during the current session.
7335 * mail/next.c (mail_next): Rewritten in accordance with posix: 7335 * mail/next.c (mail_next): Rewritten in accordance with POSIX:
7336 if the current message has not been shown yet, then show 7336 if the current message has not been shown yet, then show
7337 it. Otherwise advance to the nearest next non-deleted message. 7337 it. Otherwise advance to the nearest next non-deleted message.
7338 * mail/print.c (mail_print_msg): Set MAIL_ATTRIBUTE_SHOWN after 7338 * mail/print.c (mail_print_msg): Set MAIL_ATTRIBUTE_SHOWN after
...@@ -7458,7 +7458,7 @@ ...@@ -7458,7 +7458,7 @@
7458 * include/mailutils/libsieve.h (sieve_get_identifier): New 7458 * include/mailutils/libsieve.h (sieve_get_identifier): New
7459 function. 7459 function.
7460 (sieve_arg_error): New function. 7460 (sieve_arg_error): New function.
7461 * libsieve/actions.c: Removed spurions indications of action 7461 * libsieve/actions.c: Removed spurious indications of action
7462 names in diagnostic messages. Sieve_error prepends them 7462 names in diagnostic messages. Sieve_error prepends them
7463 automatically now. 7463 automatically now.
7464 * libsieve/tests.c: Likewise. 7464 * libsieve/tests.c: Likewise.
...@@ -7912,7 +7912,7 @@ ...@@ -7912,7 +7912,7 @@
7912 some time ago (went unnoticed so far due to fuzzy matching 7912 some time ago (went unnoticed so far due to fuzzy matching
7913 technique + ordering-dependent output). 7913 technique + ordering-dependent output).
7914 * imap4d/testsuite/lib/imap4d.exp (imap4d_test): New flag -sort 7914 * imap4d/testsuite/lib/imap4d.exp (imap4d_test): New flag -sort
7915 toggles on sorting of untagged responces. Notice that -sort 7915 toggles on sorting of untagged responses. Notice that -sort
7916 and -re are mutually exclusive. 7916 and -re are mutually exclusive.
7917 * testsuite/lib/mailutils.exp (mu_test): Upvar expect_out 7917 * testsuite/lib/mailutils.exp (mu_test): Upvar expect_out
7918 7918
...@@ -7943,7 +7943,7 @@ ...@@ -7943,7 +7943,7 @@
7943 2004-12-17 Sergey Poznyakoff 7943 2004-12-17 Sergey Poznyakoff
7944 7944
7945 * configure.ac: Do not allow to specify modules more than once 7945 * configure.ac: Do not allow to specify modules more than once
7946 * auth/sql.c (sql_escape_string): Escape ocurrences of ' and " 7946 * auth/sql.c (sql_escape_string): Escape occurrences of ' and "
7947 in string. 7947 in string.
7948 (mu_sql_expand_query): prevent possible sql injection 7948 (mu_sql_expand_query): prevent possible sql injection
7949 * mail.local/mailquota.c (sql_retrieve_quota): Allow for NULL 7949 * mail.local/mailquota.c (sql_retrieve_quota): Allow for NULL
...@@ -7997,7 +7997,7 @@ ...@@ -7997,7 +7997,7 @@
7997 to be propagated back to the caller. 7997 to be propagated back to the caller.
7998 (imap_parse): Display "NO/Bad Tagged" error diagnostics only if 7998 (imap_parse): Display "NO/Bad Tagged" error diagnostics only if
7999 status != MU_ERR_AUTH_FAILURE. Should we display it at all? 7999 status != MU_ERR_AUTH_FAILURE. Should we display it at all?
8000 * movemail/movemail.c: Emacs-iteraction mode (--emacs) 8000 * movemail/movemail.c: Emacs-interaction mode (--emacs)
8001 8001
8002 2004-11-17 Wojciech Polak 8002 2004-11-17 Wojciech Polak
8003 8003
...@@ -8074,7 +8074,7 @@ ...@@ -8074,7 +8074,7 @@
8074 * imap4d/imap4d.h (IMAP_CAPA_STARTTLS,IMAP_CAPA_LOGINDISABLED) 8074 * imap4d/imap4d.h (IMAP_CAPA_STARTTLS,IMAP_CAPA_LOGINDISABLED)
8075 (IMAP_CAPA_XTLSREQUIRED): New defines 8075 (IMAP_CAPA_XTLSREQUIRED): New defines
8076 * imap4d/starttls.c (imap4d_starttls): Clear tls_required upon 8076 * imap4d/starttls.c (imap4d_starttls): Clear tls_required upon
8077 successfull TLS handshake. 8077 successful TLS handshake.
8078 (starttls_init): Use IMAP_CAPA_STARTTLS instead of hardcoded 8078 (starttls_init): Use IMAP_CAPA_STARTTLS instead of hardcoded
8079 literal. 8079 literal.
8080 * include/mailutils/header.h (MU_HEADER_X_EXPIRE_TIMESTAMP): New 8080 * include/mailutils/header.h (MU_HEADER_X_EXPIRE_TIMESTAMP): New
...@@ -8323,9 +8323,9 @@ ...@@ -8323,9 +8323,9 @@
8323 * include/mailutils/sys/nntp.h: Add new declarations. 8323 * include/mailutils/sys/nntp.h: Add new declarations.
8324 * include/mailutils/pop3.h: NAdd new declarations. 8324 * include/mailutils/pop3.h: NAdd new declarations.
8325 8325
8326 * example/Makefile.am: Adusted to new API. 8326 * example/Makefile.am: Adjusted to new API.
8327 * example/nntpclient.c: Adusted to new API. 8327 * example/nntpclient.c: Adjusted to new API.
8328 * example/pop3client.c: Adusted to new API. 8328 * example/pop3client.c: Adjusted to new API.
8329 * example/.cvsignore: Add nntpclient. 8329 * example/.cvsignore: Add nntpclient.
8330 8330
8331 2004-06-30 Alain Magloire 8331 2004-06-30 Alain Magloire
...@@ -8367,7 +8367,7 @@ ...@@ -8367,7 +8367,7 @@
8367 * include/mailutils/nntp.h: Declarations. 8367 * include/mailutils/nntp.h: Declarations.
8368 * include/mailutils/sys/nntp.h: Declarations. 8368 * include/mailutils/sys/nntp.h: Declarations.
8369 8369
8370 * examples/nntpclient.c: Adujsted. 8370 * examples/nntpclient.c: Adjusted.
8371 * examples/pop3client.c: Minor bug fixes. 8371 * examples/pop3client.c: Minor bug fixes.
8372 8372
8373 2004-06-28 Sergey Poznyakoff 8373 2004-06-28 Sergey Poznyakoff
...@@ -8480,7 +8480,7 @@ ...@@ -8480,7 +8480,7 @@
8480 * mailbox/nntp/nntp_article.c: New file 8480 * mailbox/nntp/nntp_article.c: New file
8481 * mailbox/nntp/nntp_header.c: New file 8481 * mailbox/nntp/nntp_header.c: New file
8482 * mailbox/nntp/nntp_body.c: New file 8482 * mailbox/nntp/nntp_body.c: New file
8483 * include/mailutils/nntp.h: adjustement. 8483 * include/mailutils/nntp.h: adjustment.
8484 8484
8485 2004-06-12 Alain Magloire 8485 2004-06-12 Alain Magloire
8486 8486
...@@ -8637,7 +8637,7 @@ ...@@ -8637,7 +8637,7 @@
8637 8637
8638 2004-06-04 Sergey Poznyakoff 8638 2004-06-04 Sergey Poznyakoff
8639 8639
8640 Use adbstract transport layer in streams, instead of 8640 Use abstract transport layer in streams, instead of
8641 integer file descriptors. Among other things, this 8641 integer file descriptors. Among other things, this
8642 fixes a long standing bug in imap4d: now it can use 8642 fixes a long standing bug in imap4d: now it can use
8643 SASL over TLS. 8643 SASL over TLS.
...@@ -8691,7 +8691,7 @@ ...@@ -8691,7 +8691,7 @@
8691 2004-06-02 Sergey Poznyakoff 8691 2004-06-02 Sergey Poznyakoff
8692 8692
8693 * configure.ac: Raised version number to 0.4.90 8693 * configure.ac: Raised version number to 0.4.90
8694 * NEWS: LIkewise 8694 * NEWS: Likewise
8695 * mailbox/muerrno.c (MU_ERR_CONN_CLOSED,MU_ERR_PARSE): 8695 * mailbox/muerrno.c (MU_ERR_CONN_CLOSED,MU_ERR_PARSE):
8696 New error codes. 8696 New error codes.
8697 (MU_ERR_NOENT): New error code. Use it instead 8697 (MU_ERR_NOENT): New error code. Use it instead
...@@ -9001,7 +9001,7 @@ ...@@ -9001,7 +9001,7 @@
9001 2004-01-14 Sergey Poznyakoff 9001 2004-01-14 Sergey Poznyakoff
9002 9002
9003 * mailbox/mbox/mbox.c (mbox_append_message0): Truncate the 9003 * mailbox/mbox/mbox.c (mbox_append_message0): Truncate the
9004 stream back to its original size if an error occured. 9004 stream back to its original size if an error occurred.
9005 * mail.local/main.c (deliver): Likewise. 9005 * mail.local/main.c (deliver): Likewise.
9006 * frm/frm.c: Minor fix in help output. 9006 * frm/frm.c: Minor fix in help output.
9007 9007
...@@ -9447,7 +9447,7 @@ ...@@ -9447,7 +9447,7 @@
9447 * mh/mhn.c (stream_getline): Bugfix 9447 * mh/mhn.c (stream_getline): Bugfix
9448 * mailbox/parse822.c (parse822_route_addr): Handle empty 9448 * mailbox/parse822.c (parse822_route_addr): Handle empty
9449 addresses. Patch provided by Rob Casey <rob.casey@bluebottle.com> 9449 addresses. Patch provided by Rob Casey <rob.casey@bluebottle.com>
9450 * mailbox/smtp.c (smtp_send_message): Send sender and receipient 9450 * mailbox/smtp.c (smtp_send_message): Send sender and recipient
9451 addresses enclosed in angle brackets. 9451 addresses enclosed in angle brackets.
9452 * mailbox/testsuite/Addrs: Fixed null address test. 9452 * mailbox/testsuite/Addrs: Fixed null address test.
9453 9453
...@@ -9557,11 +9557,11 @@ ...@@ -9557,11 +9557,11 @@
9557 First try of implementing CAPA EXPIRE in pop3d. 9557 First try of implementing CAPA EXPIRE in pop3d.
9558 9558
9559 * pop3d/expire.c: New file. 9559 * pop3d/expire.c: New file.
9560 * pop3d/pop3d.c: New options --expire, expire new gloval variable. 9560 * pop3d/pop3d.c: New options --expire, expire new global variable.
9561 * pop3d/quit.c (pop3d_fix_mark): Set the X-Expire-Timestamp for 9561 * pop3d/quit.c (pop3d_fix_mark): Set the X-Expire-Timestamp for
9562 RETR messages. 9562 RETR messages.
9563 * pop3d/capa.c: Advertise EXPIRE. 9563 * pop3d/capa.c: Advertise EXPIRE.
9564 * pop3d/pop3d.h: Declaration of global variale expire. 9564 * pop3d/pop3d.h: Declaration of global variable expire.
9565 * pop3d/retr.c: Set a flag on downloaded messages. 9565 * pop3d/retr.c: Set a flag on downloaded messages.
9566 9566
9567 2003-10-17 Sergey Poznyakoff 9567 2003-10-17 Sergey Poznyakoff
...@@ -9613,7 +9613,7 @@ ...@@ -9613,7 +9613,7 @@
9613 9613
9614 2003-10-10 Alain Magloire 9614 2003-10-10 Alain Magloire
9615 9615
9616 * mailbos/pop/pop3_readline.c (pop3_getline): Use 9616 * mailbox/pop/pop3_readline.c (pop3_getline): Use
9617 stream_sequential_readline() instead of stream_readline() and do 9617 stream_sequential_readline() instead of stream_readline() and do
9618 not maintain any offsets. 9618 not maintain any offsets.
9619 * include/mailutils/sys/pop3d.h (struct mu_pop3_work_buf): Remove 9619 * include/mailutils/sys/pop3d.h (struct mu_pop3_work_buf): Remove
...@@ -9680,7 +9680,7 @@ ...@@ -9680,7 +9680,7 @@
9680 * include/mailutils/pop3.h: New declaration mu_pop3_set_debug. 9680 * include/mailutils/pop3.h: New declaration mu_pop3_set_debug.
9681 * include/mailutils/sys/pop3.h: new field mu_debug_t in structure. 9681 * include/mailutils/sys/pop3.h: new field mu_debug_t in structure.
9682 * mailbox/pop/pop3_debug.c: Use of mu_debug_t object. 9682 * mailbox/pop/pop3_debug.c: Use of mu_debug_t object.
9683 * examples/pop3client.c: Fix sigsegv and print error messages. 9683 * examples/pop3client.c: Fix SIGSEGV and print error messages.
9684 9684
9685 2003-10-06 Alain Magloire 9685 2003-10-06 Alain Magloire
9686 9686
...@@ -9690,7 +9690,7 @@ ...@@ -9690,7 +9690,7 @@
9690 * mailbox/pop/pop3_apop.c: Obscure the buffer with the digest for 9690 * mailbox/pop/pop3_apop.c: Obscure the buffer with the digest for
9691 security reasons. 9691 security reasons.
9692 * include/mailutils/pop3.h: Declaration mu_pop3_stls(). 9692 * include/mailutils/pop3.h: Declaration mu_pop3_stls().
9693 * include/mailutils/sys/pop3.h: New states added to accomodate STLS 9693 * include/mailutils/sys/pop3.h: New states added to accommodate STLS
9694 command. 9694 command.
9695 * doc/texinfo/pop3.texi: Corrected some typos. 9695 * doc/texinfo/pop3.texi: Corrected some typos.
9696 9696
...@@ -9777,7 +9777,7 @@ ...@@ -9777,7 +9777,7 @@
9777 function: 9777 function:
9778 9778
9779 extern int list_set_destroy_item __P ((list_t list, 9779 extern int list_set_destroy_item __P ((list_t list,
9780 void (*destoy_item) __P((void *)))); 9780 void (*destroy_item) __P((void *))));
9781 9781
9782 This function let us register a function to call on the item 9782 This function let us register a function to call on the item
9783 when the list is being destroy. 9783 when the list is being destroy.
...@@ -10019,7 +10019,7 @@ ...@@ -10019,7 +10019,7 @@
10019 * mailbox/imap/folder.c (read_capa): New function. 10019 * mailbox/imap/folder.c (read_capa): New function.
10020 (check_capa): Call read_capa. 10020 (check_capa): Call read_capa.
10021 (authenticate_imap_login): Check for LOGINDISABLED. 10021 (authenticate_imap_login): Check for LOGINDISABLED.
10022 (tls): Reread the capabilities after successfull TLS 10022 (tls): Reread the capabilities after successful TLS
10023 negotiation. 10023 negotiation.
10024 10024
10025 2003-09-09 Sergey Poznyakoff 10025 2003-09-09 Sergey Poznyakoff
...@@ -10382,7 +10382,7 @@ ...@@ -10382,7 +10382,7 @@
10382 result of the last comparison. 10382 result of the last comparison.
10383 * mh/mh_format.c (mh_format): Count the newline as output 10383 * mh/mh_format.c (mh_format): Count the newline as output
10384 character (for compatibility with other implementations). 10384 character (for compatibility with other implementations).
10385 Set arg_num whe evaluating headers. 10385 Set arg_num when evaluating headers.
10386 (mh_format,mh_format_dump): Handle mhop_nop. 10386 (mh_format,mh_format_dump): Handle mhop_nop.
10387 * mh/repl.c: New option --format. 10387 * mh/repl.c: New option --format.
10388 10388
...@@ -10721,7 +10721,7 @@ ...@@ -10721,7 +10721,7 @@
10721 10721
10722 * mail.local/mail.local.h: include <sys/types.h> (necessary for 10722 * mail.local/mail.local.h: include <sys/types.h> (necessary for
10723 Darwin). 10723 Darwin).
10724 * mail/mail.h (struct message_set): Changed type fo msg_part to 10724 * mail/mail.h (struct message_set): Changed type of msg_part to
10725 size_t. 10725 size_t.
10726 * libsieve/comparator.c (i_ascii_casemap_contains): Fixed 10726 * libsieve/comparator.c (i_ascii_casemap_contains): Fixed
10727 obsolete label usage. 10727 obsolete label usage.
...@@ -11558,7 +11558,7 @@ ...@@ -11558,7 +11558,7 @@
11558 11558
11559 2003-01-28 Sergey Poznyakoff 11559 2003-01-28 Sergey Poznyakoff
11560 11560
11561 * comsat/comsat.c: Removed unneded colon in the argument to perror. 11561 * comsat/comsat.c: Removed unneeded colon in the argument to perror.
11562 * imap4d/imap4d.c: Likewise. 11562 * imap4d/imap4d.c: Likewise.
11563 * guimb/main.c: Fixed help output. 11563 * guimb/main.c: Fixed help output.
11564 * mailbox/mailutils-config.c: Likewise. 11564 * mailbox/mailutils-config.c: Likewise.
...@@ -11712,7 +11712,7 @@ ...@@ -11712,7 +11712,7 @@
11712 * configure.ac: Renamed AUTHOBJS to IMAP_AUTHOBJS for 11712 * configure.ac: Renamed AUTHOBJS to IMAP_AUTHOBJS for
11713 clarity. Added call to MU_CHECK_GSASL. 11713 clarity. Added call to MU_CHECK_GSASL.
11714 11714
11715 * m4/gsasl.m4: New file. Detect the presense of libgsasl library. 11715 * m4/gsasl.m4: New file. Detect the presence of libgsasl library.
11716 * m4/Makefile.am: Added gsasl.m4 11716 * m4/Makefile.am: Added gsasl.m4
11717 11717
11718 * auth/gsasl.c: New file. Placeholder for gsasl stream support. 11718 * auth/gsasl.c: New file. Placeholder for gsasl stream support.
...@@ -11776,7 +11776,7 @@ ...@@ -11776,7 +11776,7 @@
11776 (imap4d_parse_opt): Handle --login-disabled option. 11776 (imap4d_parse_opt): Handle --login-disabled option.
11777 (main): Call imap4d_capability_init(). 11777 (main): Call imap4d_capability_init().
11778 Register "STARTTLS" capability if tls is OK. 11778 Register "STARTTLS" capability if tls is OK.
11779 * imap4d/starttls.c: When TLS negotiation succeedes, remove 11779 * imap4d/starttls.c: When TLS negotiation succeeds, remove
11780 "STARTTLS" capability and reset login_disabled. 11780 "STARTTLS" capability and reset login_disabled.
11781 11781
11782 * imap4d/login.c: Fail if login_disabled is set. 11782 * imap4d/login.c: Fail if login_disabled is set.
...@@ -11937,7 +11937,7 @@ ...@@ -11937,7 +11937,7 @@
11937 (ERR_TLS): New define. 11937 (ERR_TLS): New define.
11938 * imap4d/starttls.c: New file. The STARTTLS command support. 11938 * imap4d/starttls.c: New file. The STARTTLS command support.
11939 * imap4d/util.c: Added TLS support (via GnuTLS). 11939 * imap4d/util.c: Added TLS support (via GnuTLS).
11940 (ifile, ofile, sfile): Added as a static variables. 11940 (ifile, ofile, sfile): Added static variables.
11941 (util_send_lowlevel): New function. 11941 (util_send_lowlevel): New function.
11942 (imap4d_init_tls_server): Likewise. 11942 (imap4d_init_tls_server): Likewise.
11943 (imap4d_deinit_tls_server): Likewise. 11943 (imap4d_deinit_tls_server): Likewise.
...@@ -12172,7 +12172,7 @@ ...@@ -12172,7 +12172,7 @@
12172 a non-existent envelope structures. 12172 a non-existent envelope structures.
12173 Thanks Nic Ferrier <nferrier@tapsellferrier.co.uk> for 12173 Thanks Nic Ferrier <nferrier@tapsellferrier.co.uk> for
12174 reporting the bug. 12174 reporting the bug.
12175 * imap4d/testsuite/imap4d/fetch.exp: Test new fetch responces. 12175 * imap4d/testsuite/imap4d/fetch.exp: Test new fetch responses.
12176 * imap4d/testsuite/imap4d/create.exp: Likewise. 12176 * imap4d/testsuite/imap4d/create.exp: Likewise.
12177 12177
12178 2003-01-11 Sergey Poznyakoff 12178 2003-01-11 Sergey Poznyakoff
...@@ -12295,7 +12295,7 @@ ...@@ -12295,7 +12295,7 @@
12295 2003-01-02 Sergey Poznyakoff 12295 2003-01-02 Sergey Poznyakoff
12296 12296
12297 * configure.ac: New ac_subst variable BUILD_MH_EXEC_HOOK 12297 * configure.ac: New ac_subst variable BUILD_MH_EXEC_HOOK
12298 * mh/Makefile.am: Enble install-exec-hook only if 12298 * mh/Makefile.am: Enable install-exec-hook only if
12299 BUILD_MH_EXEC_HOOK is set. 12299 BUILD_MH_EXEC_HOOK is set.
12300 12300
12301 2003-01-01 Wojciech Polak 12301 2003-01-01 Wojciech Polak
...@@ -12373,7 +12373,7 @@ ...@@ -12373,7 +12373,7 @@
12373 for libmu_scm.h 12373 for libmu_scm.h
12374 * include/mailutils/Makefile.am: Added guile.h. 12374 * include/mailutils/Makefile.am: Added guile.h.
12375 * libmu_scm/mu_scm.h: Include <mailutils/guile.h> 12375 * libmu_scm/mu_scm.h: Include <mailutils/guile.h>
12376 * libmu_scm/mu_mime.c: Removed unneded inlcudes. 12376 * libmu_scm/mu_mime.c: Removed unneeded includes.
12377 * libmu_scm/mu_scm.c: Likewise. 12377 * libmu_scm/mu_scm.c: Likewise.
12378 * libmu_scm/mu_util.c: Likewise. 12378 * libmu_scm/mu_util.c: Likewise.
12379 12379
...@@ -12473,7 +12473,7 @@ ...@@ -12473,7 +12473,7 @@
12473 12473
12474 2002-12-29 Sergey Poznyakoff 12474 2002-12-29 Sergey Poznyakoff
12475 12475
12476 * mail/util.c: Removed unneded global env_cursor. 12476 * mail/util.c: Removed unneeded global env_cursor.
12477 * mailbox/mailutils-config.c: Reflect addition 12477 * mailbox/mailutils-config.c: Reflect addition
12478 of NLS libraries. 12478 of NLS libraries.
12479 12479
...@@ -12719,7 +12719,7 @@ ...@@ -12719,7 +12719,7 @@
12719 12719
12720 2002-12-22 Jeff Bailey <jbailey@nisa.net> 12720 2002-12-22 Jeff Bailey <jbailey@nisa.net>
12721 12721
12722 * mailbox/mbx_maildir.c: Initial checkin of template 12722 * mailbox/mbx_maildir.c: Initial checking of template
12723 12723
12724 * mailbox/Makefile.am: (libmailbox_la_SOURCES) Add mbx_maildir.c 12724 * mailbox/Makefile.am: (libmailbox_la_SOURCES) Add mbx_maildir.c
12725 12725
...@@ -12746,7 +12746,7 @@ ...@@ -12746,7 +12746,7 @@
12746 2002-12-15 Sergey Poznyakoff 12746 2002-12-15 Sergey Poznyakoff
12747 12747
12748 * configure.ac: Raised version number to 0.2 12748 * configure.ac: Raised version number to 0.2
12749 * doc/texinfo/libmuauth.texi: Spellcheck. 12749 * doc/texinfo/libmuauth.texi: Spell check.
12750 * doc/texinfo/libsieve.texi: Likewise. 12750 * doc/texinfo/libsieve.texi: Likewise.
12751 * TODO: Updated. 12751 * TODO: Updated.
12752 12752
...@@ -12846,7 +12846,7 @@ ...@@ -12846,7 +12846,7 @@
12846 2002-12-10 Sergey Poznyakoff 12846 2002-12-10 Sergey Poznyakoff
12847 12847
12848 * mailbox/filter_trans.c (qp_decode): Bugfix: extend chr to 12848 * mailbox/filter_trans.c (qp_decode): Bugfix: extend chr to
12849 accomodate three characters and terminate it with zero. 12849 accommodate three characters and terminate it with zero.
12850 * libsieve/comparator.c (i_octet_regex): Removed misleading 12850 * libsieve/comparator.c (i_octet_regex): Removed misleading
12851 comment. 12851 comment.
12852 * mail/mail.h: Include mu_asprintf.h 12852 * mail/mail.h: Include mu_asprintf.h
...@@ -12945,7 +12945,7 @@ ...@@ -12945,7 +12945,7 @@
12945 * lib/Makefile.am: Moved pin.c from lib to mailbox 12945 * lib/Makefile.am: Moved pin.c from lib to mailbox
12946 * mailbox/Makefile.am: Likewise. 12946 * mailbox/Makefile.am: Likewise.
12947 12947
12948 * comsat/comsat.h: Removed unneded inclusion of getopt.h 12948 * comsat/comsat.h: Removed unneeded inclusion of getopt.h
12949 * frm/frm.c: Likewise. 12949 * frm/frm.c: Likewise.
12950 * imap4d/imap4d.h: Likewise. 12950 * imap4d/imap4d.h: Likewise.
12951 * pop3d/pop3d.h: Likewise. 12951 * pop3d/pop3d.h: Likewise.
...@@ -12960,7 +12960,7 @@ ...@@ -12960,7 +12960,7 @@
12960 12960
12961 2002-12-05 Sergey Poznyakoff 12961 2002-12-05 Sergey Poznyakoff
12962 12962
12963 * configure.ac: Check for presense of getopt.h 12963 * configure.ac: Check for presence of getopt.h
12964 * examples/mta.c: Do not use program_invocation_short_name: 12964 * examples/mta.c: Do not use program_invocation_short_name:
12965 examples are not linked against libmailutils. 12965 examples are not linked against libmailutils.
12966 * frm/testsuite/frm/test.exp: Override FOLDER environment 12966 * frm/testsuite/frm/test.exp: Override FOLDER environment
...@@ -13180,7 +13180,7 @@ ...@@ -13180,7 +13180,7 @@
13180 (sieve_require_test): New functions. 13180 (sieve_require_test): New functions.
13181 * libsieve/register.c: Likewise. 13181 * libsieve/register.c: Likewise.
13182 * sieve/Makefile.am (sieve_LDFLAGS): Added -export-dynamic 13182 * sieve/Makefile.am (sieve_LDFLAGS): Added -export-dynamic
13183 * sieve/sieve.c (main): Removed unneded goto. Added call 13183 * sieve/sieve.c (main): Removed unneeded goto. Added call
13184 to sieve_machine_destroy at the end. 13184 to sieve_machine_destroy at the end.
13185 * sieve/testsuite/Reject: Use regexp instead of hardcoded 13185 * sieve/testsuite/Reject: Use regexp instead of hardcoded
13186 version number. 13186 version number.
...@@ -13227,17 +13227,17 @@ ...@@ -13227,17 +13227,17 @@
13227 been called. 13227 been called.
13228 (mail_exit): Call mail_stop 13228 (mail_exit): Call mail_stop
13229 * mail/testsuite/mail/alias.exp: Call mail_stop at the end. 13229 * mail/testsuite/mail/alias.exp: Call mail_stop at the end.
13230 * mail/testsuite/mail/folder.exp: LIkewise. 13230 * mail/testsuite/mail/folder.exp: Likewise.
13231 * mail/testsuite/mail/read.exp: LIkewise. 13231 * mail/testsuite/mail/read.exp: Likewise.
13232 * mail/testsuite/mail/send.exp: LIkewise. 13232 * mail/testsuite/mail/send.exp: Likewise.
13233 * mail/testsuite/mail/tag.exp: LIkewise. 13233 * mail/testsuite/mail/tag.exp: Likewise.
13234 * mail/testsuite/mail/write.exp: LIkewise. 13234 * mail/testsuite/mail/write.exp: Likewise.
13235 13235
13236 * pop3d/testsuite/lib/pop3d.exp: Fixed exit functions. 13236 * pop3d/testsuite/lib/pop3d.exp: Fixed exit functions.
13237 13237
13238 * mailbox/mailbox.c (mailbox_flush,mailbox_append_message) 13238 * mailbox/mailbox.c (mailbox_flush,mailbox_append_message)
13239 (mailbox_save_attributes,mailbox_expunge): Return EACCES 13239 (mailbox_save_attributes,mailbox_expunge): Return EACCES
13240 if mailbox was open readonly. 13240 if mailbox was open read only.
13241 13241
13242 2002-11-21 Sergey Poznyakoff 13242 2002-11-21 Sergey Poznyakoff
13243 13243
...@@ -13378,7 +13378,7 @@ ...@@ -13378,7 +13378,7 @@
13378 mailer and daemon_email. 13378 mailer and daemon_email.
13379 * libsieve/sieve.l: Call multiline_add for each line in ML state. 13379 * libsieve/sieve.l: Call multiline_add for each line in ML state.
13380 * libsieve/sieve.y (sieve_get_mailer,sieve_set_mailer) 13380 * libsieve/sieve.y (sieve_get_mailer,sieve_set_mailer)
13381 (sieve_get_daemo_email,sieve_set_daemon_email): New functions. 13381 (sieve_get_daemon_email,sieve_set_daemon_email): New functions.
13382 13382
13383 * sieve/Makefile.am: Enable testsuite subdir. 13383 * sieve/Makefile.am: Enable testsuite subdir.
13384 * sieve/sieve.c: New option --email sets user email address. 13384 * sieve/sieve.c: New option --email sets user email address.
...@@ -13747,7 +13747,7 @@ ...@@ -13747,7 +13747,7 @@
13747 13747
13748 * mail.remote/testsuite/mail.remote/send.exp: Broke long lines. 13748 * mail.remote/testsuite/mail.remote/send.exp: Broke long lines.
13749 13749
13750 Added testsute framework for mail.local: 13750 Added testsuite framework for mail.local:
13751 13751
13752 * mail.local/Makefile.am: Added SUBDIRS. 13752 * mail.local/Makefile.am: Added SUBDIRS.
13753 * mail.local/testsuite: New directory 13753 * mail.local/testsuite: New directory
...@@ -13788,7 +13788,7 @@ ...@@ -13788,7 +13788,7 @@
13788 * mail.remote/testsuite/Makefile.am: New file. 13788 * mail.remote/testsuite/Makefile.am: New file.
13789 * mail.remote/testsuite/.cvsignore: New file. 13789 * mail.remote/testsuite/.cvsignore: New file.
13790 * mail.remote/testsuite/Data: New file. Data for testing mail.remote. 13790 * mail.remote/testsuite/Data: New file. Data for testing mail.remote.
13791 * mail.remote/testsuite/lib: New direcory 13791 * mail.remote/testsuite/lib: New directory
13792 * mail.remote/testsuite/lib/mail.remote.exp: New file. 13792 * mail.remote/testsuite/lib/mail.remote.exp: New file.
13793 * mail.remote/testsuite/lib/DISTFILES: New file. 13793 * mail.remote/testsuite/lib/DISTFILES: New file.
13794 * mail.remote/testsuite/mail.remote: New directory 13794 * mail.remote/testsuite/mail.remote: New directory
...@@ -13807,7 +13807,7 @@ ...@@ -13807,7 +13807,7 @@
13807 * mailbox/file_stream.c: Some applications (e.g. mail.remote) 13807 * mailbox/file_stream.c: Some applications (e.g. mail.remote)
13808 implicitly rely on the possibility to seek on stdin streams. 13808 implicitly rely on the possibility to seek on stdin streams.
13809 To provide this functionality: 13809 To provide this functionality:
13810 (struct _file_stram): Added cache member. 13810 (struct _file_stream): Added cache member.
13811 It is a memory stream used to provide seeking capability for 13811 It is a memory stream used to provide seeking capability for
13812 stdio streams. 13812 stdio streams.
13813 (_file_destroy): Destroy cache if necessary. 13813 (_file_destroy): Destroy cache if necessary.
...@@ -13991,7 +13991,7 @@ ...@@ -13991,7 +13991,7 @@
13991 Expand aliases in every address-related header. 13991 Expand aliases in every address-related header.
13992 * mail/alias.c (alias_expand): Return NULL if no suitable 13992 * mail/alias.c (alias_expand): Return NULL if no suitable
13993 expansion was found. 13993 expansion was found.
13994 * mail/followup.c: Removed unneded typecasts. 13994 * mail/followup.c: Removed unneeded typecasts.
13995 * mail/mailline.c: Likewise. 13995 * mail/mailline.c: Likewise.
13996 * mail/shell.c: Likewise. 13996 * mail/shell.c: Likewise.
13997 * mail/util.c (util_header_expand): New function. Expand 13997 * mail/util.c (util_header_expand): New function. Expand
...@@ -14041,7 +14041,7 @@ ...@@ -14041,7 +14041,7 @@
14041 2002-10-01 Sergey Poznyakoff 14041 2002-10-01 Sergey Poznyakoff
14042 14042
14043 * guimb/scm/sieve-core.scm: Added :regex tag -- an 14043 * guimb/scm/sieve-core.scm: Added :regex tag -- an
14044 extension allowing to use posix regexp in address 14044 extension allowing to use POSIX regexp in address
14045 and header tests. 14045 and header tests.
14046 * mh/repl.c: New file. A framework for the `repl' program. 14046 * mh/repl.c: New file. A framework for the `repl' program.
14047 * mh/Makefile.am: Added repl 14047 * mh/Makefile.am: Added repl
...@@ -14120,7 +14120,7 @@ ...@@ -14120,7 +14120,7 @@
14120 14120
14121 2002-09-24 Sergey Poznyakoff 14121 2002-09-24 Sergey Poznyakoff
14122 14122
14123 * mail/mail.c (mail_cmdline): removed unnecesary conditional. 14123 * mail/mail.c (mail_cmdline): removed unnecessary conditional.
14124 * mail/send.c (mail_send0): Bugfix. A dot ends the message 14124 * mail/send.c (mail_send0): Bugfix. A dot ends the message
14125 only if it is the only character on the line. Thanks 14125 only if it is the only character on the line. Thanks
14126 to Thomas Esser <te@dbs.uni-hannover.de> for noticing. 14126 to Thomas Esser <te@dbs.uni-hannover.de> for noticing.
...@@ -14343,7 +14343,7 @@ ...@@ -14343,7 +14343,7 @@
14343 * include/mailutils/argcv.h: ... here 14343 * include/mailutils/argcv.h: ... here
14344 * include/mailutils/argp.h: Conditionally include <gnu/argp.h> 14344 * include/mailutils/argp.h: Conditionally include <gnu/argp.h>
14345 14345
14346 * mailbox/mu_argp.c: Changed licence to Lesser GPL 14346 * mailbox/mu_argp.c: Changed license to Lesser GPL
14347 * mailbox/mu_auth.c: Likewise. 14347 * mailbox/mu_auth.c: Likewise.
14348 * mailbox/system.c: Likewise. 14348 * mailbox/system.c: Likewise.
14349 14349
...@@ -14515,7 +14515,7 @@ ...@@ -14515,7 +14515,7 @@
14515 * README: Updated. 14515 * README: Updated.
14516 * TODO: Updated. 14516 * TODO: Updated.
14517 * doc/texinfo/mailer.texi: Removed confusing note: yes, one 14517 * doc/texinfo/mailer.texi: Removed confusing note: yes, one
14518 always has to give -t to sendmail to force it to get recepient 14518 always has to give -t to sendmail to force it to get recipient
14519 addresses from the headers. 14519 addresses from the headers.
14520 * doc/texinfo/mailutils.texi: Commented out references to 14520 * doc/texinfo/mailutils.texi: Commented out references to
14521 mailbox2 stuff. 14521 mailbox2 stuff.
...@@ -14549,7 +14549,7 @@ ...@@ -14549,7 +14549,7 @@
14549 * examples/mimetest.c: Likewise. 14549 * examples/mimetest.c: Likewise.
14550 14550
14551 * testsuite/lib/mailutils.exp: Couple of fixes. 14551 * testsuite/lib/mailutils.exp: Couple of fixes.
14552 * sieve/testsuite/sieve/DISTFILES: Temporarly removed compile.exp: 14552 * sieve/testsuite/sieve/DISTFILES: Temporarily removed compile.exp:
14553 it uses files not included in the distribution. 14553 it uses files not included in the distribution.
14554 14554
14555 2002-08-29 Sergey Poznyakoff 14555 2002-08-29 Sergey Poznyakoff
...@@ -14621,7 +14621,7 @@ ...@@ -14621,7 +14621,7 @@
14621 14621
14622 2002-08-28 Sergey Poznyakoff 14622 2002-08-28 Sergey Poznyakoff
14623 14623
14624 * sieve/interp.c (sieve_interp_alloc): Fill allocalted memory 14624 * sieve/interp.c (sieve_interp_alloc): Fill allocated memory
14625 with zeroes. 14625 with zeroes.
14626 * sieve/svcb.c: Implemented envelope test (see comment, though) 14626 * sieve/svcb.c: Implemented envelope test (see comment, though)
14627 * sieve/sieve-gram.y: Include "sieve.h" 14627 * sieve/sieve-gram.y: Include "sieve.h"
...@@ -14794,7 +14794,7 @@ ...@@ -14794,7 +14794,7 @@
14794 * imap4d/testsuite/imap4d/DISTFILES: Added fetch.exp, x.exp 14794 * imap4d/testsuite/imap4d/DISTFILES: Added fetch.exp, x.exp
14795 * imap4d/testsuite/imap4d/search.exp: Added comments 14795 * imap4d/testsuite/imap4d/search.exp: Added comments
14796 14796
14797 * testsuite/spool/mbox: Changed `organisation' header 14797 * testsuite/spool/mbox: Changed `organization' header
14798 * testsuite/spool/mbox1: Likewise. 14798 * testsuite/spool/mbox1: Likewise.
14799 * mail/testsuite/mail/write.exp: Adjusted tests to the changes in 14799 * mail/testsuite/mail/write.exp: Adjusted tests to the changes in
14800 mbox and mbox1. 14800 mbox and mbox1.
...@@ -15190,7 +15190,7 @@ ...@@ -15190,7 +15190,7 @@
15190 need it anymore. 15190 need it anymore.
15191 * mail/testsuite/makespool: New file. Prepares data 15191 * mail/testsuite/makespool: New file. Prepares data
15192 for testsuite. 15192 for testsuite.
15193 * mail/testsuite/Makefile.am: Added EXTA_DIST and 15193 * mail/testsuite/Makefile.am: Added EXTRA_DIST and
15194 distclean-local 15194 distclean-local
15195 * mail/testsuite/lib/mail.exp: Fixed paths. 15195 * mail/testsuite/lib/mail.exp: Fixed paths.
15196 (mail_prepare_spools,mail_cleanup_spools): new procedures. 15196 (mail_prepare_spools,mail_cleanup_spools): new procedures.
...@@ -15351,7 +15351,7 @@ ...@@ -15351,7 +15351,7 @@
15351 * imap4d/sync.c: Rearranged functions to let implicit prototyping 15351 * imap4d/sync.c: Rearranged functions to let implicit prototyping
15352 work. 15352 work.
15353 * imap4d/fetch.c: include argcv.h 15353 * imap4d/fetch.c: include argcv.h
15354 (fetch_send_address): Added const specifier to the declaraton. 15354 (fetch_send_address): Added const specifier to the declaration.
15355 15355
15356 2002-08-01 Sergey Poznyakoff 15356 2002-08-01 Sergey Poznyakoff
15357 15357
...@@ -15427,7 +15427,7 @@ ...@@ -15427,7 +15427,7 @@
15427 * pop3d/top.c: Likewise. 15427 * pop3d/top.c: Likewise.
15428 * pop3d/uidl.c: Likewise. 15428 * pop3d/uidl.c: Likewise.
15429 * pop3d/user.c: Likewise. 15429 * pop3d/user.c: Likewise.
15430 (pop3d_user): Removed unneded PAM_ERROR. 15430 (pop3d_user): Removed unneeded PAM_ERROR.
15431 * pop3d/pop3d.c: Likewise. 15431 * pop3d/pop3d.c: Likewise.
15432 (struct daemon_param): Initialize transcript member. 15432 (struct daemon_param): Initialize transcript member.
15433 15433
...@@ -15578,7 +15578,7 @@ ...@@ -15578,7 +15578,7 @@
15578 * include/mailutils/registrar.h: change all callback function 15578 * include/mailutils/registrar.h: change all callback function
15579 specs from __P to __PMT 15579 specs from __P to __PMT
15580 * include/mailutils/filter.h: Likewise. 15580 * include/mailutils/filter.h: Likewise.
15581 * include/mailutils/envelope.h: Add coditional closing bracket 15581 * include/mailutils/envelope.h: Add conditional closing bracket
15582 to balance earlier extern "C" { 15582 to balance earlier extern "C" {
15583 15583
15584 2002-05-16 Sergey Poznyakoff 15584 2002-05-16 Sergey Poznyakoff
...@@ -15863,9 +15863,9 @@ ...@@ -15863,9 +15863,9 @@
15863 15863
15864 * mail.local/main.c: split mailutils capabilities 15864 * mail.local/main.c: split mailutils capabilities
15865 * frm/frm.c: mailutils capabilities were split, and it now reports 15865 * frm/frm.c: mailutils capabilities were split, and it now reports
15866 failure, rather than calling failure seccess. 15866 failure, rather than calling failure success.
15867 * comsat/comsat.c, guimb/main.c, imap4d/imap4d.c: mailutils 15867 * comsat/comsat.c, guimb/main.c, imap4d/imap4d.c: mailutils
15868 capbilities were split up 15868 capabilities were split up
15869 * mail.remote/: Makefile.am, mail.remote.c: A stub mail.remote. It 15869 * mail.remote/: Makefile.am, mail.remote.c: A stub mail.remote. It
15870 is waiting on completion of the smtp mailer_t. 15870 is waiting on completion of the smtp mailer_t.
15871 * lib/mu_argp.c: Default per-utility config files are ~/.programrc. 15871 * lib/mu_argp.c: Default per-utility config files are ~/.programrc.
...@@ -16022,9 +16022,9 @@ ...@@ -16022,9 +16022,9 @@
16022 system-like signal handling. 16022 system-like signal handling.
16023 * configure.in: Check for vfork(). 16023 * configure.in: Check for vfork().
16024 * mail/echo.c: %d fmt not matching long arg 16024 * mail/echo.c: %d fmt not matching long arg
16025 * mail/msgset.y: fixed warning about included regex.h redefineing 16025 * mail/msgset.y: fixed warning about included regex.h redefining
16026 RE_DUP_MAX from limits.h 16026 RE_DUP_MAX from limits.h
16027 * TODO: Added alains suggestions about read/write lock 16027 * TODO: Added Alain's suggestions about read/write lock
16028 optimization, etc. 16028 optimization, etc.
16029 * include/mailutils/*.h, comsat/comsat.h, frm/frm.c, from/from.h, 16029 * include/mailutils/*.h, comsat/comsat.h, frm/frm.c, from/from.h,
16030 imap4d/imap4d.h, url.h, mail/mail.h, mail.local/mail.local.h, 16030 imap4d/imap4d.h, url.h, mail/mail.h, mail.local/mail.local.h,
...@@ -16066,7 +16066,7 @@ ...@@ -16066,7 +16066,7 @@
16066 (yet). 16066 (yet).
16067 * lib/: mu_argp.c, mu_argp.h: Added ~/.<progname>rc to be last 16067 * lib/: mu_argp.c, mu_argp.h: Added ~/.<progname>rc to be last
16068 config file. Fixed segv for NULL capa and added header file blurb. 16068 config file. Fixed segv for NULL capa and added header file blurb.
16069 * mailbox/locker.c: Implemented NFS-safe locking, useing link() 16069 * mailbox/locker.c: Implemented NFS-safe locking, using link()
16070 from a uniquely named file. 16070 from a uniquely named file.
16071 16071
16072 2002-03-15 Alain Magloire 16072 2002-03-15 Alain Magloire
...@@ -16218,7 +16218,7 @@ ...@@ -16218,7 +16218,7 @@
16218 2002-03-09 Sergey Poznyakoff 16218 2002-03-09 Sergey Poznyakoff
16219 16219
16220 * lib/mu_argp.c: Process user's private initialization file 16220 * lib/mu_argp.c: Process user's private initialization file
16221 after processig the site-wide one. 16221 after processing the site-wide one.
16222 (mu_create_argcv): was allocating an extra slot in argv array. 16222 (mu_create_argcv): was allocating an extra slot in argv array.
16223 * mail.local/main.c: Added `auth' capability. 16223 * mail.local/main.c: Added `auth' capability.
16224 * doc/texinfo/programs.texi: Documented new configuration file 16224 * doc/texinfo/programs.texi: Documented new configuration file
...@@ -16411,7 +16411,7 @@ ...@@ -16411,7 +16411,7 @@
16411 16411
16412 * mailbox/: message.c, smtp.c: Include <mailutils/mutil.h> for 16412 * mailbox/: message.c, smtp.c: Include <mailutils/mutil.h> for
16413 mu_getpwuid() prototype. 16413 mu_getpwuid() prototype.
16414 * doc/texinfo/programs.texi: A # must be preceeded by whitespace to 16414 * doc/texinfo/programs.texi: A # must be preceded by whitespace to
16415 start an rcfile comment. 16415 start an rcfile comment.
16416 16416
16417 2002-02-20 Sam Roberts 16417 2002-02-20 Sam Roberts
...@@ -16428,7 +16428,7 @@ ...@@ -16428,7 +16428,7 @@
16428 until argcv_scan return is > len. Thanks Sam for noticing. 16428 until argcv_scan return is > len. Thanks Sam for noticing.
16429 16429
16430 More fixes: 16430 More fixes:
16431 (argcv_scan): Correclty handle comments without intervening 16431 (argcv_scan): Correctly handle comments without intervening
16432 whitespace between the comment character and remaining text, 16432 whitespace between the comment character and remaining text,
16433 e.g.: 16433 e.g.:
16434 set a=2 #comment 16434 set a=2 #comment
...@@ -16455,14 +16455,14 @@ ...@@ -16455,14 +16455,14 @@
16455 * messages/messages.c: Likewise. 16455 * messages/messages.c: Likewise.
16456 16456
16457 * frm/Makefile.am: Added ARGP stuff. 16457 * frm/Makefile.am: Added ARGP stuff.
16458 * guimb/Makefile.am: LIkewise. 16458 * guimb/Makefile.am: Likewise.
16459 * imap4d/Makefile.am: Restored imap4d_DEPENDENCIES. Without it 16459 * imap4d/Makefile.am: Restored imap4d_DEPENDENCIES. Without it
16460 @AUTHOBJS@ do not get into dependencies. 16460 @AUTHOBJS@ do not get into dependencies.
16461 16461
16462 2002-02-21 Jeff Bailey <jbailey@outpost.dnsalias.org> 16462 2002-02-21 Jeff Bailey <jbailey@outpost.dnsalias.org>
16463 16463
16464 * sieve/Makefile.am: Link @ARGPLIBS@ before libmailutils.la to 16464 * sieve/Makefile.am: Link @ARGPLIBS@ before libmailutils.la to
16465 compensate for lack of interlibrary dependancies 16465 compensate for lack of interlibrary dependencies
16466 16466
16467 * configure.in: Detect either curses or ncurses 16467 * configure.in: Detect either curses or ncurses
16468 16468
...@@ -16507,7 +16507,7 @@ ...@@ -16507,7 +16507,7 @@
16507 16507
16508 2002-02-20 Jeff Bailey <jbailey@outpost.dnsalias.org> 16508 2002-02-20 Jeff Bailey <jbailey@outpost.dnsalias.org>
16509 16509
16510 * argp/Makefile.am: Remove inter-library dependancy. Until QNX 16510 * argp/Makefile.am: Remove inter-library dependency. Until QNX
16511 has a recent libtool that will support this. Thanks Sam, 16511 has a recent libtool that will support this. Thanks Sam,
16512 Sergey for reporting and finding the fix. 16512 Sergey for reporting and finding the fix.
16513 16513
...@@ -16516,13 +16516,13 @@ ...@@ -16516,13 +16516,13 @@
16516 * frm/Makefile.am, from/Makefile.am, imap4d/Makefile.am, 16516 * frm/Makefile.am, from/Makefile.am, imap4d/Makefile.am,
16517 messages/Makefile.am, readmsg/Makefile.am, sieve/Makefile.am: The 16517 messages/Makefile.am, readmsg/Makefile.am, sieve/Makefile.am: The
16518 exe_DEPENDENCIES lines prevent the _LDADD lines being used for 16518 exe_DEPENDENCIES lines prevent the _LDADD lines being used for
16519 dependencies, so the exes dont' get rebuilt when the libraries are 16519 dependencies, so the exes don't' get rebuilt when the libraries are
16520 rebuilt, unless explicitly listed. 16520 rebuilt, unless explicitly listed.
16521 16521
16522 2002-02-19 Sergey Poznyakoff <gray@Mirddin.farlep.net> 16522 2002-02-19 Sergey Poznyakoff <gray@Mirddin.farlep.net>
16523 16523
16524 Use of system getpwuid() in many places of the code 16524 Use of system getpwuid() in many places of the code
16525 actually broke mu_getpwnam() pardigm. To fix it, 16525 actually broke mu_getpwnam() paradigm. To fix it,
16526 a wrapper function, mu_getpwuid(), is introduced. 16526 a wrapper function, mu_getpwuid(), is introduced.
16527 It allows to use 'overloaded' getpwuid calls. In the 16527 It allows to use 'overloaded' getpwuid calls. In the
16528 simplest case, it boils down to calling getpuid(). 16528 simplest case, it boils down to calling getpuid().
...@@ -16625,7 +16625,7 @@ ...@@ -16625,7 +16625,7 @@
16625 2002-02-13 Jeff Bailey <jbailey@outpost.dnsalias.org> 16625 2002-02-13 Jeff Bailey <jbailey@outpost.dnsalias.org>
16626 16626
16627 This change permits linking on systems that don't support 16627 This change permits linking on systems that don't support
16628 interlibrary dependancies inherently like SCO Openserver. 16628 interlibrary dependencies inherently like SCO Openserver.
16629 16629
16630 * sieve/Makefile.am: Link in libtool-based libmailutils. 16630 * sieve/Makefile.am: Link in libtool-based libmailutils.
16631 16631
...@@ -16673,7 +16673,7 @@ ...@@ -16673,7 +16673,7 @@
16673 * sieve/: sieve.c, svcb.c: better logging and error reporting 16673 * sieve/: sieve.c, svcb.c: better logging and error reporting
16674 * include/mailutils/debug.h, mailbox/debug.c, 16674 * include/mailutils/debug.h, mailbox/debug.c,
16675 mailbox/include/debug0.h: Added level argument of mu_debug_print() 16675 mailbox/include/debug0.h: Added level argument of mu_debug_print()
16676 to the print callback, useful for determing the level and 16676 to the print callback, useful for determining the level and
16677 forwarding to syslog, or something. 16677 forwarding to syslog, or something.
16678 16678
16679 2002-02-09 Sam Roberts 16679 2002-02-09 Sam Roberts
...@@ -16684,9 +16684,9 @@ ...@@ -16684,9 +16684,9 @@
16684 16684
16685 * TODO: More things I think should be done, or did. 16685 * TODO: More things I think should be done, or did.
16686 * mailbox/wicket.c: wicket: a ticket file now can contain multiple 16686 * mailbox/wicket.c: wicket: a ticket file now can contain multiple
16687 urls, when looking for a ticket, the first one which contains 16687 URLs, when looking for a ticket, the first one which contains
16688 authentication information for the incomplete url is returned. 16688 authentication information for the incomplete url is returned.
16689 wildcards are ok, so you can do: 16689 wildcards are OK, so you can do:
16690 # my ~/.tickets 16690 # my ~/.tickets
16691 pop://sam:pass@pop.uniserve.com 16691 pop://sam:pass@pop.uniserve.com
16692 *://sroberts:gnuless@mail.certicom.com 16692 *://sroberts:gnuless@mail.certicom.com
...@@ -16949,7 +16949,7 @@ ...@@ -16949,7 +16949,7 @@
16949 mailbox_has_debug(): wasn't a way to see if a mailbox had one 16949 mailbox_has_debug(): wasn't a way to see if a mailbox had one
16950 * mailbox/folder_mbox.c: Give mbox folders a null authentication 16950 * mailbox/folder_mbox.c: Give mbox folders a null authentication
16951 object, mailbox_get_authority() will now return one instead of 16951 object, mailbox_get_authority() will now return one instead of
16952 suceeding, but not returning an object. 16952 succeeding, but not returning an object.
16953 * include/mailutils/folder.h, mailbox/folder.c: folder_has_debug(): 16953 * include/mailutils/folder.h, mailbox/folder.c: folder_has_debug():
16954 there wasn't a way to see if folder had a debug object 16954 there wasn't a way to see if folder had a debug object
16955 * include/mailutils/auth.h, mailbox/auth.c: 16955 * include/mailutils/auth.h, mailbox/auth.c:
...@@ -16985,7 +16985,7 @@ ...@@ -16985,7 +16985,7 @@
16985 examples/t-complex.sv, examples/t-mailutils.sv: More testing and 16985 examples/t-complex.sv, examples/t-mailutils.sv: More testing and
16986 resultant polishing, -k switch to sieve to keep on going after an 16986 resultant polishing, -k switch to sieve to keep on going after an
16987 error sieving a message, don't discard a message unless the script 16987 error sieving a message, don't discard a message unless the script
16988 completed all the actions sucesfully on a message, better error 16988 completed all the actions successfully on a message, better error
16989 reporting and logging, workarounds around problems/differences 16989 reporting and logging, workarounds around problems/differences
16990 between mailbox types, and a test script that exercises sieve on an 16990 between mailbox types, and a test script that exercises sieve on an
16991 mbox. 16991 mbox.
...@@ -17041,7 +17041,7 @@ ...@@ -17041,7 +17041,7 @@
17041 17041
17042 2001-12-31 Alain Magloire 17042 2001-12-31 Alain Magloire
17043 17043
17044 * doc/texinfo/programs.texi: Descibe the readmsg utility. 17044 * doc/texinfo/programs.texi: Describe the readmsg utility.
17045 * configure.in: Enable readmsg. 17045 * configure.in: Enable readmsg.
17046 * Makefile.in: Enable readmsg. 17046 * Makefile.in: Enable readmsg.
17047 * readmsg/readmsg.c: Implementation. 17047 * readmsg/readmsg.c: Implementation.
...@@ -17166,8 +17166,8 @@ ...@@ -17166,8 +17166,8 @@
17166 17166
17167 2001-12-03 Alain Magloire 17167 2001-12-03 Alain Magloire
17168 17168
17169 Suprisingly some OSes do not have getpass() 17169 Surprisingly some OSes do not have getpass()
17170 drop a dumb version in lib/getpass.c for missing plaforms. 17170 drop a dumb version in lib/getpass.c for missing platforms.
17171 17171
17172 * configure.in: Check for getpass (); 17172 * configure.in: Check for getpass ();
17173 * lib/getpass.c: New file. 17173 * lib/getpass.c: New file.
...@@ -17246,7 +17246,7 @@ ...@@ -17246,7 +17246,7 @@
17246 (myticket_pop): Take an url in argument. 17246 (myticket_pop): Take an url in argument.
17247 * mailbox/include/auth0.h: field _pop() prototype changed. 17247 * mailbox/include/auth0.h: field _pop() prototype changed.
17248 * include/mailutils/auth.h: ticket_pop and ticket_set_pop 17248 * include/mailutils/auth.h: ticket_pop and ticket_set_pop
17249 proptotype changed, add url. Include <mailutils/url.h> 17249 prototype changed, add url. Include <mailutils/url.h>
17250 17250
17251 2001-11-17 Alain Magloire 17251 2001-11-17 Alain Magloire
17252 17252
...@@ -17272,7 +17272,7 @@ ...@@ -17272,7 +17272,7 @@
17272 size_t n = 0; 17272 size_t n = 0;
17273 17273
17274 message_create (mesg, NULL); 17274 message_create (mesg, NULL);
17275 file_stream_crete (&stream, "/home/user/mh/mesg_1"); 17275 file_stream_create (&stream, "/home/user/mh/mesg_1");
17276 message_set_stream (mesg, stream, NULL); 17276 message_set_stream (mesg, stream, NULL);
17277 17277
17278 stream = NULL; 17278 stream = NULL;
...@@ -17343,7 +17343,7 @@ ...@@ -17343,7 +17343,7 @@
17343 17343
17344 2001-11-14 Alain Magloire 17344 2001-11-14 Alain Magloire
17345 17345
17346 To provide an easy way to crete a ticket_t from 17346 To provide an easy way to create a ticket_t from
17347 a file, one can create a wicket_t and fetch ticket_t's 17347 a file, one can create a wicket_t and fetch ticket_t's
17348 for different users to set on the authority. 17348 for different users to set on the authority.
17349 { 17349 {
...@@ -17381,7 +17381,7 @@ ...@@ -17381,7 +17381,7 @@
17381 variable i and size unneeded. 17381 variable i and size unneeded.
17382 variable c initialize to zero. 17382 variable c initialize to zero.
17383 (expand_line): obstack_1grow() pass *p instead of c. 17383 (expand_line): obstack_1grow() pass *p instead of c.
17384 (defaul_action): const char*. 17384 (default_action): const char*.
17385 (run_user_action): fprintf () missing argument. 17385 (run_user_action): fprintf () missing argument.
17386 (open_rc): const char *filename. 17386 (open_rc): const char *filename.
17387 * comsat/comsat.c (username): const char *username. 17387 * comsat/comsat.c (username): const char *username.
...@@ -17429,7 +17429,7 @@ ...@@ -17429,7 +17429,7 @@
17429 17429
17430 2001-11-12 Alain Magloire 17430 2001-11-12 Alain Magloire
17431 17431
17432 Support in POP3 maibox client for APOP authentication. 17432 Support in POP3 mailbox client for APOP authentication.
17433 This should work, now: 17433 This should work, now:
17434 #MAIL='pop://alain;AUTH=+APOP@localhost' ./frm 17434 #MAIL='pop://alain;AUTH=+APOP@localhost' ./frm
17435 Pop passwd: secret <--- apop secret 17435 Pop passwd: secret <--- apop secret
...@@ -17437,7 +17437,7 @@ ...@@ -17437,7 +17437,7 @@
17437 17437
17438 * mailbox/folder_pop.c (folder_pop_get_authority): 17438 * mailbox/folder_pop.c (folder_pop_get_authority):
17439 Enable APOP code. 17439 Enable APOP code.
17440 * mailbx/mbx_pop.c: Add md5-rsa.h. 17440 * mail bx/mbx_pop.c: Add md5-rsa.h.
17441 (_pop_apop): New function to do APOP authentication. 17441 (_pop_apop): New function to do APOP authentication.
17442 (_pop_user): Factor some code in pop_get_user() and 17442 (_pop_user): Factor some code in pop_get_user() and
17443 pop_get_passwd() to share with _pop_apop(). 17443 pop_get_passwd() to share with _pop_apop().
...@@ -17448,14 +17448,14 @@ ...@@ -17448,14 +17448,14 @@
17448 * pop3d/apop.c: Remove trailing spaces. 17448 * pop3d/apop.c: Remove trailing spaces.
17449 17449
17450 * frm/frm.c: New option -d, --debug. 17450 * frm/frm.c: New option -d, --debug.
17451 To put the mailbox_t in debug mode, very practicle 17451 To put the mailbox_t in debug mode, very practical
17452 to watch the traffic. 17452 to watch the traffic.
17453 17453
17454 2001-11-11 Alain Magloire 17454 2001-11-11 Alain Magloire
17455 17455
17456 Most daemon will share the same code to daemonize(), we use 17456 Most daemon will share the same code to daemonize(), we use
17457 a generic one, lib/daemon.c, so any bug fix will impact the 17457 a generic one, lib/daemon.c, so any bug fix will impact the
17458 others and reduce maintainance/duplication. 17458 others and reduce maintenance/duplication.
17459 17459
17460 * lib/Makefile.am: Addition daemon.c 17460 * lib/Makefile.am: Addition daemon.c
17461 * lib/daemon.c: New file. 17461 * lib/daemon.c: New file.
...@@ -17525,7 +17525,7 @@ ...@@ -17525,7 +17525,7 @@
17525 2001-11-05 Alain Magloire 17525 2001-11-05 Alain Magloire
17526 17526
17527 * mailbox/mutil.c (mu_parse_imap_date_time): This one is so 17527 * mailbox/mutil.c (mu_parse_imap_date_time): This one is so
17528 obvious that it is embarrasing. In a struct tm { } 17528 obvious that it is embarrassing. In a struct tm { }
17529 tv_wday [0,6] Sunday == 0. Change the Array for it to 17529 tv_wday [0,6] Sunday == 0. Change the Array for it to
17530 start with "Sun" instead of "Mon". 17530 start with "Sun" instead of "Mon".
17531 17531
...@@ -17562,7 +17562,7 @@ ...@@ -17562,7 +17562,7 @@
17562 2001-11-01 Alain Magloire 17562 2001-11-01 Alain Magloire
17563 17563
17564 There were confusion, about the authority_t and the ticket_t. 17564 There were confusion, about the authority_t and the ticket_t.
17565 An authority_t is an object that implementes an authentication 17565 An authority_t is an object that implements an authentication
17566 mechanism i.e. APOP, SASL, User/Passwd. To retrieve or get 17566 mechanism i.e. APOP, SASL, User/Passwd. To retrieve or get
17567 information from the client/user, authority_t will use the 17567 information from the client/user, authority_t will use the
17568 ticket_t, it will call ticket_pop (). For example, on an 17568 ticket_t, it will call ticket_pop (). For example, on an
...@@ -17578,7 +17578,7 @@ ...@@ -17578,7 +17578,7 @@
17578 or on the folder_t structure. This was leading to use the wrong one, 17578 or on the folder_t structure. This was leading to use the wrong one,
17579 folder->ticket or mailbox->ticket. Same problem occurs for 17579 folder->ticket or mailbox->ticket. Same problem occurs for
17580 authority_t. To clear this up, ticket_t can only be set on the 17580 authority_t. To clear this up, ticket_t can only be set on the
17581 authority_t and autority_t can only be on a folder. Having only one 17581 authority_t and authority_t can only be on a folder. Having only one
17582 way to get at the authority or at the ticket fix the race conditions: 17582 way to get at the authority or at the ticket fix the race conditions:
17583 { 17583 {
17584 // No error checking is done. 17584 // No error checking is done.
...@@ -17723,7 +17723,7 @@ ...@@ -17723,7 +17723,7 @@
17723 17723
17724 The message_t object makes no guaranty about the size and the lines 17724 The message_t object makes no guaranty about the size and the lines
17725 that it returns, if it is pointing to non-local file messages, 17725 that it returns, if it is pointing to non-local file messages,
17726 i.e POP3, IMAP4, the entire message may not have been dowloaded yet. 17726 i.e POP3, IMAP4, the entire message may not have been downloaded yet.
17727 IMAP is very susceptible on the size, example: 17727 IMAP is very susceptible on the size, example:
17728 A003 APPEND saved-messages (\Seen) {310} 17728 A003 APPEND saved-messages (\Seen) {310}
17729 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) 17729 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
...@@ -17759,7 +17759,7 @@ ...@@ -17759,7 +17759,7 @@
17759 2001-10-23 Alain Magloire 17759 2001-10-23 Alain Magloire
17760 17760
17761 * mailbox/body.c: body_lines () nd body_size () were not 17761 * mailbox/body.c: body_lines () nd body_size () were not
17762 properly overriden given the wrong size and line number, fixed. 17762 properly overridden given the wrong size and line number, fixed.
17763 * mailbox/mbx_imap.c (mailbox_imap_close): Not to send another SELECT 17763 * mailbox/mbx_imap.c (mailbox_imap_close): Not to send another SELECT
17764 but rather just close the mailbox if not selected. 17764 but rather just close the mailbox if not selected.
17765 (imap_scan0): If there is no messages in the mailbox no need to 17765 (imap_scan0): If there is no messages in the mailbox no need to
...@@ -17900,9 +17900,9 @@ v which will do the right thing. ...@@ -17900,9 +17900,9 @@ v which will do the right thing.
17900 According to rfc2060 the minimum timeout is 30 minutes. But 17900 According to rfc2060 the minimum timeout is 30 minutes. But
17901 it is not unusual to see server with a shorter timeout. When 17901 it is not unusual to see server with a shorter timeout. When
17902 the timeout occurs, the server sends a BYE. To catch this 17902 the timeout occurs, the server sends a BYE. To catch this
17903 all functions in folder_imap.c and mbx_imap.c use a proloque 17903 all functions in folder_imap.c and mbx_imap.c use a prologue
17904 folder_open() or imap_messages_count to check if the server 17904 folder_open() or imap_messages_count to check if the server
17905 timedout and reconnect. This is not bullet proof since the 17905 timed out and reconnect. This is not bullet proof since the
17906 "* BYE" will be act upon on the second request, the first 17906 "* BYE" will be act upon on the second request, the first
17907 is where we catch "* BYE". On mailbox2 this behaviour will 17907 is where we catch "* BYE". On mailbox2 this behaviour will
17908 be disable/enable with a property and make more reliable, 17908 be disable/enable with a property and make more reliable,
...@@ -17910,7 +17910,7 @@ v which will do the right thing. ...@@ -17910,7 +17910,7 @@ v which will do the right thing.
17910 17910
17911 * mailbox/folder_imap.c: Prologue to must functions calling 17911 * mailbox/folder_imap.c: Prologue to must functions calling
17912 folder_open(). 17912 folder_open().
17913 * mailbox/mbx_imap.c: Proloque to must functions calling 17913 * mailbox/mbx_imap.c: Prologue to must functions calling
17914 folder_open() or imap_messages_count. 17914 folder_open() or imap_messages_count.
17915 (section_name): Buglet passed the wrong argument to sizeof(). 17915 (section_name): Buglet passed the wrong argument to sizeof().
17916 17916
...@@ -17963,7 +17963,7 @@ v which will do the right thing. ...@@ -17963,7 +17963,7 @@ v which will do the right thing.
17963 smart caching, the current buffered stream is not good enough. 17963 smart caching, the current buffered stream is not good enough.
17964 17964
17965 * configure.in: VERSION is set to 0.0.9a for the alpha. 17965 * configure.in: VERSION is set to 0.0.9a for the alpha.
17966 * frm/frm.c: Protype for usage(). get_personal() should use 17966 * frm/frm.c: Prototype for usage(). get_personal() should use
17967 const char *. 17967 const char *.
17968 * mail/mail.c (main): Use mailbox_scan() instead of 17968 * mail/mail.c (main): Use mailbox_scan() instead of
17969 mailbox_messages_count () it is faster for IMAP. 17969 mailbox_messages_count () it is faster for IMAP.
...@@ -17998,15 +17998,15 @@ v which will do the right thing. ...@@ -17998,15 +17998,15 @@ v which will do the right thing.
17998 17998
17999 The code for property.c has been changed for a more simple approach, 17999 The code for property.c has been changed for a more simple approach,
18000 it is the same approach as mail/util.c(environment) settings. 18000 it is the same approach as mail/util.c(environment) settings.
18001 The old code was simply overkill, property_t was seldomly used, 18001 The old code was simply overkill, property_t was seldom used,
18002 if at all, no need for heavy hash table and all that jazz. 18002 if at all, no need for heavy hash table and all that jazz.
18003 18003
18004 * mailbox/property.c: New code, the same as mail/util.c environment. 18004 * mailbox/property.c: New code, the same as mail/util.c environment.
18005 * mailbox/mbx_mbox.c (_mbx_init): Remove property_add_defaults() etc .. 18005 * mailbox/mbx_mbox.c (_mbx_init): Remove property_add_defaults() etc ..
18006 no longer in use in the initialisation code. 18006 no longer in use in the initialization code.
18007 * mailbox/mbx_imap.c: Likewised 18007 * mailbox/mbx_imap.c: Likewise
18008 * mailbox/mbx_pop.c: Likewised 18008 * mailbox/mbx_pop.c: Likewise
18009 * mailbox/mbx_mh.c: Likewised 18009 * mailbox/mbx_mh.c: Likewise
18010 * mailbox/header.c: Removed property code. 18010 * mailbox/header.c: Removed property code.
18011 * mailbox/body.c: Removed property code. 18011 * mailbox/body.c: Removed property code.
18012 * mailbox/message.c: Removed property code. 18012 * mailbox/message.c: Removed property code.
...@@ -18030,8 +18030,8 @@ v which will do the right thing. ...@@ -18030,8 +18030,8 @@ v which will do the right thing.
18030 SEARCH is not implemented yet, STATUS neither and EXPUNGE is not used. 18030 SEARCH is not implemented yet, STATUS neither and EXPUNGE is not used.
18031 18031
18032 * mailbox/list.c: Renamed variable index to indx to shutup 18032 * mailbox/list.c: Renamed variable index to indx to shutup
18033 gcc whos confusing with index() when warning level was high. 18033 gcc that was confused with index() when warning level was high.
18034 * mailbox/md5-rsa.c: Likewised. 18034 * mailbox/md5-rsa.c: Likewise.
18035 18035
18036 * mailbox/mailbox.c (mailbox_get_debug mailbox_set_debug): 18036 * mailbox/mailbox.c (mailbox_get_debug mailbox_set_debug):
18037 The debug object was being set on the folder not the mailbox. 18037 The debug object was being set on the folder not the mailbox.
...@@ -18040,7 +18040,7 @@ v which will do the right thing. ...@@ -18040,7 +18040,7 @@ v which will do the right thing.
18040 if the connection timeout. Is this wise? 18040 if the connection timeout. Is this wise?
18041 (imap_scan0): Moved gut of imap_scan() code here. 18041 (imap_scan0): Moved gut of imap_scan() code here.
18042 (imap_scan): Stub calling imap_scan0() with notification enable. 18042 (imap_scan): Stub calling imap_scan0() with notification enable.
18043 (imap_expunge): After CLOSE, call imap_scan0() wiht notification 18043 (imap_expunge): After CLOSE, call imap_scan0() with notification
18044 disable. 18044 disable.
18045 18045
18046 Memory leak in parse822, this was a real pain to trace, because 18046 Memory leak in parse822, this was a real pain to trace, because
...@@ -18147,14 +18147,14 @@ v which will do the right thing. ...@@ -18147,14 +18147,14 @@ v which will do the right thing.
18147 * doc/rfc/rfc821.txt: Likewise. 18147 * doc/rfc/rfc821.txt: Likewise.
18148 * doc/rfc/rfc822.txt: Likewise. 18148 * doc/rfc/rfc822.txt: Likewise.
18149 18149
18150 2001-10-13 Alain Malgoire 18150 2001-10-13 Alain Magloire
18151 18151
18152 * mail/mail.c: Possibility to enable debuging output. 18152 * mail/mail.c: Possibility to enable debugging output.
18153 It should probably be a runtime option via set debug=1 or something 18153 It should probably be a runtime option via set debug=1 or something
18154 for now it is disable between if (0) {...}. 18154 for now it is disable between if (0) {...}.
18155 18155
18156 More cleanup in the IMAP code. A memory stream buffer is 18156 More cleanup in the IMAP code. A memory stream buffer is
18157 use to save the string literal sended by the IMAP server. 18157 use to save the string literal sent by the IMAP server.
18158 The allocation is handle by the memory_stream which simplifies 18158 The allocation is handle by the memory_stream which simplifies
18159 the code. 18159 the code.
18160 18160
...@@ -18184,7 +18184,7 @@ v which will do the right thing. ...@@ -18184,7 +18184,7 @@ v which will do the right thing.
18184 18184
18185 A small cleanup of the IMAP code. 18185 A small cleanup of the IMAP code.
18186 18186
18187 * mailbox/folder_imap.c (imap_body): Destry the cache header 18187 * mailbox/folder_imap.c (imap_body): Destroy the cache header
18188 if it was previously set on a SCAN. 18188 if it was previously set on a SCAN.
18189 * mailbox/mbx_imap.c (delete_to_string): New function, to generate 18189 * mailbox/mbx_imap.c (delete_to_string): New function, to generate
18190 a string of IMAP message numbers. 18190 a string of IMAP message numbers.
...@@ -18212,7 +18212,7 @@ v which will do the right thing. ...@@ -18212,7 +18212,7 @@ v which will do the right thing.
18212 issues because we were doing a lot of small transactions on 18212 issues because we were doing a lot of small transactions on
18213 the TCP/IP stack. By bundling the entire thing in one request 18213 the TCP/IP stack. By bundling the entire thing in one request
18214 "a0000 FETCH 1:* (FLAGS RFC822.SIZE BODY.PEEK[HEADER.FIELDS(..)])\r\n" 18214 "a0000 FETCH 1:* (FLAGS RFC822.SIZE BODY.PEEK[HEADER.FIELDS(..)])\r\n"
18215 there were less transcations and the speed was increase 18215 there were less transactions and the speed was increase
18216 by a factor of 100+. 18216 by a factor of 100+.
18217 The Imap code folder_imap.c and mbx_imap.c is now messy. 18217 The Imap code folder_imap.c and mbx_imap.c is now messy.
18218 The rewrite in mailbox2 should clean this up though. 18218 The rewrite in mailbox2 should clean this up though.
...@@ -18235,10 +18235,10 @@ v which will do the right thing. ...@@ -18235,10 +18235,10 @@ v which will do the right thing.
18235 18235
18236 * mailbox/header.c (header_get_fvalue): When it fails set the number 18236 * mailbox/header.c (header_get_fvalue): When it fails set the number
18237 of byte written to 0. 18237 of byte written to 0.
18238 (header_get_value): Likewised. 18238 (header_get_value): Likewise.
18239 * mailbox/mbx_imap.c (imap_envelope_sender): Go through 18239 * mailbox/mbx_imap.c (imap_envelope_sender): Go through
18240 header_get_value() to fetch the "Sender" field, it may be cache. 18240 header_get_value() to fetch the "Sender" field, it may be cache.
18241 (imap_header_get_fvalue): Put parenthesies around the FETCH, the 18241 (imap_header_get_fvalue): Put parentheses around the FETCH, the
18242 WU-IMAPD likes it that way. 18242 WU-IMAPD likes it that way.
18243 18243
18244 2001-10-10 Alain Magloire 18244 2001-10-10 Alain Magloire
...@@ -18265,7 +18265,7 @@ v which will do the right thing. ...@@ -18265,7 +18265,7 @@ v which will do the right thing.
18265 18265
18266 * mail/print.c: Lines number are not always known for 18266 * mail/print.c: Lines number are not always known for
18267 example for POP or IMAP, it is not known until the mail 18267 example for POP or IMAP, it is not known until the mail
18268 is dowloaded so take a guess base on the size. 18268 is downloaded so take a guess base on the size.
18269 18269
18270 2001-10-08 Sergey Poznyakoff 18270 2001-10-08 Sergey Poznyakoff
18271 18271
...@@ -18281,7 +18281,7 @@ v which will do the right thing. ...@@ -18281,7 +18281,7 @@ v which will do the right thing.
18281 * mailbox/header.c (header_get_fvalue): Return 0 as the 18281 * mailbox/header.c (header_get_fvalue): Return 0 as the
18282 number of byte returned by the last argument, even when no header 18282 number of byte returned by the last argument, even when no header
18283 field matched. 18283 field matched.
18284 (header_get_value): Likewised. 18284 (header_get_value): Likewise.
18285 * mailbox/mbx_imap.c (imap_header_get_fvalue): Also cache 18285 * mailbox/mbx_imap.c (imap_header_get_fvalue): Also cache
18286 the message size and the FLAGS. 18286 the message size and the FLAGS.
18287 (imap_message_size): If we already have the size do not request 18287 (imap_message_size): If we already have the size do not request
...@@ -18307,7 +18307,7 @@ v which will do the right thing. ...@@ -18307,7 +18307,7 @@ v which will do the right thing.
18307 (header_get_value): Check the cache provided by the header object 18307 (header_get_value): Check the cache provided by the header object
18308 then the cache from _get_fvalue() and fall back to downloading 18308 then the cache from _get_fvalue() and fall back to downloading
18309 the entire header. 18309 the entire header.
18310 * mailbox/mbx_imap.c (imap_hader_get_fvalue): Implement a cache 18310 * mailbox/mbx_imap.c (imap_header_get_fvalue): Implement a cache
18311 in IMAP for the most use headers like "FROM, SUBJECT ....". 18311 in IMAP for the most use headers like "FROM, SUBJECT ....".
18312 * mailbox/include/imap0.h: New field in _m_imap to hold the 18312 * mailbox/include/imap0.h: New field in _m_imap to hold the
18313 header cache. 18313 header cache.
...@@ -18318,7 +18318,7 @@ v which will do the right thing. ...@@ -18318,7 +18318,7 @@ v which will do the right thing.
18318 * mailbox/mbx_imap.c (imap_attr_set_flags): Do not send 18318 * mailbox/mbx_imap.c (imap_attr_set_flags): Do not send
18319 the \\Delete flag and just keep it locally. The expunge 18319 the \\Delete flag and just keep it locally. The expunge
18320 will take care of resending it. 18320 will take care of resending it.
18321 (imap_attr_unset_flags): Likewised. 18321 (imap_attr_unset_flags): Likewise.
18322 18322
18323 2001-10-03 Sergey Poznyakoff 18323 2001-10-03 Sergey Poznyakoff
18324 18324
...@@ -18333,13 +18333,13 @@ v which will do the right thing. ...@@ -18333,13 +18333,13 @@ v which will do the right thing.
18333 To be compatible with the old mailbox, all stream read 18333 To be compatible with the old mailbox, all stream read
18334 and write take an offset. Removed stream_seek () and add 18334 and write take an offset. Removed stream_seek () and add
18335 stream_is_seekable() instead. 18335 stream_is_seekable() instead.
18336 * mailbox2/stream.c: Likewised. 18336 * mailbox2/stream.c: Likewise.
18337 * mailbox2/bstream.c: Likewised. 18337 * mailbox2/bstream.c: Likewise.
18338 * mailbox2/fdstream.c: Likewised. 18338 * mailbox2/fdstream.c: Likewise.
18339 * mailbox2/fstream.c: Likewised. 18339 * mailbox2/fstream.c: Likewise.
18340 * mailbox2/mapstream.c: Likewised. 18340 * mailbox2/mapstream.c: Likewise.
18341 * mailbox2/memstream.c: Likewised. 18341 * mailbox2/memstream.c: Likewise.
18342 * mailbox2/tcpstream.c: Likewised. 18342 * mailbox2/tcpstream.c: Likewise.
18343 18343
18344 * mailbox2/include/mailutils/error.h: Add EBADFD. 18344 * mailbox2/include/mailutils/error.h: Add EBADFD.
18345 18345
...@@ -18354,7 +18354,7 @@ v which will do the right thing. ...@@ -18354,7 +18354,7 @@ v which will do the right thing.
18354 2001-09-23 Alain Magloire 18354 2001-09-23 Alain Magloire
18355 18355
18356 First draft of the mailbox/mbox2. Not functional. 18356 First draft of the mailbox/mbox2. Not functional.
18357 Changes are too numerous to enumarate. 18357 Changes are too numerous to enumerate.
18358 18358
18359 * mailbox2/mbox/*.[ch]: First mbox implementation. 18359 * mailbox2/mbox/*.[ch]: First mbox implementation.
18360 * mailbox2/mbox/Makefile.am: New file. 18360 * mailbox2/mbox/Makefile.am: New file.
...@@ -18379,7 +18379,7 @@ v which will do the right thing. ...@@ -18379,7 +18379,7 @@ v which will do the right thing.
18379 Also the name of the functions have change to match there purpose. 18379 Also the name of the functions have change to match there purpose.
18380 18380
18381 * mailbox2/Makefile.am: lockfile.c added. 18381 * mailbox2/Makefile.am: lockfile.c added.
18382 * mailbox2/bstream.c: Reoganisation to make the 18382 * mailbox2/bstream.c: Reorganization to make the
18383 functions visible. 18383 functions visible.
18384 * mailbox2/dattribute.c: Likewise. 18384 * mailbox2/dattribute.c: Likewise.
18385 * mailbox2/dotlock.c: Likewise. 18385 * mailbox2/dotlock.c: Likewise.
...@@ -18428,20 +18428,20 @@ v which will do the right thing. ...@@ -18428,20 +18428,20 @@ v which will do the right thing.
18428 mu_debug_print(). 18428 mu_debug_print().
18429 * mailbox2/sdebug.c (mu_debug_stream_create): New function 18429 * mailbox2/sdebug.c (mu_debug_stream_create): New function
18430 replace mu_debug_stdio_create(). 18430 replace mu_debug_stdio_create().
18431 * mailbox2/fdstream.c (_fds_desroy): Do not close the stream 18431 * mailbox2/fdstream.c (_fds_destroy): Do not close the stream
18432 when destroying, it should have been done explicitely with 18432 when destroying, it should have been done explicitly with
18433 stream_close (); 18433 stream_close ();
18434 * mailbox2/fstream.c (_fs_desroy): Do not close the stream 18434 * mailbox2/fstream.c (_fs_destroy): Do not close the stream
18435 when destroying, it should have been done explicitely with 18435 when destroying, it should have been done explicitly with
18436 stream_close (); 18436 stream_close ();
18437 * mailbox2/mapstream.c (_map_desroy): Do not close the stream 18437 * mailbox2/mapstream.c (_map_destroy): Do not close the stream
18438 when destroying, it should have been done explicitely with 18438 when destroying, it should have been done explicitly with
18439 stream_close (); 18439 stream_close ();
18440 * mailbox2/memstream.c (_memory_desroy): Do not close the stream 18440 * mailbox2/memstream.c (_memory_destroy): Do not close the stream
18441 when destroying, it should have been done explicitely with 18441 when destroying, it should have been done explicitly with
18442 stream_close (); 18442 stream_close ();
18443 * mailbox2/tcpstream.c (_tcp_desroy): Do not close the stream 18443 * mailbox2/tcpstream.c (_tcp_destroy): Do not close the stream
18444 when destroying, it should have been done explicitely with 18444 when destroying, it should have been done explicitly with
18445 stream_close (); 18445 stream_close ();
18446 18446
18447 2001-09-18 Sam Roberts 18447 2001-09-18 Sam Roberts
...@@ -18538,14 +18538,14 @@ v which will do the right thing. ...@@ -18538,14 +18538,14 @@ v which will do the right thing.
18538 * doc/mbox.texi: Starts to document the concrete Unix mbox 18538 * doc/mbox.texi: Starts to document the concrete Unix mbox
18539 API. 18539 API.
18540 * doc/pop3.texi: Typos. 18540 * doc/pop3.texi: Typos.
18541 * mailbox/mbx_mh.c: Initialised variables. Typecast to void 18541 * mailbox/mbx_mh.c: Initialized variables. Typecast to void
18542 expunge since it is never used. 18542 expunge since it is never used.
18543 * mail/delete.c : Typo. 18543 * mail/delete.c : Typo.
18544 18544
18545 2001-09-16 Alain Magloire 18545 2001-09-16 Alain Magloire
18546 18546
18547 This is after a exchange with Dave Inglis and Sam Roberts. 18547 This is after a exchange with Dave Inglis and Sam Roberts.
18548 Basically they recommand to drop the XX_release() functions 18548 Basically they recommend to drop the XX_release() functions
18549 and only to keep XX_create (), XX_destroy (). We have simple 18549 and only to keep XX_create (), XX_destroy (). We have simple
18550 reference count strategy for memory management. 18550 reference count strategy for memory management.
18551 18551
...@@ -18585,7 +18585,7 @@ v which will do the right thing. ...@@ -18585,7 +18585,7 @@ v which will do the right thing.
18585 (mail_decode): Cast when calling util_msgset_iterate(). 18585 (mail_decode): Cast when calling util_msgset_iterate().
18586 (display_message): Prototype change. 18586 (display_message): Prototype change.
18587 (display_headers): unsigned issues. 18587 (display_headers): unsigned issues.
18588 * mail/delete.c: Buglet was caling mail_delete0() instead of 18588 * mail/delete.c: Buglet was calling mail_delete0() instead of
18589 mail_delete. 18589 mail_delete.
18590 * mail/eq.c: Unused arguments. 18590 * mail/eq.c: Unused arguments.
18591 * mail/exit.c: Unused arguments. 18591 * mail/exit.c: Unused arguments.
...@@ -18597,7 +18597,7 @@ v which will do the right thing. ...@@ -18597,7 +18597,7 @@ v which will do the right thing.
18597 * mail/if.c: Unused arguments. 18597 * mail/if.c: Unused arguments.
18598 * mail/inc.c: Unused arguments. 18598 * mail/inc.c: Unused arguments.
18599 * mail/list.c: Use const char *. 18599 * mail/list.c: Use const char *.
18600 * mail/mail.c: options[], argp[] initialised all elements. 18600 * mail/mail.c: options[], argp[] initialized all elements.
18601 (mail_cmdline): Unused arguments. 18601 (mail_cmdline): Unused arguments.
18602 (main): Unsigned issues. 18602 (main): Unsigned issues.
18603 (mail_warranty): Unused arguments. 18603 (mail_warranty): Unused arguments.
...@@ -18610,10 +18610,10 @@ v which will do the right thing. ...@@ -18610,10 +18610,10 @@ v which will do the right thing.
18610 typecast for const char *. 18610 typecast for const char *.
18611 (ml_reread): Typecast. 18611 (ml_reread): Typecast.
18612 * mail/msgset.y: Declare yyerror() and yylex(). 18612 * mail/msgset.y: Declare yyerror() and yylex().
18613 (msgset_select): Change of prototpe to let the compiler do checks. 18613 (msgset_select): Change of prototype to let the compiler do checks.
18614 (selec_sender): Unsused arguments. 18614 (selec_sender): Unused arguments.
18615 * mail/pipe.c: Rename variable pipe to tube. 18615 * mail/pipe.c: Rename variable pipe to tube.
18616 * mail/print.c: Unsigness and some shadow variables. 18616 * mail/print.c: Unsignedness and some shadow variables.
18617 * mail/quit.c: Shadow variables. 18617 * mail/quit.c: Shadow variables.
18618 * mail/send.c: Typecast when necessary. Use the second (escfunc) 18618 * mail/send.c: Typecast when necessary. Use the second (escfunc)
18619 field now. Some shadow variables. 18619 field now. Some shadow variables.
...@@ -18628,8 +18628,8 @@ v which will do the right thing. ...@@ -18628,8 +18628,8 @@ v which will do the right thing.
18628 (util_screen_columns): Change atoi() to strtoul(). 18628 (util_screen_columns): Change atoi() to strtoul().
18629 (util_find_env): Signedness. 18629 (util_find_env): Signedness.
18630 (util_fullpath): Prototype changed(const). 18630 (util_fullpath): Prototype changed(const).
18631 (util_slist_to_string):Protorype changed (const). 18631 (util_slist_to_string):Prototype changed (const).
18632 (util_strcat) :Protorype changed (const). 18632 (util_strcat) :Prototype changed (const).
18633 (util_tempfile): const. 18633 (util_tempfile): const.
18634 * mail/var.c: Unsignedness, Unused arguments. 18634 * mail/var.c: Unsignedness, Unused arguments.
18635 (var_quote): Use new function util_msglist_esccmd(). 18635 (var_quote): Use new function util_msglist_esccmd().
...@@ -18647,7 +18647,7 @@ v which will do the right thing. ...@@ -18647,7 +18647,7 @@ v which will do the right thing.
18647 working order, except that it ignores -form and -header 18647 working order, except that it ignores -form and -header
18648 options. 18648 options.
18649 18649
18650 * configure.in: Check for presense of GNU obstack functions. 18650 * configure.in: Check for presence of GNU obstack functions.
18651 * lib/Makefile.am: Added obstack.[ch] 18651 * lib/Makefile.am: Added obstack.[ch]
18652 * lib/obstack.c: (new) 18652 * lib/obstack.c: (new)
18653 * lib/obstack.h: (new) 18653 * lib/obstack.h: (new)
...@@ -18761,7 +18761,7 @@ v which will do the right thing. ...@@ -18761,7 +18761,7 @@ v which will do the right thing.
18761 18761
18762 2001-09-06 Alain Magloire 18762 2001-09-06 Alain Magloire
18763 18763
18764 * mailbox/folder_mbox.c (folder_mbox_open): Implemeted. 18764 * mailbox/folder_mbox.c (folder_mbox_open): Implemented.
18765 18765
18766 2001-09-05 Sergey Poznyakoff 18766 2001-09-05 Sergey Poznyakoff
18767 18767
...@@ -18824,7 +18824,7 @@ v which will do the right thing. ...@@ -18824,7 +18824,7 @@ v which will do the right thing.
18824 * mutil.c (mu_hex2ul): GNU coding std. 18824 * mutil.c (mu_hex2ul): GNU coding std.
18825 (parse822_time): Do not use tzname as a variable name tzname 18825 (parse822_time): Do not use tzname as a variable name tzname
18826 is global variable in libc, better clear away. 18826 is global variable in libc, better clear away.
18827 (parse822_date_time): Likewised. 18827 (parse822_date_time): Likewise.
18828 18828
18829 * pop3d/Makefile.am: add virtual.c 18829 * pop3d/Makefile.am: add virtual.c
18830 * pop3d/pop3d.c (main): register getpwnam_ip_virtual, 18830 * pop3d/pop3d.c (main): register getpwnam_ip_virtual,
...@@ -18836,7 +18836,7 @@ v which will do the right thing. ...@@ -18836,7 +18836,7 @@ v which will do the right thing.
18836 2001-09-02 Alain Magloire 18836 2001-09-02 Alain Magloire
18837 18837
18838 * mailbox/mutil.c (getpwma_virtual): Memory overrun, did not 18838 * mailbox/mutil.c (getpwma_virtual): Memory overrun, did not
18839 reserve enough space to accomodate the extra slash, when 18839 reserve enough space to accommodate the extra slash, when
18840 doing the sprintf(). 18840 doing the sprintf().
18841 Include <string.h>, since we use strdup(). 18841 Include <string.h>, since we use strdup().
18842 18842
...@@ -18888,14 +18888,14 @@ v which will do the right thing. ...@@ -18888,14 +18888,14 @@ v which will do the right thing.
18888 18888
18889 In the virtual code, change the chdir() and build the full 18889 In the virtual code, change the chdir() and build the full
18890 pathname in a buffer. For a daemon, it is better to stay 18890 pathname in a buffer. For a daemon, it is better to stay
18891 in "/" the root. Moving in subdirecteris, will not permit 18891 in "/" the root. Moving in subdirectories, will not permit
18892 the volume to be unmounted. But we do not follow the 18892 the volume to be unmounted. But we do not follow the
18893 same rule for imap4d, it should be fix. 18893 same rule for imap4d, it should be fix.
18894 18894
18895 * pop3d/signal.c: Shutup unused parameter warrning from gcc. 18895 * pop3d/signal.c: Shutup unused parameter warning from gcc.
18896 * pop3d/user.c: Define macro VIRTUAL_PWDDIR. use sprintf() 18896 * pop3d/user.c: Define macro VIRTUAL_PWDDIR. use sprintf()
18897 to build filename instead of chdir(). 18897 to build filename instead of chdir().
18898 (PAM_gnupop3d_conv): Shutup unused parameter warrning from gcc. 18898 (PAM_gnupop3d_conv): Shutup unused parameter warning from gcc.
18899 Make sure variable mailbox_name is initialized. 18899 Make sure variable mailbox_name is initialized.
18900 18900
18901 * include/mailutils/mutil.h: Typo "struct password" instead of 18901 * include/mailutils/mutil.h: Typo "struct password" instead of
...@@ -18939,7 +18939,7 @@ v which will do the right thing. ...@@ -18939,7 +18939,7 @@ v which will do the right thing.
18939 Return values were allocated dynamically but never freed, this 18939 Return values were allocated dynamically but never freed, this
18940 caused memory leaks if authentication functions were called more 18940 caused memory leaks if authentication functions were called more
18941 than once. Made them static, so that they get reallocated at each 18941 than once. Made them static, so that they get reallocated at each
18942 new invocation of getM functions, thus reclaming lost storage. 18942 new invocation of getM functions, thus reclaiming lost storage.
18943 Made <config.h> the first file to be included and guard it with 18943 Made <config.h> the first file to be included and guard it with
18944 #ifdef HAVE_CONFIG_H 18944 #ifdef HAVE_CONFIG_H
18945 Reindented text to conform to GNU coding style. 18945 Reindented text to conform to GNU coding style.
...@@ -19063,7 +19063,7 @@ v which will do the right thing. ...@@ -19063,7 +19063,7 @@ v which will do the right thing.
19063 2001-08-12 Alain Magloire 19063 2001-08-12 Alain Magloire
19064 19064
19065 * mailbox2/*: Move more code from the original mailbox 19065 * mailbox2/*: Move more code from the original mailbox
19066 To much to enumarate. 19066 To much to enumerate.
19067 19067
19068 2001-08-07 Alain Magloire 19068 2001-08-07 Alain Magloire
19069 19069
...@@ -19085,7 +19085,7 @@ v which will do the right thing. ...@@ -19085,7 +19085,7 @@ v which will do the right thing.
19085 * mail/msgset.y: Draft implementation of a proposition 19085 * mail/msgset.y: Draft implementation of a proposition
19086 to allow regular expressions. 19086 to allow regular expressions.
19087 (REGEXP): Passing the address of the pointer instead of the pointer. 19087 (REGEXP): Passing the address of the pointer instead of the pointer.
19088 (INDENT): Likewised. 19088 (INDENT): Likewise.
19089 * mail/Makefile.am: Add in EXTRA_DIST msgset.c to force its 19089 * mail/Makefile.am: Add in EXTRA_DIST msgset.c to force its
19090 generation when doing the distribution, having yacc should 19090 generation when doing the distribution, having yacc should
19091 not be required. 19091 not be required.
...@@ -19126,7 +19126,7 @@ v which will do the right thing. ...@@ -19126,7 +19126,7 @@ v which will do the right thing.
19126 * sieve/message.h: lcase() change for strlower (). 19126 * sieve/message.h: lcase() change for strlower ().
19127 * sieve/script.c: Include md5-rsa.h. 19127 * sieve/script.c: Include md5-rsa.h.
19128 * sieve/sieve-gram.y: lcase changed for strlower (). 19128 * sieve/sieve-gram.y: lcase changed for strlower ().
19129 * sieve/util.c: Remove all the unnecassary code and 19129 * sieve/util.c: Remove all the unnecessary code and
19130 only implement strlower() and strupper(). 19130 only implement strlower() and strupper().
19131 * sieve/util.h: Only export strlower and struppper (). 19131 * sieve/util.h: Only export strlower and struppper ().
19132 19132
...@@ -19243,7 +19243,7 @@ v which will do the right thing. ...@@ -19243,7 +19243,7 @@ v which will do the right thing.
19243 ../lib. 19243 ../lib.
19244 * examples/mbox-explode.c: Don't mkdir unless the mailbox can be 19244 * examples/mbox-explode.c: Don't mkdir unless the mailbox can be
19245 opened, and better cleanup on error detection. 19245 opened, and better cleanup on error detection.
19246 * sieve/examples/: Test, test.out: Commiting my example/test sieve 19246 * sieve/examples/: Test, test.out: Committing my example/test sieve
19247 scripts so I can maintain them with cvs (I use them at work and 19247 scripts so I can maintain them with cvs (I use them at work and
19248 home). 19248 home).
19249 * mail/util.c: Not all systems have <sys/fcntl.h>, changed to use 19249 * mail/util.c: Not all systems have <sys/fcntl.h>, changed to use
...@@ -19256,7 +19256,7 @@ v which will do the right thing. ...@@ -19256,7 +19256,7 @@ v which will do the right thing.
19256 ex-3.2.sv, ex-4.1.sv, ex-4.2.sv, ex-4.4a.sv, ex-4.4b.sv, ex-4.5.sv, 19256 ex-3.2.sv, ex-4.1.sv, ex-4.2.sv, ex-4.4a.sv, ex-4.4b.sv, ex-4.5.sv,
19257 ex-5.1.sv, ex-5.7.sv, ex-9.sv, ex-null.sv, ex-save-all.sv, 19257 ex-5.1.sv, ex-5.7.sv, ex-9.sv, ex-null.sv, ex-save-all.sv,
19258 example.sv, exn-2.3b.sv, exn-5.4.sv, t-exists.sv, t-fileinto.sv, 19258 example.sv, exn-2.3b.sv, exn-5.4.sv, t-exists.sv, t-fileinto.sv,
19259 t-mailutils.sv: Commiting my example/test sieve scripts so I can 19259 t-mailutils.sv: Committing my example/test sieve scripts so I can
19260 maintain them with cvs (I use them at work and home). 19260 maintain them with cvs (I use them at work and home).
19261 19261
19262 2001-08-01 Alain Magloire 19262 2001-08-01 Alain Magloire
...@@ -19273,7 +19273,7 @@ v which will do the right thing. ...@@ -19273,7 +19273,7 @@ v which will do the right thing.
19273 not yet done. 19273 not yet done.
19274 19274
19275 * mail/decode.c: Aware of the content_type and the encoding 19275 * mail/decode.c: Aware of the content_type and the encoding
19276 for mime message, will superced [Pp]rint. 19276 for mime message, will supersede [Pp]rint.
19277 19277
19278 * mail/mail.c: Set the columns variable at startup. 19278 * mail/mail.c: Set the columns variable at startup.
19279 * mail/mail.h: Prototype fpr util_screen_columns(). 19279 * mail/mail.h: Prototype fpr util_screen_columns().
...@@ -19288,7 +19288,7 @@ v which will do the right thing. ...@@ -19288,7 +19288,7 @@ v which will do the right thing.
19288 2001-07-31 Alain Magloire 19288 2001-07-31 Alain Magloire
19289 19289
19290 * mailbox2/Makefile.am: add new files. 19290 * mailbox2/Makefile.am: add new files.
19291 * mailbox2/fstream.c (_fs_write): n uninitialize. 19291 * mailbox2/fstream.c (_fs_write): n uninitialized.
19292 (_fs_open): Use S_ISREG() macro. 19292 (_fs_open): Use S_ISREG() macro.
19293 * mailbox2/include/mailutils/base.h: Remove superfluous. 19293 * mailbox2/include/mailutils/base.h: Remove superfluous.
19294 * mailbox2/iterator.c: Define struct _iterator. 19294 * mailbox2/iterator.c: Define struct _iterator.
...@@ -19397,7 +19397,7 @@ v which will do the right thing. ...@@ -19397,7 +19397,7 @@ v which will do the right thing.
19397 19397
19398 * mail/Makefile.am (mail_SOURCES): add decode.c 19398 * mail/Makefile.am (mail_SOURCES): add decode.c
19399 19399
19400 * mail/mail.h: add mail_decode protoype 19400 * mail/mail.h: add mail_decode prototype
19401 19401
19402 * mail/decode.c (mail_decode): new file, new function 19402 * mail/decode.c (mail_decode): new file, new function
19403 19403
...@@ -19424,9 +19424,9 @@ v which will do the right thing. ...@@ -19424,9 +19424,9 @@ v which will do the right thing.
19424 * mailbox/include/Makefile.am: Removed misc.h in dependencies. 19424 * mailbox/include/Makefile.am: Removed misc.h in dependencies.
19425 * mailbox/address.c: Use util_cpystr() instead of _cpystr(). 19425 * mailbox/address.c: Use util_cpystr() instead of _cpystr().
19426 Added <mailutils/mutil.h> prototype. 19426 Added <mailutils/mutil.h> prototype.
19427 * mailbox/auth.c: Likewised. 19427 * mailbox/auth.c: Likewise.
19428 * mailbox/url.c: Likewised. 19428 * mailbox/url.c: Likewise.
19429 * mailbox/folder.c: Likewised. 19429 * mailbox/folder.c: Likewise.
19430 19430
19431 2001-07-19 Sergey Poznyakoff 19431 2001-07-19 Sergey Poznyakoff
19432 Added guile interface library. 19432 Added guile interface library.
...@@ -19441,7 +19441,7 @@ v which will do the right thing. ...@@ -19441,7 +19441,7 @@ v which will do the right thing.
19441 documentation strings from C sources. The reason for 19441 documentation strings from C sources. The reason for
19442 their presence is that guile-doc-snarf scripts distributed 19442 their presence is that guile-doc-snarf scripts distributed
19443 with guile up to version 1.4 do not work. The comment at 19443 with guile up to version 1.4 do not work. The comment at
19444 the beginnig of scripts/guile-doc-snarf describes why. We'll 19444 the beginning of scripts/guile-doc-snarf describes why. We'll
19445 have to use these until next version of guile fixes the bug. 19445 have to use these until next version of guile fixes the bug.
19446 * scripts/{Makefile.am,guile-doc-snarf,guile-func-name-check, 19446 * scripts/{Makefile.am,guile-doc-snarf,guile-func-name-check,
19447 guile-snarf.awk: (new) 19447 guile-snarf.awk: (new)
...@@ -19554,7 +19554,7 @@ v which will do the right thing. ...@@ -19554,7 +19554,7 @@ v which will do the right thing.
19554 19554
19555 2001-07-06 Alain Magloire 19555 2001-07-06 Alain Magloire
19556 19556
19557 * mail/mailline.c: "interupt" is actually a key word 19557 * mail/mailline.c: "interrupt" is actually a key word
19558 for some C compiler i.e. Watcomm C, rename it to "interrupted". 19558 for some C compiler i.e. Watcomm C, rename it to "interrupted".
19559 * mail/util.c: The macros O_CREAT etc needs <sys/fnct.h>. 19559 * mail/util.c: The macros O_CREAT etc needs <sys/fnct.h>.
19560 19560
...@@ -19580,7 +19580,7 @@ v which will do the right thing. ...@@ -19580,7 +19580,7 @@ v which will do the right thing.
19580 2001-07-05 Alain Magloire 19580 2001-07-05 Alain Magloire
19581 19581
19582 * mail/send.c(mail_send0): Put the mailer in debug mode 19582 * mail/send.c(mail_send0): Put the mailer in debug mode
19583 if util_find_env("verbose")->set, good for debuging. 19583 if util_find_env("verbose")->set, good for debugging.
19584 19584
19585 2001-07-05 Alain Magloire 19585 2001-07-05 Alain Magloire
19586 19586
...@@ -19629,8 +19629,8 @@ v which will do the right thing. ...@@ -19629,8 +19629,8 @@ v which will do the right thing.
19629 made char *buf local where it is needed. Save the message 19629 made char *buf local where it is needed. Save the message
19630 to outfiles when set. 19630 to outfiles when set.
19631 (isfilename): New function. 19631 (isfilename): New function.
19632 * mail/followup.c: Initialise the struct send_environ new fields. 19632 * mail/followup.c: Initialize the struct send_environ new fields.
19633 * mail/reply.c: Initialise the struct send_environ new fields. 19633 * mail/reply.c: Initialize the struct send_environ new fields.
19634 19634
19635 * lib/argcv.c: Add support to consider string between 19635 * lib/argcv.c: Add support to consider string between
19636 single quote like one word(same as double quotes). 19636 single quote like one word(same as double quotes).
...@@ -19641,7 +19641,7 @@ v which will do the right thing. ...@@ -19641,7 +19641,7 @@ v which will do the right thing.
19641 change prototype to be "void *" instead of "char *". 19641 change prototype to be "void *" instead of "char *".
19642 * mailbox2/bstream.c: Adjust bstream_{read,write} to the 19642 * mailbox2/bstream.c: Adjust bstream_{read,write} to the
19643 new prototypes. 19643 new prototypes.
19644 * mailbox2/pop3/pop3_stream.c: Likewised. 19644 * mailbox2/pop3/pop3_stream.c: Likewise.
19645 * mailbox2/Makefile.am: New file. 19645 * mailbox2/Makefile.am: New file.
19646 * mailbox2/pop3/Makefile.am: New file. 19646 * mailbox2/pop3/Makefile.am: New file.
19647 * mailbox2/mstream.c: Mapfile stream Implementation. 19647 * mailbox2/mstream.c: Mapfile stream Implementation.
...@@ -19657,17 +19657,17 @@ v which will do the right thing. ...@@ -19657,17 +19657,17 @@ v which will do the right thing.
19657 2001-07-03 Alain Magloire 19657 2001-07-03 Alain Magloire
19658 19658
19659 * mail/headers.c: Catch the overflow in the calculation by 19659 * mail/headers.c: Catch the overflow in the calculation by
19660 reseting the number of lines to default screen lines. 19660 resetting the number of lines to default screen lines.
19661 * mail/mail.c (main): Add a "summary" call also for the 19661 * mail/mail.c (main): Add a "summary" call also for the
19662 initial commands on startup(in interactive). 19662 initial commands on startup(in interactive).
19663 * mail.h: Proto for mail_summary() and mail_version(). 19663 * mail.h: Proto for mail_summary() and mail_version().
19664 * table.c: Add mail_summary() and mail_version() in the cmd table. 19664 * table.c: Add mail_summary() and mail_version() in the cmd table.
19665 * util.c (util_getcols): First try an ioctl(TIOCGWINSZ,..) call 19665 * util.c (util_getcols): First try an ioctl(TIOCGWINSZ,..) call
19666 not all shells set the COLUMNS environ. 19666 not all shells set the COLUMNS environ.
19667 (util_getlines): Likewised. Also take to account the prompt 19667 (util_getlines): Likewise. Also take to account the prompt
19668 in the lines number. 19668 in the lines number.
19669 * z.c (mail_z): Change the behaviour of "z." to show a screenfull 19669 * z.c (mail_z): Change the behaviour of "z." to show a screenful
19670 when the lastpage is reach. This is very practical when starting 19670 when the last page is reach. This is very practical when starting
19671 mail, since "z." is the initial command to show the header summary. 19671 mail, since "z." is the initial command to show the header summary.
19672 * mail/version.c: New file, show mail version, mail_version(). 19672 * mail/version.c: New file, show mail version, mail_version().
19673 * mail/summary.c: New file, display a short summary of the mailbox. 19673 * mail/summary.c: New file, display a short summary of the mailbox.
...@@ -19689,7 +19689,7 @@ v which will do the right thing. ...@@ -19689,7 +19689,7 @@ v which will do the right thing.
19689 * mail/inc.c: (new) inc[orporate] command. 19689 * mail/inc.c: (new) inc[orporate] command.
19690 * mail/{mail.c,mail.h,table.c}: Ditto. 19690 * mail/{mail.c,mail.h,table.c}: Ditto.
19691 * mail/print.c: Handle interrupts when fetching message body. 19691 * mail/print.c: Handle interrupts when fetching message body.
19692 * mail/followup.c: insert ',' between recepients' addresses. 19692 * mail/followup.c: insert ',' between recipients' addresses.
19693 * mail/quit.c: use mailbox_save_attributes(). Implemented 19693 * mail/quit.c: use mailbox_save_attributes(). Implemented
19694 "hold" variable. Raise MU_ATTRIBUTE_READ on every message with 19694 "hold" variable. Raise MU_ATTRIBUTE_READ on every message with
19695 MU_ATTRIBUTE_SEEN bit set (compatibility with existing mails). 19695 MU_ATTRIBUTE_SEEN bit set (compatibility with existing mails).
...@@ -19934,7 +19934,7 @@ v which will do the right thing. ...@@ -19934,7 +19934,7 @@ v which will do the right thing.
19934 * mail/mail.c: A read-eval loop function shared between mail.c and 19934 * mail/mail.c: A read-eval loop function shared between mail.c and
19935 source.c. Quits gracefully upon reading EOF. 19935 source.c. Quits gracefully upon reading EOF.
19936 Expand '~' in pathnames. 19936 Expand '~' in pathnames.
19937 Upon startup in read mode, display first screenfull of from 19937 Upon startup in read mode, display first screenful of from
19938 lines, instead of listing the whole mailbox. This is 19938 lines, instead of listing the whole mailbox. This is
19939 compatible with existing implementations. 19939 compatible with existing implementations.
19940 Do not display prompt when not reading from a terminal. 19940 Do not display prompt when not reading from a terminal.
...@@ -20027,7 +20027,7 @@ v which will do the right thing. ...@@ -20027,7 +20027,7 @@ v which will do the right thing.
20027 necessary files into the distribution. 20027 necessary files into the distribution.
20028 * sieve/ylwrap: Portable wrapper for lex/yacc invocations, by Tom 20028 * sieve/ylwrap: Portable wrapper for lex/yacc invocations, by Tom
20029 Tromey <tromey@cygnus.com>, modified by Sergey Poznyakoff 20029 Tromey <tromey@cygnus.com>, modified by Sergey Poznyakoff
20030 <gray@farlep.net> to replace yy prefixes, so multiple grammers can 20030 <gray@farlep.net> to replace yy prefixes, so multiple grammars can
20031 co-exist. 20031 co-exist.
20032 * sieve/sieve.c: Define EOK ifndefed. 20032 * sieve/sieve.c: Define EOK ifndefed.
20033 * examples/showmail.c: No longer relevant to the current APIs. 20033 * examples/showmail.c: No longer relevant to the current APIs.
...@@ -20041,7 +20041,7 @@ v which will do the right thing. ...@@ -20041,7 +20041,7 @@ v which will do the right thing.
20041 * doc/url.texi: Noted the IMAP url syntax. 20041 * doc/url.texi: Noted the IMAP url syntax.
20042 * doc/mailutils.texi: Some of the RFCs were missing, or 20042 * doc/mailutils.texi: Some of the RFCs were missing, or
20043 miscategorized in the references sect. 20043 miscategorized in the references sect.
20044 * doc/.cvsignore: Ignoreing files. 20044 * doc/.cvsignore: Ignoring files.
20045 * doc/rfc1939.txt: Was checked in with DOS line terminators, 20045 * doc/rfc1939.txt: Was checked in with DOS line terminators,
20046 converted to Unix. 20046 converted to Unix.
20047 20047
...@@ -20075,7 +20075,7 @@ v which will do the right thing. ...@@ -20075,7 +20075,7 @@ v which will do the right thing.
20075 * examples/mbox-explode.c: message_save_attachment, should take 20075 * examples/mbox-explode.c: message_save_attachment, should take
20076 the part. Continue if the message does have a Date or Subject field. 20076 the part. Continue if the message does have a Date or Subject field.
20077 20077
20078 * mailbox/mapfile_stream.c (_mapfile_open): Identation. 20078 * mailbox/mapfile_stream.c (_mapfile_open): Indentation.
20079 20079
20080 2001-06-09 Alain Magloire 20080 2001-06-09 Alain Magloire
20081 20081
...@@ -20191,7 +20191,7 @@ v which will do the right thing. ...@@ -20191,7 +20191,7 @@ v which will do the right thing.
20191 2001-05-30 Dave Inglis 20191 2001-05-30 Dave Inglis
20192 20192
20193 * mailbox/mbx_pop.c (CHECK_ERROR): Force the mailbox to call connect 20193 * mailbox/mbx_pop.c (CHECK_ERROR): Force the mailbox to call connect
20194 again when an error occured. For example the QPopper(Qalcomm) POP3 20194 again when an error occurred. For example the QPopper(Qalcomm) POP3
20195 server timeout very quickly, 30 seconds violating the RFC. So when 20195 server timeout very quickly, 30 seconds violating the RFC. So when
20196 Readin the stream again we reconnect. 20196 Readin the stream again we reconnect.
20197 20197
...@@ -20200,7 +20200,7 @@ v which will do the right thing. ...@@ -20200,7 +20200,7 @@ v which will do the right thing.
20200 * mailbox/filter_trans.c (base64_decode): The variable should 20200 * mailbox/filter_trans.c (base64_decode): The variable should
20201 be unsigned char not signed char. By default gcc treats a 20201 be unsigned char not signed char. By default gcc treats a
20202 declaration of "char*" like "signed char*", CC Watcom did not. 20202 declaration of "char*" like "signed char*", CC Watcom did not.
20203 (base64_encode): Likewised. 20203 (base64_encode): Likewise.
20204 * mailbox/mime.c: Read 'itl the end of the stream. 20204 * mailbox/mime.c: Read 'itl the end of the stream.
20205 20205
20206 2001-05-29 Sergey Poznyakoff 20206 2001-05-29 Sergey Poznyakoff
...@@ -20255,7 +20255,7 @@ v which will do the right thing. ...@@ -20255,7 +20255,7 @@ v which will do the right thing.
20255 2001-05-23 Sergey Poznyakoff 20255 2001-05-23 Sergey Poznyakoff
20256 20256
20257 * pop3d/user.c: check for NULL return from getpwnam() 20257 * pop3d/user.c: check for NULL return from getpwnam()
20258 * imap4d/login.c: Likewised. 20258 * imap4d/login.c: Likewise.
20259 20259
20260 2001-05-21 Alain Magloire 20260 2001-05-21 Alain Magloire
20261 20261
...@@ -20273,12 +20273,12 @@ v which will do the right thing. ...@@ -20273,12 +20273,12 @@ v which will do the right thing.
20273 * mailbox/mbx_mbox.c (mbox_tempfile): Remove 20273 * mailbox/mbx_mbox.c (mbox_tempfile): Remove
20274 the dependency from lib/basename.c 20274 the dependency from lib/basename.c
20275 20275
20276 * lib/signame.c: Replace in favor of the wellknown strsignal(). 20276 * lib/signame.c: Replace in favor of the well-known strsignal().
20277 * lib/strsignal.c: New file, use the mu_signame() written by 20277 * lib/strsignal.c: New file, use the mu_signame() written by
20278 Sergey. 20278 Sergey.
20279 20279
20280 * pop3d/signal.c: Use strsignal() unconditionnaly. 20280 * pop3d/signal.c: Use strsignal() unconditionally.
20281 * imap4d/signal.c: Use strsignal() unconditionnaly. 20281 * imap4d/signal.c: Use strsignal() unconditionally.
20282 20282
20283 * configure.in: autoconf-2.50 is having difficulty parsing 20283 * configure.in: autoconf-2.50 is having difficulty parsing
20284 a long AC_CHECK_LIB, break it in two. 20284 a long AC_CHECK_LIB, break it in two.
...@@ -20348,7 +20348,7 @@ v which will do the right thing. ...@@ -20348,7 +20348,7 @@ v which will do the right thing.
20348 the buffer, prune them out before. 20348 the buffer, prune them out before.
20349 * mailbox/mime.c (_mime_parse_mpart_message): The mime->stream 20349 * mailbox/mime.c (_mime_parse_mpart_message): The mime->stream
20350 was destroy when doing mime_get_part () better get it every time. 20350 was destroy when doing mime_get_part () better get it every time.
20351 (_mime_body_fd): Likewised. 20351 (_mime_body_fd): Likewise.
20352 * mailbox/smtp.c: Do not close the stream on destroy. 20352 * mailbox/smtp.c: Do not close the stream on destroy.
20353 20353
20354 2001-05-11 Alain Magloire 20354 2001-05-11 Alain Magloire
...@@ -20389,7 +20389,7 @@ v which will do the right thing. ...@@ -20389,7 +20389,7 @@ v which will do the right thing.
20389 2001-05-07 Alain Magloire 20389 2001-05-07 Alain Magloire
20390 20390
20391 Now we can have multiple access to the mailbox and the server 20391 Now we can have multiple access to the mailbox and the server
20392 will update the mailbox and send the unsollicited responses. 20392 will update the mailbox and send the unsolicited responses.
20393 This is implemented in imap4d/sync.c. 20393 This is implemented in imap4d/sync.c.
20394 20394
20395 * imap4d/copy.c: Move the code into imap4d_copy0() to allow 20395 * imap4d/copy.c: Move the code into imap4d_copy0() to allow
...@@ -20416,7 +20416,7 @@ v which will do the right thing. ...@@ -20416,7 +20416,7 @@ v which will do the right thing.
20416 * imap4d/sync.c: New file. 20416 * imap4d/sync.c: New file.
20417 20417
20418 * include/mailutils/header.c: Added some new headers. 20418 * include/mailutils/header.c: Added some new headers.
20419 * mailbox/attribute.c (attribute_copy): Do a shalow copy. 20419 * mailbox/attribute.c (attribute_copy): Do a shallow copy.
20420 * mailbox/file_stream.c: Check if FILE * is null in all functions. 20420 * mailbox/file_stream.c: Check if FILE * is null in all functions.
20421 * mailbox/mailbox.c (mailbox_is_updated): Should not return ENOSYS 20421 * mailbox/mailbox.c (mailbox_is_updated): Should not return ENOSYS
20422 but rather 1. 20422 but rather 1.
...@@ -20438,7 +20438,7 @@ v which will do the right thing. ...@@ -20438,7 +20438,7 @@ v which will do the right thing.
20438 20438
20439 * argp/argp-help.c (hol_entry_help): Some compiler like Watcomm 20439 * argp/argp-help.c (hol_entry_help): Some compiler like Watcomm
20440 can not initialize a local structure struct .. = { .. }. Do it 20440 can not initialize a local structure struct .. = { .. }. Do it
20441 explicitely field by field. 20441 explicitly field by field.
20442 * argp/arpg-parse.c: Watcomm choke on N_() macro. 20442 * argp/arpg-parse.c: Watcomm choke on N_() macro.
20443 (parser_init): Watcomm does not like operation on a void * pointer. 20443 (parser_init): Watcomm does not like operation on a void * pointer.
20444 20444
...@@ -20588,18 +20588,18 @@ v which will do the right thing. ...@@ -20588,18 +20588,18 @@ v which will do the right thing.
20588 20588
20589 It is often convenient to separate log outputs from POP and SMTP 20589 It is often convenient to separate log outputs from POP and SMTP
20590 servers. --with-log-facility flag which allows to specify to which 20590 servers. --with-log-facility flag which allows to specify to which
20591 log facility the loggin output should be directed. 20591 log facility the logging output should be directed.
20592 System administrators often prefere to have more information about 20592 System administrators often prefer to have more information about
20593 unsuccessfull authentications. I have added more verbose logging 20593 unsuccessful authentications. I have added more verbose logging
20594 to pop3d/user.c. Both failed attempts and possible account probes 20594 to pop3d/user.c. Both failed attempts and possible account probes
20595 (USER immediately followed by QUIT) are logged. 20595 (USER immediately followed by QUIT) are logged.
20596 Made pop3d to be less verbose about its WELCOME prompt. When the 20596 Made pop3d to be less verbose about its WELCOME prompt. When the
20597 symbol TERSE_MODE is defined, pop3d introduces itself just as 20597 symbol TERSE_MODE is defined, pop3d introduces itself just as
20598 +OK POP3 ready <apop_hash> 20598 +OK POP3 ready <apop_hash>
20599 insead of divulging its type and version. This is a bit paranoid, 20599 instead of divulging its type and version. This is a bit paranoid,
20600 but it is better to be on the safe side... 20600 but it is better to be on the safe side...
20601 20601
20602 * configure.in: ARGPINC gets assigne a relative path, due 20602 * configure.in: ARGPINC gets assigned a relative path, due
20603 to which the compilation fails if the package is configure with 20603 to which the compilation fails if the package is configure with
20604 --srdir=<path> option. 20604 --srdir=<path> option.
20605 * configure.in: --with-log-facility new option. 20605 * configure.in: --with-log-facility new option.
...@@ -20650,7 +20650,7 @@ v which will do the right thing. ...@@ -20650,7 +20650,7 @@ v which will do the right thing.
20650 20650
20651 * pop3d/pop3d.c (main): maxchildren boosted to 20. 20651 * pop3d/pop3d.c (main): maxchildren boosted to 20.
20652 (pop3_daemon_init): Use sigaction() for SIGCHLD, 20652 (pop3_daemon_init): Use sigaction() for SIGCHLD,
20653 the sematics of signal() is unreliable on some platforms. 20653 the semantics of signal() is unreliable on some platforms.
20654 * pop3d/signal.c: Save errno. 20654 * pop3d/signal.c: Save errno.
20655 20655
20656 2001-04-22 Alain Magloire 20656 2001-04-22 Alain Magloire
...@@ -20663,7 +20663,7 @@ v which will do the right thing. ...@@ -20663,7 +20663,7 @@ v which will do the right thing.
20663 (util_tilde_expansion): expand ~. 20663 (util_tilde_expansion): expand ~.
20664 (util_unquote): Remove surrounding double quotes. 20664 (util_unquote): Remove surrounding double quotes.
20665 (util_getfullpath): Expand the path to absolute. 20665 (util_getfullpath): Expand the path to absolute.
20666 * imap4d/fetch.c: Did not cycle throught the items. 20666 * imap4d/fetch.c: Did not cycle through the items.
20667 (fetch_send_address): Patch from Sam Roberts, did not 20667 (fetch_send_address): Patch from Sam Roberts, did not
20668 use the index. 20668 use the index.
20669 20669
...@@ -20698,14 +20698,14 @@ v which will do the right thing. ...@@ -20698,14 +20698,14 @@ v which will do the right thing.
20698 * imap4d/fetch.c: Cleanup the fetch code, and broke 20698 * imap4d/fetch.c: Cleanup the fetch code, and broke
20699 the fetch_operation() routine in multiple routines. 20699 the fetch_operation() routine in multiple routines.
20700 (fetch_message): New function. 20700 (fetch_message): New function.
20701 (fetch_header): Likewised 20701 (fetch_header): Likewise
20702 (fetch_content): Likewised 20702 (fetch_content): Likewise
20703 (fetch_io): Likewised 20703 (fetch_io): Likewise
20704 (fetch_header_fields): Likewised 20704 (fetch_header_fields): Likewise
20705 (fetch_header_fields_not): Likewised 20705 (fetch_header_fields_not): Likewise
20706 (fetch_send_address): Likewised 20706 (fetch_send_address): Likewise
20707 20707
20708 * mailbox/header.c: Some functions were usefull while 20708 * mailbox/header.c: Some functions were useful while
20709 programming the imap server, put them here. 20709 programming the imap server, put them here.
20710 (header_aget_value): New function. 20710 (header_aget_value): New function.
20711 (header_aget_field_name): New function. 20711 (header_aget_field_name): New function.
...@@ -20721,8 +20721,8 @@ v which will do the right thing. ...@@ -20721,8 +20721,8 @@ v which will do the right thing.
20721 20721
20722 To get things to compile on Solaris, change configure to check 20722 To get things to compile on Solaris, change configure to check
20723 for -lpthread since in libc the thread functions are defined 20723 for -lpthread since in libc the thread functions are defined
20724 but all return ENOSYS, you need to explicitely link with -lphtread. 20724 but all return ENOSYS, you need to explicitly link with -lphtread.
20725 the ctype functions is*() arguments should be explicitely cast 20725 the ctype functions is*() arguments should be explicitly cast
20726 since Solaris use them as indexes. __REENTRANT as to be define 20726 since Solaris use them as indexes. __REENTRANT as to be define
20727 if compile with support for threads. Never realize this but 20727 if compile with support for threads. Never realize this but
20728 setenv() is a BSD/GNU thing, so took a variant from libiberty 20728 setenv() is a BSD/GNU thing, so took a variant from libiberty
...@@ -20750,7 +20750,7 @@ v which will do the right thing. ...@@ -20750,7 +20750,7 @@ v which will do the right thing.
20750 we need to assign it. In GNU lib C, it was not error since stdout 20750 we need to assign it. In GNU lib C, it was not error since stdout
20751 stderr, and stdin are variables, but to be portable we can not 20751 stderr, and stdin are variables, but to be portable we can not
20752 assume this. The way out is to always use fprintf () and have 20752 assume this. The way out is to always use fprintf () and have
20753 a global varialbe "ofile" pointing to stdout. 20753 a global variable "ofile" pointing to stdout.
20754 20754
20755 * mail/*: All the files under mail been change to use fprintf() 20755 * mail/*: All the files under mail been change to use fprintf()
20756 and ofile as the default stdout. 20756 and ofile as the default stdout.
...@@ -20768,8 +20768,8 @@ v which will do the right thing. ...@@ -20768,8 +20768,8 @@ v which will do the right thing.
20768 20768
20769 * mail/mail.c: Comment out the code that use readline 20769 * mail/mail.c: Comment out the code that use readline
20770 specifics WITH_READLINE. 20770 specifics WITH_READLINE.
20771 * mail/mail.h: Likewised. 20771 * mail/mail.h: Likewise.
20772 * mail/util.c: Likewised. 20772 * mail/util.c: Likewise.
20773 20773
20774 2001-04-15 Alain Magloire 20774 2001-04-15 Alain Magloire
20775 20775
...@@ -20786,9 +20786,9 @@ v which will do the right thing. ...@@ -20786,9 +20786,9 @@ v which will do the right thing.
20786 * frm/Makefile.am: Remove -DTESTING in CFLAGS. 20786 * frm/Makefile.am: Remove -DTESTING in CFLAGS.
20787 * from/Makefile.am: Remove -DTESTING in CFLAGS. 20787 * from/Makefile.am: Remove -DTESTING in CFLAGS.
20788 Add AUTOMAKE_OPTIONS. 20788 Add AUTOMAKE_OPTIONS.
20789 * imapd/Makefile.am: Likewised. 20789 * imapd/Makefile.am: Likewise.
20790 * pop3d/Makefile.am: Likewised. 20790 * pop3d/Makefile.am: Likewise.
20791 * mail/Makefile.am: Likewised. Added ARGPLIB macro 20791 * mail/Makefile.am: Likewise. Added ARGPLIB macro
20792 20792
20793 2001-04-14 Sam Roberts 20793 2001-04-14 Sam Roberts
20794 * examples/{Makefile,Addrs,addr.c,Addrs.good}: address test f/w. 20794 * examples/{Makefile,Addrs,addr.c,Addrs.good}: address test f/w.
...@@ -20802,7 +20802,7 @@ v which will do the right thing. ...@@ -20802,7 +20802,7 @@ v which will do the right thing.
20802 * mailbox/folder_imap.c: When calling imap_writeline () the 20802 * mailbox/folder_imap.c: When calling imap_writeline () the
20803 cookie for the tag should be unsigned %d --> %u. 20803 cookie for the tag should be unsigned %d --> %u.
20804 (imap_send) : The number of bytes in memmove was wrong. 20804 (imap_send) : The number of bytes in memmove was wrong.
20805 * mailbox/mbx_imap.c: Some duplicate degug calls MAILBOX_DEBUG0() 20805 * mailbox/mbx_imap.c: Some duplicate debug calls MAILBOX_DEBUG0()
20806 removed. 20806 removed.
20807 (attribute_string): IMAP does not have a \\Read flag it should be 20807 (attribute_string): IMAP does not have a \\Read flag it should be
20808 the same as \\Seen so attribute_read() == attribute_seen(). 20808 the same as \\Seen so attribute_read() == attribute_seen().
...@@ -20816,9 +20816,9 @@ v which will do the right thing. ...@@ -20816,9 +20816,9 @@ v which will do the right thing.
20816 20816
20817 * imap4d/imap4d.h: Add HAVE_SECURITY_PAM_APPL_H. 20817 * imap4d/imap4d.h: Add HAVE_SECURITY_PAM_APPL_H.
20818 * imap4d/login.c: PAM_ERROR wrongly define. 20818 * imap4d/login.c: PAM_ERROR wrongly define.
20819 * imap4d/expunge.c: Initialise variable sp. 20819 * imap4d/expunge.c: Initialize variable sp.
20820 * imap4d/logout.c: Initialise variable sp. 20820 * imap4d/logout.c: Initialize variable sp.
20821 * imap4d/noop.c: Initialise variable sp. 20821 * imap4d/noop.c: Initialize variable sp.
20822 20822
20823 * mailbox/attachement.c (message_create_attachment): Use base_name(). 20823 * mailbox/attachement.c (message_create_attachment): Use base_name().
20824 * mailbox/mbx_mbox.c (mbox_tmpfile): Use base_name(). 20824 * mailbox/mbx_mbox.c (mbox_tmpfile): Use base_name().
...@@ -20888,17 +20888,17 @@ v which will do the right thing. ...@@ -20888,17 +20888,17 @@ v which will do the right thing.
20888 filter_create(). 20888 filter_create().
20889 (message_save_attachment): use filter_create(). 20889 (message_save_attachment): use filter_create().
20890 * mailbox/body.c (body_set_lines): Wrong comparison for the owner. 20890 * mailbox/body.c (body_set_lines): Wrong comparison for the owner.
20891 * mailbox/mbx_mbox.c: Do not count the line separtor of part 20891 * mailbox/mbx_mbox.c: Do not count the line separator of part
20892 of the mailbox. 20892 of the mailbox.
20893 20893
20894 * mailbox/url.c (url_is_same_sheme): New function. 20894 * mailbox/url.c (url_is_same_scheme): New function.
20895 (url_is_same_user): New function. 20895 (url_is_same_user): New function.
20896 (url_is_same_path): New function. 20896 (url_is_same_path): New function.
20897 (url_is_same_host): New function. 20897 (url_is_same_host): New function.
20898 (url_is_same_port): New function. 20898 (url_is_same_port): New function.
20899 * mailbox/folder.c : Moved the is_same_*() functions in url.c 20899 * mailbox/folder.c : Moved the is_same_*() functions in url.c
20900 they can be generally usefull. 20900 they can be generally useful.
20901 (is_same_sheme): Removed. 20901 (is_same_scheme): Removed.
20902 (is_same_user): Removed. 20902 (is_same_user): Removed.
20903 (is_same_path): Removed. 20903 (is_same_path): Removed.
20904 (is_same_host): Removed. 20904 (is_same_host): Removed.
...@@ -20953,13 +20953,13 @@ v which will do the right thing. ...@@ -20953,13 +20953,13 @@ v which will do the right thing.
20953 * mailbox/Makefile.am : Add filter.c filter_rfc822.c. 20953 * mailbox/Makefile.am : Add filter.c filter_rfc822.c.
20954 * mailbox/body.c : When creating a floating body i.e creating 20954 * mailbox/body.c : When creating a floating body i.e creating
20955 a temporary file, the stream was not "own" by the body_t. 20955 a temporary file, the stream was not "own" by the body_t.
20956 (_body_get_fd): Likewised. 20956 (_body_get_fd): Likewise.
20957 (_body_read):_ Likewised. 20957 (_body_read):_ Likewise.
20958 (_body_readline): Likewised. 20958 (_body_readline): Likewise.
20959 (_body_write): Likewised. 20959 (_body_write): Likewise.
20960 (_body_truncate): Likewised. 20960 (_body_truncate): Likewise.
20961 (_body_size): Likewised. 20961 (_body_size): Likewise.
20962 (_body_flush): Likewised. 20962 (_body_flush): Likewise.
20963 20963
20964 * mailbox/folder_imap.c (imap_literal_string): Check if the 20964 * mailbox/folder_imap.c (imap_literal_string): Check if the
20965 callback.buffer is NULL. 20965 callback.buffer is NULL.
...@@ -20968,7 +20968,7 @@ v which will do the right thing. ...@@ -20968,7 +20968,7 @@ v which will do the right thing.
20968 20968
20969 * mailbox/header.c: Remove the support for RFC822 it will be part 20969 * mailbox/header.c: Remove the support for RFC822 it will be part
20970 of the filter_t object. 20970 of the filter_t object.
20971 * mailbox/mbx_mbox.c: Likewised. 20971 * mailbox/mbx_mbox.c: Likewise.
20972 * mailbox/mailbox.c (mailbox_size): Rename to mailbox_get_size(). 20972 * mailbox/mailbox.c (mailbox_size): Rename to mailbox_get_size().
20973 20973
20974 * mailbox/stream.c (stream_is_seekable): New function. 20974 * mailbox/stream.c (stream_is_seekable): New function.
...@@ -21031,14 +21031,14 @@ v which will do the right thing. ...@@ -21031,14 +21031,14 @@ v which will do the right thing.
21031 * imap4d/fetch.c: Cleanup the fetch code, and broke 21031 * imap4d/fetch.c: Cleanup the fetch code, and broke
21032 the fetch_operation() routine in multiple routines. 21032 the fetch_operation() routine in multiple routines.
21033 (fetch_message): New function. 21033 (fetch_message): New function.
21034 (fetch_header): Likewised 21034 (fetch_header): Likewise
21035 (fetch_content): Likewised 21035 (fetch_content): Likewise
21036 (fetch_io): Likewised 21036 (fetch_io): Likewise
21037 (fetch_header_fields): Likewised 21037 (fetch_header_fields): Likewise
21038 (fetch_header_fields_not): Likewised 21038 (fetch_header_fields_not): Likewise
21039 (fetch_send_address): Likewised 21039 (fetch_send_address): Likewise
21040 21040
21041 * mailbox/header.c: Some functions were usefull while 21041 * mailbox/header.c: Some functions were useful while
21042 programming the imap server, put them here. 21042 programming the imap server, put them here.
21043 (header_aget_value): New function. 21043 (header_aget_value): New function.
21044 (header_aget_field_name): New function. 21044 (header_aget_field_name): New function.
...@@ -21054,8 +21054,8 @@ v which will do the right thing. ...@@ -21054,8 +21054,8 @@ v which will do the right thing.
21054 21054
21055 To get things to compile on Solaris, change configure to check 21055 To get things to compile on Solaris, change configure to check
21056 for -lpthread since in libc the thread functions are defined 21056 for -lpthread since in libc the thread functions are defined
21057 but all return ENOSYS, you need to explicitely link with -lphtread. 21057 but all return ENOSYS, you need to explicitly link with -lphtread.
21058 the ctype functions is*() arguments should be explicitely cast 21058 the ctype functions is*() arguments should be explicitly cast
21059 since Solaris use them as indexes. __REENTRANT as to be define 21059 since Solaris use them as indexes. __REENTRANT as to be define
21060 if compile with support for threads. Never realize this but 21060 if compile with support for threads. Never realize this but
21061 setenv() is a BSD/GNU thing, so took a variant from libiberty 21061 setenv() is a BSD/GNU thing, so took a variant from libiberty
...@@ -21101,8 +21101,8 @@ v which will do the right thing. ...@@ -21101,8 +21101,8 @@ v which will do the right thing.
21101 21101
21102 * mail/mail.c: Comment out the code that use readline 21102 * mail/mail.c: Comment out the code that use readline
21103 specifics WITH_READLINE. 21103 specifics WITH_READLINE.
21104 * mail/mail.h: Likewised. 21104 * mail/mail.h: Likewise.
21105 * mail/util.c: Likewised. 21105 * mail/util.c: Likewise.
21106 21106
21107 2001-04-15 Alain Magloire 21107 2001-04-15 Alain Magloire
21108 21108
...@@ -21119,9 +21119,9 @@ v which will do the right thing. ...@@ -21119,9 +21119,9 @@ v which will do the right thing.
21119 * frm/Makefile.am: Remove -DTESTING in CFLAGS. 21119 * frm/Makefile.am: Remove -DTESTING in CFLAGS.
21120 * from/Makefile.am: Remove -DTESTING in CFLAGS. 21120 * from/Makefile.am: Remove -DTESTING in CFLAGS.
21121 Add AUTOMAKE_OPTIONS. 21121 Add AUTOMAKE_OPTIONS.
21122 * imapd/Makefile.am: Likewised. 21122 * imapd/Makefile.am: Likewise.
21123 * pop3d/Makefile.am: Likewised. 21123 * pop3d/Makefile.am: Likewise.
21124 * mail/Makefile.am: Likewised. Added ARGPLIB macro 21124 * mail/Makefile.am: Likewise. Added ARGPLIB macro
21125 21125
21126 2001-04-14 Sam Roberts 21126 2001-04-14 Sam Roberts
21127 * examples/{Makefile,Addrs,addr.c,Addrs.good}: address test f/w. 21127 * examples/{Makefile,Addrs,addr.c,Addrs.good}: address test f/w.
...@@ -21135,7 +21135,7 @@ v which will do the right thing. ...@@ -21135,7 +21135,7 @@ v which will do the right thing.
21135 * mailbox/folder_imap.c: When calling imap_writeline () the 21135 * mailbox/folder_imap.c: When calling imap_writeline () the
21136 cookie for the tag should be unsigned %d --> %u. 21136 cookie for the tag should be unsigned %d --> %u.
21137 (imap_send) : The number of bytes in memmove was wrong. 21137 (imap_send) : The number of bytes in memmove was wrong.
21138 * mailbox/mbx_imap.c: Some duplicate degug calls MAILBOX_DEBUG0() 21138 * mailbox/mbx_imap.c: Some duplicate debug calls MAILBOX_DEBUG0()
21139 removed. 21139 removed.
21140 (attribute_string): IMAP does not have a \\Read flag it should be 21140 (attribute_string): IMAP does not have a \\Read flag it should be
21141 the same as \\Seen so attribute_read() == attribute_seen(). 21141 the same as \\Seen so attribute_read() == attribute_seen().
...@@ -21149,9 +21149,9 @@ v which will do the right thing. ...@@ -21149,9 +21149,9 @@ v which will do the right thing.
21149 21149
21150 * imap4d/imap4d.h: Add HAVE_SECURITY_PAM_APPL_H. 21150 * imap4d/imap4d.h: Add HAVE_SECURITY_PAM_APPL_H.
21151 * imap4d/login.c: PAM_ERROR wrongly define. 21151 * imap4d/login.c: PAM_ERROR wrongly define.
21152 * imap4d/expunge.c: Initialise variable sp. 21152 * imap4d/expunge.c: Initialize variable sp.
21153 * imap4d/logout.c: Initialise variable sp. 21153 * imap4d/logout.c: Initialize variable sp.
21154 * imap4d/noop.c: Initialise variable sp. 21154 * imap4d/noop.c: Initialize variable sp.
21155 21155
21156 * mailbox/attachement.c (message_create_attachment): Use base_name(). 21156 * mailbox/attachement.c (message_create_attachment): Use base_name().
21157 * mailbox/mbx_mbox.c (mbox_tmpfile): Use base_name(). 21157 * mailbox/mbx_mbox.c (mbox_tmpfile): Use base_name().
...@@ -21221,17 +21221,17 @@ v which will do the right thing. ...@@ -21221,17 +21221,17 @@ v which will do the right thing.
21221 filter_create(). 21221 filter_create().
21222 (message_save_attachment): use filter_create(). 21222 (message_save_attachment): use filter_create().
21223 * mailbox/body.c (body_set_lines): Wrong comparison for the owner. 21223 * mailbox/body.c (body_set_lines): Wrong comparison for the owner.
21224 * mailbox/mbx_mbox.c: Do not count the line separtor of part 21224 * mailbox/mbx_mbox.c: Do not count the line separator of part
21225 of the mailbox. 21225 of the mailbox.
21226 21226
21227 * mailbox/url.c (url_is_same_sheme): New function. 21227 * mailbox/url.c (url_is_same_scheme): New function.
21228 (url_is_same_user): New function. 21228 (url_is_same_user): New function.
21229 (url_is_same_path): New function. 21229 (url_is_same_path): New function.
21230 (url_is_same_host): New function. 21230 (url_is_same_host): New function.
21231 (url_is_same_port): New function. 21231 (url_is_same_port): New function.
21232 * mailbox/folder.c : Moved the is_same_*() functions in url.c 21232 * mailbox/folder.c : Moved the is_same_*() functions in url.c
21233 they can be generally usefull. 21233 they can be generally useful.
21234 (is_same_sheme): Removed. 21234 (is_same_scheme): Removed.
21235 (is_same_user): Removed. 21235 (is_same_user): Removed.
21236 (is_same_path): Removed. 21236 (is_same_path): Removed.
21237 (is_same_host): Removed. 21237 (is_same_host): Removed.
...@@ -21286,13 +21286,13 @@ v which will do the right thing. ...@@ -21286,13 +21286,13 @@ v which will do the right thing.
21286 * mailbox/Makefile.am : Add filter.c filter_rfc822.c. 21286 * mailbox/Makefile.am : Add filter.c filter_rfc822.c.
21287 * mailbox/body.c : When creating a floating body i.e creating 21287 * mailbox/body.c : When creating a floating body i.e creating
21288 a temporary file, the stream was not "own" by the body_t. 21288 a temporary file, the stream was not "own" by the body_t.
21289 (_body_get_fd): Likewised. 21289 (_body_get_fd): Likewise.
21290 (_body_read):_ Likewised. 21290 (_body_read):_ Likewise.
21291 (_body_readline): Likewised. 21291 (_body_readline): Likewise.
21292 (_body_write): Likewised. 21292 (_body_write): Likewise.
21293 (_body_truncate): Likewised. 21293 (_body_truncate): Likewise.
21294 (_body_size): Likewised. 21294 (_body_size): Likewise.
21295 (_body_flush): Likewised. 21295 (_body_flush): Likewise.
21296 21296
21297 * mailbox/folder_imap.c (imap_literal_string): Check if the 21297 * mailbox/folder_imap.c (imap_literal_string): Check if the
21298 callback.buffer is NULL. 21298 callback.buffer is NULL.
...@@ -21301,7 +21301,7 @@ v which will do the right thing. ...@@ -21301,7 +21301,7 @@ v which will do the right thing.
21301 21301
21302 * mailbox/header.c: Remove the support for RFC822 it will be part 21302 * mailbox/header.c: Remove the support for RFC822 it will be part
21303 of the filter_t object. 21303 of the filter_t object.
21304 * mailbox/mbx_mbox.c: Likewised. 21304 * mailbox/mbx_mbox.c: Likewise.
21305 * mailbox/mailbox.c (mailbox_size): Rename to mailbox_get_size(). 21305 * mailbox/mailbox.c (mailbox_size): Rename to mailbox_get_size().
21306 21306
21307 * mailbox/stream.c (stream_is_seekable): New function. 21307 * mailbox/stream.c (stream_is_seekable): New function.
...@@ -21346,18 +21346,18 @@ v which will do the right thing. ...@@ -21346,18 +21346,18 @@ v which will do the right thing.
21346 * mailbox/property.c (property_set_double): Removed. 21346 * mailbox/property.c (property_set_double): Removed.
21347 * mailbox/property.c (property_set_set_value): Removed. 21347 * mailbox/property.c (property_set_set_value): Removed.
21348 * mailbox/property.c (property_set_get_value): Removed. 21348 * mailbox/property.c (property_set_get_value): Removed.
21349 * mailbox/property.c (property_add_propety): New function. 21349 * mailbox/property.c (property_add_property): New function.
21350 * mailbox/property.c (hash): Renamed poperty_hash. 21350 * mailbox/property.c (hash): Renamed property_hash.
21351 * include/mailutils/property.h (struct property_list): New structure. 21351 * include/mailutils/property.h (struct property_list): New structure.
21352 21352
21353 * mailbox/include/mailbox0.h: new fields properties, properties_count. 21353 * mailbox/include/mailbox0.h: new fields properties, properties_count.
21354 * mailbox/mailbox.c (mailbox_get_property): The function will create 21354 * mailbox/mailbox.c (mailbox_get_property): The function will create
21355 the proprety and add the default properties. 21355 the propriety and add the default properties.
21356 (mailbox_destroy): The default poperties and property are freed. 21356 (mailbox_destroy): The default properties and property are freed.
21357 (mailbox_is_updated): Return ENOSYS if the argumets are wrong. 21357 (mailbox_is_updated): Return ENOSYS if the arguments are wrong.
21358 (mailbox_scan): Return ENOSYS if the argumets are wrong. 21358 (mailbox_scan): Return ENOSYS if the arguments are wrong.
21359 (mailbox_uidvalidity): Return ENOSYS if the argumets are wrong. 21359 (mailbox_uidvalidity): Return ENOSYS if the arguments are wrong.
21360 (mailbox_uidnext): Return ENOSYS if the argumets are wrong. 21360 (mailbox_uidnext): Return ENOSYS if the arguments are wrong.
21361 21361
21362 * mailbox/mbx_mbox.c (mbx_init): Set its default properties. 21362 * mailbox/mbx_mbox.c (mbx_init): Set its default properties.
21363 (mbx_header_get_fvalue): Return the len, even if buffer is null. 21363 (mbx_header_get_fvalue): Return the len, even if buffer is null.
...@@ -21373,12 +21373,12 @@ v which will do the right thing. ...@@ -21373,12 +21373,12 @@ v which will do the right thing.
21373 21373
21374 * mailbox/mbx_pop.c (pop_init): Set its default properties. 21374 * mailbox/mbx_pop.c (pop_init): Set its default properties.
21375 (pop_open): Remove MU_STREAM_POP flag obsolete. 21375 (pop_open): Remove MU_STREAM_POP flag obsolete.
21376 (pop_readline): Do the converstion if rfc822 is set. 21376 (pop_readline): Do the conversion if rfc822 is set.
21377 21377
21378 * mailbox/mbx_imap.c (mbx_imap_init): Set its default properties. 21378 * mailbox/mbx_imap.c (mbx_imap_init): Set its default properties.
21379 * mailbox/folder_imap.c (folder_imap_open): Remove MU_STREAM_IMAP, 21379 * mailbox/folder_imap.c (folder_imap_open): Remove MU_STREAM_IMAP,
21380 no longer pertinent. 21380 no longer pertinent.
21381 (imap_readline): If propety rfc822 is set don't strip '\r'. 21381 (imap_readline): If property rfc822 is set don't strip '\r'.
21382 21382
21383 * mailbox/header.c (header_set_property): New functions. 21383 * mailbox/header.c (header_set_property): New functions.
21384 (header_get_property): New functions. 21384 (header_get_property): New functions.
...@@ -21397,7 +21397,7 @@ v which will do the right thing. ...@@ -21397,7 +21397,7 @@ v which will do the right thing.
21397 properties of each object. 21397 properties of each object.
21398 21398
21399 * mailbox/mailer.c (mailer_destroy): Free the properties. 21399 * mailbox/mailer.c (mailer_destroy): Free the properties.
21400 * mailbox/mailer.c (mailer_get_poperty): New function, return the 21400 * mailbox/mailer.c (mailer_get_property): New function, return the
21401 property of the mailbox. 21401 property of the mailbox.
21402 21402
21403 * mailbox/smtp.c (_mailer_smtp_init): Set its default properties. 21403 * mailbox/smtp.c (_mailer_smtp_init): Set its default properties.
...@@ -21416,7 +21416,7 @@ v which will do the right thing. ...@@ -21416,7 +21416,7 @@ v which will do the right thing.
21416 * mailbox/parse822.c: implementation of address_create0(), 21416 * mailbox/parse822.c: implementation of address_create0(),
21417 which handles groups, routes, and the hoary old comment phrase 21417 which handles groups, routes, and the hoary old comment phrase
21418 * addr/addr.c - parses addresses from its command line or 21418 * addr/addr.c - parses addresses from its command line or
21419 stding using create() or create0(). 21419 stdin using create() or create0().
21420 * mailbox/mbx_imap.c: need strings.h on some systems, like Nto 21420 * mailbox/mbx_imap.c: need strings.h on some systems, like Nto
21421 21421
21422 2001-03-12 Sam Roberts 21422 2001-03-12 Sam Roberts
...@@ -21431,7 +21431,7 @@ v which will do the right thing. ...@@ -21431,7 +21431,7 @@ v which will do the right thing.
21431 2001-03-09 Alain Magloire 21431 2001-03-09 Alain Magloire
21432 21432
21433 * mailbox/Makefile.am: add property.c in the src list. 21433 * mailbox/Makefile.am: add property.c in the src list.
21434 * doc/mailutils.texi: add Sam to the list of acknowlegment. 21434 * doc/mailutils.texi: add Sam to the list of acknowledgment.
21435 21435
21436 2001-03-09 Sam Roberts 21436 2001-03-09 Sam Roberts
21437 21437
...@@ -21447,10 +21447,10 @@ v which will do the right thing. ...@@ -21447,10 +21447,10 @@ v which will do the right thing.
21447 2001-03-03 Alain Magloire 21447 2001-03-03 Alain Magloire
21448 21448
21449 * imap4d/fetch.c (fetch_operation) : HEADER.FIELDS.NOT implemented. 21449 * imap4d/fetch.c (fetch_operation) : HEADER.FIELDS.NOT implemented.
21450 fetch_opertaion() take a new argument. 21450 fetch_operation() take a new argument.
21451 * imap4d/util.c (util_upper) : New function string upper. 21451 * imap4d/util.c (util_upper) : New function string upper.
21452 21452
21453 * mailbox/heder.c: Added new functionnalities to help the imap4d 21453 * mailbox/heder.c: Added new functionality to help the imap4d
21454 fetch command. 21454 fetch command.
21455 (header_get_field_count) : New function returns the number of header 21455 (header_get_field_count) : New function returns the number of header
21456 fields in the header. 21456 fields in the header.
...@@ -21460,29 +21460,29 @@ v which will do the right thing. ...@@ -21460,29 +21460,29 @@ v which will do the right thing.
21460 2001-03-03 Alain Magloire 21460 2001-03-03 Alain Magloire
21461 21461
21462 * include/mailutils/address.h: s/_cplusplus/__cplusplus/g 21462 * include/mailutils/address.h: s/_cplusplus/__cplusplus/g
21463 (include/mailutils/auth.h): Likewised. 21463 (include/mailutils/auth.h): Likewise.
21464 (include/mailutils/body.h): Likewised. 21464 (include/mailutils/body.h): Likewise.
21465 (include/mailutils/debug.h): Likewised. 21465 (include/mailutils/debug.h): Likewise.
21466 (include/mailutils/header.h): Likewised. 21466 (include/mailutils/header.h): Likewise.
21467 (include/mailutils/iterator.h): Likewised. 21467 (include/mailutils/iterator.h): Likewise.
21468 (include/mailutils/list.h): Likewised. 21468 (include/mailutils/list.h): Likewise.
21469 (include/mailutils/mailer.h): Likewised. 21469 (include/mailutils/mailer.h): Likewise.
21470 (include/mailutils/message.h): Likewised. 21470 (include/mailutils/message.h): Likewise.
21471 (include/mailutils/mime.h): Likewised. 21471 (include/mailutils/mime.h): Likewise.
21472 (include/mailutils/observer.h): Likewised. 21472 (include/mailutils/observer.h): Likewise.
21473 (include/mailutils/property.h): Likewised. 21473 (include/mailutils/property.h): Likewise.
21474 (include/mailutils/registrar.h): Likewised. 21474 (include/mailutils/registrar.h): Likewise.
21475 (mailbox/include/address0.h): Likewised. 21475 (mailbox/include/address0.h): Likewise.
21476 (mailbox/include/auth0.h): Likewised. 21476 (mailbox/include/auth0.h): Likewise.
21477 (mailbox/include/body0.h): Likewised. 21477 (mailbox/include/body0.h): Likewise.
21478 (mailbox/include/debug0.h): Likewised. 21478 (mailbox/include/debug0.h): Likewise.
21479 (mailbox/include/header0.h): Likewised. 21479 (mailbox/include/header0.h): Likewise.
21480 (mailbox/include/iterator0.h): Likewised. 21480 (mailbox/include/iterator0.h): Likewise.
21481 (mailbox/include/list0.h): Likewised. 21481 (mailbox/include/list0.h): Likewise.
21482 (mailbox/include/mailer0.h): Likewised. 21482 (mailbox/include/mailer0.h): Likewise.
21483 (mailbox/include/message0.h): Likewised. 21483 (mailbox/include/message0.h): Likewise.
21484 (mailbox/include/mime0.h): Likewised. 21484 (mailbox/include/mime0.h): Likewise.
21485 (mailbox/include/observer0.h): Likewised. 21485 (mailbox/include/observer0.h): Likewise.
21486 Pointed by Sam Roberts. 21486 Pointed by Sam Roberts.
21487 21487
21488 2001-02-28 Alain Magloire 21488 2001-02-28 Alain Magloire
...@@ -21500,7 +21500,7 @@ v which will do the right thing. ...@@ -21500,7 +21500,7 @@ v which will do the right thing.
21500 21500
21501 * mailbox/mbx_imap.c (imap_submessage_size): New function to 21501 * mailbox/mbx_imap.c (imap_submessage_size): New function to
21502 retrieve message size of attachments. 21502 retrieve message size of attachments.
21503 * imap4d/fetch.c: More functionnality for the FETCH command. 21503 * imap4d/fetch.c: More functionality for the FETCH command.
21504 (fetch_operation): New operation. 21504 (fetch_operation): New operation.
21505 * imap4d/util.c (util_token): little helper function. 21505 * imap4d/util.c (util_token): little helper function.
21506 21506
...@@ -21619,7 +21619,7 @@ v which will do the right thing. ...@@ -21619,7 +21619,7 @@ v which will do the right thing.
21619 "Whether the removal was successful or not, the server 21619 "Whether the removal was successful or not, the server
21620 then releases any exclusive-access lock on the maildrop 21620 then releases any exclusive-access lock on the maildrop
21621 and closes the TCP connection." This was not done if error 21621 and closes the TCP connection." This was not done if error
21622 occured while expunging, now we will close the connection and 21622 occurred while expunging, now we will close the connection and
21623 notify the client of the error(ERR_FILE). 21623 notify the client of the error(ERR_FILE).
21624 21624
21625 2001-02-01 Alain Magloire 21625 2001-02-01 Alain Magloire
...@@ -21629,7 +21629,7 @@ v which will do the right thing. ...@@ -21629,7 +21629,7 @@ v which will do the right thing.
21629 * mailbox/attachment.c: Typo should be "Content-Disposition" 21629 * mailbox/attachment.c: Typo should be "Content-Disposition"
21630 21630
21631 * mailbox/mbx_mbox.c mailbox/mbx_mboxscan.c mailbox/header.c: 21631 * mailbox/mbx_mbox.c mailbox/mbx_mboxscan.c mailbox/header.c:
21632 Attempt to optimze the header, header_get_fvalue() is created, 21632 Attempt to optimize the header, header_get_fvalue() is created,
21633 The mailbox save/cache the most common headers, when doing a 21633 The mailbox save/cache the most common headers, when doing a
21634 header_get_value(), header_get_fvalue() is call first hoping 21634 header_get_value(), header_get_fvalue() is call first hoping
21635 that the requested header was cache, if it fails we fall back 21635 that the requested header was cache, if it fails we fall back
...@@ -21651,7 +21651,7 @@ v which will do the right thing. ...@@ -21651,7 +21651,7 @@ v which will do the right thing.
21651 2001-01-25 Alain Magloire 21651 2001-01-25 Alain Magloire
21652 21652
21653 * pop3d/capa.c: Add UIDL in the capability list. 21653 * pop3d/capa.c: Add UIDL in the capability list.
21654 and update Copyrigth. 21654 and update Copyright.
21655 * pop3d/pop3d.c: Remove mbox_record register, only need path_record. 21655 * pop3d/pop3d.c: Remove mbox_record register, only need path_record.
21656 * pop3d/retr.c: When retrieve a message should be mark as read. 21656 * pop3d/retr.c: When retrieve a message should be mark as read.
21657 since we do not strip out the header "Status:". 21657 since we do not strip out the header "Status:".
...@@ -21659,9 +21659,9 @@ v which will do the right thing. ...@@ -21659,9 +21659,9 @@ v which will do the right thing.
21659 21659
21660 2001-01-25 Alain Magloire 21660 2001-01-25 Alain Magloire
21661 21661
21662 While working on the new version of the API mailbox, Changelog was 21662 While working on the new version of the API mailbox, ChangeLog was
21663 discontinued, since the API could literaly change overnight a 21663 discontinued, since the API could literally change overnight a
21664 maintenace of the entries were of a particular burden. 21664 maintenance of the entries were of a particular burden.
21665 The API of the library, and some utilities like pop3d are 21665 The API of the library, and some utilities like pop3d are
21666 stable enough to restart normal entries. 21666 stable enough to restart normal entries.
21667 21667
...@@ -21931,7 +21931,7 @@ v which will do the right thing. ...@@ -21931,7 +21931,7 @@ v which will do the right thing.
21931 1999-10-04 Sean 'Shaleh' Perry 21931 1999-10-04 Sean 'Shaleh' Perry
21932 21932
21933 * changed lock(int mode) to lock(mailbox_lock_t mode), this will allow 21933 * changed lock(int mode) to lock(mailbox_lock_t mode), this will allow
21934 the type to be chnaged later without affecting code compatibility 21934 the type to be changed later without affecting code compatibility
21935 * added name to AUTHORS 21935 * added name to AUTHORS
21936 * noticed mention of IMAP4 server and went back to coding it (-: 21936 * noticed mention of IMAP4 server and went back to coding it (-:
21937 21937
...@@ -22022,7 +22022,7 @@ v which will do the right thing. ...@@ -22022,7 +22022,7 @@ v which will do the right thing.
22022 * pop3d/pop3d.c (main): moved setgid() call to after option parsing 22022 * pop3d/pop3d.c (main): moved setgid() call to after option parsing
22023 (main): make --version report PACKAGE and VERSION 22023 (main): make --version report PACKAGE and VERSION
22024 22024
22025 * libmailbox/mailbox.c (mbox_open): changed paramater type to const 22025 * libmailbox/mailbox.c (mbox_open): changed parameter type to const
22026 22026
22027 * pop3d/Makefile.am (INCLUDES): change relative directories to 22027 * pop3d/Makefile.am (INCLUDES): change relative directories to
22028 top_srcdir base 22028 top_srcdir base
...@@ -22060,10 +22060,12 @@ v which will do the right thing. ...@@ -22060,10 +22060,12 @@ v which will do the right thing.
22060 22060
22061 1999-09-10 Jeff Bailey 22061 1999-09-10 Jeff Bailey
22062 22062
22063 * */*: Accomidate directory rearrange 22063 * */*: Accommodate directory rearrange
22064 22064
22065 22065
22066 Local Variables: 22066 Local Variables:
22067 mode: change-log 22067 mode: change-log
22068 version-control: never 22068 version-control: never
22069 End: 22069 End:
22070
22071
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
6 autobuild 6 autobuild
7 crypto/des 7 crypto/des
8 gettext 8 gettext
9 gitlog-to-changelog
10 inttostr 9 inttostr
11 mbchar 10 mbchar
12 mbiter 11 mbiter
......
...@@ -5,41 +5,245 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"' ...@@ -5,41 +5,245 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
5 use strict; 5 use strict;
6 use POSIX qw(strftime); 6 use POSIX qw(strftime);
7 use Getopt::Long qw(:config gnu_getopt no_ignore_case); 7 use Getopt::Long qw(:config gnu_getopt no_ignore_case);
8 use Text::Wrap;
9 use Data::Dumper;
10 use threads;
11 use Thread::Queue;
12 use Time::ParseDate;
13 use Safe;
14 use Pod::Usage;
15 use Pod::Man;
16 use Pod::Find qw(pod_where);
8 17
9 my @append_files; 18 my @append_files;
10 my $force; 19 my $force;
11 my $verbose; 20 my $verbose;
12 my $changelog_file = 'ChangeLog'; 21 my $changelog_file = 'ChangeLog';
22 my $since_date;
23 my $until_date;
24 my $strip_cherry_pick;
25 my $amend_file;
26 my %amendment;
27 my $append_dot;
13 28
14 GetOptions('append|a=s@' => \@append_files, 29 sub set_date {
30 my ($time, $err) = parsedate($_[1], PREFER_PAST => 1, UK => 1);
31 unless (defined($time)) {
32 print STDERR "--$_[0]=$_[1]: $err\n";
33 exit(1);
34 }
35 return strftime('%Y-%m-%d', localtime($time));
36 }
37
38 =head1 NAME
39
40 gencl - generate ChangeLog from git log output
41
42 =head1 SYNOPSIS
43
44 B<gencl>
45 [B<-fv>]
46 [B<-a> I<FILE>]
47 [B<-F> I<FILE>]
48 [B<--amend=>I<FILE>]
49 [B<--append-dot>]
50 [B<--append=>I<FILE>]
51 [B<--file=>I<FILE>]
52 [B<--force>]
53 [B<--since=>I<DATE>]
54 [B<--strip-cherry-pick>]
55 [B<--until=>I<DATE>]
56 [B<--verbose>]
57
58 B<gencl> B<-h> | B<--help> | B<--usage>
59
60 =head1 DESCRIPTION
61
62 Retrieves git log messages and reformats them as a valid ChangeLog
63 file. The file begins with an automatically generated entry stating
64 the SHA1 hash of the git HEAD commit. This entry is followed by
65 the log entries recreated from the git log, in reverse chronological
66 order. By default, entire log is converted. This can be changed by
67 using B<--since> and/or B<--until> options. Files specified with the
68 B<--append> options (if any), are appended after the converted entries.
69 The file ends with the B<emacs> B<Local Variables> stanza.
70
71 If the B<ChangeLog> file exists, B<gencl> verifies if the source tree
72 has changed since the file was created. The file is re-created only if
73 there were some changes (whether committed or not). The the B<--force>
74 (B<-f>) option instructs B<gencl> to recreate the file unconditionally.
75
76 The file supplied with the B<--amend> option is used to correct spelling
77 (and other) errors in the log entries. It consists of entries delimited
78 with one or more empty lines. Each entry begins with a full SHA1 hash
79 of the commit it applies to. The hash is followed by one or more lines
80 with a valid Perl code (typically, B<s///> statements). Comments are
81 introduced with the B<#> sign. For each git log entry, its hash is looked
82 up in that file. If found, the B<$_> variable is set to the commit subject,
83 followed by the commit body and the code is evaluated.
84
85 =head1 OPTIONS
86
87 =over 4
88
89 =item B<-a>, B<--append=>I<FILE>
90
91 Append I<FILE> to the end of the generated file. Multiple B<--append>
92 are processed in the order of their occurrence on the command line.
93 The content of I<FILE> is appended verbatim, except that the line beginning
94 with the text B<Local Variables:> is taken to mark the end of file.
95
96 =item B<-F>, B<--file=>I<FILE>
97
98 Create I<FILE> instead of the B<ChangeLog>.
99
100 =item B<-f>, B<--force>
101
102 Force recreating the ChangeLog, even if no new commits were added to the
103 repository since its creation.
104
105 =item B<-v>, B<--verbose>
106
107 Increase output verbosity.
108
109 =item B<--since=>I<DATE>
110
111 Convert only the logs since I<DATE>. See B<Time::ParseDate>(3), for
112 a list of valid I<DATE> formats.
113
114 =item B<--until=>I<DATE>
115
116 Convert only the logs until I<DATE>. See B<Time::ParseDate>(3), for
117 a list of valid I<DATE> formats.
118
119 =item B<--strip-cherry-pick>
120
121 Remove data inserted by B<git cherry-pick>. This includes the "cherry picked
122 from commit ..." line, and the possible final "Conflicts:" paragraph.
123
124 =item B<--amend=>I<FILE>
125
126 Read amendment instructions from I<FILE>.
127
128 =item B<--append-dot>
129
130 Append a dot to the subject line of each commit message if there is no other
131 punctuation the end.
132
133 =back
134
135 =head1 DIFFERENCES FROM GITLOG-TO-CHANGELOG
136
137 =over 4
138
139 =item 1
140
141 B<gencl> writes output to the disk file, whereas B<gitlog-to-changelog>
142 prints it to the standard output.
143
144 =item 2
145
146 The created B<ChangeLog> begins with an automatically generated entry and
147 ends with the B<Local Variables> stanza.
148
149 =item 3
150
151 The B<ChangeLog> file is re-created only if the source tree was changed
152 since it was written (whether these changes have been committed or not).
153
154 =item 4
155
156 Arbitrary number of files can be concatenated to the produced file. This
157 is handy for projects that switched to B<git> from other VCS.
158
159 =item 5
160
161 Each entry is reformatted using B<Text::Wrap>.
162
163 =item 6
164
165 The following B<gitlab-to-changelog> options are not implemented: B<--cluster>,
166 B<--ignore-matching>, B<--ignore_line>.
167
168 =back
169
170 =cut
171
172 sub pod_usage_msg {
173 my ($obj) = @_;
174 open my $fd, '>', \my $msg;
175
176 pod2usage(-verbose => 99,
177 -sections => 'NAME',
178 -output => $fd,
179 -exitval => 'NOEXIT');
180 my @a = split /\n/, $msg;
181 $msg = $a[1];
182 $msg =~ s/^\s+//;
183 $msg =~ s/ - /: /;
184 return $msg;
185 }
186
187 GetOptions(
188 'h' => sub {
189 pod2usage(-message => pod_usage_msg(),
190 -exitstatus => 0,
191 -input => pod_where({-inc => 1}, $0))
192 },
193 'help' => sub {
194 pod2usage(-exitstatus => 0,
195 -verbose => 2,
196 -input => pod_where({-inc => 1}, $0));
197 },
198 'usage' => sub {
199 pod2usage(-exitstatus => 0,
200 -verbose => 0,
201 -input => pod_where({-inc => 1}, $0));
202 },
203 'append|a=s@' => \@append_files,
15 'file|F=s' => \$changelog_file, 204 'file|F=s' => \$changelog_file,
16 'force|f' => \$force, 205 'force|f' => \$force,
17 'verbose|v' => \$verbose) or exit(1); 206 'verbose|v' => \$verbose,
207 'since=s' => sub { $since_date = set_date(@_) },
208 'until=s' => sub { $until_date = set_date(@_) },
209 'strip-cherry-pick' => \$strip_cherry_pick,
210 'amend=s' => \$amend_file,
211 'append-dot' => \$append_dot
212 ) or exit(1);
18 213
19 if (! -d '.git') { 214 if (! -d '.git') {
20 exit 0; 215 exit 0;
21 } 216 }
22 217
23 my ($hash, $date) = split / /, `git log --max-count=1 --pretty=format:'%H %ad' --date=short HEAD`; 218 read_amend_file($amend_file) if $amend_file;
219
220 $Text::Wrap::columns = 72;
221
222 create_changelog();
223
224
225 sub toplevel_entry {
226 my ($hash, $date) = split / /,
227 `git log --max-count=1 --pretty=format:'%H %ad' --date=short HEAD`;
24 228
25 my @modlines; 229 my @modlines;
26 if (open(my $fd, '-|', 'git diff-index --name-status HEAD 2>/dev/null')) { 230 if (open(my $fd, '-|', 'git diff-index --name-status HEAD 2>/dev/null')) {
27 chomp(@modlines = map {chomp; [split /\s+/, $_, 2]} <$fd>); 231 chomp(@modlines = map {chomp; [split /\s+/, $_, 2]} <$fd>);
28 close $fd; 232 close $fd;
29 } 233 }
30 234
31 if (@modlines) { 235 if (@modlines) {
32 $date = strftime '%Y-%m-%d', localtime; 236 $date = strftime '%Y-%m-%d', localtime;
33 } 237 }
34 238
35 my @header; 239 my @header;
36 240
37 push @header, "$date Automatically generated <bug-mailutils\@gnu.org>"; 241 push @header, "$date Automatically generated <bug-mailutils\@gnu.org>";
38 push @header, ''; 242 push @header, '';
39 push @header, "\tHEAD $hash"; 243 push @header, "\tHEAD $hash.";
40 push @header, ''; 244 push @header, '';
41 245
42 my %status = ( 246 my %status = (
43 A => 'New file', 247 A => 'New file',
44 C => 'Copied file', 248 C => 'Copied file',
45 D => 'Removed file', 249 D => 'Removed file',
...@@ -48,9 +252,9 @@ my %status = ( ...@@ -48,9 +252,9 @@ my %status = (
48 T => 'Type change', 252 T => 'Type change',
49 U => 'Unmerged', 253 U => 'Unmerged',
50 X => 'Unknown' 254 X => 'Unknown'
51 ); 255 );
52 256
53 if (@modlines) { 257 if (@modlines) {
54 push @header, "\tUncommitted changes:"; 258 push @header, "\tUncommitted changes:";
55 push @header, ''; 259 push @header, '';
56 260
...@@ -58,6 +262,8 @@ if (@modlines) { ...@@ -58,6 +262,8 @@ if (@modlines) {
58 "\t* $_->[1]: " . ($status{$_->[0]} || 'Unknown') . ";" 262 "\t* $_->[1]: " . ($status{$_->[0]} || 'Unknown') . ";"
59 } @modlines; 263 } @modlines;
60 push @header, ''; 264 push @header, '';
265 }
266 return @header;
61 } 267 }
62 268
63 sub headcmp { 269 sub headcmp {
...@@ -74,40 +280,243 @@ sub headcmp { ...@@ -74,40 +280,243 @@ sub headcmp {
74 return 0; 280 return 0;
75 } 281 }
76 282
77 if (!$force && headcmp($changelog_file, @header)) { 283 sub read_amend_file {
78 exit 0; 284 my ($file) = @_;
285 open(my $fd, '<', $file)
286 or die "can't open $file for reading: $!";
287 use constant {
288 STATE_INIT => 1,
289 STATE_HASH => 2,
290 };
291 my $state = STATE_INIT;
292 my $silent;
293 my $hash;
294 my $code;
295 my $locus;
296 while (<$fd>) {
297 chomp;
298 s/^\s+//;
299 next if /^#/;
300 if ($state == STATE_INIT) {
301 if (/^([0-9a-fA-F]{40})$/) {
302 $hash = lc $1;
303 if (exists($amendment{$hash})) {
304 warn "$file:$.: duplicate SHA1 hash";
305 warn $amendment{$hash}{locus} . ": previously defined here";
306 }
307 $code = '';
308 $locus = "$file:$.";
309 $state = STATE_HASH;
310 $silent = 0;
311 } elsif (/^$/) {
312 next;
313 } else {
314 warn "$file:$.: expected SHA1, but found $_"
315 unless $silent;
316 $silent = 1;
317 }
318 } elsif ($state == STATE_HASH) {
319 if (/^$/) {
320 $amendment{$hash}{code} = $code;
321 $amendment{$hash}{locus} = $locus;
322 $state = STATE_INIT;
323 } else {
324 $code .= "$_\n";
325 }
326 }
327 }
328 if ($state == STATE_HASH) {
329 $amendment{$hash}{code} .= $code;
330 $amendment{$hash}{locus} = $locus;
331 }
79 } 332 }
80 333
81 print " GEN $changelog_file\n" if $verbose; 334 sub tokenize_gitlog {
82 close STDOUT; 335 my ($q) = @_;
336 my @cmd = qw(git log --log-size --no-merges
337 --pretty=format:%H:%ct:%an:%ae%n%s%n%b);
83 338
84 open(STDOUT, '>', $changelog_file) 339 push @cmd, "--since=$since_date" if defined $since_date;
85 or die "Can't open $changelog_file for writing: $!"; 340 push @cmd, "--until=$until_date" if defined $until_date;
341 print STDERR "starting @cmd\n" if $verbose > 1;
86 342
87 for (@header) { 343 open(my $fd, '-|', @cmd)
88 print "$_\n"; 344 or die "failed to run git log: $!";
345 while (<$fd>) {
346 chomp;
347 next if /^$/;
348 my %ent = ();
349 unless (/^log size (\d+)/) {
350 warn "unexpected input: '$_'";
351 next;
352 }
353 my $size = $1;
354 my $log;
355 read($fd, $log, $size) == $size or die "unexpected EOF";
356
357 my ($head, $text) = split /\n/, $log, 2;
358 ($ent{hash},$ent{date},$ent{author},$ent{email}) = split /:/, $head;
359
360 if (defined($amendment{$ent{hash}})) {
361 my $code = $amendment{$ent{hash}}{code};
362 print STDERR "amending $ent{hash}\n" if $verbose > 1;
363 print STDERR "code: $code\n" if $verbose > 1;
364 my $s = new Safe;
365 $_ = $text;
366 if (defined(my $r = $s->reval($code))) {
367 $text = $_;
368 delete $amendment{$ent{hash}};
369 } else {
370 warn "$.:$ent{hash}: failed to eval \"$code\" on \"$_\": \n$@\n";
371 warn $amendment{$ent{hash}}{locus} . ": code was defined here";
372 }
373 }
374
375 my @body;
376 ($ent{subject}, @body) = split /\n/, $text;
377
378 if ($append_dot && $ent{subject} !~ /[[:punct:]]$/) {
379 $ent{subject} .= '.';
380 }
381
382 foreach my $line (@body) {
383 if ($line =~ /^Co-authored-by:(.*)$/) {
384 my $author = $1;
385 if ($author =~ /\s*(.*?)<.+?>$/) {
386 push @{$ent{coauthor}}, [ $1, $2 ];
387 }
388 } elsif ($line =~ /^(?:Signed-off-by
389 |Copyright-paperwork-exempt
390 |Tiny-change):\s*$/x) {
391 next;
392 } elsif ($strip_cherry_pick
393 && $line =~ /^\s*
394 (?:Conflicts:
395 |\(cherry picked from commit [\da-f]+\)$)
396 /x) {
397 next;
398 } elsif ($line =~ /^\*/) {
399 push @{$ent{body}}, $line;
400 } elsif ($line =~ /^(?:\s
401 |(?:\(.+?\)\s*
402 |\[.+?\]\s*
403 |<.+?>\s*)+:)/x) {
404 push @{$ent{body}}, $line;
405 } elsif (exists($ent{body})) {
406 ${$ent{body}}[-1] .= "\n" . $line;
407 } else {
408 if (!exists($ent{description})
409 || ${$ent{description}}[-1] eq ''
410 || $line eq '') {
411 push @{$ent{description}}, $line;
412 } else {
413 ${$ent{description}}[-1] .= "\n" . $line;
414 }
415 }
416 }
417 if (exists($ent{body}) && ${$ent{body}}[-1] ne '') {
418 push @{$ent{body}}, '';
419 }
420 if (exists($ent{description}) && ${$ent{description}}[-1] ne '') {
421 push @{$ent{description}}, '';
422 }
423
424 $q->enqueue(\%ent);
425
426 }
427 $q->enqueue(undef);
428 close $fd;
429
430 my @unused;
431 while (my ($hash, $ref) = each %amendment) {
432 my $line = $ref->{locus};
433 $line =~ s/^.*://;
434 push @unused, [ $line, $ref->{locus}, $hash ];
435 }
436 foreach my $ent (sort { $a->[0] <=> $b->[0] } @unused) {
437 warn "$ent->[1]: unused entry: $ent->[2]\n";
438 }
439
440 print STDERR "tokenize_gitlog finished\n" if $verbose > 1;
89 } 441 }
90 442
91 system(@ARGV); 443 sub convert_entry {
92 foreach my $file (@append_files) { 444 my ($q) = @_;
93 if (open(my $fd, '<', $file)) { 445 while (my $ent = $q->dequeue()) {
94 while (<$fd>) { 446 print STDERR "Writing $ent->{hash}\n" if $verbose > 1;
447 my $date = strftime('%Y-%m-%d', localtime($ent->{date}));
448 print $date, ' ', $ent->{author}, ' <', $ent->{email}, ">\n";
449 if (exists($ent->{coauthor})) {
450 foreach my $coauthor (@{$ent->{coauthor}}) {
451 print ' ', $coauthor->[0], ' ', $coauthor->[1], "\n";
452 }
453 }
454 print "\n";
455
456 my $tabs = "\t";
457 print wrap($tabs, $tabs, $ent->{subject}), "\n\n";
458 if (exists($ent->{description})) {
459 foreach my $para (@{$ent->{description}}) {
460 print fill($tabs, $tabs, $para), "\n";
461 }
462 }
463 if (exists($ent->{body})) {
464 foreach my $para (@{$ent->{body}}) {
465 print fill($tabs, $tabs, $para), "\n";
466 }
467 }
468 }
469 print STDERR "convert_entry finished\n" if $verbose > 1;
470 }
471
472 sub create_changelog {
473 my @header = toplevel_entry;
474 if (!$force && headcmp($changelog_file, @header)) {
475 print STDERR "$changelog_file is up to date\n" if $verbose > 1;
476 return;
477 }
478 open(my $fd, '>', $changelog_file)
479 or die "can't open $changelog_file for writing: $!";
480
481 print " GEN $changelog_file\n" if $verbose;
482 print STDERR "updating $changelog_file\n" if $verbose > 1;
483 $fd = select($fd);
484 # Print header
485 for (@header) {
486 print "$_\n";
487 }
488
489 # Print converted entries
490 my $q = Thread::Queue->new();
491 my $tok_thr = threads->create(\&tokenize_gitlog, $q);
492 my $cvt_thr = threads->create(\&convert_entry, $q);
493 $tok_thr->join();
494 $cvt_thr->join();
495
496 # Print additional files
497 foreach my $file (@append_files) {
498 if (open(my $in, '<', $file)) {
499 while (<$in>) {
95 chomp; 500 chomp;
96 last if /^Local Variables:/; 501 last if /^Local Variables:/;
97 next if /^\f$/; 502 next if /^\f$/;
98 print "$_\n"; 503 print "$_\n";
99 } 504 }
100 close $fd; 505 close $in;
101 } else { 506 } else {
102 warn "can't open $file: $!"; 507 warn "can't open $file: $!";
103 } 508 }
104 } 509 }
105 510
106 print "\f\nLocal Variables:\n"; 511 # Print trailer
107 print <<'EOT'; 512 print "\f\nLocal Variables:\n";
513 print <<'EOT';
108 mode: change-log 514 mode: change-log
109 version-control: never 515 version-control: never
110 buffer-read-only: t 516 buffer-read-only: t
111 End: 517 End:
112 EOT 518 EOT
113 ; 519 ;
520 $fd = select($fd);
521 close $fd;
522 }
......