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