Commit Graph

3422 Commits

Author SHA1 Message Date
ludovic.rousseau 4101b6c451 Do not use an absolute path for the default PCSC provider.
Just use "libpcsclite.so.1" instead so the library can be either in /lib
(Ubuntu) or /usr/lib (Debian) for example.  

See http://www.opensc-project.org/pipermail/opensc-devel/2009-November/012755.html


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3801 c6295689-39f2-0310-b995-f0e70906c6a9
2009-11-02 10:43:06 +00:00
s 2885691a10 fix potential memory leak
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3800 c6295689-39f2-0310-b995-f0e70906c6a9
2009-11-01 14:11:41 +00:00
s f8c6e28bac fix memory leak and read after free
Example code:
int main()
{
	...
	r = C_Initialize(NULL);
	assert(r == CKR_OK);
	r = C_GetSlotList(CK_TRUE, NULL_PTR, &slot_cnt);
	assert(r == CKR_OK);
	assert(slot_cnt >= 1);
	r = C_GetSlotList(TRUE, &slot, &slot_cnt);
	assert(r == CKR_OK);
	r = C_OpenSession(slot, CKF_SERIAL_SESSION | CKF_RW_SESSION, 0, 0, &hndl_session);
	assert(r == CKR_OK);
	assert(hndl_session != CK_INVALID_HANDLE);
	r = C_Login(hndl_session, CKU_USER, pin, sizeof(pin));
	assert(r == CKR_OK);
	r = C_CreateObject(hndl_session, data_tmpl,
			sizeof(data_tmpl)/sizeof(data_tmpl[0]), &hndl);
	assert(r == CKR_OK);
	r = C_DestroyObject(hndl_session, hndl);
	assert(r == CKR_OK);

	r = C_GenerateKeyPair(hndl_session, &rsa_genkp_mech, rsa_pbkey_tmpl,
			sizeof(rsa_pbkey_tmpl)/sizeof(rsa_pbkey_tmpl[0]), rsa_prkey_tmpl,
			sizeof(rsa_prkey_tmpl)/sizeof(rsa_prkey_tmpl[0]),
			&hndl_pb, &hndl_pr);
	assert(r == CKR_OK);

	r = C_Finalize(NULL);
	assert(r == CKR_OK);
	return 0;
}

==20626== Invalid read of size 4
==20626==    at 0x41036B: pkcs15_add_object (framework-pkcs15.c:679)
==20626==    by 0x410B27: pkcs15_gen_keypair (framework-pkcs15.c:1761)
==20626==    by 0x40980D: C_GenerateKeyPair (pkcs11-object.c:869)
==20626==    by 0x4078CD: main (pkcs11_1.c:71)
==20626==  Address 0x632d3e0 is 0 bytes inside a block of size 584 free'd
==20626==    at 0x4C24A28: free (vg_replace_malloc.c:325)
==20626==    by 0x4E5452B: sc_pkcs15init_delete_object (pkcs15-lib.c:2903)
==20626==    by 0x41243B: pkcs15_dobj_destroy (framework-pkcs15.c:2721)
==20626==    by 0x40AD91: C_DestroyObject (pkcs11-object.c:96)
==20626==    by 0x407871: main (pkcs11_1.c:68)
==20626== 
==20626== 80 bytes in 1 blocks are definitely lost in loss record 76 of 148
==20626==    at 0x4C24137: calloc (vg_replace_malloc.c:418)
==20626==    by 0x40E383: __pkcs15_create_object (framework-pkcs15.c:250)
==20626==    by 0x40E45C: __pkcs15_create_data_object (framework-pkcs15.c:439)
==20626==    by 0x41164C: pkcs15_create_data (framework-pkcs15.c:1441)
==20626==    by 0x411760: pkcs15_create_object (framework-pkcs15.c:1490)
==20626==    by 0x409A35: C_CreateObject (pkcs11-object.c:53)
==20626==    by 0x40783A: main (pkcs11_1.c:65)
==20626== 
==20626== LEAK SUMMARY:
==20626==    definitely lost: 80 bytes in 1 blocks



git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3799 c6295689-39f2-0310-b995-f0e70906c6a9
2009-11-01 13:55:52 +00:00
s 3a5db68158 fix memory leak
Example code:
int main() {
	...
	C_Initialize(NULL);
        C_Finalize(NULL);
	return 0;
}

