aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* g10: Eliminate the redundant function get_pubkey_next.Neal H. Walfield2015-09-163-8/+1
| | | | | | | | | | * g10/keydb.h (get_pubkey_next): Remove prototype. * g10/getkey.c (get_pubkey_next): Remove function. * g10/keylist.c (locate_one): Use getkey_next instead of get_pubkey_next. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* kbx: Change skipfnc's prototype so that we can provide all information.Neal H. Walfield2015-09-164-14/+31
| | | | | | | | | | | | | | | | * kbx/keybox-search-desc.h (struct keydb_search_desc.skipfnc): Change third parameter to be the index of the user id packet in the keyblock rather than the packet itself. Update users. -- Signed-off-by: Neal H. Walfield <[email protected]>. The keybox code doesn't work directly with keyblocks. As such, the matched user packet is not readily available to pass to DESC[n].SKIPFNC. But, we do know the index of the user id packet that matched. Thus, pass that instead. If the skip function needs the user id packet, it can use the key id to look up the key block and find the appropriate packet.
* g10: Remove unused prototype (get_pubkey_byfpr).Neal H. Walfield2015-09-161-1/+0
| | | | | | | * g10/keydb.h (get_pubkey_byfpr): Remove unused prototype. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Remove unused function (get_pubkey_bynames).Neal H. Walfield2015-09-162-18/+1
| | | | | | | | * g10/keydb.h (get_pubkey_bynames): Remove prototype. * g10/getkey.c (get_pubkey_bynames): Remove function. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Simplify code. Turn struct getkey_ctx_s.found_key into an argumentNeal H. Walfield2015-09-161-30/+48
| | | | | | | | | | | | | * g10/getkey.c (struct getkey_ctx_s): Remove field found_key. (lookup): Add argument ret_found_key. If not NULL, set it to the found key. Update callers. (pk_from_block): Add argument found_key. Use it instead of CTX->FOUND_KEY. Update callers. (finish_lookup): Return a KBNODE (the found key) instead of an int. Don't set CTX->FOUND_KEY. Return the found key instead. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Remove unused field struct getkey_ctx_s.kbpos.Neal H. Walfield2015-09-161-2/+0
| | | | | | | | * g10/getkey.c (struct getkey_ctx_s): Remove field kbpos. (getkey_end): Don't clear CTX->KBPOS. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Simplify code: remove field struct getkey_ctx_s.keyblock.Neal H. Walfield2015-09-161-13/+12
| | | | | | | | | | * g10/getkey.c (struct getkey_ctx_s): Remove field keyblock. (finish_lookup): Add parameter keyblock. Update caller to pass this. (lookup): Add new local variable keyblock. Use this instead of ctx->keyblock for referencing the keyblock. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* agent: Fix registering SSH Key of Ed25519.NIIBE Yutaka2015-09-161-6/+8
| | | | | | | | * agent/command-ssh.c (stream_read_string): Add the prefix of 0x40. -- GnuPG-bug-id: 2096
* po: Update Japanese translation.NIIBE Yutaka2015-09-151-26/+16
|
* Post release updates.Werner Koch2015-09-102-1/+5
| | | | --
* Release 2.1.8.gnupg-2.1.8Werner Koch2015-09-101-1/+24
|
* tests: Silence the 5gb-packet test.Werner Koch2015-09-101-1/+1
| | | | | | * tests/openpgp/4gb-packet.test: Send output to /dev/null. Signed-off-by: Werner Koch <[email protected]>
* g10: Fix make distcheck problem.Werner Koch2015-09-103-3/+36
| | | | | | | | | | | | | | | | * g10/test.c: Include string.h. (prepend_srcdir): New. Taken from Libgcrypt. (test_free): New. * g10/t-keydb.c (do_test): Malloc the filename. * g10/Makefile.am (AM_CPPFLAGS): Remove -DSOURCE_DIR (EXTRA_DIST): Add t-keydb-keyring.kbx. -- Using SOURCE_DIR should in general work but we have seen problems when doing this in Libgcrypt. Using the srcdir variable gives us anyway more flexibility and aligns with the way we do it in tests/openpgp. Signed-off-by: Werner Koch <[email protected]>
* g10: Improve portability of the new test driver.Werner Koch2015-09-102-9/+27
| | | | | | | | | | | | | | | | | | | | * g10/test.c: Include stdio.h and stdlib.h. (verbose): New. (print_results): Rename to exit_tests. (main): Remove atexit and call exit_tests. Set verbose. (ASSERT, ABORT): Call exit_tests instead of exit. -- Calling exit from an exit handler is undefined behaviour. It works on Linux but other systems will hit an endless loop. That is indeed unfortunate but we can't do anything about it. Calling _exit() would be possible but that may lead to other problems. Thus we change to call a custom exit function :-(. Using "make check verbose=1" is supported by tests/openpgp and thus we add the same mechanism here. Signed-off-by: Werner Koch <[email protected]>
* po: Auto-updateWerner Koch2015-09-1025-584/+1272
| | | | --
* po: Update Russian translationIneiev2015-09-101-14/+9
| | | | --
* dirmngr: Allow sending much larger keyblocks.Werner Koch2015-09-091-4/+9
| | | | | | | * dirmngr/server.c (MAX_CERT_LENGTH): Increase to 16k. (MAX_KEYBLOCK_LENGTH): Increase to 20M. Signed-off-by: Werner Koch <[email protected]>
* doc: Minor comment fixes.Werner Koch2015-09-092-7/+10
| | | | --
* scd: Force key attribute change for writekey.NIIBE Yutaka2015-09-071-33/+62
| | | | | | | * scd/app-openpgp.c (change_rsa_keyattr): New. (change_keyattr_from_string): Use change_rsa_keyattr. (rsa_writekey): Call change_rsa_keyattr when different size. (ecc_writekey): Try to change key attribute.
* scd: KEYNO cleanup.NIIBE Yutaka2015-09-071-70/+67
| | | | | | | * scd/app-openpgp.c (get_public_key, send_keypair_info, do_readkey) (change_keyattr, change_keyattr_from_string, ecc_writekey, do_genkey) (compare_fingerprint, check_against_given_fingerprint): KEYNO starts from 0.
* g10: Remove unused field req_algo.Neal H. Walfield2015-09-022-5/+0
| | | | | | | | | | * g10/packet.h (PKT_public_key): Remove unused field req_algo. Remove users. * g10/getkey.c (struct getkey_ctx_s): Remove unused field req_algo. Remove users. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Use a symbolic constant instead of a literal.Neal H. Walfield2015-09-021-10/+13
| | | | | | | | | | | * g10/trustdb.c (KEY_HASH_TABLE_SIZE): Define. (new_key_hash_table): Use KEY_HASH_TABLE_SIZE instead of a literal. (release_key_hash_table): Likewise. (test_key_hash_table): Likewise. (add_key_hash_table): Likewise. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Add test for keydb as well as new testing infrastructure.Neal H. Walfield2015-09-025-3/+647
| | | | | | | | | | | | | | | * g10/Makefile.am (EXTRA_DIST): Add test.c. (AM_CPPFLAGS): Add -DSOURCE_DIR="\"$(srcdir)\"". (module_tests): Add t-keydb. (t_keydb_SOURCES): New variable. (t_keydb_LDADD): Likewise. * g10/t-keydb.c: New file. * g10/t-keydb-keyring.kbx: New file. * g10/test-stubs.c: New file. * g10/test.c: New file. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Make the keyblock cache per-handle rather than global.Neal H. Walfield2015-09-021-54/+57
| | | | | | | | | | | | * g10/keydb.c (keyblock_cache): Don't declare this variable. Instead... (struct keyblock_cache): ... turn its type into this first class object... (struct keydb_handle): ... and instantiate it once per database handle. Update all users. (keydb_rebuild_caches): Don't invalidate the keyblock cache. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: If iobuf_seek fails when reading from the cache, do a hard read.Neal H. Walfield2015-09-021-11/+19
| | | | | | | | | * g10/keydb.c (keydb_get_keyblock): If the iobuf_seek fails when reading from the cache, then simply clear the cache and try reading from the database. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* iobuf: Reduce verbosity of test.Neal H. Walfield2015-09-021-0/+2
| | | | | | | * common/t-iobuf.c (main): Reduce verbosity. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* iobuf: Add the IOBUF_INPUT_TEMP type to improve input temp handling.Neal H. Walfield2015-09-022-20/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/iobuf.h (enum iobuf_use): Add new member, IOBUF_INPUT_TEMP. * common/iobuf.c (iobuf_temp_with_content): Create the iobuf as an IOBUF_INPUT_TEMP, not an IOBUF_INPUT buffer. Assert that LENGTH == A->D.SIZE. (iobuf_push_filter2): If A is an IOBUF_INPUT_TEMP, then make the new filter an IOBUF_INPUT filter and set its buffer size to IOBUF_BUFFER_SIZE. (underflow): If A is an IOBUF_INPUT_TEMP, then just return EOF; don't remove already read data. (iobuf_seek): If A is an IOBUF_INPUT_TEMP, don't discard the buffered data. (iobuf_alloc): Allow USE == IOBUF_INPUT_TEMP. (pop_filter): Allow USE == IOBUF_INPUT_TEMP. (iobuf_peek): Allow USE == IOBUF_INPUT_TEMP. (iobuf_writebyte): Fail if USE == IOBUF_INPUT_TEMP. (iobuf_write): Fail if USE == IOBUF_INPUT_TEMP. (iobuf_writestr): Fail if USE == IOBUF_INPUT_TEMP. (iobuf_flush_temp): Fail if USE == IOBUF_INPUT_TEMP. -- Signed-off-by: Neal H. Walfield <[email protected]>. Introduce a new iobuf type, IOBUF_INPUT_TEMP. Use this for the iobuf created by iobuf_temp_with_content instead of IOBUF_INPUT. This was necessary so that seeking and peeking correctly work on this type of iobuf. In particular, seeking didn't work because we discarded the buffered data and peeking didn't work because we discarded data which was already read, which made seeking later impossible.
* iobuf: Rename IOBUF_TEMP to IOBUF_OUTPUT_TEMP.Neal H. Walfield2015-09-022-29/+38
| | | | | | | | * common/iobuf.h (enum iobuf_use): Rename IOBUF_TEMP to IOBUF_OUTPUT_TEMP. Update users. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* iobuf: Use a first-class enum.Neal H. Walfield2015-09-021-2/+2
| | | | | | | | * common/iobuf.h (enum iobuf_use): Name the IOBUF_OUTPUT, etc. enum. (struct iobuf_struct): Change the field use's type to it. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* iobuf: Fix test.Neal H. Walfield2015-09-021-9/+6
| | | | | | | | | * common/t-iobuf.c (content_filter): If there is nothing to read, don't forget to set *LEN to 0. (main): Fix checks. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* agent: Protect commit 135b1e3 against misbehaving Libgcrypt.Werner Koch2015-09-011-1/+1
| | | | | | * agent/command-ssh.c (ssh_key_to_blob): Check DATALEN. Signed-off-by: Werner Koch <[email protected]>
* gpg: Remove option --no-sig-create-check.Werner Koch2015-09-014-15/+7
| | | | | | | | | * g10/gpg.c (opts): Remove --no-sig-create-check. * g10/options.h (struct opt): Remove field no_sig_create_check. * g10/sign.c (do_sign): Always check unless it is RSA and we are using Libgcrypt 1.7. Signed-off-by: Werner Koch <[email protected]>
* common: Assume an utf-8 locale on iconv errors.Werner Koch2015-09-011-6/+4
| | | | | | * common/utf8conv.c (handle_iconv_error): Use utf-8 as fallback. Signed-off-by: Werner Koch <[email protected]>
* common: Fix regression in building argpase.c standalone.Werner Koch2015-09-011-0/+7
| | | | * common/argparse.c (is_native_utf8) [GNUPG_MAJOR_VERSION]: New.
* Typo fixesWerner Koch2015-09-012-2/+2
| | | | --
* g10: Don't leak memory if we fail to initialize a new database handle.Neal H. Walfield2015-08-311-9/+12
| | | | | | | | * g10/keydb.c (keydb_new): If we fail to open a keyring or keybox correctly release all resources. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Improve interface documentation of the keydb API.Neal H. Walfield2015-08-312-69/+223
| | | | | | | | | * g10/keydb.c: Improve code comments and documentation of internal interfaces. Improve documentation of public APIs and move that to... * g10/keydb.h: ... this file. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Don't cache search results if the search didn't scan the whole DB.Neal H. Walfield2015-08-311-1/+10
| | | | | | | | | | | * g10/keydb.c (struct keydb_handle): Add new field is_reset. (keydb_new): Initialize hd->is_reset to 1. (keydb_locate_writable): Set hd->is_reset to 1. (keydb_search): Set hd->is_reset to 0. Don't cache a key not found if the search started from the beginning of the database. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* g10: Have keydb_search_first call keydb_search_reset before searching.Neal H. Walfield2015-08-311-0/+4
| | | | | | | | | | | | * g10/keydb.c (keydb_search_first): Reset the handle before starting the search. -- Signed-off-by: Neal H. Walfield <[email protected]>. This bug hasn't shown up yet in practice, because keydb_search_first is always called immediately after a keydb_new. This changes cleans up the semantics and will hopefully prevent future bugs.
* g10: Remove unused parameter.Neal H. Walfield2015-08-314-6/+4
| | | | | | | | * g10/keydb.h (keydb_locate_writable): Remove unused parameter reserved. Update users. -- Signed-off-by: Neal H. Walfield <[email protected]>.
* agent: Fix SSH public key for EdDSA.NIIBE Yutaka2015-08-311-0/+5
| | | | * agent/command-ssh.c (ssh_key_to_blob): Remove the prefix 0x40.
* g10: Simplify cache. Only include data that is actually used.Neal H. Walfield2015-08-262-64/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | * g10/keydb.c (struct kid_list_s): Rename from this... (struct kid_not_found_cache_bucket): ... to this. Update users. Remove field state. (kid_list_t): Remove type. (KID_NOT_FOUND_CACHE_BUCKETS): Define. Use this instead of a literal. (kid_found_table): Rename from this... (kid_not_found_cache_bucket): ... to this. Update users. (kid_found_table_count): Rename from this... (kid_not_found_cache_count): ... to this. Update users. (kid_not_found_p): Only return whether a key with the specified key id is definitely not in the database. (kid_not_found_insert): Remove parameter found. Update callers. (keydb_search): Only insert a key id in the not found cache if it is not found. Rename local variable once_found to already_in_cache. -- Signed-off-by: Neal H. Walfield <[email protected]>. Commit e0873a33 started tracking whether key ids where definitely in the database. This information is, however, never used and thus just unnecessarily inflates the cache. This patch effectively reverts that change (however, e0873a33 contains two separate changes and this only reverts that change).
* Add configure option --enable-build-timestamp.Werner Koch2015-08-251-1/+10
| | | | | | | | | | | | * configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default. -- This is based on libgpg-error commit d620005fd1a655d591fccb44639e22ea445e4554 but changed to be disabled by default. Check there for some background. Signed-off-by: Werner Koch <[email protected]>
* gpg: Emit ERROR status for key signing failures.Werner Koch2015-08-251-0/+7
| | | | | | | | | | | | * g10/keyedit.c (sign_uids): Write an ERROR status for a signing failure. (menu_adduid, menu_addrevoker, menu_revsig): Ditto. (menu_revuid, menu_revkey, menu_revsubkey): Ditto. -- This change helps GPA to show better error messages. Signed-off-by: Werner Koch <[email protected]>
* gpg: Print a new FAILURE status after most commands.Werner Koch2015-08-256-28/+117
| | | | | | | | | | | | | | | | | | * common/status.h (STATUS_FAILURE): New. * g10/cpr.c (write_status_failure): New. * g10/gpg.c (main): Call write_status_failure for all commands which print an error message here. * g10/call-agent.c (start_agent): Print an STATUS_ERROR if we can't set the pinentry mode. -- This status line can be used similar to the error code returned by commands send over the Assuan interface in gpgsm. We don't emit them in gpgsm because there we already have that Assuan interface to return proper error code. This change helps GPGME to return better error codes. Signed-off-by: Werner Koch <[email protected]>
* agent: Raise the maximum password length. Don't hard code it.Neal H. Walfield2015-08-245-12/+17
| | | | | | | | | | | | | * agent/agent.h (MAX_PASSPHRASE_LEN): Define. * agent/command-ssh.c (ssh_identity_register): Use it instead of a hard-coded literal. * agent/cvt-openpgp.c (convert_from_openpgp_main): Likewise. * agent/findkey.c (unprotect): Likewise. * agent/genkey.c (agent_ask_new_passphrase): Likewise. -- Signed-off-by: Neal H. Walfield <[email protected]>. GnuPG-bug-id: 2038
* sm: Support secret key export via the Assuan interface.Werner Koch2015-08-241-5/+31
| | | | | | * sm/server.c (cmd_export): Add options --secret, --raw, and --pkcs12. Signed-off-by: Werner Koch <[email protected]>
* po: Grammar fix for the German translation.Werner Koch2015-08-241-1/+1
| | | | | -- Reported-by: Thomas Bellmann
* dirmngr: Allow sending of Zack's key.Werner Koch2015-08-231-2/+3
| | | | | | * dirmngr/server.c (MAX_KEYBLOCK_LENGTH): Increase to 1 MiB. Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix regression in packet parser from Aug 19.Werner Koch2015-08-231-15/+8
| | | | | | | | | * g10/parse-packet.c (parse): Use an int to compare to -1. Use buf32_to_ulong. -- Regression-due-to: 0add91ae1ca3718e8140af09294c595f47c958d3 Signed-off-by: Werner Koch <[email protected]>