aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* g10,sm: Spell out --gen-key.Justus Winter2016-12-138-20/+23
| | | | | | | | | * g10/gpg.c (opts): Spell out option. * sm/gpgsm.c (opts): Likewise. * doc/gpg.texi: Update accordingly. GnuPG-bug-id: 2700 Signed-off-by: Justus Winter <[email protected]>
* g10,sm: Spell out --check-sigs.Justus Winter2016-12-133-12/+14
| | | | | | | | | * g10/gpg.c (opts): Spell out option. * sm/gpgsm.c (opts): Likewise. * doc/gpg.texi: Update accordingly. GnuPG-bug-id: 2700 Signed-off-by: Justus Winter <[email protected]>
* g10,sm: Spell out --list-sigs.Justus Winter2016-12-133-17/+18
| | | | | | | | | * g10/gpg.c (opts): Spell out option. * sm/gpgsm.c (opts): Likewise. * doc/gpg.texi: Update accordingly. GnuPG-bug-id: 2700 Signed-off-by: Justus Winter <[email protected]>
* g10: Hyphenate --clearsign.Justus Winter2016-12-1329-114/+115
| | | | | | | | | | * g10/gpg.c (opts): Hyphenate option. * doc/gpg.texi: Update accordingly. * po: Update translations. * tests/openpgp: Update tests. GnuPG-bug-id: 2700 Signed-off-by: Justus Winter <[email protected]>
* g10: Spell out --recv-keys.Justus Winter2016-12-132-7/+8
| | | | | | | | * g10/gpg.c (opts): Spell out option. * doc/gpg.texi: Update accordingly. GnuPG-bug-id: 2700 Signed-off-by: Justus Winter <[email protected]>
* g10: Create expiring keys in quick key generation mode.Justus Winter2016-12-133-17/+22
| | | | | | | | | * doc/gpg.texi: Document that fact. * g10/keygen.c (quick_generate_keypair): Use a default value. * tests/openpgp/quick-key-manipulation.scm: Test that fact. GnuPG-bug-id: 2701 Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Print failed and skipped tests.Justus Winter2016-12-131-5/+13
| | | | | | | * tests/gpgscm/tests.scm (test-pool::report): Print failed and skipped tests at the end. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Generalize the test runner.Justus Winter2016-12-132-9/+11
| | | | | | | | * tests/gpgscm/tests.scm (test::scm) Add explicit name argument. (test::binary): Likewise. Also, add missing unquote. * tests/openpgp/run-tests.scm: Adapt accordingly. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Move the test runner to the Scheme library.Justus Winter2016-12-132-141/+151
| | | | | | | * tests/openpgp/run-tests.scm: Move most of the code... * tests/gpgscm/tests.scm: ... here. Signed-off-by: Justus Winter <[email protected]>
* tests: Refactor test runner.Justus Winter2016-12-131-17/+28
| | | | | | | | * tests/openpgp/run-tests.scm (locate-test): New function. (test): Factor-out the code starting the child process. (test::binary): New function. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Improve library functions.Justus Winter2016-12-132-34/+88
| | | | | | | | | | | | | * tests/gpgscm/tests.scm (absolute-path?): New function. (canonical-path): Use the new function. * tests/gpgscm/lib.scm (string-split-pln): New function. (string-indexp, string-splitp): Likewise. (string-splitn): Express using the above function. (string-ltrim, string-rtrim): Fix corner case. (list->string-reversed): New function. (read-line): Fix performance. Signed-off-by: Justus Winter <[email protected]>
* po: Update Japanese translation.NIIBE Yutaka2016-12-131-198/+175
| | | | | | -- Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: Fix memory leak in ecc key generation.Werner Koch2016-12-121-1/+2
| | | | | | * g10/keygen.c (ecckey_from_sexp): Release curve. Signed-off-by: Werner Koch <[email protected]>
* gpg: Do not use a fixed string for --gpgconf-list:default_pubkey_algo.Werner Koch2016-12-123-2/+20
| | | | | | | | | | | | | * g10/keygen.c (get_default_pubkey_algo): New. (parse_key_parameter_string): Use it. * g10/gpg.c (gpgconf_list): Take value from new function. -- Note that consumers of that gpgconf-list value may need to be adjusted to that new value. It should anyway only be used to display the default algorithm. Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix algo string parsing of --quick-addkey.Werner Koch2016-12-122-10/+19
| | | | | | | | | | | | | * g10/keygen.c (parse_key_parameter_string): Fix handling of PART==1. (parse_key_parameter_part): Use default key size if only "rsa", "dsa", or "elg" is given. -- The first change is the actual fix. The second change avoids the error "Invalid Curve" when only "rsa" instead of RSA2048 is given. Fixes-commit: ce29272e24e7b718b8fca9b84bc728e65f3dea24 Signed-off-by: Werner Koch <[email protected]>
* g10: Create keys that expire in simple key generation mode.Justus Winter2016-12-091-1/+6
| | | | | | | | | | | * g10/keygen.c (default_expiration_interval): New variable. (generate_keypair): Use the new default. -- Cursory discussion on gnupg-devel@ suggested two years as a good default expiration interval. GnuPG-bug-id: 2701 Signed-off-by: Justus Winter <[email protected]>
* tests: Add a test for '--quick-addkey'.Justus Winter2016-12-091-0/+65
| | | | | | * tests/openpgp/quick-key-manipulation.scm: Test '--quick-addkey'. Signed-off-by: Justus Winter <[email protected]>
* tests: New test using all available compression algorithms.Justus Winter2016-12-093-0/+38
| | | | | | | | * tests/openpgp/Makefile.am (XTESTS): Add new test. * tests/openpgp/compression.scm: New file. * tests/openpgp/defs.scm (all-compression-algos): New variable. Signed-off-by: Justus Winter <[email protected]>
* g10: List compression algorithms using human-readable names.Justus Winter2016-12-091-0/+9
| | | | | | | * g10/gpg.c (list_config): List all enabled compression algorithms under the key 'compressname'. Signed-off-by: Justus Winter <[email protected]>
* g10: Fix memory leak.Justus Winter2016-12-091-0/+2
| | | | | | * g10/sign.c (do_sign): Release old signature data. Signed-off-by: Justus Winter <[email protected]>
* common: Skip the Byte Order Mark in conf files.Werner Koch2016-12-081-1/+19
| | | | | | * common/argparse.c (optfile_parse): Detect and skip the UTF-8 BOM. Signed-off-by: Werner Koch <[email protected]>
* Fix 2 compiler warnings.Werner Koch2016-12-082-2/+5
| | | | | | | | * dirmngr/loadswdb.c: Set ERR on malloc failure. * g10/passphrase.c (passphrase_to_dek): Initialize all fields of HELP_S2K. Signed-off-by: Werner Koch <[email protected]>
* wks: New option --status-fd for gpg-wks-client.Werner Koch2016-12-083-1/+76
| | | | | | | | | | | | | | | | | | * tools/wks-util.c: Include status.h. (statusfp): New global var. (wks_set_status_fd): New func. (wks_write_status): New func. * tools/gpg-wks-client.c: Include status.h. (oStatusFD): New constant. (opts): New option --status-fd. (parse_arguments): Handle that option. (main): Return STATUS_SUCCESS or STATUS_FAILURE. -- This option is useful in case gpg-wks-client is spawed using a double fork approach which does not allow to return the exit code. Signed-off-by: Werner Koch <[email protected]>
* gpgscm: Better error reporting.Justus Winter2016-12-086-62/+122
| | | | | | | | | | | | | | | | | | | | * tests/gpgscm/ffi.scm: Move the customized exception handling and atexit logic... * tests/gpgscm/init.scm: ... here. (throw): Record the current history. (throw'): New function that is history-aware. (rethrow): New function. (*error-hook*): Use the new throw'. * tests/gpgscm/main.c (load): Fix error handling. (main): Save and use the 'sc->retcode' as exit code. * tests/gpgscm/repl.scm (repl): Print call history. * tests/gpgscm/scheme.c (_Error_1): Make a snapshot of the history, use it to provide a accurate location of the expression causing the error at runtime, and hand the history trace to the '*error-hook*'. (opexe_5): Tag all lists at parse time with the current location. * tests/gpgscm/tests.scm: Update calls to 'throw', use 'rethrow'. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Keep a history of calls for error messages.Justus Winter2016-12-085-4/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/init.scm (vm-history-print): New function. * tests/gpgscm/opdefines.h: New opcodes 'CALLSTACK_POP', 'APPLY_CODE', and 'VM_HISTORY'. * tests/gpgscm/scheme-private.h (struct history): New definition. (struct scheme): New field 'history'. * tests/gpgscm/scheme.c (gc): Mark objects in the history. (history_free): New function. (history_init): Likewise. (history_mark): Likewise. (add_mod): New macro. (sub_mod): Likewise. (tailstack_clear): New function. (callstack_pop): Likewise. (callstack_push): Likewise. (tailstack_push): Likewise. (tailstack_flatten): Likewise. (callstack_flatten): Likewise. (history_flatten): Likewise. (opexe_0): New variable 'callsite', keep track of the expression if it is a call, implement the new opcodes, record function applications in the history. (opexe_6): Implement new opcode. (scheme_init_custom_alloc): Initialize history. (scheme_deinit): Free history. * tests/gpgscm/scheme.h (USE_HISTORY): New macro. -- This patch makes TinySCHEME keep a history of function calls. This history can be used to produce helpful error messages. The history data structure is inspired by MIT/GNU Scheme. Signed-off-by: Justus Winter <[email protected]> fu history
* gpgscm: Add flag TAIL_CONTEXT.Justus Winter2016-12-081-8/+44
| | | | | | | | | | | * tests/gpgscm/scheme.c (S_FLAG_TAIL_CONTEXT): New macro. This flag indicates that the interpreter is evaluating an expression in a tail context (see R5RS, section 3.5). (opexe_0): Clear and set the flag according to the rules layed out in R5RS, section 3.5. (opexe_1): Likewise. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Add flags to the interpreter.Justus Winter2016-12-082-5/+44
| | | | | | | | | | | | * tests/gpgscm/scheme-private.h (struct scheme): Add field 'flags'. * tests/gpgscm/scheme.c (S_OP_MASK): New macro. (S_FLAG_MASK, s_set_flag, s_clear_flag, s_get_flag): Likewise. (_s_return): Unpack the encoded opcode and flags. (s_save): Encode the flags along with the opcode. Use normal integers to encode the result. (scheme_init_custom_alloc): Initialize 'op' and 'flags'. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Implement tags.Justus Winter2016-12-083-0/+91
| | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/opdefines.h: Add opcodes to create and retrieve tags. * tests/gpgscm/scheme.c (T_TAGGED): New macro. (mk_tagged_value): New function. (has_tag): Likewise. (get_tag): Likewise. (mark): Mark tag. (opexe_4): Implement new opcodes. * tests/gpgscm/scheme.h (USE_TAGS): New macro. -- Tags are similar to property lists, but property lists can only be attached to symbols. Tags can not be attached to an existing object, but a tagged copy can be created. Once done, the tag can be manipulated in constant time. Using this during parsing will enable us to produce meaningful error messages. Signed-off-by: Justus Winter <[email protected]>
* gpg: Fix the fix out-of-bounds access.Werner Koch2016-12-081-2/+2
| | | | | | | | | | | | * g10/tofu.c (build_conflict_set): Revert to int* and fix calloc. -- The original code used an int array and thus better keep that and do not limit it to 128 entries. Fixes-commit: c3008bffac68b6f31e9ae9bad837cdce5de7c0db Fixes-commit: 3b5b94ceab7c0ed9501c5cf54b4efa17fcd7300a Signed-off-by: Werner Koch <[email protected]>
* wks: New option --check for gpg-wks-client.Werner Koch2016-12-083-0/+155
| | | | | | | | | | | | * tools/call-dirmngr.c (wkd_get_key): New. * tools/gpg-wks-client.c (aCheck): New constant. (opts): New option "--check". (main): Call command_check. (command_check): New. -- GnuPG-bug-id: 2866 Signed-off-by: Werner Koch <[email protected]>
* tools: Move a function from gpg-wks-server to wks-util.c.Werner Koch2016-12-083-164/+186
| | | | | | | | | | | | | | * tools/gpg-wks-server.c (list_key_status_cb): Remove. (list_key): Move to ... * tools/wks-util.c (wks_list_key): here and rename. Add new args R_FPR and R_MBOXES and remove the CTX. (list_key_status_cb): New. * tools/wks-util.c: Include ccparray.h, exectool.h, and mbox-util.h. * tools/gpg-wks-server.c (process_new_key): Replace list_key by wks_list_key. (check_and_publish): Ditto. Signed-off-by: Werner Koch <[email protected]>
* gpgscm: Generalize 'for-each-p'.Justus Winter2016-12-081-7/+8
| | | | | | | | * tests/gpgscm/tests.scm (for-each-p): Generalize to N lists like for-each. (for-each-p'): Likewise. Signed-off-by: Justus Winter <[email protected]>
* g10: Fix out-of-bounds access.Justus Winter2016-12-081-1/+1
| | | | | | | * g10/tofu.c (build_conflict_set): Use 'char'. Fixes-commit: c3008bffac68b6f31e9ae9bad837cdce5de7c0db Signed-off-by: Justus Winter <[email protected]>
* tools: Fix use of uninitialized var in mime-maker.Werner Koch2016-12-082-2/+8
| | | | | | | | | | * tools/mime-maker.c (ensure_part): Make sure to set R_PARENT on error. (add_missing_headers): Ensure that ERR is set on success. * tools/wks-util.c (wks_parse_policy): Fix indentation. Signed-off-by: Werner Koch <[email protected]>
* tools: Fix memleak in gpgconf.Werner Koch2016-12-081-0/+1
| | | | | | * tools/gpgconf.c (main): Free SOCKETDIR. Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix portability problem.Werner Koch2016-12-081-2/+9
| | | | | | | | | | * g10/tofu.c (build_conflict_set): Replace variable dynamic array. -- Note that clang complained that CONFLICT_SET_COUNT could be negative. Thus I added an assert. Signed-off-by: Werner Koch <[email protected]>
* tests: Add test for '--quick-set-expire'.Justus Winter2016-12-071-0/+22
| | | | | | * tests/openpgp/quick-key-manipulation.scm: Test '--quick-set-expire'. Signed-off-by: Justus Winter <[email protected]>
* tests: Improve quick key manipulation test.Justus Winter2016-12-071-7/+1
| | | | | | | * tests/openpgp/quick-key-manipulation.scm: Do not update the trust database, rather be more specific when filtering the user ids. Signed-off-by: Justus Winter <[email protected]>
* agent: Respect --enable-large-secmemDaniel Kahn Gillmor2016-12-061-1/+1
| | | | | | | | | | | | * agent/gpg-agent.c (main): Initialize secmem to the configured buffer size. -- This patch is a step toward addressing GnuPG-bug-id: 2857 Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* tests: Add test importing a revocation certificate.Justus Winter2016-12-063-1/+48
| | | | | | | | * tests/openpgp/Makefile.am (XTESTS): Add new test. * tests/openpgp/import-revocation-certificate.scm: New file. * tests/openpgp/samplemsgs/revoke-2D727CC768697734.asc: Likewise. Signed-off-by: Justus Winter <[email protected]>
* tests: Rename 'error' to 'fail'.Justus Winter2016-12-0619-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/tests.scm (error): Rename to 'fail'. 'error' is a primitive function (an opcode) of the TinySCHEME vm, and 'error' is also defined by R6RS. Better avoid redefining that. Fix all call sites. * tests/openpgp/4gb-packet.scm: Adapt. * tests/openpgp/decrypt-multifile.scm: Likewise. * tests/openpgp/ecc.scm: Likewise. * tests/openpgp/export.scm: Likewise. * tests/openpgp/gpgtar.scm: Likewise. * tests/openpgp/gpgv-forged-keyring.scm: Likewise. * tests/openpgp/import.scm: Likewise. * tests/openpgp/issue2015.scm: Likewise. * tests/openpgp/issue2346.scm: Likewise. * tests/openpgp/issue2419.scm: Likewise. * tests/openpgp/key-selection.scm: Likewise. * tests/openpgp/mds.scm: Likewise. * tests/openpgp/multisig.scm: Likewise. * tests/openpgp/setup.scm: Likewise. * tests/openpgp/signencrypt.scm: Likewise. * tests/openpgp/ssh-import.scm: Likewise. * tests/openpgp/tofu.scm: Likewise. * tests/openpgp/verify.scm: Likewise. Signed-off-by: Justus Winter <[email protected]>
* tests: Remove debugging display.Justus Winter2016-12-061-1/+0
| | | | | | * tests/openpgp/tofu.scm: Remove debugging display. Signed-off-by: Justus Winter <[email protected]>
* tests: Update distributed filesNeal H. Walfield2016-12-061-2/+21
| | | | | | | | | | | | | | | | | | | | | * tests/openpgp/Makefile.am (TEST_FILES): Remove tofu-keys.asc, tofu-keys-secret.asc, tofu-2183839A-1.txt, tofu-BC15C85A-1.txt and tofu-EE37CF96-1.txt. Add tofu/conflicting/1C005AF3.gpg, tofu/conflicting/1C005AF3-secret.gpg, tofu/conflicting/1C005AF3-1.txt, tofu/conflicting/1C005AF3-2.txt, tofu/conflicting/1C005AF3-3.txt, tofu/conflicting/1C005AF3-4.txt, tofu/conflicting/1C005AF3-5.txt, tofu/conflicting/B662E42F.gpg, tofu/conflicting/B662E42F-secret.gpg, tofu/conflicting/B662E42F-1.txt, tofu/conflicting/B662E42F-2.txt, tofu/conflicting/B662E42F-3.txt, tofu/conflicting/B662E42F-4.txt, tofu/conflicting/B662E42F-5.txt, tofu/conflicting/BE04EB2B.gpg, tofu/conflicting/BE04EB2B-secret.gpg, tofu/conflicting/BE04EB2B-1.txt, tofu/conflicting/BE04EB2B-2.txt, tofu/conflicting/BE04EB2B-3.txt, tofu/conflicting/BE04EB2B-4.txt, tofu/conflicting/BE04EB2B-5.txt and tofu/conflicting/README. -- Signed-off-by: Neal H. Walfield <[email protected]> Fixes-commit: d5b18d6
* doc: Improve the text in the gpg manualNeal H. Walfield2016-12-061-71/+77
| | | | | | * doc/gpg.texi: Improve the text. Signed-off-by: Neal H. Walfield <[email protected]>
* g10: Avoid a memory leak.Neal H. Walfield2016-12-061-0/+2
| | | | | | * g10/gpg.c (main): Free KB when we're done with it. Signed-off-by: Neal H. Walfield <[email protected]>
* tests: Change (interactive-shell) to start an interactive shellNeal H. Walfield2016-12-061-1/+1
| | | | | | | * tests/gpgscm/tests.scm (interactive-shell): Start an interactive shell. Signed-off-by: Neal H. Walfield <[email protected]>
* tests: Check the signature count in the TOFU TFS record.Neal H. Walfield2016-12-061-0/+56
| | | | | | | * tests/openpgp/tofu.scm: Check the signature count in the TOFU TFS record. Signed-off-by: Neal H. Walfield <[email protected]>
* tests: Replace data used by the TOFU conflict test.Neal H. Walfield2016-12-0628-192/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/openpgp/tofu-2183839A-1.txt: Remove file. * tests/openpgp/tofu-BC15C85A-1.txt: Remove file. * tests/openpgp/tofu-EE37CF96-1.txt: Remove file. * tests/openpgp/tofu-keys-secret.asc: Remove file. * tests/openpgp/tofu-keys.asc: Remove file. * tests/openpgp/tofu/conflicting/1C005AF3.gpg: New file. * tests/openpgp/tofu/conflicting/1C005AF3-secret.gpg: New file. * tests/openpgp/tofu/conflicting/1C005AF3-1.txt: New file. * tests/openpgp/tofu/conflicting/1C005AF3-2.txt: New file. * tests/openpgp/tofu/conflicting/1C005AF3-3.txt: New file. * tests/openpgp/tofu/conflicting/1C005AF3-4.txt: New file. * tests/openpgp/tofu/conflicting/1C005AF3-5.txt: New file. * tests/openpgp/tofu/conflicting/B662E42F.gpg: New file. * tests/openpgp/tofu/conflicting/B662E42F-secret.gpg: New file. * tests/openpgp/tofu/conflicting/B662E42F-1.txt: New file. * tests/openpgp/tofu/conflicting/B662E42F-2.txt: New file. * tests/openpgp/tofu/conflicting/B662E42F-3.txt: New file. * tests/openpgp/tofu/conflicting/B662E42F-4.txt: New file. * tests/openpgp/tofu/conflicting/B662E42F-5.txt: New file. * tests/openpgp/tofu/conflicting/BE04EB2B.gpg: New file. * tests/openpgp/tofu/conflicting/BE04EB2B-secret.gpg: New file. * tests/openpgp/tofu/conflicting/BE04EB2B-1.txt: New file. * tests/openpgp/tofu/conflicting/BE04EB2B-2.txt: New file. * tests/openpgp/tofu/conflicting/BE04EB2B-3.txt: New file. * tests/openpgp/tofu/conflicting/BE04EB2B-4.txt: New file. * tests/openpgp/tofu/conflicting/BE04EB2B-5.txt: New file. * tests/openpgp/tofu/conflicting/README: New file. * tests/openpgp/tofu.scm: Update accordingly. -- Signed-off-by: Neal H. Walfield <[email protected]> There are two motivations for this change. First, we decided that test data should live in a subdirectory rather than in tests/openpgp. Second, secret key material is password protected, and I don't remember the password that I used. (The new data is not password protected.) I have also added some new examples of signed messages.
* g10: Remove dead code.Neal H. Walfield2016-12-062-22/+0
| | | | | | * g10/tofu.c (tofu_set_policy_by_keyid): Remove function. Signed-off-by: Neal H. Walfield <[email protected]>
* gpg: New option --quick-set-expire.Werner Koch2016-12-055-26/+148
| | | | | | | | | | | | | * g10/gpg.c (aQuickSetExpire): New. (opts): New option --quick-set-expire. (main): Implement option. * g10/keyedit.c (menu_expire): Add args FORCE_MAINKEY and NEWEXPIRATION. Change semantics of the return value. Change caller. (keyedit_quick_set_expire): New. -- This patch partly solves GnuPG-bug-id: 2701