==3312== 176 bytes in 1 blocks are definitely lost in loss record 109 of 146
==3312==    at 0x4C24137: calloc (vg_replace_malloc.c:418)
==3312==    by 0x4117B8: pkcs15_init_slot (framework-pkcs15.c:716)
==3312==    by 0x41307F: pkcs15_create_slot (framework-pkcs15.c:761)
==3312==    by 0x413263: pkcs15_create_tokens (framework-pkcs15.c:849)
==3312==    by 0x40BB9B: card_detect (slot.c:149)
==3312==    by 0x40BCF9: __card_detect_all (slot.c:167)
==3312==    by 0x4083F7: C_Initialize (pkcs11-global.c:229)
==3312==    by 0x4076BD: main (pkcs11_1.c:27)
==3312==
==3312== 528 bytes in 1 blocks are definitely lost in loss record 139 of 146
==3312==    at 0x4C24137: calloc (vg_replace_malloc.c:418)
==3312==    by 0x41365B: pkcs15_bind (framework-pkcs15.c:167)
==3312==    by 0x40BB43: card_detect (slot.c:139)
==3312==    by 0x40BCF9: __card_detect_all (slot.c:167)
==3312==    by 0x4083F7: C_Initialize (pkcs11-global.c:229)
==3312==    by 0x4076BD: main (pkcs11_1.c:27)
==3312==
==3312== LEAK SUMMARY:
==3312==    definitely lost: 704 bytes in 2 blocks


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3798 c6295689-39f2-0310-b995-f0e70906c6a9
2009-11-01 13:50:45 +00:00
s 83b7a9788d trunk is now post release
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3797 c6295689-39f2-0310-b995-f0e70906c6a9
2009-11-01 13:45:56 +00:00
martin 30ab50600b Merged [3783:3794/trunk]
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3795 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-25 20:22:11 +00:00
aj a8d8262d6d we created a -rc2 for openssl 1.0.0 support too.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3794 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-24 06:38:06 +00:00
s 1ecd64ed93 fix: compile with openssl-1.0 beta3
http://www.opensc-project.org/pipermail/opensc-devel/2009-October/012702.html
Thanks to Kalev Lember


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3791 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-23 18:16:59 +00:00
aj 425c0ccb69 Prepare release candidate.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3789 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-23 13:09:48 +00:00
aj 12213dee5c Improved myeid driver (by Aventra)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3788 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-23 13:08:32 +00:00
ludovic.rousseau 6cd345d316 Default PCSC provider is libpcsclite.so.1 instead of libpcsclite.so
See Debian bug #511344


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3787 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-23 12:12:40 +00:00
aj 5926c08c91 Cleanup westcos driver to remove warnings - by François Leblanc.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3786 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-22 18:28:25 +00:00
martin 56fb57603b Merge [3758:3783/trunk]
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3785 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-22 09:18:16 +00:00
martin 95a5ab0654 Re-implement PIN cache on PKCS#15 layer; remove it from PKCS#11. Re-name and log PKCS#15 options to better reflect the purpose.
Data objects and PKCS#15 init are left broken currently.



git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3784 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-22 08:59:59 +00:00
aj 268755c4d6 latest changes.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3783 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-21 09:23:26 +00:00
aj 8746d02329 rewrite code to support openssl 0.9.7 so rsa variable is properly set.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3782 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-21 09:08:22 +00:00
aj e2848c7094 Make opensc / westcos driver compile with openssl 0.9.7:
It tests the version of openssl and uses the old RSA_gererate_key
if older the 0.9.8. By Douglas E. Engert.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3781 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-21 07:27:19 +00:00
aj 59c9a8eae0 remove the variable not initialized error for "tag",
and to fix another error when loading a 3des key when
the string passed to sc_hex_to_bin is not terminated.
By Douglas E. Engert


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3780 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-21 07:24:58 +00:00
aj b2df781e8d Fix warnings in muscle code - by João Poupino.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3779 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-21 07:22:56 +00:00
aj 2446c46459 next release could be 0.11.11, trunk is "-svn" preview.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3778 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-20 12:27:26 +00:00
aj 03bc256594 Create new release 0.11.10
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3776 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-20 12:25:16 +00:00
s 7fa19788e2 fix misprint
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3775 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-13 14:20:03 +00:00
martin 4196e9f156 PC/SC: Log enabled options.
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3774 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-13 08:29:29 +00:00
martin 615b181471 Revert [3752]
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3773 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-12 09:26:05 +00:00
martin 02ea9d7388 Fix windows/nmake build
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3772 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-09 13:03:23 +00:00
s 82ab3bfc22 rollback: "fix pkcs11 access with multiple PINs"
http://www.opensc-project.org/pipermail/opensc-devel/2009-October/012607.html


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3771 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-09 05:46:20 +00:00
s b7845debb0 framework-pkcs15.c:683: warning: comparison of distinct pointer types lacks a cast
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3770 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 13:46:41 +00:00
s d9c52b85a4 fix OpenSC PKCS#11 object grouping
Thanks to Pierre Ossman

