aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "dirmngr: Fix dns-stuff.c."NIIBE Yutaka2017-04-121-0/+1
| | | | This reverts commit 1538523156be568046f632d1775eae30ea8bd556.
* dirmngr: Fix dns-stuff.c.NIIBE Yutaka2017-04-121-1/+0
| | | | | | | | | | | * dirmngr/dns-stuff.c: Don't include arpa/nameser.h. -- It is not needed at all. T_CERT may be defined by different type of ns_type. Signed-off-by: NIIBE Yutaka <[email protected]>
* agent: Simplify stream_read_cstring.NIIBE Yutaka2017-04-121-7/+1
| | | | | | | * agent/command-ssh.c (stream_read_cstring): Just call stream_read_string. Signed-off-by: NIIBE Yutaka <[email protected]>
* dirmngr: Use a function to increment network short.NIIBE Yutaka2017-04-121-4/+13
| | | | | | | | | | | | | * dirmngr/dns.c (plus1_ns): New. (dns_p_push): Use it. -- On OpenBSD, htons and ntohs are expanded to GCC's statement expressions where local variable is allowed. Consecutive use of htons and ntohs causes problem of variable name. Signed-off-by: NIIBE Yutaka <[email protected]>
* g10: Minor clean up for export.c.NIIBE Yutaka2017-04-111-19/+16
| | | | | | | | | | | | | | | | * g10/export.c (export_ssh_key): Check IDENTIFIER for error. Release base64 thing on error of get_membuf. -- Compiler (older) may misunderstand the variable IDENTIFIER is not initialized, while good one can do better analysys on the value for ERR (and thus, IDENTIFIER). On the error of get_membuf, still, b64enc_finish should be called, even if it lost the ERR value. Signed-off-by: NIIBE Yutaka <[email protected]>
* g13: Include sys/sysmacros.h if available.NIIBE Yutaka2017-04-112-1/+4
| | | | | | | * configure.ac: Add test for sys/sysmacros.h. * g13/sh-dmcrypt.c: Include sys/sysmacros.h. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Fix distcheck.Justus Winter2017-04-111-0/+1
| | | | | | | * tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'gnupg.scm'. Fixes-commit: ccd2187212c12b84c86a10fd4417a16536243179 Signed-off-by: Justus Winter <[email protected]>
* tests: Avoid relying on implicit gpg commands.Justus Winter2017-04-1125-39/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/openpgp/armdetach.scm: Always use an explicit command instead of relying on gpg to guess what we want. * tests/openpgp/armdetachm.scm: Likewise. * tests/openpgp/armencrypt.scm: Likewise. * tests/openpgp/armencryptp.scm: Likewise. * tests/openpgp/armor.scm: Likewise. * tests/openpgp/armsignencrypt.scm: Likewise. * tests/openpgp/armsigs.scm: Likewise. * tests/openpgp/clearsig.scm: Likewise. * tests/openpgp/compression.scm: Likewise. * tests/openpgp/conventional-mdc.scm: Likewise. * tests/openpgp/conventional.scm: Likewise. * tests/openpgp/decrypt-dsa.scm: Likewise. * tests/openpgp/decrypt.scm: Likewise. * tests/openpgp/detach.scm: Likewise. * tests/openpgp/detachm.scm: Likewise. * tests/openpgp/ecc.scm: Likewise. * tests/openpgp/encrypt-dsa.scm: Likewise. * tests/openpgp/encrypt-multifile.scm: Likewise. * tests/openpgp/encrypt.scm: Likewise. * tests/openpgp/encryptp.scm: Likewise. * tests/openpgp/seat.scm: Likewise. * tests/openpgp/signencrypt-dsa.scm: Likewise. * tests/openpgp/signencrypt.scm: Likewise. * tests/openpgp/sigs-dsa.scm: Likewise. * tests/openpgp/sigs.scm: Likewise. Signed-off-by: Justus Winter <[email protected]>
* tests: Make tests more robust.Justus Winter2017-04-112-5/+7
| | | | | | | | | * tests/openpgp/defs.scm (have-opt-always-trust): Execute in empty ephemeral home directory. This prevents gpg from picking up the configuration from the current gnupghome (if any). * tests/migrations/common.scm (untar-armored): Likewise. Signed-off-by: Justus Winter <[email protected]>
* tests: Move common functionality.Justus Winter2017-04-113-26/+46
| | | | | | | | | * tests/openpgp/defs.scm (with-home-directory, with-ephemeral-home-directory): Move... * tests/gpgscm/gnupg.scm: ... to this new file. * tests/gpgscm/main.c (main): Load the new file. Signed-off-by: Justus Winter <[email protected]>
* dirmngr: Fix build for Windows.NIIBE Yutaka2017-04-111-1/+1
| | | | | | | * dirmngr/ldap-wrapper-ce.c (outstream_cookie_writer): Use gpgrt_ssize_t. Signed-off-by: NIIBE Yutaka <[email protected]>
* g10,tools: Fix bzlib.h include order.NIIBE Yutaka2017-04-112-4/+6
| | | | | | | | | | | | * g10/compress-bz2.c: Include bzlib.h after gcrypt.h. * tools/gpgsplit.c: Likewise. -- bzlib.h may include windows.h on Windows. It is better after gcrypt.h which may include winsock2.h. Signed-off-by: NIIBE Yutaka <[email protected]>
* g10: Minor clean up for TOFU.NIIBE Yutaka2017-04-111-1/+1
| | | | | | * g10/tofu.c (ask_about_binding): Fix for qualifier. Signed-off-by: NIIBE Yutaka <[email protected]>
* common: Portability fix for logging.c.NIIBE Yutaka2017-04-111-4/+8
| | | | | | | * common/logging.c (S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH): Avoid duplicated definition. Signed-off-by: NIIBE Yutaka <[email protected]>
* tools: Portability fix for gpgparsemail.NIIBE Yutaka2017-04-111-1/+2
| | | | | | | | | | | | | | * tools/rfc822parse.c (my_stpcpy): Rename from stpcpy. -- When HAVE_STPCPY is not defined (no definition in libc), still, compiler may have definition as a built-in function (for some specific case like second argument is constant). In that case, having stpcpy implementation with the same name but different signature ("static" qualifier) is not good. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgscm: Fix opcode dispatch.Justus Winter2017-04-101-2/+2
| | | | | | | * tests/gpgscm/scheme.c (opexe_0): Consider 'op', not 'sc->op'. The former is the opcode we are currently executing. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Mmap script files.Justus Winter2017-04-103-5/+50
| | | | | | | | | * tests/gpgscm/main.c (load): Try to mmap the script. * tests/gpgscm/scheme.c (scheme_load_memory): New function, a generalization of 'scheme_load_string'. * tests/gpgscm/scheme.h (scheme_load_memory): New prototype. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Refactor checking for opcode arguments.Justus Winter2017-04-101-60/+70
| | | | | | | | | * tests/gpgscm/scheme.c (op_code_info): Fix type, add forward declaration. (check_arguments): New function. (Eval_cycle): Use the new function. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Improve syntax dispatch.Justus Winter2017-04-101-58/+36
| | | | | | | | | | * tests/gpgscm/scheme.c (assign_syntax): Add opcode parameter, store opcode in the tag. (syntaxnum): Add sc parameter, retrieve opcode from tag. (opexe_0): Adapt callsite. (scheme_init_custom_alloc): Likewise. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Make tags mandatory.Justus Winter2017-04-103-22/+2
| | | | | | | | | | | | | * tests/gpgscm/opdefines.h: Make tags mandatory. * tests/gpgscm/scheme.c: Likewise. * tests/gpgscm/scheme.h: Likewise. -- Tags provide a constant-time lookup mechanism for almost every object. This is useful for the interpreter itself, and the code for tags is tiny. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Add and use opcode for reversing a list in place.Justus Winter2017-04-103-4/+8
| | | | | | | | | * tests/gpgscm/lib.scm (string-split-pln): Use 'reverse!'. (string-rtrim): Likewise. * tests/gpgscm/opdefines.h (reverse!): New opcode. * tests/gpgscm/scheme.c (opexe_0): Handle new opcode. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Deduplicate code.Justus Winter2017-04-101-50/+28
| | | | | | | | * tests/gpgscm/scheme.c (oblist_add_by_name): Deduplicate. (new_slot_spec_in_env): Likewise. Fixes-commit: 6a3f857224eab108ae38e6259194b01b0ffdad8b Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Move dispatch table into rodata.Justus Winter2017-04-102-13/+14
| | | | | | | | | | | | | | * tests/gpgscm/opdefines.h: Use 0 instead of NULL. * tests/gpgscm/scheme.c (op_code_info): Use char arrays instead of pointers, make arity parameters smaller. (INF_ARG): Adapt. (_OP_DEF): Likewise. (dispatch_table): Likewise. (procname): Likewise. (Eval_cycle): Likewise. (scheme_init_custom_alloc): Likewise. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Use more threaded code.Justus Winter2017-04-101-38/+37
| | | | | | | * tests/gpgscm/scheme.c (opexe_0): Use 's_thread_to' instead of 's_goto' wherever possible. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Remove now obsolete dispatcher function from the opcodes.Justus Winter2017-04-103-194/+191
| | | | | | | | | | | | * tests/gpgscm/opdefines.h: Remove now obsolete dispatcher function from the opcodes. * tests/gpgscm/scheme-private.h (_OP_DEF): Adapt. * tests/gpgscm/scheme.c (dispatch_func): Remove type declaration. (op_code_info): Remove 'func'. (_OP_DEF): Adapt. (Eval_Cycle): Always call 'opexe_0'. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Merge 'opexe_6'.Justus Winter2017-04-102-25/+11
| | | | | | | | | | | | * tests/gpgscm/scheme.c (opexe_6): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Merge 'opexe_5'.Justus Winter2017-04-102-36/+18
| | | | | | | | | | | | * tests/gpgscm/scheme.c (opexe_5): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Merge 'opexe_4'.Justus Winter2017-04-102-46/+37
| | | | | | | | | | | | * tests/gpgscm/scheme.c (opexe_4): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Merge 'opexe_3'.Justus Winter2017-04-102-86/+75
| | | | | | | | | | | | * tests/gpgscm/scheme.c (opexe_3): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Merge 'opexe_2'.Justus Winter2017-04-102-108/+98
| | | | | | | | | | | | * tests/gpgscm/scheme.c (opexe_2): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Merge 'opexe_1'.Justus Winter2017-04-102-31/+20
| | | | | | | | | | | | * tests/gpgscm/scheme.c (opexe_1): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <[email protected]>
* agent: Use "ll" length specifier when time_t is larger.NIIBE Yutaka2017-04-101-1/+7
| | | | | | | | | | | * agent/command.c (cmd_keytocard): Use KEYTOCARD_TIMESTAMP_FORMAT. -- On a big-endian 32-bit platform which uses 64-bit time_t, it might go wrong. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Relax a condition for p15 driver.NIIBE Yutaka2017-04-101-1/+1
| | | | | | | | | * scd/app-p15.c (read_ef_aodf): Fix. -- Fixes-commit: 3c1ad96f1ce838daf2d861b33e6611f6d3043d25 Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Relax a condition for p15 driver.NIIBE Yutaka2017-04-101-1/+1
| | | | | | * scd/app-p15.c (read_ef_aodf): Remove possibly redundant condition. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Remove "special transport" support.NIIBE Yutaka2017-04-101-292/+64
| | | | | | | | | | * scd/ccid-driver.c (transports, my_sleep, prepare_special_transport) (writen): Remove. (ccid_dev_scan, ccid_dev_scan_finish, ccid_get_BAI): Only for USB. (ccid_open_reader, do_close_reader, bulk_out, bulk_in, abort_cmd) (ccid_poll, ccid_transceive): Likewise. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgscm: Allocate small integers in the rodata section.Justus Winter2017-04-074-37/+861
| | | | | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/Makefile.am (gpgscm_SOURCES): Add new file. * tests/gpgscm/scheme-private.h (struct cell): Move number to the top of the union so that we can initialize it. (struct scheme): Remove 'integer_segment'. * tests/gpgscm/scheme.c (initialize_small_integers): Remove function. (small_integers): New variable. (MAX_SMALL_INTEGER): Compute. (mk_small_integer): Adapt. (mark): Avoid marking objects already marked. This allows us to run the algorithm over objects in the rodata section if they are already marked. (scheme_init_custom_alloc): Remove initialization. (scheme_deinit): Remove deallocation. * tests/gpgscm/small-integers.h: New file. -- Allocate small integers from a fixed pool in the rodata section. This spares us the initialization, and deduplicates integers across different processes. It also makes the integers immutable, increasing memory safety. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Make global data constant when possible.Justus Winter2017-04-072-19/+15
| | | | | | | | | | | | | | | | | | * tests/gpgscm/scheme-private.h (struct scheme): Make 'vptr' const. * tests/gpgscm/scheme.c (num_zero): Statically initialize and turn into constant. (num_one): Likewise. (charnames): Change type so that it can be stored in rodata. (is_ascii_name): Adapt slightly. (assign_proc): Make argument const char *. (op_code_info): Make some fields const char *. (tests): Make const. (dispatch_table): Make const. At least it can be made read-only after relocation. (Eval_Cycle): Adapt slightly. (vtbl): Make const. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Remove arbitrary limit on number of cell segments.Justus Winter2017-04-072-44/+74
| | | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/scheme-private.h (struct scheme): Remove fixed-size arrays for cell segments, replace them with a pointer to the new 'struct cell_segment' instead. * tests/gpgscm/scheme.c (struct cell_segment): New definition. (_alloc_cellseg): Allocate the header within the segment, return a pointer to the header. (_dealloc_cellseg): New function. (alloc_cellseg): Insert the segments into a list. (_get_cell): Allocate a new segment if less than a quarter of CELL_SIGSIZE is recovered during garbage collection. (initialize_small_integers): Adapt callsite. (gc): Walk the list of segments. (scheme_init_custom_alloc): Remove initialization of removed field. (scheme_deinit): Adapt deallocation. -- Previously the number of cells that could be allocated was a compile-time limit. Remove this limit. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Fix compact vector encoding.Justus Winter2017-04-071-1/+2
| | | | | | | | | | | | | | | | * tests/gpgscm/scheme-private.h (struct cell): Use uintptr_t for '_flags'. This way, '_flags' has the size of a machine word. -- The compact vector representation introduced in 49e2ae65 requires that we can tell apart pointers and type flags. This did not work on 64-bit big-endian architectures. Fixes a crash on 64-bit big-endian architectures. Hat-tip-to: gniibe Fixes-commit: 49e2ae65e892f93be7f87cfaae3392b50a99e4b1 Signed-off-by: Justus Winter <[email protected]>
* doc: Explain the '>' in a key listing.Werner Koch2017-04-071-4/+7
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix printing of offline taken subkey.Werner Koch2017-04-071-1/+1
| | | | | | | | * g10/keylist.c (list_keyblock_print): Set SECRET to 2 and not 0x32. -- Reported-by: Danielle McLean <[email protected]> Signed-off-by: Werner Koch <[email protected]>
* scd: Internal CCID reader cleanup.NIIBE Yutaka2017-04-071-269/+41
| | | | | | | | | | | | * scd/ccid-reader.c (scan_usb_device): Only for scan mode, so, rename from scan_or_find_usb_device. (scan_devices): Likewise. Remove support of special transport types. (ccid_get_reader_list): Simplify. (abort_cmd): Fix error return. (send_escape_cmd): Fix for RESULTLEN == NULL. (ccid_transceive_secure): Remove unnecessary var updates. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Don't keep CCID reader open when card is not available.NIIBE Yutaka2017-04-071-8/+3
| | | | | | * scd/apdu.c (open_ccid_reader): Fail if no ATR. Signed-off-by: NIIBE Yutaka <[email protected]>
* agent: Serialize access to passphrase cache.NIIBE Yutaka2017-04-061-36/+37
| | | | | | | | | | | | | | * agent/cache.c (encryption_lock): Remove. (cache_lock): New. Now, we have coarse grain lock to serialize entire cache access. (initialize_module_cache): Use CACHE_LOCK. (init_encryption, new_data): Remove ENCRYPTION_LOCK. (agent_flush_cache, agent_put_cache, agent_get_cache): Lock the cache. -- GnuPG-bug-id: 3027 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgscm: Avoid mutating integer.Justus Winter2017-04-061-1/+1
| | | | | | | | * tests/gpgscm/scheme.c (opexe_5): Do not modify the integer in-place while printing an vector. Integer objects may be shared, so they must not be mutated. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Initialize unused slots in vectors.Justus Winter2017-04-061-0/+8
| | | | | | | | | | | | * tests/gpgscm/scheme.c (get_vector_object): Initialize unused slots at the end of vectors. -- They should not be used for anything, but let's just initialize them to something benign to be sure. GnuPG-bug-id: 3014 Signed-off-by: Justus Winter <[email protected]>
* tests: Fix distcheck.Justus Winter2017-04-062-2/+2
| | | | | | | | | | | | | | | | * tests/Makefile.am (SUBDIRS): Add 'pkits' again. Simply dropping it makes 'make distcheck' unhappy. * tests/pkits/Makefile.am (TESTS): Remove all tests. -- Disable the 'pkits' tests in a way that keeps 'make distcheck' happy. To run tests individually, do make -Ctests/pkits check TESTS=some-test GnuPG-bug-id: 3067 Fixes-commit: af1c1a57e46a00a32d83c1a58c5f3ef6f4a1c1d1 Signed-off-by: Justus Winter <[email protected]>
* tests: Disable 'pkits' test suite.Justus Winter2017-04-063-4/+4
| | | | | | | | | | | | | | * tests/Makefile.am (SUBDIRS): Drop 'pkits'. * tests/pkits/common.sh: Fix locating 'PKITS_data.tar.bz2'. * tests/pkits/inittests: Likewise. -- These tests are unmaintained and broken, and were previously only run when doing in-tree builds, hence nobody noticed that they were badly broken. GnuPG-bug-id: 3067 Signed-off-by: Justus Winter <[email protected]>
* tests: Make test more robust.Justus Winter2017-04-062-3/+6
| | | | | | | | * tests/openpgp/4gb-packet.scm: Skip if we do not have BZIP2. * tests/openpgp/defs.scm (have-compression-algo?): New function. GnuPG-bug-id: 3028 Signed-off-by: Justus Winter <[email protected]>
* tests: Fix setup of ephemeral home directories.Justus Winter2017-04-051-2/+2
| | | | | | | | | | * tests/openpgp/defs.scm (with-ephemeral-home-directory): Set GNUPGHOME and cwd to the ephemeral directory before calling the setup function. GnuPG-bug-id: 3047 Fixes-commit: 32b75fb7743f35936d7014fce33c90ba97dfa374 Signed-off-by: Justus Winter <[email protected]>