d240e826a03c42b232b4145b6c75ce76f5c709f3
[gnupg.git] / NEWS
1 Noteworthy changes in version 2.1.x (under development)
2 -------------------------------------------------------
3
4  * Encrypted OpenPGP messages with trailing data (e.g. other OpenPGP
5    packets) are now correctly parsed.
6
7  * The GPGSM --audit-log feature is now more complete.
8
9  * The G13 tool for disk encryption key management has been added.
10
11  * The default for --include-cert is now to include all certificates
12    in the chain except for the root certificate.
13
14  * Numerical values may now be used as an alternative to the
15    debug-level keywords.
16
17
18 Noteworthy changes in version 2.0.13 (2009-09-04)
19 -------------------------------------------------
20
21  * GPG now generates 2048 bit RSA keys by default.  The default hash
22    algorithm preferences has changed to prefer SHA-256 over SHA-1.
23    2048 bit DSA keys are now generated to use a 256 bit hash algorithm
24
25  * The envvars XMODIFIERS, GTK_IM_MODULE and QT_IM_MODULE are now
26    passed to the Pinentry to make SCIM work.
27
28  * The GPGSM command --gen-key features a --batch mode and implements
29    all features of gpgsm-gencert.sh in standard mode.
30
31  * New option --re-import for GPGSM's IMPORT server command.
32
33  * Enhanced writing of existing keys to OpenPGP v2 cards.
34
35  * Add hack to the internal CCID driver to allow the use of some
36    Omnikey based card readers with 2048 bit keys.
37
38  * GPG now repeatly asks the user to insert the requested OpenPGP
39    card.  This can be disabled with --limit-card-insert-tries=1.
40
41  * Minor bug fixes.
42
43
44 Noteworthy changes in version 2.0.12 (2009-06-17)
45 -------------------------------------------------
46
47  * GPGSM now always lists ephemeral certificates if specified by
48    fingerprint or keygrip.
49
50  * New command "KEYINFO" for GPG_AGENT.  GPGSM now also returns
51    information about smartcards.
52
53  * Made sure not to leak file descriptors if running gpg-agent with a
54    command.  Restore the signal mask to solve a problem in Mono.
55
56  * Changed order of the confirmation questions for root certificates
57    and store negative answers in trustlist.txt.
58
59  * Better synchronization of concurrent smartcard sessions.
60
61  * Support 2048 bit OpenPGP cards.
62
63  * Support Telesec Netkey 3 cards.
64
65  * The gpg-protect-tool now uses gpg-agent via libassuan.  Under
66    Windows the Pinentry will now be put into the foreground.
67
68  * Changed code to avoid a possible Mac OS X system freeze.
69
70
71 Noteworthy changes in version 2.0.11 (2009-03-03)
72 -------------------------------------------------
73
74  * Fixed a problem in SCDAEMON which caused unexpected card resets.
75
76  * SCDAEMON is now aware of the Geldkarte.
77
78  * The SCDAEMON option --allow-admin is now used by default.
79
80  * GPGCONF now restarts SCdaemon if necessary.
81
82  * The default cipher algorithm in GPGSM is now again 3DES.  This is
83    due to interoperability problems with Outlook 2003 which still
84    can't cope with AES.
85
86
87 Noteworthy changes in version 2.0.10 (2009-01-12)
88 -------------------------------------------------
89
90  * [gpg] New keyserver helper gpg2keys_kdns as generic DNS CERT
91    lookup.  Run with --help for a short description.  Requires the
92    ADNS library.
93
94  * [gpg] New mechanisms "local" and "nodefault" for --auto-key-locate.
95    Fixed a few problems with this option.
96
97  * [gpg] New command --locate-keys.
98
99  * [gpg] New options --with-sig-list and --with-sig-check.
100
101  * [gpg] The option "-sat" is no longer an alias for --clearsign.
102
103  * [gpg] The option --fixed-list-mode is now implicitly used and obsolete.
104
105  * [gpg] New control statement %ask-passphrase for the unattended key
106    generation.
107
108  * [gpg] The algorithm to compute the SIG_ID status has been changed.
109
110  * [gpgsm] Now uses AES by default.
111
112  * [gpgsm] Made --output option work with --export-secret-key-p12.
113
114  * [gpg-agent] Terminate process if the own listening socket is not
115    anymore served by ourself.
116
117  * [scdaemon] Made it more robust on W32.
118
119  * [gpg-connect-agent] Accept commands given as command line arguments.
120
121  * [w32] Initialized the socket subsystem for all keyserver helpers.
122
123  * [w32] The sysconf directory has been moved from a subdirectory of
124    the installation directory to %CSIDL_COMMON_APPDATA%/GNU/etc/gnupg.
125
126  * [w32] The gnupg2.nls directory is not anymore used.  The standard
127    locale directory is now used.  
128
129  * [w32] Fixed a race condition between gpg and gpgsm in the use of
130    temporary file names.
131
132  * The gpg-preset-passphrase mechanism works again.  An arbitrary
133    string may now be used for a custom cache ID.
134
135  * Admin PINs are cached again (bug in 2.0.9).
136
137  * Support for version 2 OpenPGP cards.
138
139  * Libgcrypt 1.4 is now required.
140
141
142 Noteworthy changes in version 2.0.9 (2008-03-26)
143 ------------------------------------------------
144
145  * Gpgsm always tries to locate missing certificates from a running
146    Dirmngr's cache.
147
148  * Tweaks for Windows.
149
150  * The Admin PIN for OpenPGP cards may now be entered with the pinpad.
151
152  * Improved certificate chain construction.
153
154  * Extended the PKITS framework.
155
156  * Fixed a bug in the ambigious name detection.
157
158  * Fixed possible memory corruption while importing OpenPGP keys (bug
159    introduced with 2.0.8). [CVE-2008-1530]
160
161  * Minor bug fixes.
162
163
164 Noteworthy changes in version 2.0.8 (2007-12-20)
165 ------------------------------------------------
166
167  * Enhanced gpg-connect-agent with a small scripting language.
168
169  * New option --list-config for gpgconf.
170
171  * Fixed a crash in gpgconf.
172
173  * Gpg-agent now supports the passphrase quality bar of the latest
174    Pinentry.
175
176  * The envvars XAUTHORITY and PINENTRY_USER_DATA are now passed to the
177    Pinentry.
178
179  * Fixed the auto creation of the key stub for smartcards.  
180
181  * Fixed a rare bug in decryption using the OpenPGP card.
182
183  * Creating DSA2 keys is now possible.
184
185  * New option --extra-digest-algo for gpgsm to allow verification of
186    broken signatures.
187
188  * Allow encryption with legacy Elgamal sign+encrypt keys with option
189    --rfc2440.
190
191  * Windows is now a supported platform.
192
193  * Made sure that under Windows the file permissions of the socket are
194    taken into account.  This required a change of our socket emulation
195    code and changed the IPC protocol under Windows.
196
197
198 Noteworthy changes in version 2.0.7 (2007-09-10)
199 ------------------------------------------------
200
201  * Fixed encryption problem if duplicate certificates are in the
202    keybox.
203
204  * Made it work on Windows Vista.  Note that the entire Windows port
205    is still considered Beta.
206
207  * Add new options min-passphrase-nonalpha, check-passphrase-pattern,
208    enforce-passphrase-constraints and max-passphrase-days to
209    gpg-agent.
210
211  * Add command --check-components to gpgconf.  Gpgconf now uses the
212    installed versions of the programs and does not anymore search via
213    PATH for them.
214
215
216 Noteworthy changes in version 2.0.6 (2007-08-16)
217 ------------------------------------------------
218
219  * GPGSM does now grok --default-key.
220
221  * GPGCONF is now aware of --default-key and --encrypt-to. 
222
223  * GPGSM does again correctly print the serial number as well the the
224    various keyids.  This was broken since 2.0.4.
225
226  * New option --validation-model and support for the chain-model.
227
228  * Improved Windows support.
229
230  
231 Noteworthy changes in version 2.0.5 (2007-07-05)
232 ------------------------------------------------
233
234  * Switched license to GPLv3.
235
236  * Basic support for Windows.  Run "./autogen.sh --build-w32" to build
237    it.  As usual the mingw cross compiling toolchain is required.
238
239  * Fixed bug when using the --p12-charset without --armor.
240
241  * The command --gen-key may now be used instead of the
242    gpgsm-gencert.sh script.
243
244  * Changed key generation to reveal less information about the
245    machine.  Bug fixes for gpg2's card key generation.
246
247
248 Noteworthy changes in version 2.0.4 (2007-05-09)
249 ------------------------------------------------
250
251  * The server mode key listing commands are now also working for
252    systems without the funopen/fopencookie API.
253
254  * PKCS#12 import now tries several encodings in case the passphrase
255    was not utf-8 encoded.  New option --p12-charset for gpgsm.
256
257  * Improved the libgcrypt logging support in all modules.
258
259
260 Noteworthy changes in version 2.0.3 (2007-03-08)
261 ------------------------------------------------
262
263  * By default, do not allow processing multiple plaintexts in a single
264    stream.  Many programs that called GnuPG were assuming that GnuPG
265    did not permit this, and were thus not using the plaintext boundary
266    status tags that GnuPG provides.  This change makes GnuPG reject
267    such messages by default which makes those programs safe again.
268    --allow-multiple-messages returns to the old behavior. [CVE-2007-1263].
269
270  * New --verify-option show-primary-uid-only. 
271
272  * gpgconf may now reads a global configuration file to select which
273    options are changeable by a frontend.  The new applygnupgdefaults
274    tool may be used by an admin to set default options for all users.
275
276  * The PIN pad of the Cherry XX44 keyboard is now supported.  The
277    DINSIG and the NKS applications are now also aware of PIN pads.
278
279
280 Noteworthy changes in version 2.0.2 (2007-01-31)
281 ------------------------------------------------
282
283  * Fixed a serious and exploitable bug in processing encrypted
284    packages. [CVE-2006-6235].
285
286  * Added --passphrase-repeat to set the number of times GPG will
287    prompt for a new passphrase to be repeated.  This is useful to help
288    memorize a new passphrase.  The default is 1 repetition.
289
290  * Using a PIN pad does now also work for the signing key.
291
292  * A warning is displayed by gpg-agent if a new passphrase is too
293    short.  New option --min-passphrase-len defaults to 8.
294
295  * The status code BEGIN_SIGNING now shows the used hash algorithms.
296
297
298 Noteworthy changes in version 2.0.1 (2006-11-28)
299 ------------------------------------------------
300
301  * Experimental support for the PIN pads of the SPR 532 and the Kaan
302    Advanced card readers.  Add "disable-keypad" scdaemon.conf if you
303    don't want it.  Does currently only work for the OpenPGP card and
304    its authentication and decrypt keys.
305
306  * Fixed build problems on some some platforms and crashes on amd64.
307
308  * Fixed a buffer overflow in gpg2. [bug#728,CVE-2006-6169]
309
310
311 Noteworthy changes in version 2.0.0 (2006-11-11)
312 ------------------------------------------------
313
314  * First stable version of a GnuPG integrating OpenPGP and S/MIME.
315
316
317 Noteworthy changes in version 1.9.95 (2006-11-06)
318 -------------------------------------------------
319
320  * Minor bug fixes.
321
322
323 Noteworthy changes in version 1.9.94 (2006-10-24)
324 -------------------------------------------------
325
326  * Keys for gpgsm may now be specified using a keygrip.  A keygrip is
327    indicated by a prefixing it with an ampersand.
328
329  * gpgconf now supports switching the CMS cipher algo (e.g. to AES).
330
331  * New command --gpgconf-test for all major tools. This may be used to
332    check whether the configuration file is sane.
333
334
335 Noteworthy changes in version 1.9.93 (2006-10-18)
336 -------------------------------------------------
337
338  * In --with-validation mode gpgsm will now also ask whether a root
339    certificate should be trusted.
340
341  * Link to Pth only if really necessary.
342
343  * Fixed a pubring corruption bug in gpg2 occurring when importing
344    signatures or keys with insane lengths.
345
346  * Fixed v3 keyID calculation bug in gpg2.
347
348  * More tweaks for certificates without extensions.
349
350
351 Noteworthy changes in version 1.9.92 (2006-10-11)
352 -------------------------------------------------
353
354  * Bug fixes.
355
356
357 Noteworthy changes in version 1.9.91 (2006-10-04)
358 -------------------------------------------------
359
360  * New "relax" flag for trustlist.txt to allow root CA certificates
361    without BasicContraints.
362
363  * [gpg2] Removed the -k PGP 2 compatibility hack.  -k is now an
364    alias for --list-keys.
365
366  * [gpg2] Print a warning if "-sat" is used instead of "--clearsign".
367
368
369 Noteworthy changes in version 1.9.90 (2006-09-25)
370 -------------------------------------------------
371
372  * Made readline work for gpg.
373
374  * Cleanups und minor bug fixes.
375
376  * Included translations from gnupg 1.4.5.
377
378
379 Noteworthy changes in version 1.9.23 (2006-09-18)
380 -------------------------------------------------
381
382  * Regular man pages for most tools are now build directly from the
383    Texinfo source.
384
385  * The gpg code from 1.4.5 has been fully merged into this release.
386    The configure option --enable-gpg is still required to build this
387    gpg part.  For production use of OpenPGP the gpg version 1.4.5 is
388    still recommended.  Note, that gpg will be installed under the name
389    gpg2 to allow coexisting with an 1.4.x gpg.
390
391  * API change in gpg-agent's pkdecrypt command.  Thus an older gpgsm
392    may not be used with the current gpg-agent.
393
394  * The scdaemon will now call a script on reader status changes.
395
396  * gpgsm now allows file descriptor passing for "INPUT", "OUTPUT" and
397    "MESSAGE".
398
399  * The gpgsm server may now output a key listing to the output file
400    handle. This needs to be enabled using "OPTION list-to-output=1".
401
402  * The --output option of gpgsm has now an effect on list-keys.
403
404  * New gpgsm commands --dump-chain and list-chain.
405
406  * gpg-connect-agent has new options to utilize descriptor passing.
407
408  * A global trustlist may now be used.  See doc/examples/trustlist.txt.
409
410  * When creating a new pubring.kbx keybox common certificates are
411    imported.
412
413
414 Noteworthy changes in version 1.9.22 (2006-07-27)
415 -------------------------------------------------
416
417  * Enhanced pkcs#12 support to allow import from simple keyBags.
418
419  * Exporting to pkcs#12 now create bag attributes so that Mozilla is
420    able to import the files.
421
422  * Fixed uploading of certain keys to the smart card.
423
424
425 Noteworthy changes in version 1.9.21 (2006-06-20)
426 -------------------------------------------------
427
428  * New command APDU for scdaemon to allow using it for general card
429    access.  Might be used through gpg-connect-agent by using the SCD
430    prefix command.
431
432  * Support for the CardMan 4040 PCMCIA reader (Linux 2.6.15 required).
433
434  * Scdaemon does not anymore reset cards at the end of a connection. 
435
436  * Kludge to allow use of Bundesnetzagentur issued X.509 certificates.
437
438  * Added --hash=xxx option to scdaemon's PKSIGN command.
439
440  * Pkcs#12 files are now created with a MAC.  This is for better
441    interoperability.
442
443  * Collected bug fixes and minor other changes.
444
445
446 Noteworthy changes in version 1.9.20 (2005-12-20)
447 -------------------------------------------------
448
449  * Importing pkcs#12 files created be recent versions of Mozilla works
450    again.
451
452  * Basic support for qualified signatures.
453
454  * New debug tool gpgparsemail. 
455
456
457 Noteworthy changes in version 1.9.19 (2005-09-12)
458 -------------------------------------------------
459
460  * The Belgian eID card is now supported for signatures and ssh.
461    Other pkcs#15 cards should work as well.
462
463  * Fixed bug in --export-secret-key-p12 so that certificates are again
464    included.
465
466
467 Noteworthy changes in version 1.9.18 (2005-08-01)
468 -------------------------------------------------
469
470  * [gpgsm] Now allows for more than one email address as well as URIs
471    and dnsNames in certificate request generation.  A keygrip may be
472    given to create a request from an existing key.
473
474  * A couple of minor bug fixes.
475
476
477 Noteworthy changes in version 1.9.17 (2005-06-20)
478 -------------------------------------------------
479
480  * gpg-connect-agent has now features to handle Assuan INQUIRE
481    commands.
482
483  * Internal changes for OpenPGP cards. New Assuan command WRITEKEY.
484
485  * GNU Pth is now a hard requirement.
486
487  * [scdaemon] Support for OpenSC has been removed.  Instead a new and
488    straightforward pkcs#15 modules has been written.  As of now it
489    does allows only signing using TCOS cards but we are going to
490    enhance it to match all the old capabilities.
491
492  * [gpg-agent] New option --write-env-file and Assuan command
493    UPDATESTARTUPTTY.
494
495  * [gpg-agent] New option --default-cache-ttl-ssh to set the TTL for
496    SSH passphrase caching independent from the other passphrases.
497
498
499 Noteworthy changes in version 1.9.16 (2005-04-21)
500 -------------------------------------------------
501
502  * gpg-agent does now support the ssh-agent protocol and thus allows
503    to use the pinentry as well as the OpenPGP smartcard with ssh.
504
505  * New tool gpg-connect-agent as a general client for the gpg-agent.
506
507  * New tool symcryptrun as a wrapper for certain encryption tools.
508
509  * The gpg tool is not anymore build by default because those gpg
510    versions available in the gnupg 1.4 series are far more matured.
511
512
513 Noteworthy changes in version 1.9.15 (2005-01-13)
514 -------------------------------------------------
515
516  * Fixed passphrase caching bug.
517
518  * Better support for CCID readers; the reader from Cherry RS 6700 USB
519    does now work.
520
521
522 Noteworthy changes in version 1.9.14 (2004-12-22)
523 -------------------------------------------------
524
525  * [gpg-agent] New option --use-standard-socket to allow the use of a
526    fixed socket.  gpgsm falls back to this socket if GPG_AGENT_INFO
527    has not been set.
528
529  * Ported to MS Windows with some functional limitations.
530
531  * New tool gpg-preset-passphrase.
532
533
534 Noteworthy changes in version 1.9.13 (2004-12-03)
535 -------------------------------------------------
536
537  * [gpgsm] New option --prefer-system-dirmngr.
538
539  * Minor cleanups and debugging aids.
540
541
542 Noteworthy changes in version 1.9.12 (2004-10-22)
543 -------------------------------------------------
544
545  * [scdaemon] Partly rewrote the PC/SC code.
546
547  * Removed the sc-investigate tool.  It is now in a separate package
548    available at ftp://ftp.g10code.com/g10code/gscutils/ .
549
550  * [gpg-agent] Fixed logging problem.
551
552
553 Noteworthy changes in version 1.9.11 (2004-10-01)
554 -------------------------------------------------
555
556  * When using --import along with --with-validation, the imported
557    certificates are validated and only imported if they are fully
558    valid.
559
560  * [gpg-agent] New option --max-cache-ttl.
561
562  * [gpg-agent] When used without --daemon or --server, gpg-agent now
563    check whether a agent is already running and usable.
564
565  * Fixed some i18n problems.
566
567
568 Noteworthy changes in version 1.9.10 (2004-07-22)
569 -------------------------------------------------
570
571  * Fixed a serious bug in the checking of trusted root certificates.
572
573  * New configure option --enable-agent-pnly allows to build and
574    install just the agent.
575
576  * Fixed a problem with the log file handling.
577
578
579 Noteworthy changes in version 1.9.9 (2004-06-08)
580 ------------------------------------------------
581
582  * [gpg-agent] The new option --allow-mark-trusted is now required to
583    allow gpg-agent to add a key to the trustlist.txt after user
584    confirmation.
585
586  * Creating PKCS#10 requests does now honor the key usage.
587
588
589 Noteworthy changes in version 1.9.8 (2004-04-29)
590 ------------------------------------------------
591
592  * [scdaemon] Overhauled the internal CCID driver.
593
594  * [scdaemon] Status files named ~/.gnupg/reader_<n>.status are now
595    written when using the internal CCID driver.
596
597  * [gpgsm] New commands --dump-{,secret,external}-keys to show a very
598    detailed view of the certificates.
599
600  * The keybox gets now compressed after 3 hours and ephemeral
601    stored certificates are deleted after about a day.
602
603  * [gpg] Usability fixes for --card-edit.  Note, that this has already
604    been ported back to gnupg-1.3
605
606
607 Noteworthy changes in version 1.9.7 (2004-04-06)
608 ------------------------------------------------
609
610  * Instrumented the modules for gpgconf.
611
612  * Added support for DINSIG card applications.
613
614  * Include the smimeCapabilities attribute with signed messages.
615
616  * Now uses the gettext domain "gnupg2" to avoid conflicts with gnupg
617    versions < 1.9.
618
619
620 Noteworthy changes in version 1.9.6 (2004-03-06)
621 ------------------------------------------------
622
623  * Code cleanups and bug fixes.
624
625
626 Noteworthy changes in version 1.9.5 (2004-02-21)
627 ------------------------------------------------
628
629  * gpg-protect-tool gets now installed into libexec as it ought to be.
630    Cleaned up the build system to better comply with the coding
631    standards.
632
633  * [gpgsm] The --import command is now able to autodetect pkcs#12
634    files and import secret and private keys from this file format.
635    A new command --export-secret-key-p12 is provided to allow
636    exporting of secret keys in PKCS\#12 format.
637
638  * [gpgsm] The pinentry will now present a description of the key for
639    whom the passphrase is requested.
640
641  * [gpgsm] New option --with-validation to check the validity of key
642    while listing it.
643
644  * New option --debug-level={none,basic,advanced,expert,guru} to map
645    the debug flags to sensitive levels on a per program base.
646
647
648 Noteworthy changes in version 1.9.4 (2004-01-30)
649 ------------------------------------------------
650
651  * Added support for the Telesec NKS 2.0 card application.
652
653  * Added simple tool addgnupghome to create .gnupg directories from
654    /etc/skel/.gnupg.
655
656  * Various minor bug fixes and cleanups; mainly gpgsm and gpg-agent
657    related.
658
659
660 Noteworthy changes in version 1.9.3 (2003-12-23)
661 ------------------------------------------------
662
663  * New gpgsm options --{enable,disable}-ocsp to validate keys using
664    OCSP. This option requires a not yet released DirMngr version.
665    Default is disabled.
666
667  * The --log-file option may now be used to print logs to a socket.
668    Prefix the socket name with "socket://" to enable this.  This does
669    not work on all systems and falls back to stderr if there is a
670    problem with the socket.
671
672  * The options --encrypt-to and --no-encrypt-to now work the same in
673    gpgsm as in gpg.  Note, they are also used in server mode.
674
675  * Duplicated recipients are now silently removed in gpgsm.
676
677
678 Noteworthy changes in version 1.9.2 (2003-11-17)
679 ------------------------------------------------
680
681  * On card key generation is no longer done using the --gen-key
682    command but from the menu provided by the new --card-edit command.
683
684  * PINs are now properly cached and there are only 2 PINs visible.
685    The 3rd PIN (CHV2) is internally syncronized with the regular PIN.
686
687  * All kind of other internal stuff.
688
689
690 Noteworthy changes in version 1.9.1 (2003-09-06)
691 ------------------------------------------------
692
693  * Support for OpenSC is back. scdaemon supports a --disable-opensc to
694    disable OpenSC use at runtime, so that PC/SC or ct-API can still be
695    used directly.
696
697  * Rudimentary support for the SCR335 smartcard reader using an
698    internal driver.  Requires current libusb from CVS.
699
700  * Bug fixes.
701
702
703 Noteworthy changes in version 1.9.0 (2003-08-05)
704 ------------------------------------------------
705
706       ====== PLEASE SEE README-alpha =======
707
708  * gpg has been renamed to gpg2 and gpgv to gpgv2.  This is a
709    temporary change to allow co-existing with stable gpg versions.
710
711  * ~/.gnupg/gpg.conf-1.9.0 is fist tried as config file before the
712    usual gpg.conf.
713
714  * Removed the -k, -kv and -kvv commands.  -k is now an alias to
715    --list-keys.  New command -K as alias for --list-secret-keys.
716
717  * Removed --run-as-shm-coprocess feature.
718
719  * gpg does now also use libgcrypt, libgpg-error is required.
720
721  * New gpgsm commands --call-dirmngr and --call-protect-tool.
722
723  * Changing a passphrase is now possible using "gpgsm --passwd"
724
725  * The content-type attribute is now recognized and created.
726
727  * The agent does now reread certain options on receiving a HUP.
728
729  * The pinentry is now forked for each request so that clients with
730    different environments are supported.  When running in daemon mode
731    and --keep-display is not used the DISPLAY variable is ignored.
732
733  * Merged stuff from the newpg branch and started this new
734    development branch.
735
736
737  Copyright 2002, 2003, 2004, 2005, 2006, 2007,
738            2008, 2009  Free Software Foundation, Inc.
739
740  This file is free software; as a special exception the author gives
741  unlimited permission to copy and/or distribute it, with or without
742  modifications, as long as this notice is preserved.
743
744  This file is distributed in the hope that it will be useful, but
745  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
746  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.