6 years agogpg: Import only packets which are allowed in a keyblock.
Werner Koch [Thu, 20 Dec 2012 08:43:41 +0000 (09:43 +0100)]
gpg: Import only packets which are allowed in a keyblock.

* g10/import.c (valid_keyblock_packet): New.
(read_block): Store only valid packets.

A corrupted key, which for example included a mangled public key
encrypted packet, used to corrupt the keyring.  This change skips all
packets which are not allowed in a keyblock.

GnuPG-bug-id: 1455

(cherry-picked from commit 3a4b96e665fa639772854058737ee3d54ba0694e)

6 years agoFixed indentation and indented cpp directives
Werner Koch [Wed, 19 Dec 2012 14:30:17 +0000 (15:30 +0100)]
Fixed indentation and indented cpp directives


6 years agogpg: Make commit 258192d4 actually work
Werner Koch [Wed, 19 Dec 2012 10:47:23 +0000 (11:47 +0100)]
gpg: Make commit 258192d4 actually work

* g10/sign.c (update_keysig_packet): Use digest_algo.

6 years agogpg: Suppress "public key already present" in quiet mode.
Werner Koch [Wed, 19 Dec 2012 10:21:26 +0000 (11:21 +0100)]
gpg: Suppress "public key already present" in quiet mode.

* g10/pkclist.c (build_pk_list): Print two diagnostics only in
non-quiet mode.

(back-ported from commit 8325d616593187ff227853de0295e3269b96edcb)

6 years agoRemove trailing white space from a file
Werner Koch [Wed, 19 Dec 2012 10:21:26 +0000 (11:21 +0100)]
Remove trailing white space from a file


6 years agoState that disclaimers are not anymore needed for translations.
Werner Koch [Tue, 18 Dec 2012 18:54:23 +0000 (19:54 +0100)]
State that disclaimers are not anymore needed for translations.


6 years agojnlib: Add meta option ignore-invalid-option.
Werner Koch [Tue, 18 Dec 2012 17:06:41 +0000 (18:06 +0100)]
jnlib: Add meta option ignore-invalid-option.

* jnlib/argparse.c (iio_item_def_s, IIO_ITEM_DEF): New.
(initialize): Init field IIO_LIST.
(ignore_invalid_option_p): New.
(ignore_invalid_option_add): New.
(ignore_invalid_option_clear): New.
(optfile_parse): Implement meta option.

This option is currently of no use.  However, as soon as it has been
deployed in all stable versions of GnuPG, it will allow the use of the
same configuration file with an old and a new version of GnuPG.  For
example: If a new version implements the option "foobar", and a user
uses it in gpg.conf, an old version of gpg would bail out with the
error "invalid option".  To avoid that the following line can be put
above that option in gpg.conf

  ignore-invalid-option foobar

This meta option may be given several times or several option names
may be given as arguments (space delimited).  Note that this option is
not available on the command line.

(cherry-picked from commit 41d564333d35c923f473aa90625d91f8fe18cd0b)

6 years agoNo point in defaulting try-dns-srv to on if we don't have SRV support.
David Shaw [Tue, 18 Dec 2012 05:08:51 +0000 (00:08 -0500)]
No point in defaulting try-dns-srv to on if we don't have SRV support.

* keyserver/gpgkeys_hkp.c (main): Only default try-dns-srv to on if we
  have SRV support in the first place.

6 years agoIssue 1447: Pass proper Host header and SNI when SRV is used with curl.
David Shaw [Tue, 18 Dec 2012 04:52:15 +0000 (23:52 -0500)]
Issue 1447: Pass proper Host header and SNI when SRV is used with curl.

* Check for inet_ntop.

* m4/libcurl.m4: Provide a #define for the version of the curl

* keyserver/gpgkeys_hkp.c (main, srv_replace): Call getaddrinfo() on
  each target.  Once we find one that resolves to an address (whether
  IPv4 or IPv6), pass it into libcurl via CURLOPT_RESOLVE using the
  SRV name as the "host".  Force the HTTP Host header to be the same.

6 years agoPart of issue 1447: Pass proper Host header when SRV is used.
David Shaw [Sat, 15 Dec 2012 15:35:19 +0000 (10:35 -0500)]
Part of issue 1447: Pass proper Host header when SRV is used.

* common/http.c (send_request, connect_server): Set proper Host header
  (no :port, host is that of the SRV) when SRV is used in the

6 years agoFix issue 1446: honor ports given in SRV responses.
David Shaw [Sat, 15 Dec 2012 15:11:11 +0000 (10:11 -0500)]
Fix issue 1446: honor ports given in SRV responses.

* common/http.c (send_request, connect_server, http_open): Use a
  struct srv instead of a single srvtag so we can pass the chosen host
  and port back to the caller.
  (connect_server): Use the proper port in the HAVE_GETADDRINFO case.

* keyserver/curl-shim.c (curl_easy_perform): Use struct srv and log
  chosen host and port.

