aboutsummaryrefslogtreecommitdiffstats
path: root/agent/call-scd.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* PIN caching of cards does now work.Werner Koch2006-02-091-9/+69
|
* Preparing an interim releaseWerner Koch2005-11-281-17/+34
|
* gcc-4 defaults forced me to edit many many files to get rid of theWerner Koch2005-06-161-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.
* New debugging optionhs, updates to the manual.Werner Koch2005-06-071-11/+19
|
* * command.c (cmd_updatestartuptty): New.Werner Koch2005-06-031-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.
* * call-scd.c (inq_needpin): Skip leading spaces in of PINWerner Koch2005-05-241-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.
* * call-scd.c (start_scd): Don't test for an alive scdaemon here.Werner Koch2005-05-211-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.
* * protect-tool.c: New option --canonical.Werner Koch2005-05-201-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.
* Changed the scdaemon to handle concurrent sessions. AdjustedWerner Koch2005-05-181-142/+255
| | | | | gpg-agent accordingly. Code cleanups.
* .Werner Koch2005-04-201-0/+3
|
* typo fixesWerner Koch2005-04-111-1/+1
|
* * findkey.c (modify_description): Keep invalid % escapes, so thatWerner Koch2005-02-251-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.
* * call-scd.c (unescape_status_string): New. Actual a copy ofWerner Koch2005-02-241-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.
* (stream_read_string): Removed call to abort onWerner Koch2005-02-221-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.
* * call-scd.c (init_membuf, put_membuf, get_membuf): Removed. WeWerner Koch2004-12-201-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.
* * query.c (initialize_module_query):Werner Koch2004-12-191-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.
* A whole bunch of changes to allow building for W32.Werner Koch2004-12-151-1/+1
|
* VArious hacks to make it at least build under W32.Werner Koch2004-12-131-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.
* (start_scd): Do not register an event signal if weWerner Koch2004-04-261-1/+4
| | | | | are running as a pipe server.
* * call-scd.c (start_scd): Send event-signal option. Always checkWerner Koch2004-04-211-4/+27
| | | | | | | | that the scdaemon is still running. * gpg-agent.c (handle_signal): Do not use SIGUSR{1,2} anymore for changing the verbosity.
* * agent.h (server_control_s): Add connection_fd field.Werner Koch2004-01-291-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.
* * call-scd.c (atfork_cb): New.Werner Koch2004-01-241-3/+13
| | | | | | | (start_scd): Make sure secmem gets cleared. * query.c (atfork_cb): New. (start_pinentry): Make sure secmem gets cleared.
* This commit was manufactured by cvs2svn to create branchRepo Admin2003-08-051-0/+661
| | | | 'GNUPG-1-9-BRANCH'.
* This commit was manufactured by cvs2svn to create branchRepo Admin2002-10-191-592/+0
| | | | 'GNUPG-1-9-BRANCH'.
* * call-scd.c (learn_status_cb): Handle CERTINFO status.Werner Koch2002-08-161-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.
* * query.c (start_pinentry): Use GNUPG_DERAULT_PINENTRY.Werner Koch2002-06-291-2/+1
| | | | | * call-scd.c (start_scd): Use GNUPG_DEFAULT_SCDAEMON.
* * Makefile.am (pkglib_PROGRAMS): Put protect-tool there.Werner Koch2002-06-271-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.
* * no-pth.c, Makefile.am: Removed.Werner Koch2002-05-231-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.
* Debug message cleanups.Werner Koch2002-04-271-2/+4
| | | | | Fixed passphrase caching.
* sm/Werner Koch2002-03-061-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.
* Decryption using a Cryptoflex card does now work.Werner Koch2002-03-061-0/+53
|
* Signing using a PKCS15 smartcard does work. How to create such a cardWerner Koch2002-03-051-0/+184
| | | | | | is of course a different thing. Note, that you need to create the shadowed-private-key file manually.
* * pksign.c (agent_pksign): Detect whether a Smartcard is to beWerner Koch2002-03-041-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.
* * assuan-client.c (assuan_transact): Add 2 more arguments toWerner Koch2002-02-281-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.