Commit Graph

164 Commits

Author SHA1 Message Date
nils 47ee84e72d add functions
void sc_ctx_suppress_errors_on(sc_context_t *ctx);
	void sc_ctx_suppress_errors_off(sc_context_t *ctx);
to turn on/off error suppression (to avoid accessing
sc_context_t directly) and use it.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2671 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-30 19:08:06 +00:00
nils fa65fbf285 summary: - add new function sc_format_oid to libopensc
- cleanup libopensc api


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2670 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-30 18:05:30 +00:00
nils 90d1b0cc9c add support for the Italian Incrypto34 smartcard;
patch supplied by Giuseppe AMATO <giuseppe.amato@st.com>


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2661 c6295689-39f2-0310-b995-f0e70906c6a9
2005-10-24 21:58:35 +00:00
nils 6abeaf1f1c add a new function
void sc_mem_clear(void *ptr, size_t len);
to clear a memory buffer. If OpenSSL is used this function
is a wrapper for OPENSSL_cleanse, otherwise memset is currenlty used.

Use this function to clear memory buffers with sensitive content.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2601 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-17 10:44:45 +00:00
nils 5123be2b85 add two new functions
sc_reader_t *sc_ctx_get_reader(sc_context_t *ctx, unsigned int i);
	unsigned int sc_ctx_get_reader_count(sc_context_t *ctx);
to access the reader_count and the sc_reader objects (to avoid accessing
the sc_context members directly).
Use these functions in src/pkcs11 + error checking to avoid accessing
invalid sc_reader objects.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2595 c6295689-39f2-0310-b995-f0e70906c6a9
2005-09-16 10:18:55 +00:00
nils 69ffd496b2 the apdu error codes are unsigned => change sc_check_sw and the card ops check_sw
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2467 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-05 17:18:10 +00:00
nils eab657fb52 change sc_bin_to_hex separator parameter from char to int as character constants are integers in c
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2461 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-03 18:43:40 +00:00
sth d0f267468e Added function sc_compare_oid()
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2456 c6295689-39f2-0310-b995-f0e70906c6a9
2005-08-03 09:00:00 +00:00
nils cbb32e02e1 add initial support for atrust acos cards; patch supplied by Franz Brandl <f.brandl@a-trust.at>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2374 c6295689-39f2-0310-b995-f0e70906c6a9
2005-07-01 08:26:55 +00:00
sth abf3bf9549 If the SC_CARD_CAP_USE_FCI_AC flag is set, sc_pkcs15init_authenticate() will check the file's ACs on the card instead of relying on the ones in the profile file
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2290 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-30 18:25:50 +00:00
sth a6f8354b6e Added another life cycle state
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2289 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-30 18:18:46 +00:00
sth 9029170d16 No unistd.h on Windows
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2280 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-26 19:35:35 +00:00
aj f5b2845340 silence a few warnings.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2274 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-23 23:24:13 +00:00
bert 2d97002824 API fixup: use defined type instead of struct for exposed structs
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2232 c6295689-39f2-0310-b995-f0e70906c6a9
2005-03-08 20:59:35 +00:00
aet 033a0589fe - For completeness sake, add SC_CARD_FLAG_VENDOR_MASK
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2197 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-23 19:09:39 +00:00
aet 8a8f2cd6bc - Introduce a new powerful card_atr mechanism to opensc
configuration file to handle any configuring related
  to certain card / cards using atrmask.
- Rewrite Martin's force_protocol to _sc_check_forced_protocol()
  to make it possible to share the code with other reader driver
  implementations than pcsc.
- Implement _sc_match_atr_block() to help out with force protocol
  and pkcs15 emulation layers, to find information that's not
  stored directly to sc_atr_table.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2192 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-22 07:59:42 +00:00
aet b80890d49c - Increase SC_MAX_READER_DRIVERS / SC_MAX_CARD_DRIVERS
- Some cleanups before future commits


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2191 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-20 08:26:27 +00:00
aet 69d2e9014d - Optimize a few cpu cycles from _sc_match_atr_hex
- Replace struct sc_atr_table / _sc_match_atr with
  recently introduced _hex variants
- Rewrote _add_atr
- Introduce int type variable to sc_card_t, so that
  every other card driver won't have to glue around
  with this
- Card driver cleanups, optimize the number of
  sc_match_atr called per card driver. Also
  always try direct match with _sc_match_atr
  first, before relying on eg. historical bytes
  information on some card drivers