* keyserver/gpgkeys_hkp.c (main): Properly take the port given by SRV.

6 years agoSCD: Fix the process of writing key or generating key.
NIIBE Yutaka [Thu, 13 Dec 2012 04:36:23 +0000 (13:36 +0900)]
SCD: Fix the process of writing key or generating key.

* scd/app-openpgp.c (store_fpr): Flush KEY-FPR and KEY-TIME.

6 years agoRevert SCD changes of 2010-05-03 (scd/ChangeLog 2010-03-17).
NIIBE Yutaka [Fri, 7 Dec 2012 01:31:37 +0000 (10:31 +0900)]
Revert SCD changes of 2010-05-03 (scd/ChangeLog 2010-03-17).

* scd/apdu.c (pcsc_no_service): Remove.
(open_pcsc_reader_direct, open_pcsc_reader_wrapped): Remove
pcsc_no_service support.
(apdu_open_reader): Remove R_NO_SERVICE.
* scd/apdu.h (apdu_open_reader): Remove R_NO_SERVICE.
* scd/command.c (reader_disabled): Remove.
(get_reader_slot): Follow the change of R_NO_SERVICE.
(open_card, cmd_serialno, scd_command_handler): Remove reader_disabled
* scd/sc-copykeys.c (main): Follow the change of R_NO_SERVICE.
Daemon should handle all possible cases.  Even if such a difficult
case like reader_disabled, it should not exit.

6 years agoDon't keep opening unavailable card reader.
NIIBE Yutaka [Thu, 22 Nov 2012 07:04:51 +0000 (16:04 +0900)]
Don't keep opening unavailable card reader.

* scd/command.c (update_reader_status_file): Don't call

This fix has a impact that the insertion of a card reader will not be
detected upon the insertion, but will be deferred until user tries to
access his card.

6 years agoUpdate sample keys
David Shaw [Fri, 30 Nov 2012 18:14:09 +0000 (13:14 -0500)]
Update sample keys

6 years agoThe keyserver search menu should honor --keyid-format
David Shaw [Thu, 29 Nov 2012 17:00:46 +0000 (12:00 -0500)]
The keyserver search menu should honor --keyid-format

* keyserver.c (print_keyrec): Honor --keyid-format when getting back
  full fingerprints from the keyserver (the comment in the code was
  correct, the code was not).

6 years agoFix printing of ECC algo names in hkp keyserver listings.
Werner Koch [Tue, 27 Nov 2012 16:35:16 +0000 (17:35 +0100)]
Fix printing of ECC algo names in hkp keyserver listings.

* g10/misc.c (map_pk_openpgp_to_gcry): New.
* g10/keyserver.c (print_keyrec): Map OpenPGP algorithm ids.

Although we don't have support for ECC, we want to print a proper
algorithm name in keyserver listings.  This will only work while using
a ECC enabled Libgcrypt.  Problem reported by Kristian Fiskerstrand.

6 years agoAllow decryption with card keys > 3072 bit
Werner Koch [Tue, 6 Nov 2012 13:39:22 +0000 (14:39 +0100)]
Allow decryption with card keys > 3072 bit

* scd/command.c (MAXLEN_SETDATA): New.
(cmd_setdata): Add option --append.
* g10/call-agent.c (agent_scd_pkdecrypt): Use new option for long data

* scd/app-openpgp.c (struct app_local_s): Add field manufacturer.
(app_select_openpgp): Store manufacturer.
(do_decipher): Print a note for broken cards.


Please note that I was not able to run a full test because I only have
broken cards (S/N < 346) available.

6 years agoRemove trailing white space from some files
Werner Koch [Tue, 6 Nov 2012 13:34:32 +0000 (14:34 +0100)]
Remove trailing white space from some files


6 years agoagent: Fix wrong use of gcry_sexp_build_array
NIIBE Yutaka [Wed, 31 Oct 2012 07:09:06 +0000 (16:09 +0900)]
agent: Fix wrong use of gcry_sexp_build_array

* findkey.c (agent_public_key_from_file): Fix use of

A test case leading to a segv in Libgcrypt is

  gpg-connect-agent \
    "READKEY 9277C5875C8AFFCB727661C18BE4E0A0DEED9260" /bye

The keygrip was created by "monkeysphere s", which has a comment.

gcry_sexp_build_array expects pointers to the arguments which is quite
surprising.  Probably ARG_NEXT was accidentally implemented wrongly.
Anyway, we can't do anything about it and thus need to fix the check
the users of this function.

Some-comments-by: Werner Koch <>
6 years agoSCD: Upon error, open_pcsc_reader_wrapped does same as _direct.
NIIBE Yutaka [Wed, 31 Oct 2012 02:02:58 +0000 (11:02 +0900)]
SCD: Upon error, open_pcsc_reader_wrapped does same as _direct.

