* cardglue.c (open_card): Ask for card insertion.
[gnupg.git] / util / ChangeLog
1 2003-10-29  Werner Koch  <wk@gnupg.org>
2
3         * miscutil.c (answer_is_okay_cancel): New.
4
5 2003-10-25  Werner Koch  <wk@gnupg.org>
6
7         * Makefile.am: Replaced INTLLIBS by LIBINTL.
8
9 2003-10-23  Werner Koch  <wk@gnupg.org>
10
11         * secmem.c (lock_pool) [_AIX]: Don't use plock.
12
13 2003-10-12  David Shaw  <dshaw@jabberwocky.com>
14
15         * srv.c: OSX 10.2.8/Darwin 6.8 seems to have some #include
16         ordering issues?  Move sys/types.h up higher to work around.
17
18 2003-10-08  Werner Koch  <wk@gnupg.org>
19
20         * ttyio.c (tty_print_string, tty_print_utf8_string2)
21         (tty_print_utf8_string): Made string arg const.
22
23 2003-09-28  Timo Schulz  <twoaday@freakmail.de>
24
25         * strgutil.c [WIN32] (asprintf): New.
26         
27 2003-09-28  Werner Koch  <wk@gnupg.org>
28
29         * ttyio.c (tty_fprintf): New.
30
31 2003-09-21  Timo Schulz  <twoaday@freakmail.de>
32
33         * http.c [WIN32]: Define MB_CUR_MAX.
34         (connect_server): use unsigned long since W32 does not have in_addr_t.
35         
36 2003-08-28  David Shaw  <dshaw@jabberwocky.com>
37
38         * dotlock.c, http.c, iobuf.c, simple-gettext.c, srv.c, srv.h,
39         strgutil.c, ttyio.c, w32reg.c: s/__MINGW32__/_WIN32/ to help
40         building on native Windows compilers.  Requested by Brian Gladman.
41         From Werner on stable branch.
42         
43         * http.c (connect_server): Oops - forgot to freeaddrinfo().
44
45 2003-08-24  David Shaw  <dshaw@jabberwocky.com>
46
47         * http.c (connect_server): Try and use getaddrinfo if it is
48         available.  Try for IPv6 via getaddrinfo() or a IPv6-ized
49         gethostbyname().  Suggested by Jun-ichiro itojun Hagino.
50
51 2003-07-10  David Shaw  <dshaw@jabberwocky.com> (from Werner on stable branch)
52
53         * iobuf.c (check_special_filename): Replaced is isdigit by digitp
54         to avoid passing negative values and potential locale problems.
55         Problem noted by Christian Biere.
56         * strgutil.c (strlwr,strcasecmp,strncasecmp): Make sure we don't
57         pass a negative value.
58         * miscutil.c (scan_isodatestr): Ditto.
59
60 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
61
62         * srv.h, srv.c: Include windows.h with MINGW32.
63
64 2003-05-24  David Shaw  <dshaw@jabberwocky.com>
65
66         * argparse.c, dotlock.c, fileutil.c, iobuf.c, miscutil.c,
67         simple-gettext.c, errors.c, http.c, memory.c, secmem.c, ttyio.c:
68         Edit all preprocessor instructions to remove whitespace before the
69         '#'.  This is not required by C89, but there are some compilers
70         out there that don't like it.
71
72 2003-05-21  Werner Koch  <wk@gnupg.org>
73
74         * fileutil.c (is_file_compressed): Fixed checking for "-" filename.
75
76 2003-04-13  David Shaw  <dshaw@jabberwocky.com>
77
78         * srv.c (main): Test against wwwkeys.pgp.net.
79
80         * srv.h: Grr. The RH7.3 Linux man page defines the fourth arg of
81         dn_expand as unsigned char*, but it is really char* according to
82         resolv.h.
83
84 2003-03-23  David Shaw  <dshaw@jabberwocky.com>
85
86         * argparse.c (default_strusage): Change copyright date.
87
88 2003-03-14  David Shaw  <dshaw@jabberwocky.com>
89
90         * srv.h, srv.c (getsrv): Use unsigned char rather than char.
91         Noted by Stefan Bellon.
92
93 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
94
95         * http.c (connect_server): Use DNS SRV to get a server list.  Fail
96         over to A records if necessary.
97
98         * Makefile.am, srv.h, srv.c: New DNS SRV handling code.
99
100 2003-02-22  David Shaw  <dshaw@jabberwocky.com>
101
102         * ttyio.c (tty_print_utf8_string, tty_print_utf8_string2): Use 0
103         to indicate a string with no maximum size.  This prevents early
104         truncation of strings that contain control chars which are
105         expanded into \xXX form.
106
107 2002-12-26  David Shaw  <dshaw@jabberwocky.com>
108
109         * iobuf.c (iobuf_flush): Only print debug info if debugging is on.
110
111 2002-11-13  David Shaw  <dshaw@jabberwocky.com>
112
113         * secmem.c (lock_pool) [__CYGWIN__]: Don't print secmem warning.
114         From Werner on stable branch.
115
116 2002-11-09  Werner Koch  <wk@gnupg.org>
117
118         * ttyio.c (TERMDEVICE): Removed.
119         (tty_get_ttyname): New.
120         (init_ttyfp): Use it here instead of the TERMDEVICE macro.
121
122 2002-11-06  David Shaw  <dshaw@jabberwocky.com>
123
124         * w32reg.c (read_w32_registry_string): Fixed expanding of the
125         environment buffer; didn't worked at all.  Reported by Thijmen
126         Klok.  From Werner on stable branch.
127
128         * secmem.c (secmem_free, secmem_term): Use wipememory2() instead
129         of memset() to overwrite secure memory
130
131         * iobuf.c (direct_open): Handle mode 'b' if O_BINARY is available.
132         From Werner on stable branch.
133
134         * fileutil.c: Comment from stable branch.
135
136 2002-10-31  Stefan Bellon  <sbellon@sbellon.de>
137
138         * riscos.c (riscos_load_module, riscos_check_regexp): New.
139         (riscos_set_filetype_by_mimetype, riscos_dump_fdlist)
140         (riscos_fdopenfile, riscos_close_fds, riscos_renamefile)
141         (riscos_gstrans, riscos_list_openfiles, riscos_not_implemented):
142         Renamed functions to contain riscos prefix.
143         * dotlock.c [__riscos__]: Renames due to changes in riscos.c.
144         * fileutil.c [__riscos__]: Likewise.
145
146 2002-10-29  Stefan Bellon  <sbellon@sbellon.de>
147
148         * fileutil.c: Removed unnecessary left-over includes for RISC OS.
149         (make_filename): Tidied up RISC OS stuff.
150         (compare_filenames) [__riscos__]: Compare with ascii_strcasecmp().
151         (make_basename) [__riscos__]: Branch to own RISC OS routine from
152         here.
153
154         * riscos.c (riscos_make_basename): New.
155
156 2002-10-28  Stefan Bellon  <sbellon@sbellon.de>
157
158         * fileutil.c (make_basename) [__riscos__]: Cut off RISC OS' filing
159         systems from filepath.
160
161         * riscos.c (riscos_get_filetype_from_string, riscos_get_filetype):
162         Added.
163         (riscos_set_filetype_by_number): Made public.
164
165 2002-10-19  David Shaw  <dshaw@jabberwocky.com>
166
167         * Makefile.am, regcomp.c, regex.c, regex_internal.c,
168         regex_internal.h, regexec.c: Add new regex files from glibc 2.3.1.
169
170 2002-10-17  David Shaw  <dshaw@jabberwocky.com>
171
172         * http.c (connect_server): Try all A records for names with
173         multiple addresses until one answers for both MINGW32 and not
174         MINGW32.
175
176 2002-10-10  David Shaw  <dshaw@jabberwocky.com>
177
178         * http.c (connect_server): Properly handle a single A record that
179         fails connect().
180
181 2002-10-03  David Shaw  <dshaw@jabberwocky.com>
182
183         * logger.c (g10_log_warning, log_set_strict): Add new log_warning
184         logger command which can be switched between log_info and
185         log_error via log_set_strict.
186
187 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
188
189         * http.c (connect_server): Try all A records for names with
190         multiple addresses until one answers (not MINGW32).
191
192 2002-09-16  Werner Koch  <wk@gnupg.org>
193
194         * w32reg.c (read_w32_registry_string): Fallback to HLM.
195
196 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
197
198         * fileutil.c (make_filename): Removed variable for RISC OS to
199         avoid compiler warning.
200
201         * secmem.c: Removed static variable for RISC OS to avoid
202         compiler warning.
203
204 2002-09-11  Werner Koch  <wk@gnupg.org>
205
206         * simple-gettext.c: Disable charset mappings.  We do it now when
207         installing the files.
208
209 2002-09-09  Werner Koch  <wk@gnupg.org>
210
211         * w32reg.c (read_w32_registry_string): Handle REG_EXPAND_SZ.
212         Suggested by Ryan Malayter.
213
214         * strgutil.c (ascii_strcasecmp): Replaced by code from gnulib.
215         (ascii_strncasecmp): New.
216
217 2002-09-02  Werner Koch  <wk@gnupg.org>
218
219         * simple-gettext.c (set_gettext_file): Make sure that we only use
220         backslashes.
221
222         * strgutil.c (set_native_charset): Allow NULL as argument to use
223         nl_langinfo for selection.  Mapped latin-15 to latin-1.
224
225 2002-08-30  Werner Koch  <wk@gnupg.org>
226
227         * iobuf.c (block_filter): Removed the assert, so that one can pass
228         the first character of a message and use the block filter for
229         non partial length encoded packets.
230
231 2002-08-06  Stefan Bellon  <sbellon@sbellon.de>
232
233         * ttyio.c [__riscos__]: Moved low-level RISC OS stuff to riscos.c.
234         * riscos.c: Use new SWI calling mechanism of UnixLib.
235
236 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
237
238         * secmem.c (init_pool, secmem_term): Changed #if to #ifdef in
239         order to avoid warning with RISC OS' Norcroft C.
240
241 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
242
243         * secmem.c: "Warning" -> "WARNING"
244
245 2002-07-05  Werner Koch  <wk@gnupg.org>
246
247         * argparse.c (initialize): We better exit after a read error so
248         that we don't run into an endless loop when reading a directory.
249         Noted by Andrew Suffield.
250
251 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
252
253         * argparse.c (optfile_parse): Fix variable typo - 'p2' should be
254         'p' :)
255
256 2002-06-29  Werner Koch  <wk@gnupg.org>
257
258         * argparse.c (optfile_parse): Renamed an auto I to P2 to avoid
259         shadowing warning.
260
261 2002-06-21  Stefan Bellon  <sbellon@sbellon.de>
262
263         * riscos.c (riscos_global_defaults): New.
264
265 2002-06-20  Stefan Bellon  <sbellon@sbellon.de>
266
267         * riscos.c (riscos_set_filetype_by_number, riscos_set_filetype):
268         New. Set RISC OS filetype according to MIME type.
269
270 2002-06-14  David Shaw  <dshaw@jabberwocky.com>
271
272         * strgutil.c (pop_strlist): New function to pop the head off of a
273         strlist.
274
275 2002-06-05  Timo Schulz  <ts@winpt.org>
276
277         * fileutil.c (is_file_compressed): Corrected the magic values
278         for bzip2 and gzip. Noted by David.
279         
280 2002-05-22  Werner Koch  <wk@gnupg.org>
281
282         * fileutil.c (compare_filenames): Replaced stricmp by strcasecmp.
283         * miscutil.c (answer_is_yes_no_quit,answer_is_yes_no_default): Ditto.
284
285         * strgutil.c (strncasecmp): New.
286         (memicmp): Removed.
287
288 2002-05-10  Stefan Bellon  <sbellon@sbellon.de>
289
290         * memory.c (add_entry) [M_DEBUG]: Added some missing EXTRA_ALIGN.
291         (free_entry) [M_DEBUG]: Free secure memory via secmem_free.
292         (alloc_secure): Malloc at least 1 byte.
293         (realloc) [M_GUARD]: Added missing FNAMEARG to function call.
294
295         * logger.c (g10_log_bug0) [__riscos__]: Make use of first
296         g10_log_bug0 function for later Norcroft compiler.
297
298         * riscos.c: Added stdlib.h include.
299
300 2002-05-04  Werner Koch  <wk@gnupg.org>
301
302         * http.c (write_server) [__MINGW32__]: Replaced WriteFile by send
303         because sockets don't work with WriteFile under NT anymore.
304
305 2002-05-03  David Shaw  <dshaw@jabberwocky.com>
306
307         * argparse.c (optfile_parse): Remove quotes only if they totally
308         enclose the string, and do not occur within the string.  This
309         makes specifying a program under Win32 easier when you need quotes
310         around part of a string, but not around the whole string.
311         
312 2002-05-02  Werner Koch  <wk@gnupg.org>
313
314         * memory.c (alloc): Malloc at least 1 byte.  Noted by Winona Brown. 
315
316 2002-04-23  David Shaw  <dshaw@jabberwocky.com>
317
318         * miscutil.c: New function answer_is_yes_no_default() to give a
319         default answer.
320
321 2002-04-22  Stefan Bellon  <sbellon@sbellon.de>
322
323         * riscos.c (riscos_open, riscos_fopen, riscos_fstat, set_filetype):
324         Removed as they're not needed anymore.
325
326         * iobuf.c (direct_open) [__riscos__]: Don't allow opening of
327         directories.
328
329 2002-04-08  Werner Koch  <wk@gnupg.org>
330
331         Fixed filename of last entry.
332
333 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
334
335         * miscutil.c (print_string, utf8_to_native): If a delimiter is
336         used, then quote the backslash character as well.  Problem noted
337         by Rainer Perske.
338
339 2002-03-15  Werner Koch  <wk@gnupg.org>
340
341         * argparse.c (optfile_parse): Fixed missing argument handling.
342
343 2002-02-28  Timo Schulz  <ts@winpt.org>
344
345         * http.c (write_server): Convert integer to a HANDLE for W32.
346         
347 2002-01-27  David Shaw  <dshaw@jabberwocky.com>
348
349         * iobuf.c (iobuf_fdopen, iobuf_sockopen): Do not cache fdopened
350         fds on close.
351
352 2002-01-08  Werner Koch  <wk@gnupg.org>
353
354         * secmem.c (print_warn): Print a pointer to the FAQ.
355
356 2002-01-05  Werner Koch  <wk@gnupg.org>
357
358         * argparse.c (default_strusage): Set default copyright date to 2002.
359
360 2002-01-02  Stefan Bellon  <sbellon@sbellon.de>
361
362         * iobuf.c [__riscos__]: Updated include file name.
363
364         * fileutil.c [__riscos__]: Ditto.
365
366         * ttyio.d [__riscos__]: Ditto.
367
368         * riscos.c [__riscos__]: Ditto. Added debugging code and
369         unified error messages.
370
371 2001-12-27  David Shaw  <dshaw@jabberwocky.com>
372
373         * errors.c (g10_errstr): Added G10ERR_KEYSERVER
374
375 2001-12-27  Werner Koch  <wk@gnupg.org>
376
377         * simple-gettext.c [MINGW32]: Fixed last changed.
378
379 2001-12-22  Stefan Bellon  <sbellon@sbellon.de>
380
381         * memory.c (realloc): Fixed realloc not working when M_GUARD is
382         defined and first parameter is NULL.
383
384 2001-12-22  Timo Schulz <ts@winpt.org>
385
386         * fileutil.c (is_file_compressed): New.
387
388 2001-12-19  Werner Koch  <wk@gnupg.org>
389
390         * simple-gettext.c, w32reg.c [CYGWIN32]: Allow to use this file
391
392 2001-10-11  Werner Koch  <wk@gnupg.org>
393
394         * http.c (do_parse_uri): Changed initialization of the port number
395         so that it does also work with x-hkp.  By David Shaw.
396
397 2001-09-19  Werner Koch  <wk@gnupg.org>
398
399         * w32reg.c (get_root_key): New.
400         (read_w32_registry_string): Use it here.
401         (write_w32_registry_string): New.  Contributed by Timo.
402
403         * iobuf.c (iobuf_ioctl): New command to disable fd
404         caching. Implemented no_cache flag where needed.
405         (iobuf_sockopen): Always set no_cache flag.
406
407         * strgutil.c (utf8_to_native): Add a delim arg and changed all
408         callers. Make sure that quoting is done when translation is
409         disabled.
410         * miscutil.c (print_utf8_string2): New.
411
412 2001-09-17  Werner Koch  <wk@gnupg.org>
413
414         * miscutil.c (print_string): Use explicit ranges and not iscntrl().  
415         (make_printable_string): Ditto.
416
417 2001-09-07  Werner Koch  <wk@gnupg.org>
418
419         * strgutil.c (strsep): New, taken from glibc 2.2.1.
420
421 2001-09-03  Werner Koch  <wk@gnupg.org>
422
423         * miscutil.c (strtimestamp,asctimestamp): Avoid trigraphs.
424
425 2001-08-21  Stefan Bellon  <sbellon@sbellon.de>
426
427         * riscos.c [__riscos__] (close_fds): Fixed possible endless loop.
428
429 2001-08-20  Werner Koch  <wk@gnupg.org>
430
431         Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
432         RISC OS.  Nearly all of these patches are identified by the
433         __riscos__ macro.
434         * secmem.c [__riscos__]: Disabled secure memory stuff.
435         * dotlock.c, ttyio.c [__riscos__]: Adapted for RISC OS
436         * fileutil.c, iobuf.c: Adapted for RISC OS;  mainly replaced
437         hardcoded path separators with EXTSEP_S like macros. 
438         * http.c (send_request): Use macros for the env-var name.
439         * logger.c [__riscos__]: Do an fflush at the end of each log
440         function. 
441         * memory.c [__riscos__]: Minor patches
442         * riscos.c (set_filetype): New.
443
444         * secmem.c (lock_pool): Under HPUX mlock is broken but we might
445         have plock, so we use this to lock the entire process.  By Albert
446         Chin.
447         
448 2001-07-03  Werner Koch  <wk@gnupg.org>
449
450         * strgutil.c (utf8_to_native): Fixed printing of invalid utf-8
451         characters.  Thomas Roessler reported that the escaping didn't work
452         correct.
453
454 2001-06-12  Werner Koch  <wk@gnupg.org>
455
456         * strgutil.c (ascii_memistr,ascii_isupper,ascii_islower,
457         ascii_toupper,ascii_tolower, ascii_strcasecmp, ascii_memcasecmp): New.
458         (set_native_charset): Use ascii_strcasecmp()
459         * fileutil.c (compare_filenames): Ditto
460         * miscutil.c (answer_is_yes): Ditto.
461         (answer_is_yes_no_quit): Ditto.
462
463 2001-06-06  Werner Koch  <wk@gnupg.org>
464
465         * strgutil.c (vasprintf) [__MINGW32__]: New. Taken from libiberty.
466         * ttyio.c (tty_printf) [__MINGW32__]:  Replaced the sprintf with
467         the new vasprintf. 
468
469 2001-06-05  Werner Koch  <wk@gnupg.org>
470
471         * dotlock.c (make_dotlock): Typo fixes. 
472
473 2001-05-25  Werner Koch  <wk@gnupg.org>
474
475         * ttyio.c (do_get): Fixed a serious format string bug.  Thanks to
476         fish stiqz.
477
478 2001-05-23  Werner Koch  <wk@gnupg.org>
479
480         * secmem.c (EPERM): Try to work around a Slackware problem.
481
482 2001-05-05  Werner Koch  <wk@gnupg.org>
483
484         * http.c (http_start_data): Flush before writing.
485         (http_wait_response): No need to flush here.
486
487 2001-04-27  Werner Koch  <wk@gnupg.org>
488
489         * memory.c (out_of_core): Print an explanation on reasons why
490         secret memory can get exhausted.
491
492 2001-04-23  Werner Koch  <wk@gnupg.org>
493
494         * http.c (http_wait_response): Implement new flag to inhibit the
495         TCP shutdown.
496
497 2001-04-20  Werner Koch  <wk@gnupg.org>
498
499         * http.c (http_start_data): Use write_server and not the iobuf
500         stuff.  I wonder why we are at all using write_server - shouldn't
501         it be handled by iobuf?
502
503         * strgutil.c (set_native_charset): Allow utf-8 by introducing the
504         new no_translation variable.
505         (native_to_utf8): Handle no_translation.
506         (utf8_to_native): Ditto.
507
508 2001-04-19  Werner Koch  <wk@gnupg.org>
509
510         * miscutil.c (asctimestamp): Handle negative times.  We must do
511         this because Windoze segvs on negative times passed to gmtime().
512         (strtimestamp): Ditto.
513
514 2001-04-14  Werner Koch  <wk@gnupg.org>
515
516         * strgutil.c (utf8_to_native): Fixed a segv.  Thanks to Keith Clayton.
517
518 2001-04-13  Werner Koch  <wk@gnupg.org>
519
520         * iobuf.c (iobuf_fopen): Removed because it is not used and
521         furthermore mode is ignored for an fname of "-".  Suggested by
522         Florian Weimer.
523
524 2001-04-02  Werner Koch  <wk@gnupg.org>
525
526         * iobuf.c (translate_file_handle): New. Use this function
527         everywhere in this file.
528         (iobuf_translate_file_handle): Always use the osfhandle stuff here
529         because callers don't know the implementation details of iobuf and
530         they expect that the handles are translated. 
531
532 2001-03-29  Werner Koch  <wk@gnupg.org>
533
534         * miscutil.c (answer_is_yes): An empty string does now return no.
535         (answer_is_yes_no_quit): Likewise.
536
537         * iobuf.c (iobuf_close): Burn the buffers.
538
539 2001-03-26  Werner Koch  <wk@gnupg.org>
540
541         * ttyio.c: Define TERMDEVICE depending on OS.
542
543         * http.c (http_start_data): send a CRLF and not just a LF.
544         Pointed out by Steven Murdoch.
545
546 2001-03-13  Werner Koch  <wk@gnupg.org>
547
548         * iobuf.c (iobuf_sockopen): New.
549         (sock_filter) [__MINGW32__]: New.
550         (iobuf_ioctl): New.
551         (file_filter): Implemented keep_open mode.
552         * http.c (http_open, http_wait_response): Replaced iobuf_fdopen by
553         iobuf_sockopen and use an iobuf_ioctl to avoid the dup().
554         (deinit_sockets, init_sockets) [__MINGW32__]: New.
555         (connect_server, write_server): Add code to work with W32 sockets.
556
557 2001-03-12  Werner Koch  <wk@gnupg.org>
558
559         * strgutil.c (check_trailing_chars,check_trailing_ws): New.
560
561 2001-03-08  Werner Koch  <wk@gnupg.org>
562
563         * argparse.c (default_strusage): Changed year of printed copyright
564         to 2001.
565
566         * iobuf.c (fd_cache_invalidate, fd_cache_close, fd_cache_open): New. 
567         (direct_open): Invalidate the fd_cache for read access.
568         (file_filter): Cache the close here.
569         (iobuf_open): Use new my_fopen_ro macro to try the cache first.
570
571 2001-03-07  Werner Koch  <wk@gnupg.org>
572
573         * iobuf.c: Made the old stdio file handling cpp conditional
574         controlled by FILE_FILTER_USES_STDIO and added a new
575         open/read/close based one.  We don't need the stdio buffering
576         becuase we are doing our own buffering anyway.  And it is a
577         prerequesite to allow the use of ReadFile et al for W32 which in
578         turn is needed to make the http stuff work there. The new W32
579         stuff has also been implemented. Minor changes to all open functions.
580         (direct_open): New.
581         (file_filter): Core of the new read/write handling.
582         (iobuf_get_filelength): Use W32 API function here. But it is
583         currently limited to 2GB files.
584         (iobuf_seek): Ditto.
585
586 2001-03-01  Werner Koch  <wk@gnupg.org>
587
588         * errors.c (g10_errstr): New codes UNU_SECKEY and UNU_PUBKEY.
589
590 2000-12-28  Werner Koch  <wk@gnupg.org>
591
592         * dotlock.c: Made all_lockfiles volatile.
593         (remove_lockfiles): Made public.
594
595 2000-11-30  Werner Koch  <wk@gnupg.org>
596
597         * iobuf.c (iobuf_translate_file_handle): New.
598         (iobuf_open, iobuf_create): Use it for special filenames
599
600 2000-11-11  Paul Eggert  <eggert@twinsun.com>
601
602         * iobuf.c (iobuf_get_filelength): Now returns off_t, not u32.
603         Remove kludges to worry about large files; the callers check
604         for files that are too large, and they should already be doing
605         the right thing in an implementation-independent way.
606         (fopen, fstat): Remove macros.
607
608         * iobuf.c (iobuf_set_limit, iobuf_tell, iobuf_seek): 
609         Use off_t, not ulong, for file offsets.
610         (<limits.h>): Include if needed.
611         (LONG_MAX, LONG_MIN): Define a substitute if needed.
612         (fseeko): Define a substitute if needed.
613
614         * iobuf.c (iobuf_seek):  Do not use %lu to report file
615
616 2000-11-09  Werner Koch  <wk@gnupg.org>
617
618         * iobuf.c (iobuf_enable_special_filenames): New.
619         (check_special_filename): New.
620         (iobuf_open): check for special filenames.
621         (iobuf_create): Ditto.
622
623 2000-10-23  Werner Koch  <wk@gnupg.org>
624
625         * secmem.c (lock_pool): Don't print warning for Windows.
626
627 2000-10-16  Werner Koch  <wk@gnupg.org>
628
629         * secmem.c (lock_pool): Fixed error checking for Linux.
630         By James Troup.
631
632 Thu Sep 14 14:20:38 CEST 2000  Werner Koch  <wk@openit.de>
633
634         * miscutil.c (answer_is_yes_no_quit): Swapped order of yes/no test
635         so that no is returned for an empty input. By David Champion.
636
637 Wed Sep  6 17:55:47 CEST 2000  Werner Koch  <wk@openit.de>
638
639         * iobuf.c: Use fopen64 insead of fopen when available.
640         (iobuf_get_filelength): Use fstat64 when available but return
641         2^32-1 if the file is larger than this value.
642
643 Wed Sep  6 14:59:09 CEST 2000  Werner Koch  <wk@openit.de>
644
645         * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
646         Matt Kraai.
647
648         * strgutil.c (utf8_to_native): Fixed null ptr problem.  By
649         Giampaolo Tomassoni.
650
651 Thu Jul 27 10:02:38 CEST 2000  Werner Koch  <wk@openit.de>
652
653   * iobuf.c: Use setmode() at several places to set stdin and stdout
654   to binary mode for MSDOS based systems
655
656   * iobuf.c (underflow): Initialize dummy_len to keep memory checker happy.
657
658 Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>
659
660   * ttyio.c: Simulate termios with termios.  By Dave Dykstra.
661
662 Thu Jun  8 20:22:00 CEST 2000  Werner Koch  <wk@openit.de>
663
664   * secmem.c (lock_pool,secmem_init): Additional check for dropped privs.
665
666 Tue May 30 16:37:55 CEST 2000  Werner Koch  <wk@openit.de>
667
668   * iobuf.c (iobuf_cancel): Fix for MSDOS.
669
670 Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>
671
672         * dotlock.c (disable_dotlock): New.  Implmented this in the module.
673
674 2000-03-09 14:04:22  Werner Koch  (wk@habibti.openit.de)
675
676         * argparse.c (default_strusage): Changed year of default copyright.
677
678 Tue Mar  7 18:45:31 CET 2000  Werner Koch  <wk@gnupg.de>
679
680         * secmem.c (lock_pool): No more warning for QNX. By Sam Roberts.
681
682 2000-03-02 15:51:04  Werner Koch  (wk@habibti.gnupg.de)
683
684         * ttyio.c (tty_print_utf8_string): Oops.
685
686 Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>
687
688         * ttyio.c (tty_print_utf8_string2): New to allow a max output size.
689
690 Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>
691
692         * miscutil.c (asctimestamp): Fix for possible buffer overflow by
693         large system returned date format string.
694
695 Fri Dec 31 14:08:15 CET 1999  Werner Koch  <wk@gnupg.de>
696
697         * logger.c (log_inc_errorcount): New.
698
699 Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>
700
701         * iobuf.c (iobuf_cancel): Broadcast the new Cancel mesaage to all
702         filters.
703
704 Mon Nov 22 11:14:53 CET 1999  Werner Koch  <wk@gnupg.de>
705
706         * strgutil.c (strcasecmp): New.
707
708         * secmem.c (pool_is_mmapped): Made volatile.
709
710 Sat Oct  9 20:34:41 CEST 1999  Werner Koch  <wk@gnupg.de>
711
712         * Makefile.am:  Removed libtool.
713
714 Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>
715
716         * w32reg.c: New.
717         * simple-gettext.c: Use the Registry to locate the mo file.
718
719         * http.c (send_request): Add support for proxys; suggested by
720         Walter Hofmann.
721         (http_open_document): Pass flags to http_open.
722
723 Fri Sep 17 12:56:42 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
724
725
726         * secmem.c (lock_pool): Check for ENOSYS return my mlock() on
727         old SCOs.
728
729         * ttyio.c (do_get): Replaced #if __MINGW32__ by #ifdef becuase
730         gcc 2.95.1 assigns a floating point value (0.2) to this macro,
731         which in turn can't be used in an expression.
732
733 Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
734
735
736         * simple-gettext.c: New.
737
738 Wed Sep  1 15:30:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
739
740
741         * argparse.c (arg_parse): Add standard options to the dump-options
742         output.
743
744 Tue Aug 31 17:20:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
745
746
747         * strgutil (utf8_to_native): Implemented.
748         (check_utf8_string): Removed.
749
750         * miscutil.c (make_printable_string): Fixed possible buffer overflow.
751         (print_utf8_string): New.
752
753         * ttyio.c (tty_print_utf8_string): New.
754
755 Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
756
757
758         * secmem.c (pool_okay): declared volatile.
759
760         * miscutil.c (answer_is_yes): Always check for plain "yes".
761         (answer_is_yes_no_quit): Likewise.
762
763         * dotlock.c (create_dotlock): Fixed segv during cleanup.
764
765 Mon Jul 12 14:55:34 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
766
767
768         * argparse.c (initialize): Init ret_xxx.
769         (optfile_parse): Remove quotes from arguments.
770
771 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
772
773
774         * memory.c (membug): Use if either M_DEBUG or M_GUARD is used.
775
776         * miscutil.c (scan_isodatestr): New.
777
778         * logger.c (g10_log_mpidump): Moved to ../mpi/mpicoder.c
779         (g10_log_print_prefix): Renamed from print_prefix and made global.
780
781         * Makefile.am: Support for libtool.
782
783 Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
784
785
786         * miscutil.c (make_printable_string): New.
787
788         * strgutil.c (add_to_strlist2,append_to_strlist2): New.
789
790 Tue Jun 29 21:44:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
791
792
793         * secmem.c (USE_CAPABILITIES): Capabilities support (Remi).
794
795 Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
796
797
798         * dotlock.c (create_dotlock): s/uts/utsbuf/ cause there an Amdahl
799         system with the name UTS (Dave Dykstra).
800
801         * secmem.c (DEFAULT_POOLSIZE): Doubled the size.
802
803 Fri Jun 18 00:18:02 CEST 1999 Michael Roth <mroth@nessie.de>
804
805         * iobuf.c: file_filter() Detection of EOF on terminals
806           improved/fixed (see Bug #21).
807
808 Mon Jun 14 21:18:54 CEST 1999 Michael Roth <mroth@nessie.de>
809
810         * ttyio.c: tty_no_terminal() new.
811
812 Sat Jun  5 15:30:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
813
814         * strgutil.c (set_native_charset): Support Latin-2
815
816 Tue Jun  1 16:01:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
817
818         * iobuf.c (iobuf_get_real_fname): Made global and now keep a
819         copy of the name in the iobuf struct.
820
821 Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
822
823         * iobuf.c (file_filter,block_filter): Speed patches (Rémi).
824
825 Thu May 27 09:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
826
827         * miscutil.c (answer_is_yes_no_quit): New.
828
829 Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
830
831         * dotlock.c: Tweaked to make it compile under mingw32
832         * http.c: Disabled for mingw32.
833
834 Sat May 22 22:47:26 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
835
836         * logger.c (log_set_logfile): New.
837
838 Thu May 20 14:04:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
839
840         * memory.c (membug): Nanu, there was a const instead of a static.
841
842         * strgutil.c (trim_trailing_chars): New.
843
844 Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
845
846         * logger.c (g10_log_hexdump): Made 2nd arg a const.
847
848 Wed Apr 28 13:03:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
849
850         * miscutil.c (asctimestamp): Use nl_langinfo (Gaël Quéri).
851
852 Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
853
854         * argparse.c (store_alias): Disabled becuase it is not used.
855
856         * ttyio.c (tty_batchmode): New
857
858 Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
859
860         * http.c: Swapped to includes.
861
862 Tue Mar  2 16:44:57 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
863
864         * strgutil.c (get_native_charset): New.
865
866 Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
867
868         * secmem.c (memblock_struct): Force align (Rémi Guyomarch)
869
870 Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
871
872         * iobuf.c (block_filter): Fixed the oscillating partial packet chunks.
873
874 Fri Feb 19 15:49:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
875
876         * iobuf.c (iobuf_push_filter2): New to allow transer of context
877         ownership to the iobuf. Released the context where needed.
878
879 Tue Feb 16 14:10:02 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
880
881         * strgutil.c (add_to_strglist): Clear the new flags field
882         (append_to_strglist): Ditto.
883
884         * dotlock.c (read_lockfile): terminate pidstr (Michael).
885
886 Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
887
888         * dotlock.c (remove_lockfiles): Add cleanup function.
889         (make_dotlock): Add deadlock check.
890
891         * secmem.c (secmem_malloc): Changed error message.
892
893 Wed Jan 20 21:40:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
894
895         * http.c (http_wait_response): Moved the shutdown behind the dup
896
897 Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
898
899         * http.c (send_request): Removed double LF
900
901 Tue Jan 19 19:34:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
902
903         * * iobuf.c (iobuf_push_filter): Allow filters for temp streams
904
905         (iobuf_write_temp): Ditto.
906         (iobuf_flush_temp): New.
907         (iobuf_unget_and_close_temp): Removed.
908
909         * http.c (close_http_document): Renamed to http_close().
910         (open_http_document): Renamed to http_open_document().
911         (http_open): New.
912         (http_start_data): New.
913         (http_wait_response): New.
914
915
916 Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
917
918         * strgutil.c (trim_trailing_ws): New.
919
920 Sat Jan 16 12:03:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
921
922         * http.c (connect_server): Fixed stupid bug.
923
924 Sat Jan 16 09:27:30 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
925
926         * http.c: New
927
928
929 Wed Jan 13 14:10:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
930
931         * iobuf.c (iobuf_fdopen): New.
932
933 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
934
935         * secmem.c (lock_pool): add another check that setuid() worked.
936         (secmem_init): Ditto.
937
938 Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
939
940         * iobuf.c (iobuf_clear_eof): Removed.
941         (underflow): Changed the eof handling.
942         (iobuf_pop_filter): Made static and renamed to pop_filter.
943
944         * iobuf.c (iobuf_read_line): New.
945
946 Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
947
948         * dotlock.c (make_dotlock): print another informal message.
949
950         (make_dotlock): Removed the cpp checks.
951
952
953 Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
954
955         * secmem.c: Moved unistd.h out of the #ifdef
956
957         * dotlock.c (make_dotlock): Sun has no SYS_NMLN
958
959         * iobuf.c (iobuf_unget_and_close_temp): Reset .start
960
961 Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
962
963         * argparse.c (arg_pars): fixed opts[i] with negative index.
964
965 Fri Nov 27 21:37:41 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
966
967         * dotlock.c: Implemented
968
969 Wed Nov 25 11:30:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
970
971         * iobuf.c (iobuf_pop_filter): Fixed sigsegv after error.
972
973 Thu Nov 19 07:09:55 1998  Werner Koch  <werner.koch@guug.de>
974
975         * miscutil.c (strtimevalue): New.
976
977 Tue Nov 10 10:01:53 1998  Werner Koch  (wk@isil.d.shuttle.de)
978
979         * strgutil.c (set_native_charset): New.
980         (native_to_utf8): Now handles koi8-r.
981
982 Tue Nov  3 16:17:56 1998  Werner Koch  (wk@isil.d.shuttle.de)
983
984         * strgutil.c (native_to_utf8): New.
985         (utf8_to_native): New, but only as a stub.
986
987         * argparse.c (optfile_parse): Trimmed spaces from args.
988
989
990 Wed Oct 28 08:01:49 1998  me,,,  (wk@tobold)
991
992         * argparse.c (find_long_option): New.
993         (arg_parse): option=value is now allowed. Add a new internal
994         option "--dump-options".
995
996 Thu Oct 22 16:25:49 1998  Michael Roth  (mroth@nessie.de)
997
998         * fileutil.c (make_basename): New.
999         (make_dirname): New.
1000
1001 Wed Oct 21 12:20:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
1002
1003         * util.c (iobuf_flush): autoincreasing of a temp. iobuf
1004         (iobuf_temp_with_content): New.
1005
1006 Tue Oct 13 12:40:13 1998  Werner Koch  (wk@isil.d.shuttle.de)
1007
1008         * util.c (.nofast): set this variable
1009
1010 Wed Oct  7 19:27:50 1998  Werner Koch  (wk@isil.d.shuttle.de)
1011
1012         * memory.c (m_print_stats): New.
1013
1014 Tue Oct  6 09:53:56 1998  Werner Koch  (wk@isil.d.shuttle.de)
1015
1016         * strgutil.c (memicmp): Add HAVE_MEMICMP.
1017
1018 Mon Sep 21 19:45:01 1998  Werner Koch  (wk@(none))
1019
1020         * secmem.c: New flags to allow suspend/resume of warnings.
1021
1022 Fri Sep 18 16:25:47 1998  Werner Koch  (wk@(none))
1023
1024         * secmem.c (lock_pool): Kludge for broken mlock on HPUX 10.20
1025
1026 Tue Sep 15 17:52:21 1998  Werner Koch  (wk@(none))
1027
1028         * miscutil.c (asctimestamp): New.
1029
1030 Mon Sep 14 09:38:18 1998  Werner Koch  (wk@(none))
1031
1032         * secmem.c (init_pool): Now mmaps /dev/zero if we do not have MAP_ANON.
1033
1034 Wed Sep  9 13:52:28 1998  Werner Koch  (wk@(none))
1035
1036         * ttyio.c (do_get): Ctrl-D is now a valid but special character
1037
1038 Mon Sep  7 13:52:41 1998  Werner Koch  (wk@(none))
1039
1040         * iobuf.c (get_real_fname): New and changed file_filter datastructures
1041         and their initialization.
1042
1043 Tue Aug 11 15:12:35 1998  Werner Koch  (wk@(none))
1044
1045         * miscutil.c (answer_is_yes): i18ned
1046
1047 Sat Aug  8 18:35:00 1998  Werner Koch  (wk@(none))
1048
1049         * ttyio.c (cleanup): New.
1050
1051 Mon Aug  3 17:06:00 1998  Werner Koch  (wk@(none))
1052
1053         * secmem.c (MAP_ANON): Add a macro test
1054
1055 Wed Jul 29 14:53:34 1998  Werner Koch  (wk@(none))
1056
1057         * ttyio.c (tty_get_answer_is_yes): New.
1058
1059 Tue Jul 21 10:35:48 1998  Werner Koch  (wk@(none))
1060
1061         * argparse.c: New option flag to distinguish options and commands.
1062
1063 Sat Jul 18 19:49:30 1998  Werner Koch  (wk@(none))
1064
1065         * argparse.c (arg_parse): Added -? as alias for -h
1066
1067 Thu Jul  9 14:47:20 1998  Werner Koch  (wk@isil.d.shuttle.de)
1068
1069         * secmem.c (secmem_init): Drops setuid if called with 0.
1070
1071 Tue Jul  7 11:49:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
1072
1073         * logger.c (log_set_filename): New.
1074
1075 Mon Jul  6 09:03:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
1076
1077         * strgutil.c (append_to_strlist): New.
1078
1079 Thu Jul  2 15:55:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
1080
1081         * iobuf.c (block_filter): Add writing of OP partial length headers.
1082
1083 Fri Jun 26 10:38:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
1084
1085         * ttyio.c (do_get): all iso8859-1 characters are now allowed.
1086
1087 Thu Jun 25 15:57:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
1088
1089         * secmem.c (lock_pool): Removed left over test code.
1090
1091 Wed Jun 10 07:39:41 1998  Werner Koch,mobil,,,  (wk@tobold)
1092
1093         * fileutil.c (compare_filenames): New.
1094
1095         * argparse.c (arg_parse): New flag bit 6 to ignore --version
1096
1097 Thu May 14 16:45:13 1998  Werner Koch  (wk@isil.d.shuttle.de)
1098
1099         * argparse.c (show_help): Add some formatting stuff
1100
1101 Fri May  8 17:06:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
1102
1103         * errors.c (strerror): New if !HAVE_STRERROR
1104
1105 Mon May  4 19:48:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
1106
1107         * iobuf.c (iobuf_read): Code is now faster.
1108         * (iobuf_write): ditto.
1109
1110 Mon Apr 27 11:01:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
1111
1112         * strgutil.c (memicmp): New.
1113
1114 Thu Mar 19 11:29:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
1115
1116         * strgutil.c (memistr): Add const to return and first arg.
1117
1118 Sat Mar  7 11:54:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
1119
1120         * miscutil.c (print_string): New arg delim; changed all callers.
1121
1122 Thu Mar  5 12:19:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
1123
1124         * errors.c: New strings.
1125
1126 Thu Mar  5 12:06:31 1998  Werner Koch  (wk@isil.d.shuttle.de)
1127
1128         * iobuf.c (iobuf_open): A name of "-" now opens stdin.
1129         * fileutil.c (print_fname_stdout, print_fname_stdin): New.
1130
1131 Fri Feb 27 10:20:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
1132
1133         * memory.c (m_is_secure): Removed.
1134         * secmem.c (m_is_secure): Moved to here.
1135
1136         * secmem.c (secmem_realloc): New.
1137         * memory.c (M_GUARD,EXTRA_ALIGN): New (all functions).
1138
1139 Thu Feb 26 14:36:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
1140
1141         * secmem.c (lock_pool): No error if EAGAIN is returned instead
1142         of EPERM.
1143
1144 Fri Feb 20 17:43:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
1145
1146         * ttyio.c [MINGW32]: Add support for mingw32.
1147
1148 Tue Feb 17 19:43:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
1149
1150         * memory.c (dump_table_at_exit): New.
1151
1152 Mon Feb 16 10:07:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
1153
1154         * argparse.c (show_version, show_help, default_strusage): Changed
1155         according to GNU standards.
1156
1157 Mon Feb 16 08:58:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
1158
1159         * iobuf.c (iobuf_peek): New
1160
1161 Fri Feb 13 19:34:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
1162
1163         * iobuf.c (iobuf_seek): Set counters to new offset.
1164
1165 Fri Feb 13 17:13:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
1166
1167         * logger.c (log_set_name, log_get_name): New.
1168         (print_prefix, pgm_name): New, changed all function to make use it.
1169         (log_mpidump): Removed the "DBG" prefix.
1170         (log_hexdump): Ditto.
1171
1172         * logger.c (printstr): Removed.
1173
1174 Fri Feb 13 15:14:13 1998  Werner Koch  (wk@isil.d.shuttle.de)
1175
1176         * argparse.c (show_help): New '\v' kludge.
1177
1178
1179
1180  Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
1181
1182  This file is free software; as a special exception the author gives
1183  unlimited permission to copy and/or distribute it, with or without
1184  modifications, as long as this notice is preserved.
1185
1186  This file is distributed in the hope that it will be useful, but
1187  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1188  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1189
1190