- Fixed a memory leak from the miocos driver


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2145 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-06 19:40:40 +00:00
aet c1b0626cdd - Cleanup, typo fix
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2123 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-02 10:21:10 +00:00
sth 8857ff5b1c Work-around for cards that don't return FCI info
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2118 c6295689-39f2-0310-b995-f0e70906c6a9
2005-02-01 07:52:40 +00:00
sth b59fb4597e Have the option add a delay before resending an APDU (after a 6CXX response). Is needed for most current belpic cards on fast readers
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2117 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-30 19:20:38 +00:00
sth c8d89211eb src/libopensc/card-belpic.c
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2113 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-29 12:10:52 +00:00
nils 3158fa3e05 merge Martin Paljak's ccid pinpad changes from the OPENSC_0_9 branch to the cvs head
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2095 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-24 11:31:11 +00:00
nils 5e5c61cd28 types are unsigned int
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2055 c6295689-39f2-0310-b995-f0e70906c6a9
2005-01-07 18:50:04 +00:00
nils 08826acb4d flags/types are unsigned int, the exponent shouldn't be negative and more const
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2040 c6295689-39f2-0310-b995-f0e70906c6a9
2004-12-22 09:54:41 +00:00
nils 3d75aeeaff force_protocol cleanup from Martin Paljak <martin@paljak.pri.ee>
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2029 c6295689-39f2-0310-b995-f0e70906c6a9
2004-12-21 09:54:47 +00:00
nils e583473ceb two patches from Marin Paljak <martin.paljak@gmail.com> :
- remove unnecessary function from the reader ops
- add a field for pinpad support
- cleanup + fix indent in card-mcrd.c


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1948 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-22 07:29:07 +00:00
nils 3dacb2c626 implement dynamic card/reader support
from Juan Antonio Martinez (with some input from me)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1944 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-18 08:24:12 +00:00
nils 5a328e3dcc update pkcs15 emulation stuff
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1916 c6295689-39f2-0310-b995-f0e70906c6a9
2004-10-08 21:29:55 +00:00
nils d6c98f7ae2 add support to force pcsc to use a certain protocol
patch supplied by Martin Paljak <martin@paljak.pri.ee>


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1890 c6295689-39f2-0310-b995-f0e70906c6a9
2004-08-19 08:55:15 +00:00
nils 8d9ace2d7f experimental support for card serial numbers
(at first only for starcos spk 2.3 and cardos m4)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1841 c6295689-39f2-0310-b995-f0e70906c6a9
2004-07-19 16:51:41 +00:00
aj 52c1b2d700 Very basic and untested oberthur driver. Could possibly work,
as only non-essential parts stripped (or at least that was the plan).

Written by Viktor Tarasov of idealx.

All bugs by Andreas Jellinghaus, please don't blame anyone else.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1793 c6295689-39f2-0310-b995-f0e70906c6a9
2004-06-16 20:59:59 +00:00
okir 09b2730497 - implement sc_delete_record (Victor Tarasov)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1708 c6295689-39f2-0310-b995-f0e70906c6a9
2004-01-06 13:33:32 +00:00
okir 8a4a5f0331 - Added support for JCOP/BlueZ cards, contributed by Chaskiel M Grundman
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1696 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-29 12:28:37 +00:00
okir 5dda541b7e - made apdu_masquerade functionality available to all readers, not just pcsc
- added new parameters max_send_size and max_recv_size, roughly corresponding
  to the old max_le (SC_APDU_CHOP_SIZE) parameter. You can now set this
  chop limit per driver class (pcsc, openct, ctapi), which sets
  driver->max_{send,recv}_size. This value is copied to
  card->max_{send,recv}_size in sc_connect_card, and can be overridden
  by the card driver.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1683 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-18 16:35:28 +00:00
okir 85fa4ed0da - Matched Cyberflex patch from Martin Buechler. Created a new
driver named cyberflex which shares a lot of code with the original
  flex driver. This is a lot cleaner than having to create if/else
  monsters.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1661 c6295689-39f2-0310-b995-f0e70906c6a9
2003-12-08 10:54:55 +00:00
aet d12b21f633 - Remove all references to usbtoken, use OpenCT instead
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1639 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-25 11:17:02 +00:00
okir a91824eafa - increase SC_MAX_PIN_SIZE to 256 (OpenPGP cards have 254 max)
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1622 c6295689-39f2-0310-b995-f0e70906c6a9
2003-11-20 15:39:38 +00:00
okir 99e999d64c - added sc_get_data/sc_put_data
- added openpgp card driver


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1579 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-30 17:04:02 +00:00
okir 931a1dd28a - added error/debug message support to ui.c
- sc_error/sc_debug now use the new ui code
- added language support


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1559 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-22 06:49:59 +00:00
okir c20fcf5e7b - bump max number of apps per card to 8
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1544 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-19 18:05:03 +00:00
aet 603ccec619 - Fixed nightly snapshot generation
- Link keycache.h to src/include/opensc
- Move mutex function declarations to opensc.h


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1525 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-14 21:56:56 +00:00
okir 734bceb682 - Error logging changes: replace ctx->log_errors with ctx->suppress_errors,
so that we can nest error suppression using suppress_errors++/suppress_errors--


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1518 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-14 09:56:50 +00:00
okir bf7e801fac - new path functions: sc_append_file_id, sc_compare_path
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1503 c6295689-39f2-0310-b995-f0e70906c6a9
2003-10-13 14:34:18 +00:00
okir dc42cd3fa7 - added sc_print_path
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1400 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-29 12:55:30 +00:00
aet 2b3db944e0 - Rename sysdep_timestamp_t to sc_timestamp_t
- Add missing function prototype for sc_current_time


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1384 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-18 14:54:37 +00:00
aj 1091548eda seperator is written to an u8, so it should be a char or u8 anyway.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1324 c6295689-39f2-0310-b995-f0e70906c6a9
2003-08-01 07:03:16 +00:00
sth c23ff8f56e Removed a call for a (not yet) existing driver, which I accidentally added along with another change
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1321 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-31 08:27:35 +00:00
sth 0b1a65cd81 Added struct sc_card to process_fci(), just like it's done with the orhter card operations
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1311 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-28 13:19:49 +00:00
sth 06d4311e80 Made the construct_fci() a card operaton, just like it has been done with process_fci() before
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1291 c6295689-39f2-0310-b995-f0e70906c6a9
2003-07-23 14:31:21 +00:00