Commit graph

124 commits

Author SHA1 Message Date
Romain Tartière
1ce3db3ca6 Improve naming consistency.
Ensure all MIFARE related names and structures start with "mifare_" or
"MIFARE_".
2015-05-12 13:52:18 +02:00
Romain Tartière
faac4ae5d8 Fix white spaces inconsistencies. 2015-05-12 13:19:00 +02:00
Romain Tartière
07695f4c18 Remove subversion artifacts.
We do not have $Id$ to expand anymore.
2015-05-12 12:22:39 +02:00
Romain Tartière
42b21ff42f Rename MifareTag to FreefareTag.
Because we are libfreefare and not libmifare, the generic tag type
should not be so specific.
2015-05-11 18:55:20 +02:00
Romain Tartière
4acd3ac72b Remove now useless extra buffer size. 2015-04-20 14:41:31 +02:00
Romain Tartière
57e1fceb6b Prevent mifare_desfire_read_data() overflow.
Depending on the communication settings, mifare_desfire_read_data() may
write more than the provided "length" bytes to the "data" buffer,
possibly causing data corruption or crashes if no special care is taken.

Since the test suite is precisely a "no special care is taken" example,
assume only "length" bytes can be written to the "data" buffer and rely
on a temporary buffer for cryptographic operations.

Fixes  issue 28.
2014-04-16 01:54:14 +02:00
Philippe Teuwen
061b41ed2d Align with libnfc API change: test nfc_init() result 2013-03-30 18:07:34 +01:00
Philippe Teuwen
2d3cff48e7 Add support for 7-byte UID MIFARE Classic cards 2013-01-29 23:26:32 +01:00
Philippe Teuwen
42e731b492 DF cutter tests: detect if DF is too small for tests 2013-01-29 22:47:50 +01:00
Romuald Conty
444a62567f Updates unit tests to use libnfc 1.7.0 2013-01-20 17:53:33 +01:00
Philippe Teuwen
f6fecaaa9b fix typo 2012-11-13 23:35:53 +00:00
Ludovic Rousseau
78fea850c9 warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') 2012-05-18 16:03:07 +00:00
Romain Tartiere
3734ab437c New test: test_mifare_classic_format_first_sector(). 2012-05-14 14:11:26 +00:00
Romain Tartiere
1da39d9273 Consistently sort out targets. 2012-05-14 14:05:31 +00:00
Romain Tartiere
5f7d558bbe Remove unused variable. 2012-05-14 14:01:08 +00:00
Audrey Diacre
4f0227ddcb update to use libnfc's trunk 2012-01-25 09:58:16 +00:00
Romain Tartiere
21008cda5d Make these functions accept no argument (instead of any). 2012-01-15 11:09:25 +00:00
Romain Tartiere
ec16eb5572 Fix mifare_desfire_create_value_file().
Fixes issue 59
Committed, thanks!

PR:		Issue 59
Submitted by:	ervin.kaljola
2011-04-23 15:31:45 +00:00
Romain Tartiere
1c7b7dcbe4 Read written data to check that everything is fine. 2011-04-23 15:13:45 +00:00
Romain Tartiere
7f0a65439f Build unit-tests as part of all-am if DEBUG is enabled, otherwise at check-am before running the test suite. 2011-03-26 13:30:14 +00:00
Romain Tartiere
f27352180c Complete ISO 7816 compatibility for Mifare DESFire EV1
Fixes issue 37
2011-03-26 13:22:48 +00:00
Romain Tartiere
b41f93cd5b Start support of ISO files for Mifare DESFire EV1.
Fixes issue 57
New API functions:
  * mifare_desfire_create_application_iso()
  * mifare_desfire_create_application_3k3des_iso()
  * mifare_desfire_create_application_aes_iso()
  * mifare_desfire_get_df_names()

Plus unit test to check this.
2011-03-25 16:49:36 +00:00
Romain Tartiere
c7dc9f0ccc New API functions mifare_desfire_create_application_3k3des(), mifare_desfire_create_application_aes().
Update issue 37
Only ISO application creation as requested by Issue 57 is lacking now.
2011-03-25 13:00:24 +00:00
Romain Tartiere
ca1fc02d6e Do not systematically build the tests if cutter is installed.
Building them only when running the test-suite is probably enough.
2011-02-13 14:26:18 +00:00
Romain Tartiere
22e9854995 Do not abort on crypto error.
Because in some circumstances the crypto is skipped regardless of the
communication settings by the Mifare DESFire (e.g. when reading a file which is
writable with any key), do not abort if the crypto fail, and make it possible
to the user to catch such an event to fix his code accordingly.