http://www.opensc-project.org/pipermail/opensc-devel/2009-October/012553.html
http://www.opensc-project.org/pipermail/opensc-devel/2009-October/012580.html
http://www.opensc-project.org/pipermail/opensc-devel/2009-October/012582.html



git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3769 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 13:32:27 +00:00
s c36bd197e3 fix: key id for automatic selection of the predefined directory (for rutoken-tool)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3768 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 11:17:41 +00:00
s dd045ff638 remove dead code
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3767 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 10:59:00 +00:00
s 616c7fea75 correct options "small" and "default" in rutoken.profile
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3766 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 08:22:47 +00:00
aj ff9951d94d kill lots of warnings (unused variables, unsigned/signed comparison etc.)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3765 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 07:36:51 +00:00
aj 80f16d4f4e remove gemsafeV2 code - not working properly, not maintained.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3764 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 07:25:35 +00:00
aj 1719567840 Add more NEWS entries.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3763 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 06:40:18 +00:00
aj b7de6380e8 westcos: use generic select_file function (Aleksey Samsonov).
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3762 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 06:36:21 +00:00
aj 46b55bb870 Allow building westcos without openssl. (François Leblanc)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3761 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 06:34:05 +00:00
aj 8402c6248a New GemsafeV2 Emulation code by Georges Bart
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3760 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-06 06:32:26 +00:00
martin ea37069272 Merged r3749:3758 from trunk
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3759 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-05 20:10:07 +00:00
martin 91815f380a PC/SC: better separation between OpenSC and PC/SC types.
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3758 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-05 19:59:05 +00:00
s 97a8f73b9c add GOST R 34.10-2001 algorithm (only PKCS#11) by Aktiv Co.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3757 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-05 18:40:51 +00:00
martin 64916e01b5 Accidental sc_error removed.
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3756 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 17:04:32 +00:00
martin 9c7eb8122a Add support for Portugese eID on IAS and Gemsafe cards, by João Poupino.
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3755 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 14:41:14 +00:00
martin a8dc97e0dc Cardos security env patch for Italian CNI card.
By Emanuele Pucciarelli, http://itacns.corp.it/hg/itacns/file/adc0b2ceec86/patches/115-cardos-secenv.patch


git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3754 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 10:13:45 +00:00
martin 99e84ae82a Fix spelling
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3753 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 10:07:55 +00:00
martin ab2ed07b78 Fix APDU sanity check.
By Emanuele Pucciarelli,  http://itacns.corp.it/hg/itacns/file/adc0b2ceec86/patches/010-apdu.patch


git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3752 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 10:06:53 +00:00
martin 64f9578202 apdu.sensitive is not in use since [2868]
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3751 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 09:31:07 +00:00
martin 9da39d8462 Merged r3719:3749 from trunk
git-svn-id: https://www.opensc-project.org/svnp/opensc/branches/martin/0.12@3750 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-03 07:48:28 +00:00
ludovic.rousseau 45e12e6ff5 Move the declaration of sbuff[] to avoid a compiler warning
card-entersafe.c: In function ‘entersafe_write_rsa_key_factor’:
card-entersafe.c:1131: warning: declaration of ‘sbuff’ shadows a previous local
card-entersafe.c:1126: warning: shadowed declaration is here 


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3749 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-02 10:56:58 +00:00
ludovic.rousseau bceeb38977 comment out 2 unused static functions
card-entersafe.c:1591: warning: ‘entersafe_card_ctl_1024’ defined but not used
card-entersafe.c:1378: warning: ‘entersafe_preinstall_rsa_1024’ defined but not used 


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3748 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-02 10:54:38 +00:00
ludovic.rousseau 2e1b4dbade remove unused variables
card-entersafe.c: In function ‘entersafe_cipher_apdu’:
card-entersafe.c:172: warning: unused variable ‘r’
card-entersafe.c:172: warning: unused variable ‘i’

card-entersafe.c: In function ‘entersafe_process_fci’:
card-entersafe.c:434: warning: unused variable ‘len’
card-entersafe.c:434: warning: unused variable ‘taglen’
card-entersafe.c:433: warning: unused variable ‘p’
card-entersafe.c:433: warning: unused variable ‘tag’

card-entersafe.c: In function ‘entersafe_create_file’:
card-entersafe.c:775: warning: unused variable ‘r’


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3747 c6295689-39f2-0310-b995-f0e70906c6a9
2009-10-02 10:52:32 +00:00