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