Only display crypto diagnostic if compiled with debug support.
2011-02-13 14:13:35 +00:00
Romain Tartiere
8caa2da31e Fix write_data() return value when data is enciphered.
We only have to return the number of bytes of raw data which are sent.
2010-12-29 22:05:08 +00:00
Romain Tartiere
82a7b8df66 Merge de libfreefare-ultralight branch into trunk (Mifare UltraLightC support). 2010-12-28 11:30:31 +00:00
Romain Tartiere
8ff63ea1f3 Commit files forgotten as part of r733. 2010-12-24 20:39:54 +00:00
Romain Tartiere
7837fa967d Freshen out cut_assert_success() macro. 2010-12-24 13:59:28 +00:00
Romain Tartiere
3f6327ebca Fix headers for memset(). 2010-12-24 13:49:09 +00:00
Audrey Diacre
29c8ef5c07 replace last deprecated bzero function by memset. 2010-12-24 13:33:02 +00:00
Romain Tartiere
01fff97d6c Add support for ISO authentication with 3DES keys. 2010-12-24 13:04:16 +00:00
Romain Tartiere
c5b893321e libfrefare: Use local ivect in test.
It looks like finally a global variable modified by a test can impact another
test.
2010-12-24 12:58:44 +00:00
Romain Tartiere
0d8a53308c Change the mifare_cbc_des() internal function prototype. 2010-12-24 11:41:15 +00:00
Romain Tartiere
b300ef5fcf Update the MifareDirection structure for consistency. 2010-12-18 03:11:05 +00:00
Romain Tartiere
ebd98b32e0 Switch from obscure 'int mac' argument to 'MifareCryptoOperation operation'. 2010-12-18 03:07:16 +00:00
Romain Tartiere
d098bf623f Add support for authentication using 3K3DES.
Please note that according to the NXP documentation of the Mifare DESFire EV1,
the mifare_desfire_authenticate_iso() function can be used using either 3DES or
3K3DES keys.  The former has not been tested yet and is likely not to work. To
word it differently, this is a 3K3DES crypto support, not a ISO authentication
support...
2010-12-18 02:28:27 +00:00
Romain Tartiere
79f6cb20e5 Update CMAC code to handle 64 and 128 bit keys. 2010-12-18 01:45:38 +00:00
Romain Tartiere
8d74401e87 Enlarge another buffer to workaround the read_data() buffer overrun. 2010-12-18 01:44:20 +00:00
Romain Tartiere
a6e52db696 Workaround invalid write in read_data () (sic)
This has to be improved to some extend in the near future (hence the FIXME).
2010-12-18 01:05:35 +00:00
Romain Tartiere
c9680fd7c7 Fix key_macing_length() return value when nbytes is 0. 2010-12-17 22:53:40 +00:00
Romain Tartiere
ed028d720a Fix the fix introduced at r697.
Yes, this type I typed 'make' before committing...
2010-12-17 22:45:56 +00:00
Romain Tartiere
0119a43208 Fix freed memory usage. 2010-12-17 22:38:51 +00:00
Romain Tartiere
94bf8d83c6 Fix mifare_desfire_get_key_version() when authenticated with an AES key. 2010-12-15 13:34:15 +00:00
Romain Tartiere
42f9457d9f Add support for Mifare DESFire EV1 with AES encryption. 2010-12-15 12:43:31 +00:00
Audrey Diacre
5133491c2c replace deprecated bzero function by memset. 2010-12-10 17:10:12 +00:00
Romain Tartiere
193809f949 Don't build libtestcommon.la if we are not using cutter. 2010-11-24 00:07:47 +00:00
Romain Tartiere
12de6ea4c4 Add forgotten files. 2010-11-23 18:42:25 +00:00
Romain Tartiere
c6f4343276 Fix autotools fun.
Tribute to Justice!
2010-11-23 18:38:10 +00:00
Romain Tartiere
b7a45b4da4 Use mifare_desfire_auto_authenticate() for authentication. 2010-11-21 00:32:38 +00:00