Changed option names.
[gnupg.git] / tools / ChangeLog
1 2010-08-25  Werner Koch  <wk@g10code.com>
2
3         * gpgtar.c: Add -t as short option for --list-archive.
4
5         * gpgtar-extract.c (gpgtar_extract): Use filename "-" for stdin.
6         Fix dirprefix setting.
7         * gpgtar-list.c (gpgtar_list): Ditto.
8
9 2010-08-24  Werner Koch  <wk@g10code.com>
10
11         * gpgtar.c (opts): Fix --cms and --openpgp names.
12
13 2010-08-23  Werner Koch  <wk@g10code.com>
14
15         * gpgconf-comp.c (GPGNAME) [W32CE]: s/gpg2/gpg/.
16         (get_config_filename) [W32CE]: Adjust absolute file name check.
17
18         * gpgconf-comp.c (retrieve_options_from_program)
19         (retrieve_options_from_file, retrieve_options_from_program)
20         (copy_file, gc_process_gpgconf_conf): Do not use es_ferror after a
21         failed es_fclose.  Note that the stream is in any case invalid
22         after calling es_fclose and that es_fclose does set ERRNO.
23
24         * Makefile.am (maybe_commonpth_libs): New.
25         (gpgconf_LDADD): Use it.
26
27 2010-08-20  Werner Koch  <wk@g10code.com>
28
29         * gpgconf-comp.c (collect_error_output): Remove extra CRs.
30
31 2010-08-19  Werner Koch  <wk@g10code.com>
32
33         * gpgconf.c (main): Fix --check-options.
34
35         * gpgconf-comp.c (gc_component_check_options): Replace
36         gnupg_spawn_process_fd by gnupg_spawn_process.
37         (retrieve_options_from_program): Ditto.
38         (collect_error_output): Change to use estream.
39
40         * gpgconf-comp.c: Add new backend and component for PINENTRY.
41         (gc_component_check_options): Use --version to test the pinentry.
42         (gc_component_retrieve_options, gc_component_change_options):
43         Ignore the pinentry component.
44
45 2010-08-16  Werner Koch  <wk@g10code.com>
46
47         * gpgconf.c (get_outfp): Change to use estream.
48         (main): Replace fprintf by es_fprintf.
49         * gpgconf-comp.c (gc_component_list_components)
50         (gc_check_programs, gc_component_list_options)
51         (gc_component_change_options, gc_component_check_options)
52         (list_one_option, gc_process_gpgconf_conf): Replace FILE* args by
53         estream_t.
54
55 2010-08-13  Werner Koch  <wk@g10code.com>
56
57         * Makefile.am (gpgkey2ssh_LDADD): Add NETLIBS.
58
59 2010-08-11  Werner Koch  <wk@g10code.com>
60
61         * gpgtar-create.c (gpgtar_create): Allow "-" for stdout in
62         opt.outfile.  Switch es_stdout to binary mode.
63
64 2010-08-09  Werner Koch  <wk@g10code.com>
65
66         * watchgnupg.c: Inlcude in.h and inet.h.
67         (main): Support tcp connections.
68
69         * gpgtar.c (main): Add options -T and --null.
70         * gpgtar-create.c (gpgtar_create): Implement option --null.
71
72 2010-07-16  Werner Koch  <wk@g10code.com>
73
74         * gpgtar-create.c: Rewrite to better support W32.
75
76 2010-07-01  Werner Koch  <wk@g10code.com>
77
78         * gpgtar.c: Add option --set-filename.
79
80 2010-06-24  Werner Koch  <wk@g10code.com>
81
82         * gpgconf-comp.c (gpg_agent_runtime_change)
83         (scdaemon_runtime_change, retrieve_options_from_program): Use HANG
84         option for gnupg_wait_progress.  Fixes regression from 2010-06-09.
85
86 2010-06-07  Werner Koch  <wk@g10code.com>
87
88         * gpgtar.c, gpgtar.h, gpgtar-list.c, gpgtar-create.c
89         * gpgtar-extract.c: New.
90         * Makefile.am (commonpth_libs): New.
91         (gpgtar_SOURCES, gpgtar_CFLAGS, gpgtar_LDADD): New.
92         (bin_PROGRAMS) [!W32CE]: Add gpgtar.
93
94 2010-04-20  Marcus Brinkmann  <marcus@g10code.de>
95
96         * gpgconf-comp.c (option_check_validity): Use dummy variables to
97         silence gcc warning.
98
99 2010-04-14  Werner Koch  <wk@g10code.com>
100
101         * Makefile.am (bin_PROGRAMS) [W32CE]: Exclude gpgkey2ssh.
102         (noinst_PROGRAMS) [W32CE]: Don't build them.
103         (pwquery_libs) [W32CE]: Set to empty.
104
105 2010-03-25  Werner Koch  <wk@g10code.com>
106
107         * Makefile.am (opt_libassuan_libs) [W32CE]: New.
108         (gpgconf_LDADD): Use it.
109
110         * gpgconf-comp.c: Include signal.h only if available.  Use
111         gpg_err_set_errno.
112         (key_matches_user_or_group) [W32CE]: Do not match any user.
113
114 2010-03-15  Werner Koch  <wk@g10code.com>
115
116         * gpgconf-comp.c (my_dgettext):
117         s/gettext_select_utf8/gettext_use_utf8/.
118
119 2010-03-10  Werner Koch  <wk@g10code.com>
120
121         * Makefile.am (common_libs): Remove libjnlib.a.
122
123 2010-03-08  Werner Koch  <wk@g10code.com>
124
125         * no-libgcrypt.c (gcry_create_nonce): New.
126
127 2010-02-26  Werner Koch  <wk@g10code.com>
128
129         * gpg-connect-agent.c (main): New option --tcp-socket.
130
131 2010-01-10  Werner Koch  <wk@g10code.com>
132
133         * symcryptrun.c (utmp.h): Remove header; it is not used.
134
135 2009-12-18  Werner Koch  <wk@g10code.com>
136
137         * applygnupgdefaults (errorfile): Use mktemp.  Fixes bug#1146.
138
139 2009-12-08  Marcus Brinkmann  <marcus@g10code.de>
140
141         * gpg-connect-agent.c (main): Convert posix fd to assuan fd.
142
143 2009-12-07  Werner Koch  <wk@g10code.com>
144
145         * no-libgcrypt.c (gcry_strdup): Actually copy the string.
146
147 2009-11-23  Werner Koch  <wk@g10code.com>
148
149         * gpgconf-comp.c (gc_options_gpg): Add default_pubkey_algo.
150
151 2009-11-05  Marcus Brinkmann  <marcus@g10code.de>
152
153         * gpg-connect-agent.c (start_agent): Update use of
154         assuan_socket_connect and assuan_pipe_connect.
155
156 2009-11-04  Werner Koch  <wk@g10code.com>
157
158         * gpg-connect-agent.c (read_and_print_response): Add arg WITHHASH.
159         (main): Pass true for WITHHASH for the HELP command.
160
161 2009-09-23  Marcus Brinkmann  <marcus@g10code.de>
162
163         * gpg-connect-agent.c (getinfo_pid_cb, read_and_print_response)
164         (main): Update to new Assuan API.
165
166 2009-07-21  Werner Koch  <wk@g10code.com>
167
168         * gpgsplit.c (my_strusage): Remove i18n stuff.
169
170 2009-07-07  Werner Koch  <wk@g10code.com>
171
172         * gpg-connect-agent.c (start_agent): Adjust for changed args of
173         send_pinentry_environment.
174
175 2009-06-30  Werner Koch  <wk@g10code.com>
176
177         * ccidmon.c (parse_line_sniffusb): Take also TAB as delimiter.
178
179 2009-06-29  Werner Koch  <wk@g10code.com>
180
181         * ccidmon.c (parse_line_sniffusb): New.
182         (main): Add option --sniffusb.
183
184 2009-06-08  Werner Koch  <wk@g10code.com>
185
186         * gpgconf.c (main): Call gnupg_reopen_std.  Should fix bug#1072.
187
188 2009-05-19  Werner Koch  <wk@g10code.com>
189
190         * watchgnupg.c: Include jnlib/mischelp.h if required.
191         (main): Use SUN_LEN.
192
193 2009-04-17  Werner Koch  <wk@g10code.com>
194
195         * ccidmon.c: New.
196
197 2009-03-03  Werner Koch  <wk@g10code.com>
198
199         * gpgconf.c: New command --reload.
200
201         * gpgconf-comp.c (gc_component_reload): New.
202
203 2009-03-02  Werner Koch  <wk@g10code.com>
204
205         * gpgconf-comp.c (scdaemon_runtime_change): Killsc d only if it is
206         not running.
207
208 2009-02-27  Werner Koch  <wk@g10code.com>
209
210         * gpgconf-comp.c (gpg_agent_runtime_change): Declare static.
211         (scdaemon_runtime_change): New.
212         (gc_backend_scdaemon): Register new function.
213         (gc_options_scdaemon): Make most options runtime changable.
214
215 2009-01-20  Werner Koch  <wk@g10code.com>
216
217         * gpgconf.c (main): Print more directories.
218
219 2008-12-09  Werner Koch  <wk@g10code.com>
220
221         * gpg-check-pattern.c (main): Call i18n_init before
222         init_common_subsystems.
223         * gpg-connect-agent.c (main): Ditto.
224         * gpgconf.c (main): Ditto.
225         * symcryptrun.c (main): Ditto.
226
227 2008-12-08  Werner Koch  <wk@g10code.com>
228
229         * gpgkey2ssh.c (main): Change order of output for RSA. Change name
230         of DSA identifier.  Reported by Daniel Kahn Gillmor.  This is
231         bug#901.
232
233 2008-12-05  Werner Koch  <wk@g10code.com>
234
235         * gpg-connect-agent.c (opts): Use ARGPARSE_ macros.
236         (start_agent) [W32]: Start agent if not running.
237
238 2008-12-03  Werner Koch  <wk@g10code.com>
239
240         * gpgconf-comp.c <scdaemon>: Add option --card-timeout.  Remove
241         unused option --disable-opensc.
242
243 2008-10-20  Werner Koch  <wk@g10code.com>
244
245         * gpgsplit.c (write_part): Remove unused arg FNAME.  Change caller.
246         (do_split): Ditto.
247
248         * no-libgcrypt.c (gcry_control): Mark unused arg.
249         * gpg-connect-agent.c (do_recvfd): Ditto.
250         * gpgparsemail.c (mime_signed_begin, mime_encrypted_begin): Ditto.
251         (pkcs7_begin): Ditto.
252
253 2008-10-01  Werner Koch  <wk@g10code.com>
254
255         * gpg-connect-agent.c (main): New command datafile.
256         (read_and_print_response): Print to the defined datafile.
257
258 2008-09-30  Werner Koch  <wk@g10code.com>
259
260         * gpgconf.c (main) <aListDirs>: Print the bindir.
261
262 2008-08-06  Marcus Brinkmann  <marcus@g10code.de>
263
264         * gpgconf-comp.c (gc_options_gpgsm): Change type of keyserver
265         option to GC_ARG_TYPE_LDAP_SERVER.
266
267         * gpgconf-comp.c (retrieve_options_from_file): Transfer the
268         NO_CHANGE flag from the file name option to the list option.
269
270 2008-06-19  Werner Koch  <wk@g10code.com>
271
272         * gpgconf-comp.c (GC_ARG_TYPE_ALIAS_LIST): New.
273         (gc_arg_type): Add fallback type.
274         (gc_options_gpg): Add option "group".
275
276 2008-06-12  Marcus Brinkmann  <marcus@g10code.de>
277
278         * gpgconf-comp.c (gc_options_gpgsm): Add option keyserver.
279
280 2008-05-26  Marcus Brinkmann  <marcus@g10code.de>
281
282         * gpgconf-comp.c: Replace pathname by filename everywhere.
283
284         * gpgconf.c (enum cmd_and_opt_values): Add aListDirs.
285         (opts): Add aListDirs option.
286         (main): Handle aListDirs.
287         * gpgconf.h (gc_percent_escape): New declaration.
288         * gpgconf-comp.c (my_percent_escape): Make non-static and rename
289         to ...
290         (gc_percent_escape): ... this.  Change all callers.
291         
292 2008-05-26  Werner Koch  <wk@g10code.com>
293
294         * gpgconf-comp.c (gpg_agent_runtime_change) [W32]: Issue
295         "reloadagent" command to gpg-agent.
296
297         * gpg-connect-agent.c (main): Allow server command on the command
298         line.
299
300 2008-05-20  Marcus Brinkmann  <marcus@g10code.de>
301
302         * gpgconf.h (gc_component_check_programs): Rename to ...
303         (gc_check_programs): ... this.
304         (gc_component_change_options): Add argument OUT.
305         (gc_component_check_options): New function.
306         * gpgconf.c (enum cmd_and_opt_values): New option aCheckOptions.
307         (opts): Add new option aCheckOptions (aka --check-options).
308         (main): Handle new option aCheckOptions.
309         * gpgconf-comp.c (gc_component_check_programs): Rename to ...
310         (gc_check_programs): ... this.  Refactor core of it to ...
311         (gc_component_check_options): ... this new function.
312         (gc_component_change_options): Add new argument OUT.  Externally
313         verify all changes.  Implement option --dry-run.
314
315 2008-05-09  Werner Koch  <wk@g10code.com>
316
317         * gpgconf-comp.c (my_dgettext) [USE_SIMPLE_GETTEXT]:  Hack to
318         parly support translations.
319
320 2008-04-08  Werner Koch  <wk@g10code.com>
321
322         * gpgconf-comp.c (gc_options_gpg): Add --auto-key-locate.
323
324 2008-03-26  Werner Koch  <wk@g10code.com>
325
326         * make-dns-cert.c: Include unistd.h.  Use config.h if requested.
327         (cert_key): Protect read against EINTR.
328         (main): Print SVN revision for standalone version.
329
330 2008-03-05  Werner Koch  <wk@g10code.com>
331
332         * gpg-connect-agent.c (arithmetic_op): Add logical not, or and and.
333         (get_var_ext): Add functions errcode, errsource and errstring.
334         (read_and_print_response): Store server reply in $? variable.
335         (main): Implement IF command.
336
337 2008-02-27  Marcus Brinkmann  <marcus@g10code.de>
338
339         * gpgconf-comp.c (option_check_validity): For now, error out on
340         empty strings.
341         (enum): Add GC_ARG_TYPE_PUB_KEY and GC_ARG_TYPE_SEC_KEY.
342
343 2008-02-01  Marcus Brinkmann  <marcus@g10code.de>
344
345         * gpgconf-comp.c (gc_component_list_options): Fix memcpy.
346         Reported by Marc Mutz.
347
348 2008-01-22  Werner Koch  <wk@g10code.com>
349
350         * gpgconf-comp.c: Use gnupg domain for honor-http-proxy.  Make
351         "LDAP server list" group title translatable.
352
353 2008-01-17  Marcus Brinkmann  <marcus@g10code.de>
354
355         * gpgconf-comp.c (change_options_program): Strip duplicated
356         utf8-strings entries for gnupg backend.  Don't create them either.
357
358 2007-12-10  Marcus Brinkmann  <marcus@g10code.de>
359
360         * gpgconf-comp.c (gc_component_list_options): Fix up expert level
361         of group.
362
363 2007-12-04  Marcus Brinkmann  <marcus@g10code.de>
364
365         * gpgconf-comp.c (gc_component_list_components): Do not print a
366         trailing semi-colon to ensure forward compatibility, as this would
367         indicate another empty field.
368         (gc_process_gpgconf_conf): Likewise.
369
370 2007-11-15  Werner Koch  <wk@g10code.com>
371
372         * gpg-connect-agent.c (start_agent): Adjust changed
373         send_pinentry_environment.
374
375 2007-10-24  Werner Koch  <wk@g10code.com>
376
377         * gpg-connect-agent.c (substitute_line): Restore temporary nul
378         marker.
379         (main): Add /while command.
380
381 2007-10-23  Werner Koch  <wk@g10code.com>
382
383         * gpgconf-comp.c (gc_process_gpgconf_conf): Add arg
384         LISTFP.  Changed all callers.
385         * gpgconf.h: Add gc_error.
386         * gpgconf.c: Add command --list-config.
387         (get_outfp): New.
388         (main): Make --output work.
389
390         * gpgconf-comp.c (gc_options_gpg_agent): Replace accidently used
391         GC_BACKEND_SCDAEMON.  We should consider to create these tables
392         from plain files.
393
394 2007-10-22  Werner Koch  <wk@g10code.com>
395
396         * gpgconf-comp.c (retrieve_options_from_program): Replace use of
397         popen by our gnupg_spawn_process_fd.  This is required because
398         popen under Windows can't handle long filenames.
399
400 2007-10-19  Werner Koch  <wk@g10code.com>
401
402         * symcryptrun.c (confucius_get_pass): Use utf8 switching functions.
403
404         * gpg-connect-agent.c (get_var_ext): New.
405         (substitute_line): Use it.
406         (assign_variable): Implement /slet in terms of get_var_ext.
407         (main): New option -s/--subst.
408         (add_definq): Add arg IS_VAR.  Change all callers.
409         (main): Add command /definq.
410         (handle_inquire): Implement new command.
411         (substitute_line_copy): New.
412         (unescape_string, unpercent_string): New.
413         * no-libgcrypt.c (gcry_set_outofcore_handler) 
414         (gcry_set_fatalerror_handler, gcry_set_log_handler): New.
415         * Makefile.am (gpg_connect_agent_LDADD): Link to libreadline.
416
417         * gpgconf-comp.c (retrieve_options_from_file): Don't call fclose
418         with NULL.  Fixes bug 842.
419
420 2007-10-12  Werner Koch  <wk@g10code.com>
421
422         * gpg-connect-agent.c (substitute_line): Allow ${foo} syntax.
423
424 2007-10-11  Werner Koch  <wk@g10code.com>
425
426         * gpg-connect-agent.c (get_var): Expand environment variables.
427         Suggested by Marc Mutz.
428         (set_var): Return the value.
429         (assign_variable): Add arg syslet.
430         (main): New command /slet.
431         (gnu_getcwd): New.
432         (assign_variable): Add tag cwd, and *dir.
433
434 2007-10-02  Werner Koch  <wk@g10code.com>
435
436         * no-libgcrypt.c (gcry_malloc_secure): New.
437
438         * gpg-connect-agent.c (set_var, set_int_var, get_var)
439         (substitute_line, show_variables, assign_variable)
440         (do_open, do_close, do_showopen): New.
441         (main): Add new commands /nosubst, /subst, /let, /showvar, /open,
442         /close and /showopen.
443         (main): New commands /run and /bye.
444
445 2007-10-01  Werner Koch  <wk@g10code.com>
446
447         * gpg-connect-agent.c (do_sendfd): Use INT2FD for assuan_sendfd.
448
449 2007-09-26  Werner Koch  <wk@g10code.com>
450
451         * gpg-connect-agent.c (main): Print the first response from the
452         server.
453
454 2007-09-14  Werner Koch  <wk@g10code.com>
455
456         * gpgconf-comp.c: Make a string translatable.
457
458 2007-09-04  Moritz Schulte  <moritz@g10code.com>
459
460         * gpgsm-gencert.sh: Use printf instead of echo.
461
462 2007-09-04  Moritz Schulte  <moritz@g10code.com>
463
464         * gpgkey2ssh.c: Include sysutils.h so that gnupg_tmpfile() is
465         declared.
466
467 2007-08-31  Werner Koch  <wk@g10code.com>
468
469         * gpgparsemail.c: Support PGP/MIME signed messages.
470
471         * gpgconf-comp.c (gc_component_list_components): List the programs
472         names.
473
474 2007-08-29  Werner Koch  <wk@g10code.com>
475
476         * gpgconf.c: New command --check-programs.
477         * gpgconf-comp.c (gc_component_check_programs): New.
478         (gc_backend): Add member MODULE_NAME and add these module names.
479         (retrieve_options_from_program): Use module name so that we use an
480         absolute file name and don't rely on $PATH.
481         (collect_error_output): New.
482         * no-libgcrypt.c (gcry_control): New.
483
484 2007-08-28  Werner Koch  <wk@g10code.com>
485
486         * gpgconf-comp.c <gpg-agent>: Add options --max-passphrase-days
487         and --enable-passphrase-history.
488
489 2007-08-27  Werner Koch  <wk@g10code.com>
490
491         * gpg-check-pattern.c: New
492         * Makefile.am (libexec_PROGRAMS): Add unless DISABLE_REGEX.
493
494 2007-08-24  Werner Koch  <wk@g10code.com>
495
496         * gpgconf-comp.c <gpg-agent>: Add options --check-passphrase-pattern,
497         --min-passphrase-nonalpha and --enforce-passphrase-constraints and
498         move them into a new "passphrase policy" group.
499         (gc_component) [W32]: Enable dirmngr.
500
501 2007-08-21  Werner Koch  <wk@g10code.com>
502
503         * gpgkey2ssh.c (key_to_blob): Use gnupg_tmpfile().
504
505 2007-08-02  Werner Koch  <wk@g10code.com>
506
507         * gpgconf-comp.c: Factor the public GC_OPT_FLAG constants out and
508         include gc-opt-flags.h.
509
510 2007-07-17  Werner Koch  <wk@g10code.com>
511
512         * gpgconf-comp.c: Add --encrypt-to and --default-key to gpg and
513         gpgsm.
514
515 2007-07-16  Marcus Brinkmann  <marcus@g10code.de>
516
517         * gpg-connect-agent.c (main): Bail out if write fails.
518
519 2007-07-05  Marcus Brinkmann  <marcus@g10code.de>
520
521         * symcryptrun.c (confucius_get_pass): Define orig_codeset if
522         [ENABLE_NLS], not [HAVE_LANGINFO_CODESET].
523
524 2007-06-26  Werner Koch  <wk@g10code.com>
525
526         * gpgconf-comp.c (key_matches_user_or_group) [W32]: Implement user
527         name matching.
528         (GPGNAME): New.  Use it instead of "gpg".
529         (gc_component) [W32]:  Disable dirmngr for now.
530         (gc_component_retrieve_options): Ignore components without options.
531         (gc_component_change_options): Ditto.
532         (gc_component_list_options): Ditto.
533         (gc_component_find, gc_component_list_components): Ditto.
534
535 2007-06-19  Werner Koch  <wk@g10code.com>
536
537         * gpgconf-comp.c (percent_escape): Rename to my_percent_escape.
538         Changed all callers.
539
540 2007-06-18  Marcus Brinkmann  <marcus@g10code.de>
541
542         * gpgconf-comp.c (retrieve_options_from_file): Close LIST_FILE.
543         (copy_file): In error case, save/restore errno.  Close SRC and DST.
544         (gc_component_change_options): Catch error from unlink().  Remove
545         target backup file before rename().
546
547 2007-06-15  Marcus Brinkmann  <marcus@g10code.de>
548
549         * gpgconf-comp.c (copy_file) [HAVE_W32_SYSTEM]: New function.
550         (change_options_file, change_options_program) [HAVE_W32_SYSTEM]:
551         Copy backup file.
552         (gc_component_change_options) [HAVE_W32_SYSTEM]: Non-atomic replace.
553         (gc_process_gpgconf_conf): Rename fname to fname_arg and
554         fname_buffer to fname, initialize fname with fname_arg, discarding
555         const qualifier.
556
557 2007-06-15  Werner Koch  <wk@g10code.com>
558
559         * Makefile.am (symcryptrun_LDADD): It is LIBICONV and not LIBINCONV.
560         (gpgconf_LDADD, symcryptrun_LDADD): Add W32SOCKLIBS.
561
562 2007-06-14  Werner Koch  <wk@g10code.com>
563
564         * symcryptrun.c (main): Setup default socket name for
565         simple-pwquery.
566         (MAP_SPWQ_ERROR_IMPL): New.  Use it for all spwq error returns.
567
568 2007-06-12  Werner Koch  <wk@g10code.com>
569
570         * gpgconf-comp.c (gc_process_gpgconf_conf): Replace
571         GNUPG_SYSCONFDIR by a function call.
572
573         * gpg-connect-agent.c (main): Replace some calls by
574         init_common_subsystems.
575         * gpgconf.c (main): Ditto.
576         * symcryptrun.c (main): Ditto.
577
578 2007-06-11  Werner Koch  <wk@g10code.com>
579
580         * symcryptrun.c (main) [W32]: Call pth_init.
581         * gpgconf.c (main) [W32]: Call pth_init
582         * gpg-connect-agent.c (main) [W32]: Call pth_init.
583
584 2007-06-06  Werner Koch  <wk@g10code.com>
585
586         * Makefile.am (bin_PROGRAMS) [W32]: Do not build gpgparsemail.
587
588         * gpgconf-comp.c [W32]: Do not include pwd.h and grp.h.
589         (key_matches_user_or_group) [W32]: For now always return false.
590
591         * symcryptrun.c (i18n_init): Remove.
592         * gpgconf.c (i18n_init): Remove.
593         * gpg-connect-agent.c (i18n_init): Remove.
594
595 2007-05-19  Marcus Brinkmann  <marcus@g10code.de>
596
597         * symcryptrun.c (confucius_get_pass): Free ORIG_CODESET on error.
598
599 2007-05-08  Werner Koch  <wk@g10code.com>
600
601         * sockprox.c: New.  It needs to be build manually. By Moritz
602         Schulte.
603
604 2007-04-20  Werner Koch  <wk@g10code.com>
605
606         * symcryptrun.c (my_gcry_logger): Removed.
607         (main): Call setup_libgcrypt_logging.
608
609 2007-04-03  Werner Koch  <wk@g10code.com>
610
611         * gpgconf-comp.c: Allow changing of --allow-mark-trusted.
612
613         * gpg-connect-agent.c (main): New option --decode and commands
614         decode and undecode.
615         (read_and_print_response): Implement option.
616
617 2007-03-20  Werner Koch  <wk@g10code.com>
618
619         * gpgconf-comp.c (gc_options_gpgsm): Add p12-charset.
620
621 2007-03-07  Werner Koch  <wk@g10code.com>
622
623         * applygnupgdefaults: New.
624         * Makefile.am (sbin_SCRIPTS): Add it
625
626 2007-03-06  Werner Koch  <wk@g10code.com>
627
628         * gpgconf-comp.c: Include pwd.h and grp.h.
629         (GC_OPT_FLAG_NO_CHANGE): New.
630         (gc_component_change_options): Implement it.
631         (gc_options_gpg_agent): Add options for all ttl values and
632         min-passphrase-length.  Apply new flag to some of them.
633         (gc_process_gpgconf_conf, key_matches_user_or_group): New.
634         (gc_component_change_options): Factor some code out to ..
635         (change_one_value): .. new. 
636         (gc_component_retrieve_options): Allow -1 for COMPONENT to iterate
637         over al components.
638         * gpgconf.c (main): New commands --check-config and
639         --apply-defaults.  Call gc_process_gpgconf_conf.
640
641 2007-01-31  Werner Koch  <wk@g10code.com>
642
643         * Makefile.am (symcryptrun_LDADD): Add LIBICONV.
644         (gpgkey2ssh_LDADD): Ditto.
645
646 2006-12-13  David Shaw  <dshaw@jabberwocky.com>
647
648         * Makefile.am (gpgsplit_LDADD): Link to LIBINTL if we're using the
649         built-in code.
650
651 2006-12-07  David Shaw  <dshaw@jabberwocky.com>
652
653         * Makefile.am: Link to iconv for jnlib dependency.
654
655 2006-11-23  Werner Koch  <wk@g10code.com>
656
657         * Makefile.am (gpg_connect_agent_LDADD): Add NETLIBS.
658
659 2006-11-21  Werner Koch  <wk@g10code.com>
660
661         * gpgconf-comp.c (list_one_option): Cast print size_t arg.
662
663 2006-11-17  Werner Koch  <wk@g10code.com>
664
665         * gpgconf-comp.c: Made disable-keypad a basic option.
666
667 2006-11-03  Werner Koch  <wk@g10code.com>
668
669         * symcryptrun.c: Include signal.h and include pth.h only if test
670         asserts that it exists.
671
672 2006-10-23  Werner Koch  <wk@g10code.com>
673
674         * gpgconf-comp.c <gpgsm>: Add --cipher-algo.
675
676 2006-10-20  Werner Koch  <wk@g10code.com>
677
678         * gpgsm-gencert.sh: Enhanced the main menu. 
679
680 2006-10-12  Werner Koch  <wk@g10code.com>
681
682         * Makefile.am (gpg-zip, gpgsplit): Do not install due to a
683         conflict with gpg1.
684
685 2006-10-11  Werner Koch  <wk@g10code.com>
686
687         * gpgsm-gencert.sh: Allow generation of card keys.
688
689 2006-10-08  Werner Koch  <wk@g10code.com>
690
691         * Makefile.am (gpgkey2ssh_LDADD): Add LIBINTL. Suggested by
692         Andreas Metzler.
693
694 2006-09-22  Werner Koch  <wk@g10code.com>
695
696         * no-libgcrypt.c: Changed license to a simple all permissive one.
697
698 2006-09-20  Werner Koch  <wk@g10code.com>
699
700         * Makefile.am: Changes to allow parallel make runs.
701
702 2006-09-12  Werner Koch  <wk@g10code.com>
703
704         Replaced all call gpg_error_from_errno(errno) by
705         gpg_error_from_syserror().
706
707         * gpg-connect-agent.c (read_and_print_response): With verbosity
708         level 2 also print comment lines.
709
710 2006-09-06  Werner Koch  <wk@g10code.com>
711
712         * gpg-connect-agent.c: Switch everything to new Assuan error code
713         style.
714
715         * no-libgcrypt.c (out_of_core): Reanmed to ...
716         (out_of_memory): .. this to avoid name clash with util.h.
717
718 2006-08-21  Werner Koch  <wk@g10code.com>
719
720         * gpgsplit.c: New. Taken from 1.4. Adjusted to GnuPG2.
721
722         * Makefile.am (noinst_PROGRAMS): New.
723
724 2006-06-09  Marcus Brinkmann  <marcus@g10code.de>
725
726         * Makefile.am (gpgconf_LDADD): Add $(GPG_ERROR_LIBS).
727         (gpgkey2ssh_LDADD): Add ../jnlib/libjnlib.a.
728
729 2006-05-23  Werner Koch  <wk@g10code.com>
730
731         * gpgparsemail.c: Include config.h if available
732         (stpcpy): Conditional include it.
733
734         * gpgconf-comp.c (hextobyte): Removed as it is now availble in
735         jnlib.
736
737 2005-12-20  Werner Koch  <wk@g10code.com>
738
739         * gpgconf-comp.c (gc_options_gpg): Add allow-pka-lookup.
740
741 2005-12-14  Werner Koch  <wk@g10code.com>
742
743         * Makefile.am (bin_PROGRAMS): Build gpgparsemail.
744
745         * gpgparsemail.c (pkcs7_begin): New.
746         (parse_message, message_cb): Add support of direct pkcs signatures.
747
748 2005-10-19  Werner Koch  <wk@g10code.com>
749
750         * gpgconf-comp.c (gc_options_scdaemon): New option --disable-keypad.
751
752 2005-09-22  Werner Koch  <wk@g10code.com>
753
754         * rfc822parse.c (parse_field): Tread Content-Disposition special.
755
756 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
757
758         * Makefile.am (watchgnupg_LDADD): New variable.
759
760         * Makefile.am (gpgconf_LDADD): Add ../gl/libgnu.a after
761         ../common/libcommon.a.
762         (symcryptrun_LDADD, gpg_connect_agent_LDADD, gpgkey2ssh_LDADD):
763         Likewise.
764
765 2005-09-29  Marcus Brinkmann  <marcus@g10code.de>
766
767         * Makefile.am (AM_CFLAGS): Add $(LIBGCRYPT_CFLAGS).
768
769 2005-09-06  Werner Koch  <wk@g10code.com>
770
771         * rfc822parse.c, rfc822parse.h:  Changed license to LGPL.
772
773 2005-08-01  Werner Koch  <wk@g10code.com>
774
775         * gpgsm-gencert.sh: Allow entering a keygrip to generate a CSR from
776         an existing key.
777
778 2005-07-21  Werner Koch  <wk@g10code.com>
779
780         * gpgsm-gencert.sh: Reworked to allow for multiple email addresses
781         as well as DNsanmes and URi.  Present the parameter file before
782         creating the certificate.
783
784 2005-07-04  Marcus Brinkmann  <marcus@g10code.de>
785
786         * symcryptrun.c (SYMC_BAD_PASSPHRASE, SYMC_CANCELED): New symbols,
787         use instead constants.
788         (hash_string): New function copied from simple-gettext.c.
789         (confucius_get_pass): Take new argument CACHEID.
790         (confucius_process): Calculate cacheid and pass it to
791         confucius_get_pass.  Clear passphrase from cache if necessary.
792
793 2005-06-16  Werner Koch  <wk@g10code.com>
794
795         * gpg-connect-agent.c (read_and_print_response): Made LINELEN a
796         size_t.
797
798 2005-06-04  Marcus Brinkmann  <marcus@g10code.de>
799
800         * symcryptrun.c (main): Allow any number of arguments, don't use
801         first argument as input file name.  Pass extra arguments to
802         confucius_main.
803         (confucius_main): Accept new arguments argc and argv and pass them
804         to confucius_process.
805         (confucius_process): Accept new arguments argc and argv and pass
806         them to the confucius process.
807
808 2005-06-01  Werner Koch  <wk@g10code.com>
809
810         * symcryptrun.c: Include mkdtemp.h. 
811
812 2005-05-31  Werner Koch  <wk@g10code.com>
813
814         * watchgnupg.c: Make sure that PF_LCOAL and AF_LOCAL are defines.
815         Noted by Ray Link.
816
817 2005-05-28  Moritz Schulte  <moritz@g10code.com>
818
819         * gpgkey2ssh.c: New file.
820         * Makefile.am (bin_PROGRAMS): Added gpgkey2ssh.
821
822 2005-05-20  Werner Koch  <wk@g10code.com>
823
824         * gpg-connect-agent.c (add_definq, show_definq, clear_definq)
825         (handle_inquire): New.
826         (read_and_print_response): Handle INQUIRE command.
827         (main): Implement control commands.
828
829 2005-04-21  Werner Koch  <wk@g10code.com>
830
831         * symcryptrun.c (main): Optionally allow the input file as command
832         line argument.
833
834         * gpgconf-comp.c: Add gpgsm option disable-trusted-cert-crl-check.
835
836 2005-04-20  Werner Koch  <wk@g10code.com>
837
838         * gpgconf-comp.c: Add gpg-agent:disable-scdaemon.
839
840 2005-04-19  Marcus Brinkmann  <marcus@g10code.de>
841
842         * symcryptrun.c: Add --input option.
843
844 2005-04-15  Marcus Brinkmann  <marcus@g10code.de>
845
846         * symcryptrun.c (TEMP_FAILURE_RETRY): Define if not defined.
847
848         * symcryptrun.c (remove_file): New function.
849         (confucius_copy_file): Accept new argument PLAIN and shred the
850         file if it is set on error.
851
852         * Makefile.am: Define symcryptrun make variable depending on
853         BUILD_SYMCRYPTUN.
854         (bin_PROGRAMS): Add ${symcryptrun} instead symcryptrun.
855         (symcryptrun_LDADD): Use $(LIBUTIL_LIBS) instead of -lutil.
856
857 2005-04-11  Werner Koch  <wk@g10code.com>
858
859         * symcryptrun.c (confucius_mktmpdir): Changed to use mkdtmp(3).
860
861 2005-04-11  Marcus Brinkmann  <marcus@g10code.de>
862
863         * symcryptrun.c: Implement config file parsing.
864         
865         * Makefile.am (bin_PROGRAMS): Add symcryptrun.
866         (symcryptrun_SOURCES, symcryptrun_LDADD): New variables.
867         * symcryptrun.c: New file.
868
869 2005-03-31  Werner Koch  <wk@g10code.com>
870
871         * gpg-connect-agent.c (start_agent): Use PATHSEP_C instead of ':'.
872
873 2005-03-09  Werner Koch  <wk@g10code.com>
874
875         * gpgconf-comp.c <dirmngr>: Add honor-http-proxy.
876
877 2005-02-25  Werner Koch  <wk@g10code.com>
878
879         * no-libgcrypt.c (gcry_strdup): New.
880
881 2005-02-24  Werner Koch  <wk@g10code.com>
882
883         * gpg-connect-agent.c: New.
884         * Makefile.am: Add it. 
885
886 2004-12-21  Werner Koch  <wk@g10code.com>
887
888         * gpgconf-comp.c (get_config_pathname) [DOSISH]: Detect absolute
889         pathnames with a drive letter.
890
891 2004-12-15  Werner Koch  <wk@g10code.com>
892
893         * Makefile.am (bin_PROGRAMS) [W32]: Do not build watchgnupg.
894
895         * gpgconf-comp.c (gpg_agent_runtime_change) [W32]: No way yet to
896         send a signal.  Disable.
897         (change_options_file, change_options_program) [W32]: No link(2),
898         so we disable it.
899         (gc_component_change_options): Use rename instead of link.
900
901 2004-12-13  Werner Koch  <wk@g10code.com>
902
903         * gpgconf-comp.c <ignore-ocsp-service-url>: Fixed typo.
904
905 2004-11-24  Werner Koch  <wk@g10code.com>
906
907         * gpgconf-comp.c <dirmngr>: Add --ignore-http-dp, --ignore-ldap-dp
908         and --ignore-ocsp-service-url.
909
910 2004-11-23  Werner Koch  <wk@g10code.com>
911
912         * gpgconf-comp.c <dirmngr>: Add the proxy options.
913         <gpgsm>: Add --prefer-system-daemon.
914
915 2004-11-11  Werner Koch  <wk@g10code.com>
916
917         * watchgnupg.c (main): Fixed test for read error.
918
919 2004-10-22  Werner Koch  <wk@g10code.com>
920
921         * Makefile.am (bin_SCRIPTS): Add gpgsm-gencert.sh
922
923         * gpgsm-gencert.sh: Fixed copyright; its part of GnuPG thus FSF.
924
925 2004-10-01  Werner Koch  <wk@g10code.com>
926
927         * gpgconf-comp.c: Made all strings for --log-file read the same.
928         
929 2004-10-01  Werner Koch  <wk@g10code.com>
930
931         * gpgconf-comp.c (my_dgettext): Also switch codeset and directory
932         for the other used domains (i.e. dirmngr).
933
934         * gpgconf.c (main): Fixed translation markers.
935
936 2004-09-30  Werner Koch  <wk@g10code.com>
937
938         * gpgconf.c (i18n_init): Always use LC_ALL.
939
940         * Makefile.am: Adjusted for gettext 0.14.
941
942 2004-09-29  Werner Koch  <wk@g10code.com>
943
944         * gpgconf-comp.c: Made the entries fro GROUPs translatable.
945         Include i18n.h.
946         (my_dgettext): Hack to use the gnupg2 domain.
947
948 2004-08-09  Moritz Schulte  <moritz@g10code.com>
949
950         * gpgsm-gencert.sh: New file.
951
952 2004-06-16  Werner Koch  <wk@gnupg.org>
953
954         * rfc822parse.c (rfc822parse_get_field): Add arg VALUEOFF.
955
956 2004-06-14  Werner Koch  <wk@gnupg.org>
957
958         * no-libgcrypt.c (gcry_realloc, gcry_xmalloc, gcry_xcalloc): New.
959
960         * gpgconf-comp.c (retrieve_options_from_program) 
961         (retrieve_options_from_file, change_options_file) 
962         (change_options_program, gc_component_change_options): Replaced
963         getline by read_line and test for allocation failure.
964
965 2004-05-21  Marcus Brinkmann  <marcus@g10code.de>
966
967         * gpgconf-comp.c (gc_options_dirmngr): Remove CRL group, put its
968         only option "max-replies" into LDAP group.
969         (gc_component): Change description of dirmngr to "Directory
970         Manager".
971
972         * gpgconf-comp.c (gc_component_change_options): Move the
973         per-process backup file into a standard location.
974
975 2004-05-03  Werner Koch  <wk@gnupg.org>
976
977         * gpgconf-comp.c: Add --allow-mark-trusted for the gpg-agent.
978
979 2004-04-30  Werner Koch  <wk@gnupg.org>
980
981         * gpgconf-comp.c: Added more runtime flags for the gpg-agent
982         backend.
983
984 2004-04-29  Marcus Brinkmann  <marcus@g10code.de>
985
986         * gpgconf-comp.c (change_options_program): Turn on utf8-strings in
987         the gpgconf specific part of the config file for the GnuPG
988         backend.
989
990 2004-04-28  Werner Koch  <wk@gnupg.org>
991
992         * gpgconf-comp.c: Add --ocsp-signer for the dirmngr backend.
993
994 2004-04-20  Marcus Brinkmann  <marcus@g10code.de>
995
996         * gpgconf-comp.c (gc_options_gpg_agent): Change type of
997         ignore-cache-for-signing option to GC_ARG_TYPE_NONE.
998
999 2004-04-07  Werner Koch  <wk@gnupg.org>
1000
1001         * gpgconf-comp.c (my_dgettext): Switch the codeset once to utf-8.
1002         Allow building with out NLS.
1003
1004 2004-03-23  Marcus Brinkmann  <marcus@g10code.de>
1005
1006         * gpgconf-comp.c (gc_options_dirmngr): Set GC_OPT_FLAG_ARG_OPT for
1007         "LDAP Server".
1008         (change_options_file): Remove assertion that tests that this flag
1009         is not present.  Handle an empty string in OPTION->new_value.
1010
1011         * gpgconf.c (main): Remove obsolete warning.
1012
1013 2004-03-23  Werner Koch  <wk@gnupg.org>
1014
1015         * gpgconf-comp.c (gc_options_gpg): New.
1016         (gc_component_t, gc_component): Add GC_BACKEND_GPG.
1017         (gc_options_dirmngr): Add allow-ocsp.
1018
1019 2004-03-23  Marcus Brinkmann  <marcus@g10code.de>
1020
1021         * gpgconf-comp.c (gc_flag): Add missing flags.
1022
1023         * gpgconf-comp.c: Include <signal.h>.
1024         (gc_backend): Add new member runtime_change.
1025         (gpg_agent_runtime_change): New function.
1026         (gc_component_change_options): New variable runtime.  Initialize
1027         it.  If an option is changed that has the GC_OPT_FLAG_RUNTIME bit
1028         set, also set the corresponding runtime variable.  Finally, call
1029         the runtime_change callback of the backend if needed.   
1030
1031 2004-03-16  Werner Koch  <wk@gnupg.org>
1032
1033         * gpgconf-comp.c (gc_options_gpg_agent): Implemented.
1034         (gc_options_gpgsm, gc_options_scdaemon): Implemented.
1035         (gc_backend_t): Add GC_BACKEND_SCDAEMON.
1036
1037 2004-03-12  Marcus Brinkmann  <marcus@g10code.de>
1038
1039         * gpgconf-comp.c (gc_component_change_options): Set the filenames
1040         of the option's backend, not of the component.
1041         Also use GC_BACKEND_NR, not GC_COMPONENT_NR.
1042
1043 2004-03-09  Werner Koch  <wk@gnupg.org>
1044
1045         * gpgconf-comp.c [_riscos_]: Removed special code for RISC OS; we
1046         don't want to clutter our code with system dependent stuff.
1047
1048 2004-03-08  Marcus Brinkmann  <marcus@g10code.de>
1049
1050         * gpgconf-comp.c (retrieve_options_from_file): Quote each string
1051         in the list, not only the first.
1052
1053 2004-02-26  Marcus Brinkmann  <marcus@g10code.de>
1054
1055         * gpgconf-comp.c (gc_component_list_options): Do not print empty
1056         groups.
1057
1058         * gpgconf-comp.c (option_check_validity): Check if option is
1059         active.
1060         (change_options_file): Implement.
1061
1062         * gpgconf-comp.c (retrieve_options_from_program): Remove broken
1063         string handling.
1064
1065         * gpgconf-comp.c (change_options_program): Support all types of
1066         options, including list types.
1067
1068         * README.gpgconf: Fix description of arguments.
1069         * gpgconf-comp.c (option_check_validity): Rewritten to properly
1070         support optional arguments in lists.
1071
1072         * README.gpgconf: Add info about optional arg and arg type 0.
1073         * gpgconf-comp.c (gc_component_change_options): Parse list of
1074         arg type 0 options.
1075         (option_check_validity): Add new argument NEW_VALUE_NR.  Perform
1076         rigorous validity checks.
1077         (change_options_program): Disable an option also if we have a new
1078         value for it.
1079
1080 2004-02-25  Marcus Brinkmann  <marcus@g10code.de>
1081
1082         * gpgconf-comp.c (gc_component_list_options): Correct output for
1083         lists of arg type none.
1084         (struct gc_option): Add new member new_flags.
1085         (option_check_validity): Check OPTION->new_flags beside
1086         OPTION->new_value.  Add new argument FLAGS.
1087         (gc_component_change_options): Support default flag correctly.
1088         (change_options_program): Likewise.
1089
1090 2004-02-24  Marcus Brinkmann  <marcus@g10code.de>
1091
1092         * README.gpgconf: Revert last change.  Add new flags "default",
1093         "default desc" and "no arg desc".  Add new field ARGDEF.  Add new
1094         field FLAG to backend interface.
1095         * gpgconf-comp.c (struct gc_option): Make flags of type unsigned
1096         long.
1097         (gc_component_list_options): Adjust type for flags.
1098         Add default argument field.
1099         (retrieve_options_from_program): Use "1" as value for non-option
1100         arguments, not "Y".
1101         (gc_component_change_options): Read in flags from input.
1102
1103 2004-02-23  Marcus Brinkmann  <marcus@g10code.de>
1104
1105         * README.gpgconf: Change meaning of type 0 options value if it is
1106         the empty string or "0".
1107
1108         * gpgconf.h (struct): Add member runtime.
1109         * gpgconf.c: Add new option oRuntime.
1110         (main): Same here.
1111
1112         * gpgconf-comp.c (hextobyte): New function.
1113         (percent_deescape): New function.
1114         (get_config_pathname): Percent deescape pathname if taken from
1115         option (default) value.  Use default value only if it exists and
1116         is not empty.  Use empty string otherwise.  Don't include leading
1117         quote in pathname.
1118         (change_options_program): Percent deescape string before writing
1119         it out.
1120         
1121         * gpgconf-comp.c (gc_component_list_options): Do not skip groups
1122         on output.
1123
1124 2004-02-18  Werner Koch  <wk@gnupg.org>
1125
1126         * gpgconf-comp.c: Added empty components for gpgsm and scdaemon.
1127
1128 2004-02-12  Werner Koch  <wk@gnupg.org>
1129
1130         * watchgnupg.c (main): Implement option "--".
1131         (print_version): New.
1132
1133         * Makefile.am: Include cmacros.am for common flags.
1134
1135 2004-02-03  Werner Koch  <wk@gnupg.org>
1136
1137         * addgnupghome: Try to use getent, so that it also works for NIS
1138         setups.
1139
1140 2004-01-31  Marcus Brinkmann  <marcus@g10code.de>
1141
1142         * gpgconf-comp.c: Some bug fixes, parse only defaults from the
1143         program, and read the current values from the configuration file
1144         directly.
1145
1146 2004-01-30  Marcus Brinkmann  <marcus@g10code.de>
1147
1148         * gpgconf-comp.c (gc_error): New function, use it instead of
1149         error() throughout.
1150
1151         * gpgconf-comp.c: Use xmalloc, libcommon's asctimestamp and
1152         gnupg_get_time, fix error() invocation and use getline()
1153         consistently.
1154         
1155 2004-01-30  Werner Koch  <wk@gnupg.org>
1156
1157         * addgnupghome: Also set the group of copied files. 
1158
1159 2004-01-30  Werner Koch  <wk@gnupg.org>
1160
1161         * Makefile.am (sbin_SCRIPTS): New, to install addgnupghome.
1162         (EXTRA_DIST): Added rfc822parse.c rfc822parse.h gpgparsemail.c
1163         which might be useful for debugging.
1164
1165 2004-01-29  Werner Koch  <wk@gnupg.org>
1166
1167         * addgnupghome: New.
1168
1169 2004-01-29  Marcus Brinkmann  <marcus@g10code.de>
1170
1171         * gpgconf-list.c: File removed.
1172         * README.gpgconf: New file.
1173         * gpgconf-comp.c: New file.
1174         * Makefile.am (gpgconf_SOURCES): Remove gpgconf-list.c, add
1175         gpgconf-comp.c.
1176
1177 2004-01-16  Werner Koch  <wk@gnupg.org>
1178
1179         * watchgnupg.c (main): Need to use FD_ISSET for the client
1180         descriptors too; aiiih.  Set the listening socket to non-blocking.
1181
1182 2004-01-10  Werner Koch  <wk@gnupg.org>
1183
1184         * Makefile.am: Use GPG_ERROR_CFLAGS
1185         
1186 2004-01-05  Werner Koch  <wk@gnupg.org>
1187
1188         * Manifest: New.
1189         * gpgconf.c, gpgconf.h, gpgconf-list.c: New. A skeleton for now.
1190         * no-libgcrypt.c: New.
1191         * Makefile.am: Add above.
1192
1193 2003-12-23  Werner Koch  <wk@gnupg.org>
1194
1195         * Makefile.am: New.
1196         * watchgnupg.c: New.
1197
1198
1199  Copyright 2003, 2004, 2005, 2006, 2007, 2008,
1200            2009, 2010 Free Software Foundation, Inc.
1201
1202  This file is free software; as a special exception the author gives
1203  unlimited permission to copy and/or distribute it, with or without
1204  modifications, as long as this notice is preserved.
1205
1206  This file is distributed in the hope that it will be useful, but
1207  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1208  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.