aboutsummaryrefslogtreecommitdiffstats
path: root/agent/call-scd.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2005-11-28Preparing an interim releaseWerner Koch1-17/+34
2005-07-27Removed directories which are only used by the 1.9 branchWerner Koch1-661/+0
2005-06-16gcc-4 defaults forced me to edit many many files to get rid of theWerner Koch1-11/+8
char * vs. unsigned char * warnings. The GNU coding standards used to say that these mismatches are okay and better than a bunch of casts. Obviously this has changed now.
2005-06-07New debugging optionhs, updates to the manual.Werner Koch1-11/+19
2005-06-03* command.c (cmd_updatestartuptty): New.Werner Koch1-0/+30
* gpg-agent.c: New option --write-env-file. * gpg-agent.c (handle_connections): Make sure that the signals we are handling are not blocked.Block signals while creating new threads. * estream.c: Use HAVE_CONFIG_H and not USE_CONFIG_H! (es_func_fd_read, es_func_fd_write): Protect against EINTR. * gpg-agent.texi (Agent UPDATESTARTUPTTY): New. * scdaemon.c (handle_connections): Make sure that the signals we are handling are not blocked.Block signals while creating new threads. (handle_connections): Include the file descriptor into the name of the thread.
2005-05-24* call-scd.c (inq_needpin): Skip leading spaces in of PINWerner Koch1-0/+2
description. * divert-scd.c (getpin_cb): Enhanced to cope with description flags. * query.c (agent_askpin): Add arg PROMPT_TEXT. Changed all callers.
2005-05-21* call-scd.c (start_scd): Don't test for an alive scdaemon here.Werner Koch1-22/+59
(agent_scd_check_aliveness): New. * gpg-agent.c (handle_tick): Test for an alive scdaemon. (handle_signal): Print thread info on SIGUSR1. * scdaemon.c (handle_signal): Print thread info on SIGUSR1.
2005-05-20* protect-tool.c: New option --canonical.Werner Koch1-4/+3
(show_file): Implement it. * keyformat.txt: Define the created-at attribute for keys. * ccid-driver.c: Replaced macro DEBUG_T1 by a new debug level. (parse_ccid_descriptor): Mark SCR335 firmware version 5.18 good. (ccid_transceive): Arghhh. The seqno is another bit in the R-block than in the I block, this was wrong at one place. * scdaemon.c: New options --debug-ccid-driver and --debug-disable-ticker. * app-openpgp.c (do_genkey, do_writekey): Factored code to check for existing key out into .. (does_key_exist): .. New function. * gpg-connect-agent.c (add_definq, show_definq, clear_definq) (handle_inquire): New. (read_and_print_response): Handle INQUIRE command. (main): Implement control commands.
2005-05-18Changed the scdaemon to handle concurrent sessions. AdjustedWerner Koch1-142/+255
gpg-agent accordingly. Code cleanups.
2005-04-20.Werner Koch1-0/+3
2005-04-11typo fixesWerner Koch1-1/+1
2005-02-25* findkey.c (modify_description): Keep invalid % escapes, so thatWerner Koch1-10/+12
%0A may pass through. * agent.h (server_control_s): New field USE_AUTH_CALL. * call-scd.c (agent_card_pksign): Make use of it. * command-ssh.c (data_sign): Set the flag. (ssh_send_key_public): New arg OVERRIDE_COMMENT. (card_key_available): Add new arg CARDSN. (ssh_handler_request_identities): Use the card s/n as comment. (sexp_key_extract): Use GCRYMPI_FMT_STD. (data_sign): Ditto. * learncard.c (make_shadow_info): Moved to .. * protect.c (make_shadow_info): .. here. Return NULL on malloc failure. Made global. * agent.h: Add prototype. * xasprintf.c (xtryasprintf): New. * app-openpgp.c (get_public_key): Make sure not to return negative numbers. (do_sign): Allow passing of indata with algorithm prefix. (do_auth): Allow OPENPGP.3 as an alternative ID. * app.c (app_getattr): Return just the S/N but not the timestamp. * no-libgcrypt.c (gcry_strdup): New.
2005-02-24* call-scd.c (unescape_status_string): New. Actual a copy ofWerner Koch1-10/+123
../g10/call-agent.c (card_getattr_cb, agent_card_getattr): New. * command-ssh.c (card_key_available): New. (ssh_handler_request_identities): First see whether a card key is available. * app.c (app_getattr): Return APPTYPE or SERIALNO type even if the application does dot support the getattr call. * app.c (select_application): Return an error code and the application context in an new arg. * command.c (open_card): Adjusted for that. Don't use the fallback if no card is present. Return an error if the card has been removed without a reset. (do_reset, cmd_serialno): Clear that error flag. (TEST_CARD_REMOVAL): New. Use it with all command handlers. (scd_update_reader_status_file): Set the error flag on all changes.
2005-02-22(stream_read_string): Removed call to abort onWerner Koch1-1/+1
memory error because the CVS version of libgcrypt makes sure that ERRNO gets always set on error even with a faulty user supplied function.
2004-12-20* call-scd.c (init_membuf, put_membuf, get_membuf): Removed. WeWerner Koch1-74/+5
now use the identical implementation from ../common/membuf.c. * pksign.c (agent_pksign): Changed arg OUTFP to OUTBUF and use membuf functions to return the value. * pkdecrypt.c (agent_pkdecrypt): Ditto. * genkey.c (agent_genkey): Ditto. * command.c (cmd_pksign, cmd_pkdecrypt, cmd_genkey): Replaced assuan_get_data_fp() by a the membuf scheme. (clear_outbuf, write_and_clear_outbuf): New. * membuf.c (put_membuf): Wipe out buffer after a failed realloc.
2004-12-19* query.c (initialize_module_query):Werner Koch1-2/+19
* call-scd.c (initialize_module_call_scd): New. * w32-pth.c (pth_init): Enable debugging depending on env var. (pth_self): New. (pth_mutex_release, pth_mutex_acquire): Implemented directly using the W32 API.
2004-12-15A whole bunch of changes to allow building for W32.Werner Koch1-1/+1
2004-12-13VArious hacks to make it at least build under W32.Werner Koch1-0/+6
* stringhelp.c (w32_strerror) [W32]: New. * w32-pth.c, w32-pth.h: Added real code written by Timo Schulz. Not finished, though. * gpgconf-comp.c <ignore-ocsp-service-url>: Fixed typo.
2004-04-26(start_scd): Do not register an event signal if weWerner Koch1-1/+4
are running as a pipe server.
2004-04-21* call-scd.c (start_scd): Send event-signal option. Always checkWerner Koch1-4/+27
that the scdaemon is still running. * gpg-agent.c (handle_signal): Do not use SIGUSR{1,2} anymore for changing the verbosity.
2004-01-29* agent.h (server_control_s): Add connection_fd field.Werner Koch1-24/+83
* command.c (start_command_handler): Init it here. * gpg-agent.c (agent_init_default_ctrl): and here. * call-scd.c: Add the CTRL arg to all functions calling start_scd and pass it to start_scd. Changed all callers (start_scd): Keep track of the current active connection. (agent_reset_scd): New. * command.c (start_command_handler): Call it here. * learncard.c (agent_handle_learn): Add arg CTRL; changed caller. (send_cert_back): Ditto.
2004-01-24* call-scd.c (atfork_cb): New.Werner Koch1-3/+13
(start_scd): Make sure secmem gets cleared. * query.c (atfork_cb): New. (start_pinentry): Make sure secmem gets cleared.
2003-08-05This commit was manufactured by cvs2svn to create branchRepo Admin1-0/+661
'GNUPG-1-9-BRANCH'.
2003-07-01* app-openpgp.c (store_fpr): Fixed fingerprint calculation.Werner Koch1-4/+0
* keygen.c (gen_card_key): Obviously we should use the creation date received from SCDAEMON, so that the fingerprints will match. * sign.c (do_sign): Pass the serialno to the sign code. * keyid.c (serialno_and_fpr_from_sk): New.
2003-06-27Key generation and signing using the OpenPGP card does rudimentary work.Werner Koch1-6/+77
2003-06-03Make use of libgpg-errorWerner Koch1-12/+14
2002-10-19This commit was manufactured by cvs2svn to create branchRepo Admin1-592/+0
'GNUPG-1-9-BRANCH'.
2002-08-16* call-scd.c (learn_status_cb): Handle CERTINFO status.Werner Koch1-2/+13
(agent_card_learn): Add args for certinfo cb. * learncard.c (release_certinfo,certinfo_cb): New. (send_cert_back): New. With factored out code from .. (agent_handle_learn): here. Return certinfo stuff.
2002-06-29* query.c (start_pinentry): Use GNUPG_DERAULT_PINENTRY.Werner Koch1-2/+1
* call-scd.c (start_scd): Use GNUPG_DEFAULT_SCDAEMON.
2002-06-27* Makefile.am (pkglib_PROGRAMS): Put protect-tool there.Werner Koch1-1/+13
* findkey.c (agent_write_private_key,agent_key_from_file) (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant. * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant. * protect-tool.c (store_private_key): New. (import_p12_file): Store the new file if requested. (main): New options --force and --store. * gpg-agent.c (main): Set a global flag when runing detached. * query.c (start_pinentry): Pass the list of FD to keep in the child when not running detached. * call-scd.c (start_scd): Ditto.
2002-05-23* no-pth.c, Makefile.am: Removed.Werner Koch1-25/+59
* call-scd.c: Seirialized all scdaeom access when using Pth. * cache.c: Made the cache Pth-thread-safe. (agent_unlock_cache_entry): New. * findkey.c (unprotect): Unlock the returned cache value. * command.c (cmd_get_passphrase): Ditto. * gpg-agent.c (main): Register pth_read/write with Assuan.
2002-04-27Debug message cleanups.Werner Koch1-2/+4
Fixed passphrase caching.
2002-03-06sm/Werner Koch1-13/+89
* gpgsm.c: New command --learn-card * call-agent.c (learn_cb,gpgsm_agent_learn): New. * gpgsm.c (main): Print error messages for non-implemented commands. agent/ * learncard.c: New. * divert-scd.c (ask_for_card): The serial number is binary so convert it to hex here. * findkey.c (agent_write_private_key): New. * genkey.c (store_key): And use it here. scd/ * pkdecrypt.c (agent_pkdecrypt): Changed the way the diversion is done. * divert-scd.c (divert_pkdecrypt): Changed interface and implemented it.
2002-03-06Decryption using a Cryptoflex card does now work.Werner Koch1-0/+53
2002-03-05Signing using a PKCS15 smartcard does work. How to create such a cardWerner Koch1-0/+184
is of course a different thing. Note, that you need to create the shadowed-private-key file manually.
2002-03-04* pksign.c (agent_pksign): Detect whether a Smartcard is to beWerner Koch1-2/+70
used and divert the operation in this case. * pkdecrypt.c (agent_pkdecrypt): Likewise * findkey.c (agent_key_from_file): Add optional arg shadow_info and have it return information about a shadowed key. * protect.c (agent_get_shadow_info): New. * protect.c (snext,sskip,smatch): Moved to * sexp-parse.h: new file. * divert-scd.c: New.
2002-02-28* assuan-client.c (assuan_transact): Add 2 more arguments toWerner Koch1-0/+153
support status lines. Passing NULL yields the old behaviour. * assuan-handler.c (process_request): Flush data lines send without using the data fp.