* scd/apdu.c (PCSC_E_NO_SERVICE): New.
(open_pcsc_reader_direct): Use PCSC_E_NO_SERVICE.
(open_pcsc_reader_wrapped): Set pcsc_no_service.

6 years agoUpdate French translation
Werner Koch [Fri, 24 Aug 2012 15:36:55 +0000 (17:36 +0200)]
Update French translation

* po/fr.po: Update.

6 years agoFix German translation and msgmerge other po files
Werner Koch [Fri, 24 Aug 2012 09:30:41 +0000 (11:30 +0200)]
Fix German translation and msgmerge other po files


6 years agoFix typos spotted during translations
David Prévot [Wed, 22 Aug 2012 16:53:57 +0000 (12:53 -0400)]
Fix typos spotted during translations

agent/genkey.c: s/to to/to/
sm/*.c: s/failed to allocated/failed to allocate/
sm/certlist.c: s/should have not/should not have/

Consistency fix:

* g10/gpg.c, kbx/kbxutil.c, sm/gpgsm.c: uppercase after Syntax

6 years agoActually show translators comments in PO files
David Prévot [Wed, 22 Aug 2012 16:53:56 +0000 (12:53 -0400)]
Actually show translators comments in PO files

6 years agoKeep previous msgids of translated messages
David Prévot [Wed, 22 Aug 2012 16:53:55 +0000 (12:53 -0400)]
Keep previous msgids of translated messages

* po/ Use --previous with msgmerge.

6 years agoscd: Add forgotten VENDOR_FSIJ to ccid-driver.
NIIBE Yutaka [Fri, 20 Jul 2012 07:34:07 +0000 (16:34 +0900)]
scd: Add forgotten VENDOR_FSIJ to ccid-driver.

* scd/ccid-driver.c (ccid_transceive_secure): Handle VENDOR_FSIJ.

7 years agoscd: handle reader/token removal.
NIIBE Yutaka [Sun, 24 Jun 2012 01:45:49 +0000 (10:45 +0900)]
scd: handle reader/token removal.
* scd/apdu.c (pcsc_error_to_sw): PCSC_E_UNKNOWN_READER means

7 years agoscd: Fix updating slot status.
NIIBE Yutaka [Fri, 22 Jun 2012 01:51:12 +0000 (10:51 +0900)]
scd: Fix updating slot status.
* scd/comman.c (do_reset): Let clear card_removed flag.

7 years agoscd: acquire lock in new_reader_slot.
NIIBE Yutaka [Mon, 18 Jun 2012 06:08:01 +0000 (15:08 +0900)]
scd: acquire lock in new_reader_slot.

* scd/apdu.c (new_reader_slot): Acquire lock.
  (open_ct_reader, open_pcsc_reader_direct, open_pcsc_reader_wrapped)
  (open_ccid_reader, open_rapdu_reader): Release lock.

Fixes a test case of:
   No libpcsclite1 installed.
   Run gpg-agent
   Run command "gpg-connect-agent learn /bye" with no card/token
   Sometimes it fails: ERR 100663356 Not supported <SCD>
   While it should be always: ERR 100663404 Card error <SCD>

7 years agoscd: move lock_slot, trylock_slot, unlock_slot functions.
NIIBE Yutaka [Mon, 18 Jun 2012 05:52:53 +0000 (14:52 +0900)]
scd: move lock_slot, trylock_slot, unlock_slot functions.

* scd/apdu.c (lock_slot, trylock_slot, unlock_slot): Move.

This is for upcoming changes.

7 years agoscd: Fix merge mistake.
NIIBE Yutaka [Fri, 15 Jun 2012 07:46:59 +0000 (16:46 +0900)]
scd: Fix merge mistake.
* scd/iso7816.c (iso7816_reset_retry_counter): Implement.

7 years agoscd: Prefer application Geldkarte over DINSIG.
Werner Koch [Thu, 15 Dec 2011 20:45:35 +0000 (21:45 +0100)]
scd: Prefer application Geldkarte over DINSIG.

* scd/app.c (select_application): Reorder application tests.

Although the DINSIG application is available on most German cards, it
is in reality not used.  Thus showing the Geldkarte application is
more desirable for a good user experience.



7 years agoscd: Fix for card change returning GPG_ERR_CARD_RESET.
Werner Koch [Mon, 19 Dec 2011 17:26:47 +0000 (18:26 +0100)]
scd: Fix for card change returning GPG_ERR_CARD_RESET.

* scd/apdu.c (apdu_connect): Do not test for zero atrlen.
When gpg-agent prompts for insertion of a card this error would be

Co-authored-by: Ben Kibbey <>
7 years agoMerge ccid_driver_improvement branch. (backport)
NIIBE Yutaka [Fri, 6 Jan 2012 04:50:21 +0000 (13:50 +0900)]
Merge ccid_driver_improvement branch. (backport)

* scd/apdu.c (ccid_keypad_operation): Rename from ccid_keypad_verify.
(open_ccid_reader): Use ccid_keypad_operation for verify and modify.

* scd/ccid-driver.c (VENDOR_VASCO, VASCO_920): New.
(ccid_transceive_apdu_level): Permit sending packet where
apdulen <= 289.  Support receiving packets in a chain.
(ccid_transceive_secure): Maximum is 15 for VASCO DIGIPASS 920.
Support keypad_modify method such as CHANGE_REFERENCE_DATA: 0x24.

7 years agoAdd error log and debug log for pcsc_keypad_verify and pcsc_keypad_modify.
NIIBE Yutaka [Tue, 20 Dec 2011 04:34:27 +0000 (13:34 +0900)]
Add error log and debug log for pcsc_keypad_verify and pcsc_keypad_modify.

* scd/apdu.c (pcsc_keypad_verify): Add debug log and error log.
(pcsc_keypad_modify): Likewise.

7 years agoFix pinpad input support for passphrase modification. (backport)
NIIBE Yutaka [Fri, 2 Dec 2011 04:57:12 +0000 (13:57 +0900)]
Fix pinpad input support for passphrase modification. (backport)

* apdu.c (pcsc_keypad_verify): Have dummy Lc field with value 0.
(pcsc_keypad_modify): Likewise.
(pcsc_keypad_modify): It's only for ISO7816_CHANGE_REFERENCE_DATA.
bConfirmPIN value is determined by the parameter p0.

* app-openpgp.c (do_change_pin): The flag use_keypad should be 0 when
reset_mode is on, or resetcode is on.  use_keypad only makes sense for

* iso7816.h (iso7816_put_data_kp): Remove.
(iso7816_reset_retry_counter_kp): Remove.
(iso7816_reset_retry_counter_with_rc_kp): Remove.
(iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.

* iso7816.c (iso7816_put_data_kp): Remove.
(iso7816_reset_retry_counter_kp): Remove.
(iso7816_reset_retry_counter_with_rc_kp): Remove.
(iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.

7 years agoscd: Fix pinpad input support (backport from master)
NIIBE Yutaka [Thu, 1 Dec 2011 02:09:51 +0000 (11:09 +0900)]
scd: Fix pinpad input support (backport from master)

* app-openpgp.c (do_change_pin): Fix pincb messages when
use_keypad == 1.

7 years agoscd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)
NIIBE Yutaka [Tue, 29 Nov 2011 02:59:32 +0000 (11:59 +0900)]
scd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)

* iso7816.h (iso7816_change_reference_data_kp): Remove arguments

* iso7816.c (iso7816_change_reference_data_kp): Call
(iso7816_change_reference_data): Don't call

* apdu.h (apdu_keypad_modify): New.

* apdu.c (pcsc_keypad_modify, apdu_keypad_modify): New.
(struct reader_table_s): New memeber function keypad_modify.
(new_reader_slot, open_ct_reader, open_ccid_reader)
(open_rapdu_reader): Initialize keypad_modify.

* app-openpgp.c (do_change_pin): Handle keypad and call
iso7816_change_reference_data_kp if it is the case.

7 years agoscd: PC/SC pinpad support. (Backported from master.)
NIIBE Yutaka [Mon, 28 Nov 2011 07:16:38 +0000 (16:16 +0900)]
scd: PC/SC pinpad support.  (Backported from )

* iso7816.h (iso7816_verify_kp): Remove arguments of CHV and CHVLEN.

* iso7816.c (iso7816_verify_kp): Call apdu_keypad_verify. Only
handle thecase with PININFO.
(iso7816_verify): Call apdu_send_simple.

* app-openpgp.c (verify_a_chv, verify_chv3): Follow the change of

* app-nks.c (verify_pin): Likewise.

* app-dinsig.c (verify_pin): Likewise.

* apdu.c: Include "iso7816.h".
(struct reader_table_s): New memeber function keypad_verify.
Add fields verify_ioctl and modify_ioctl in pcsc.
(pcsc_control): New.
(control_pcsc_direct, control_pcsc_wrapped, control_pcsc)
(check_pcsc_keypad, pcsc_keypad_verify): New.
(ccid_keypad_verify, apdu_keypad_verify): New.
(new_reader_slot): Initialize with check_pcsc_keypad,
pcsc_keypad_verify, verify_ioctl and modify_ioctl.
(open_ct_reader): Initialize keypad_verify with NULL.
(open_ccid_reader): Initialize keypad_verify.
(open_rapdu_reader): Initialize keypad_verify with NULL.
(apdu_open_reader): Initialize pcsc_control.

* pcsc-wrapper.c (load_pcsc_driver): Initialize pcsc_control.
(handle_control): New.
(main): Handle the case 6 of handle_control.

7 years agoFix generated ChangeLog entry.
Werner Koch [Wed, 13 Jun 2012 07:35:41 +0000 (09:35 +0200)]
Fix generated ChangeLog entry.

Finally Jim's git-fix-log thingy comes handy.

7 years agoscd fixes on error.
NIIBE Yutaka [Tue, 12 Jun 2012 05:51:52 +0000 (14:51 +0900)]
scd fixes on error.

* scd/apdu.c (open_pcsc_reader_wrapped): Show error number.

* scd/command.c (get_reader_slot): Return -1 on error.

7 years agoscd: Fix the changes of scd/command.c
NIIBE Yutaka [Fri, 8 Jun 2012 04:18:06 +0000 (13:18 +0900)]
scd: Fix the changes of scd/command.c

* scd/command.c (do_reset): Assign slot after setting slot_table.

7 years agoscd: Fix resetting and closing of the reader. (Backported by gniibe)
Werner Koch [Wed, 14 Dec 2011 09:30:01 +0000 (10:30 +0100)]
scd: Fix resetting and closing of the reader.  (Backported by gniibe)

* scd/command.c (update_card_removed): Do no act on an invalid VRDR.
(do_reset): Ignore apdu_reset error codes for no and inactive card.
Close the reader before setting the slot to -1.
(update_reader_status_file): Notify the application before closing the

With this change the scd now works as it did in the past.  In
particular there is no more endless loop trying to open the reader by
the update_reader_status_file ticker function.  That bug basically
blocked all card operations until the scdaemon was killed.

7 years agoscd: Retry command SERIALNO for an inactive card.
Werner Koch [Mon, 12 Dec 2011 20:02:54 +0000 (21:02 +0100)]
scd: Retry command SERIALNO for an inactive card.

* scd/command.c (cmd_serialno): Retry once for an inactive card.

7 years agoFix detection of card removal and insertion.
Werner Koch [Mon, 12 Dec 2011 19:34:12 +0000 (20:34 +0100)]
Fix detection of card removal and insertion.

* scd/apdu.c (apdu_connect): Return status codes for no card available
and inactive card.
* scd/command.c (TEST_CARD_REMOVAL): Also test for GPG_ERR_CARD_RESET.
(open_card): Map apdu_connect status to GPG_ERR_CARD_RESET.

7 years agoSupport the Cherry ST-2000 card reader.
Werner Koch [Fri, 2 Dec 2011 17:09:58 +0000 (18:09 +0100)]
Support the Cherry ST-2000 card reader.

* scd/ccid-driver.c (SCM_SCR331, SCM_SCR331DI, SCM_SCR335)
(SCM_SCR3320, SCM_SPR532, CHERRY_ST2000): New constants.
(parse_ccid_descriptor): Use them.
(scan_or_find_usb_device, ccid_transceive_secure): Handle Cherry
ST-2000.  Suggested by Matthias-Christian Ott.



7 years agofix wLangId in ccid-driver.c
NIIBE Yutaka [Thu, 13 Jan 2011 07:38:31 +0000 (16:38 +0900)]
fix wLangId in ccid-driver.c

This is not a part of pin pad support series of mine.

As I found the bug while I am preparing the patches, I report this.

As CCID protocol is little endian, wLangId of US English = 0x0409
is represented as two bytes of 0x09 then 0x04.

It is really confusing that the code like following is floating
pin_verify -> wLangId = HOST_TO_CCID_16(0x0904);

But, it is 0x0409 (not 0x0904).  It is defined in the documentation:

and origin of this table is Microsoft.  We can see it at:

Yes, it would be better not to hard-code 0x0409.  It would be better
to try current locale of the user, or to use the first entry of string
descriptor.  I don't have time to implement such a thing...

7 years agoAdd provisions to build with Libgcrypt 1.6.
Werner Koch [Thu, 24 May 2012 08:55:11 +0000 (10:55 +0200)]
Add provisions to build with Libgcrypt 1.6.

Replace gcry_md_start_debug by gcry_md_debug in all files.

* agent/gpg-agent.c (fixed_gcry_pth_init): Use only if
* scd/scdaemon.c (fixed_gcry_pth_init): Ditto.

Libgcrypt 1.6 will have some minor API changes.  In particular some
deprecated macros and functions will be removed.  PTH will also be
dropped in favor of a thread model neutral locking method.

7 years agoPrint the hash algorithm in colon mode key listing.
Werner Koch [Thu, 24 May 2012 08:13:39 +0000 (10:13 +0200)]
Print the hash algorithm in colon mode key listing.

* g10/keylist.c (list_keyblock_colon): Print digest_algo.

7 years agocommon: Remove generated files only during maintainer-clean.
Werner Koch [Tue, 8 May 2012 13:14:58 +0000 (15:14 +0200)]
common: Remove generated files only during maintainer-clean.


In general this is not required because automake does this for files
in BUILT_SOURCES anyway.  However, having them in CLEANFILES is wrong.
This is bug#1398.

7 years agoFix copyright years.
Werner Koch [Tue, 8 May 2012 13:57:18 +0000 (15:57 +0200)]
Fix copyright years.

* scripts/git-log-footer: Add more years; we actually published the
first code in 1997.

7 years agoCast second value of a ?: to void in estream.c.
Werner Koch [Fri, 30 Mar 2012 13:29:35 +0000 (15:29 +0200)]
Cast second value of a ?: to void in estream.c.

* common/estream.c (ESTREAM_MUTEX_LOCK): Cast pth_mutex_acquire result
to void.  Some compilers choke on mixing void and int in an
conditional operator.  Reported by Nelson H. F. Beebe.

7 years agoFix --with-pth-prefix help string.
Werner Koch [Fri, 30 Mar 2012 13:21:30 +0000 (15:21 +0200)]
Fix --with-pth-prefix help string.


7 years agoWrite the announce message.
Werner Koch [Tue, 27 Mar 2012 09:19:32 +0000 (11:19 +0200)]
Write the announce message.


7 years agoPost release updates
Werner Koch [Tue, 27 Mar 2012 09:13:50 +0000 (11:13 +0200)]
Post release updates


7 years agoRelease 2.0.19. gnupg-2.0.19
Werner Koch [Tue, 27 Mar 2012 08:19:40 +0000 (10:19 +0200)]
Release 2.0.19.

7 years agoUpdate zh_TW translation.
Werner Koch [Tue, 27 Mar 2012 08:15:11 +0000 (10:15 +0200)]
Update zh_TW translation.

7 years agoUpdate config.{sub,guess} to version 2012-02-10.
Werner Koch [Tue, 27 Mar 2012 08:10:54 +0000 (10:10 +0200)]
Update config.{sub,guess} to version 2012-02-10.

* scripts/config.guess, scripts/config.sub: Update.

7 years agoUpdate texinfo source from master.
Werner Koch [Tue, 27 Mar 2012 08:05:28 +0000 (10:05 +0200)]
Update texinfo source from master.

* doc/gpg-agent.texi, doc/gpg.texi, doc/gpgsm.texi
* doc/scdaemon.texi,  doc/tools.texi: Update.
* doc/yat2m.c: Update.

7 years agoAdd target to update the texinfo files from master.
Werner Koch [Tue, 27 Mar 2012 07:34:37 +0000 (09:34 +0200)]
Add target to update the texinfo files from 

* doc/ (update-source): New.

7 years agoGettext triggered update of uk.po.
Werner Koch [Tue, 27 Mar 2012 07:33:56 +0000 (09:33 +0200)]
Gettext triggered update of uk.po.


7 years agoFix make rules for audit-events.h et al.
Werner Koch [Mon, 26 Mar 2012 18:31:46 +0000 (20:31 +0200)]
Fix make rules for audit-events.h et al.

* common/ (audit-events.h, status-codes.h): Fix target file

7 years agoUpdate samplekeys and NEWS.
Werner Koch [Mon, 26 Mar 2012 13:20:18 +0000 (15:20 +0200)]
Update samplekeys and NEWS.

* doc/samplekeys.asc: Update.

7 years agoAllow compressed data with algorithm 0.
Werner Koch [Mon, 26 Mar 2012 13:14:55 +0000 (15:14 +0200)]
Allow compressed data with algorithm 0.

* g10/mainproc.c (proc_compressed): Remove superfluous check for
an algorithm number of 0.  This is bug#1326.

7 years agoTypo fixes in de.po.
Werner Koch [Mon, 26 Mar 2012 12:37:48 +0000 (14:37 +0200)]
Typo fixes in de.po.

This is bug#1276 and

7 years agoHonor --cert-digest-algo when recreating a cert.
David Shaw [Wed, 1 Feb 2012 02:30:05 +0000 (21:30 -0500)]
Honor --cert-digest-algo when recreating a cert.

* g10/sign.c (update_keysig_packet): Honor --cert-digest-algo when
  recreating a cert.

This is used by various things in --edit-key like setpref, primary,
etc.  Suggested by Christian Aistleitner.

7 years agoUpdate copyright year.
Werner Koch [Tue, 31 Jan 2012 17:08:24 +0000 (18:08 +0100)]
Update copyright year.

7 years agoRequire an installed gitlog_to_changelog for make dist.
Werner Koch [Tue, 31 Jan 2012 17:01:17 +0000 (18:01 +0100)]
Require an installed gitlog_to_changelog for make dist.

* scripts/gitlog-to-changelog: Remove.
(gen-ChangeLog): Use it.  Add set -e.

7 years agoAdd Ukrainian translation.
Werner Koch [Tue, 31 Jan 2012 14:43:33 +0000 (15:43 +0100)]
Add Ukrainian translation.

* po/uk.po: New.
* po/LINGUAS: Add uk.po.

7 years agoUpdate NEWS for the next release.
Werner Koch [Tue, 31 Jan 2012 14:41:29 +0000 (15:41 +0100)]
Update NEWS for the next release.


7 years agoestream: Avoid printing leading zeroes by %p on 32 bit systems.
Werner Koch [Tue, 31 Jan 2012 14:29:30 +0000 (15:29 +0100)]
estream: Avoid printing leading zeroes by %p on 32 bit systems.

* common/estream-printf.c (pr_pointer): Synchronize definition of
AULONG with its use.

7 years agogpg: Add a DECRYPTION_INFO status.
Werner Koch [Tue, 31 Jan 2012 14:14:20 +0000 (15:14 +0100)]
gpg: Add a DECRYPTION_INFO status.

* common/status.h (STATUS_DECRYPTION_INFO): New.
* g10/encr-data.c: Include status.h.
(decrypt_data): Emit STATUS_DECRYPTION_INFO line.

DECRYPTION_INFO <mdc_method> <sym_algo>
    Print information about the symmetric encryption algorithm and
    the MDC method.  This will be emitted even if the decryption

7 years agoDo not copy default merge commit log entries into the ChangeLog.
Werner Koch [Fri, 20 Jan 2012 10:08:06 +0000 (11:08 +0100)]
Do not copy default merge commit log entries into the ChangeLog.

* scripts/gitlog-to-changelog: Skip merge commits.

7 years agoAdd files to .gitignore
Werner Koch [Fri, 20 Jan 2012 10:20:55 +0000 (11:20 +0100)]
Add files to .gitignore

7 years agoChanges to --min-cert-level should cause a trustdb rebuild (issue 1366)
David Shaw [Fri, 20 Jan 2012 03:33:51 +0000 (22:33 -0500)]
Changes to --min-cert-level should cause a trustdb rebuild (issue 1366)

* g10/gpgv.c, g10/trustdb.c (read_trust_options): Add min_cert_level

* g10/trustdb.c (check_trustdb_stale): Request a rebuild if
  pending_check_trustdb is true (set when we detect a trustdb
  parameter has changed).

* g10/keylist.c (public_key_list): Use 'l' in the "tru" with-colons
  listing for min_cert_level not matching.

* g10/tdbio.c (tdbio_update_version_record, create_version_record,
  tdbio_db_matches_options, tdbio_dump_record, tdbio_read_record,
  tdbio_write_record): Add a byte for min_cert_level in the tdbio
  version record.

7 years agoRefresh sample keys
David Shaw [Tue, 10 Jan 2012 15:32:03 +0000 (10:32 -0500)]
Refresh sample keys

7 years agoTerminate csh commands with a semicolon.
Werner Koch [Tue, 3 Jan 2012 10:50:13 +0000 (11:50 +0100)]
Terminate csh commands with a semicolon.

Fixes bug#1386.

* agent/gpg-agent.c (main): Terminate csh style output with a semicolon.
* scd/scdaemon.c: Ditto.

7 years agoUse the longest key ID available when talking to a HKP server.
David Shaw [Wed, 28 Dec 2011 21:41:31 +0000 (16:41 -0500)]
Use the longest key ID available when talking to a HKP server.

This is issue 1340.  Now that PKSD is dead, and SKS supports long key
IDs, this is safe to do.  Patch from Daniel Kahn Gillmor

7 years agoMerge fix for issue 1331 from 1.4.
David Shaw [Thu, 15 Dec 2011 21:46:28 +0000 (16:46 -0500)]
Merge fix for issue 1331 from 1.4.

* photoid.c (generate_photo_id): Check for the JPEG magic numbers
instead of JFIF since some programs generate an EXIF header first.

7 years agoGenerate the ChangeLog from commit logs.
Werner Koch [Fri, 2 Dec 2011 18:28:02 +0000 (19:28 +0100)]
Generate the ChangeLog from commit logs.

* scripts/gitlog-to-changelog: New script.  Taken from gnulib.
* scripts/git-log-fix: New file.
* scripts/git-log-footer: New file.
* scripts/git-hooks/commit-msg: New script.
* Install commit-msg hook for git.
* doc/HACKING: Describe the ChangeLog policy.
* ChangeLog: New file.
* (EXTRA_DIST): Add new files.
(gen-ChangeLog): New.
(dist-hook): Run gen-ChangeLog.

Rename all ChangeLog files to ChangeLog-2011.

7 years agoFixed regression in libcurl.m4
Werner Koch [Mon, 12 Sep 2011 13:33:37 +0000 (15:33 +0200)]
Fixed regression in libcurl.m4

Fixed lost hash sign introduced by previous change (2011-04-08).
Reported by John Marshall.

7 years agoEdited the announce template
Werner Koch [Thu, 4 Aug 2011 16:17:22 +0000 (18:17 +0200)]
Edited the announce template

7 years agoPost release updates
Werner Koch [Thu, 4 Aug 2011 15:36:33 +0000 (17:36 +0200)]
Post release updates

7 years agoPrepare for the 2.0.18 release. gnupg-2.0.18
Werner Koch [Thu, 4 Aug 2011 14:23:09 +0000 (16:23 +0200)]
Prepare for the 2.0.18 release.

Copied texi files from master.
Updated de.po.
Added more file to gitignore.
Removed the large PKITS tarball.
General release preparations.

7 years agoNew option --ssh-fpr for the agent:KEYINFO command
Werner Koch [Thu, 4 Aug 2011 12:57:35 +0000 (14:57 +0200)]
New option --ssh-fpr for the agent:KEYINFO command

Also added the option --data.  Hwoever we don't list the other itehms
2.1. does; instead we print dashes.

7 years agoSupport a confirm flag for ssh.
Werner Koch [Wed, 20 Jul 2011 18:49:41 +0000 (20:49 +0200)]
Support a confirm flag for ssh.

This implements the suggestion from bug#1349.  With this change the
fingerprint of the ssh key is also displayed in the pinentry prompts.

7 years agoNew functions to compute an ssh style fingerprint.
Werner Koch [Wed, 20 Jul 2011 14:40:29 +0000 (16:40 +0200)]
New functions to compute an ssh style fingerprint.

7 years agoRemoved some set but unused variables.
Werner Koch [Thu, 4 Aug 2011 10:22:04 +0000 (12:22 +0200)]
Removed some set but unused variables.

7 years agoFixed some autoconf bit rot.
Werner Koch [Thu, 4 Aug 2011 09:36:52 +0000 (11:36 +0200)]
Fixed some autoconf bit rot.

Autoconf 2.68 is more picky about correct macro usage and thus I need
to fix some wrong call conventions for AC_LANG_PROGRAM.  Also factor
out an m4 conditional construct from AC_INIT to avoid the "not a
literal" warning.

7 years agoDo not print read-only trustdb warning with --quiet.
Werner Koch [Fri, 29 Jul 2011 08:00:15 +0000 (10:00 +0200)]
Do not print read-only trustdb warning with --quiet.

This is only a warning and gpg would anyway print an error message if
it tries to write to the trustdb.

7 years agoUpdate config.{guess,sub}.
Werner Koch [Fri, 22 Jul 2011 12:05:23 +0000 (14:05 +0200)]
Update config.{guess,sub}.

7 years agoPrint the decoded iteration count with --list-packets.
Werner Koch [Fri, 22 Jul 2011 11:56:14 +0000 (13:56 +0200)]
Print the decoded iteration count with --list-packets.

Fixes bug#1355.

7 years agoFix crash while reading unsupported ssh keys.
Werner Koch [Fri, 22 Jul 2011 07:40:51 +0000 (09:40 +0200)]
Fix crash while reading unsupported ssh keys.

This bug was found by n-roeser at
(gnupg-devel@, msgid

7 years agoTry to get the only-valid-if-cert-valid cert from the dirmngr first.
Werner Koch [Thu, 21 Jul 2011 08:39:38 +0000 (10:39 +0200)]
Try to get the only-valid-if-cert-valid cert from the dirmngr first.

This should always work because the dirmngr asked us to validate the
given certificate.  This should make OCSP configuration easier because
there is less requirement to install all certificates for Dirmngr and

CAUTION:  This code has not yet been tested.

8 years agoAllow generation of card keys up to 4096 bit.
Werner Koch [Thu, 7 Jul 2011 09:20:53 +0000 (11:20 +0200)]
Allow generation of card keys up to 4096 bit.

This patch implementes a chunk mode to pass the key parameters from
scdaemon to gpg.  This allows to pass arbitrary long key paremeters;
it is used for keys larger than 3072 bit.

8 years agoProvide pubkey letters e and E
Werner Koch [Fri, 1 Jul 2011 08:33:43 +0000 (10:33 +0200)]
Provide pubkey letters e and E

This is only to print those letters instead of a question mark.  It
does not mean ECC is or will be supported in this branch.

8 years agoFix a for a bug fix in the latest Libgcrypt.
Werner Koch [Mon, 13 Jun 2011 12:35:30 +0000 (14:35 +0200)]
Fix a for a bug fix in the latest Libgcrypt.

        * pkglue.c (mpi_from_sexp, pk_decrypt): Use GCRYMPI_FMT_USG for
gcry_sexp_nth_mpi.  This fixes a problem with a recent bug fix in

8 years agoInclude estream.h
Werner Koch [Fri, 29 Apr 2011 14:17:54 +0000 (16:17 +0200)]
Include estream.h

8 years agoDo not use pth functions after pth_kill. Fixes bug#1320.
Werner Koch [Fri, 29 Apr 2011 08:16:58 +0000 (10:16 +0200)]
Do not use pth functions after pth_kill.  Fixes bug#1320.

Fabian Keil found the reason for a SIGBUS:

  In the "gpg-agent --daemon" case, main() calls pth_kill()
  after the client has been forked, so when es_deinit() is
  called on exit, acquiring the estream_list_lock seems to
  cause pth to dereference a pointer located in a memory
  region that has previously been free()'d.

My approach to fix it is different than his suggestion.  It should
allow to continue all estream operations after a pth_kill except for
restarting pth.