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