head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.4 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.2 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.1.0.18 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.16 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.14 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.12 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.10 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.8 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.6 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.4 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.2 pkgsrc-2010Q3-base:1.1; locks; strict; comment @# @; 1.2 date 2012.11.30.14.44.34; author gdt; state dead; branches; next 1.1; 1.1 date 2010.09.01.15.59.23; author drochner; state Exp; branches; next ; desc @@ 1.2 log @Update to 0.12.2. Thanks to manu@@ for testing and resolving pcsc-lite ptthread leakage problems. Note that pcsc-lite and openct should be an options group. Disable some obsolete CONFIGURE_ARGS. Work around assumption that either getopt_long_only is present or allgetopt functions must be provided. Finnish EID patches have been applied upstream (from whence they came, perhaps). From upstream NEWS: Complete change history is available online: http://www.opensc-project.org/opensc/timeline New in 0.12.2; 2011-07-15 * Builds are now silent by default when OpenSC is built from source on Unix. * Using --wait with command line tools works with 64bit Linux again. * Greatly improved OpenPGP card support, including OpenPGP 2.0 cards like the one found in German Privacy Foundation CryptoStick. * Fixed support for FINeID cards issued after 01.03.2011 with 2048bit keys. * #256: Fixed support for TCOS cards (broken since 0.12.0). * Added support for IDKey-cards to TCOS3 driver. * #361: Improved PC/SC driver to fetch the maximum PIN sizes from the open source CCID driver. This fixes the issue for Linux/OSX with recent driver. * WindowsInstaller now installs only static DLL-s (PKCS#11, minidriver) to system folder. * Fix FINeID cards for organizations. * Several smaller bugs and compiler warnings fixed. New in 0.12.1; 2011-05-17 * New card driver: IAS/ECC 1.0.1 * rutoken-tool has been deprecated and removed. * eidenv and piv-tool utilities now have manual pages. * pkcs11-tool now requires the use of --module parameter. * All tools can now use an ATR as an argument to --reader, to skip to the card with given ATR. * opensc-tool -l with -v now shows information about the inserted cards. * Creating files have an enforced upper size limit, 64K * Support for multiple PKCS#15 applications with different AID-s. PKCS#15 applications can be listed with pkcs15-tool --list-applications. Binding to a specific AID with PKCS#15 tools can be done with --aid. * Hex strings (like card ATR or APDU-s) can now be separated by space, in addition to colons. * Pinpad readers known to be bogus are now ignored by OpenSC. At the moment only "HP USB Smart Card Keyboard" is disabled. * Windows installer is now distributed as a statically built MSI, for both x86 and x64. * Numerous compiler warnings, unused code and internal bugs have been eliminated. New in 0.12.0; 2010-12-22 * OpenSC uses a single reader driver, specified at compile time. * New card driver: Italian eID (CNS) by Emanuele Pucciarelli. * New card driver: Portuguese eID by João Poupino. * New card driver: westcos by François Leblanc. * pkcs11-tool can use a slot based on ID, label or index in the slot list. * PIN flags are updated from supported cards when C_GetTokenInfo is called. * Support for CardOS 4.4 cards added. * Fature to exclude readers from OpenSC PKCS#11 via "ignored_readers" configuration file entry. * #229: Support semi-automatic fixes to cards personalized with older and broken OpenSC versions. * Software keys removed from pkcs15-init and the PKCS#11 module. OpenSC can either generate keys on card or import plaintext keys to the card, but will never generate plaintext key material in software by itself. All traces of a software token (PKCS#15 Section 7) shall be removed. * Updates to PC/SC driver to build with pcsc-lite >= 1.6.2 * Build script for a binary Mac OS X installer for 10.5 and 10.6 systems. Binary installer includes OpenSC.tokend for platform integration. 10.6 installer includes engine_pkcs11. * Modify Rutoken S binary interfaces by Aktiv Co. * Support GOST R 34.10-2001 and GOST R 34.11-94 by Aktiv Co. * CardOS driver now emulates sign on rsa keys with sign+decrypt usage with padding and decrypt(). This is compatible with old cards and card initialized by Siemens software. Removed "--split-key" option, as it is no longer needed. * Improved debugging support: debug level 3 will show everything except of ASN1 and card matching debugging (usualy not needed). * Massive changes to libopensc. This library is now internal, only used by opensc-pkcs11.so and command line tools. Header files are no longer installed, library should not be used by other applications. Please use generic PKCS#11 interface instead. * #include file statements cleaned up: first include "config.h", then system headers, then additional libraries, then headers in opensc (but from other directories), then header files from same directory. Fix path to reference headers, remove src/include/ directory. * Various source code fixes and improvements. * OpenSC now depends on xsltproc utility and docbook-xsl to build docs and man * Remove iconv dependency. EstEID driver now uses the commonName from the certificate for card label. * Possibility to change the default behavior for card resets via opensc.conf. @ text @$NetBSD: patch-ac,v 1.1 2010/09/01 15:59:23 drochner Exp $ --- src/signer/dialog.c.orig 2010-02-16 09:03:25.000000000 +0000 +++ src/signer/dialog.c @@@@ -15,31 +15,31 @@@@ struct entry_parm_s { char *buffer; }; -static AssuanError +static gpg_error_t getpin_cb (void *opaque, const void *buffer, size_t length) { struct entry_parm_s *parm = (struct entry_parm_s *) opaque; /* we expect the pin to fit on one line */ if (parm->lines || length >= parm->size) - return ASSUAN_Too_Much_Data; + return gpg_error(GPG_ERR_ASS_TOO_MUCH_DATA); /* fixme: we should make sure that the assuan buffer is allocated in secure memory or read the response byte by byte */ memcpy(parm->buffer, buffer, length); parm->buffer[length] = 0; parm->lines++; - return (AssuanError) 0; + return gpg_error(GPG_ERR_NO_ERROR); } int ask_and_verify_pin_code(struct sc_pkcs15_card *p15card, struct sc_pkcs15_object *pin) { - int r; + gpg_error_t r; size_t len; const char *argv[3]; const char *pgmname = PIN_ENTRY; - ASSUAN_CONTEXT ctx; + assuan_context_t ctx = NULL; char buf[500]; char errtext[100]; struct entry_parm_s parm; @@@@ -48,16 +48,26 @@@@ int ask_and_verify_pin_code(struct sc_pk argv[0] = pgmname; argv[1] = NULL; - r = assuan_pipe_connect(&ctx, pgmname, (char **) argv, NULL); + assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT); + + r = assuan_new(&ctx); + if (r) { + printf("Can't initialize assuan context: %s\n)", + gpg_strerror(r)); + goto err; + } + + r = assuan_pipe_connect(ctx, pgmname, (const char **) argv, \ + NULL, NULL, NULL, 0); if (r) { printf("Can't connect to the PIN entry module: %s\n", - assuan_strerror((AssuanError) r)); + gpg_strerror(r)); goto err; } sprintf(buf, "SETDESC Enter PIN [%s] for digital signing ", pin->label); r = assuan_transact(ctx, buf, NULL, NULL, NULL, NULL, NULL, NULL); if (r) { - printf("SETDESC: %s\n", assuan_strerror((AssuanError) r)); + printf("SETDESC: %s\n", gpg_strerror(r)); goto err; } errtext[0] = 0; @@@@ -71,12 +81,12 @@@@ int ask_and_verify_pin_code(struct sc_pk parm.size = sizeof(buf); parm.buffer = buf; r = assuan_transact(ctx, "GETPIN", getpin_cb, &parm, NULL, NULL, NULL, NULL); - if (r == ASSUAN_Canceled) { - assuan_disconnect(ctx); + if (gpg_err_code(r) == GPG_ERR_ASS_CANCELED) { + assuan_release(ctx); return -2; } if (r) { - printf("GETPIN: %s\n", assuan_strerror((AssuanError) r)); + printf("GETPIN: %s\n", gpg_strerror(r)); goto err; } len = strlen(buf); @@@@ -104,9 +114,9 @@@@ int ask_and_verify_pin_code(struct sc_pk break; } - assuan_disconnect(ctx); + assuan_release(ctx); return 0; err: - assuan_disconnect(ctx); + assuan_release(ctx); return -1; } @ 1.1 log @update to 0.11.13 This is basically to switch to libassuan2. other changes: minor fixes @ text @d1 1 a1 1 $NetBSD$ @