Commit graph

550 commits

Author SHA1 Message Date
Romain Tartiere
0339fb51f4 Enable WITH_DEBUG for Windows (Fixes issue 65)
PR:		Issue 65
Submitted by:	glenn.ergeerts
2011-06-27 18:34:07 +00:00
Romuald Conty
0be3b125e6 debian: update pam_nfc, mfoc and libfreefare packages to use dh7. 2011-05-20 16:00:11 +00:00
Romuald Conty
a70b350520 import debian files 2011-05-18 11:47:50 +00:00
Romain Tartiere
30d4d2967b Fix code coverage with cutter. 2011-05-11 17:29:22 +00:00
Romain Tartiere
9e45b01802 Move cmake files around.
Update issue 62
Looks like I missed the -p0 argument to patch.  Can you please update and test?
Thanks!
2011-04-25 10:38:25 +00:00
Romain Tartiere
0abe2c9d66 Indent after last commit. 2011-04-24 11:47:33 +00:00
Romain Tartiere
35b87d4acd Merge CRC location / verification in mifare_cryto_postprocess_data().
Fix issue 52.
2011-04-24 11:43:07 +00:00
Romain Tartiere
de64cce14c Add Microsoft Windows support.
Update issue 62
Status: Feedback
Gleen, I slightly modified your patches to better stick with the style of the
rest of the project,  Can you please confirm that it does not break?

PR:		Issue 62
Submitted by:	glenn.ergeerts
2011-04-24 10:21:03 +00:00
Romain Tartiere
0f32259ee2 Return error if something bad happen in mifare_cryto_preprocess_data() / mifare_cryto_postprocess_data().
Fixes issue 60.

PR:		Issue 60
Submitted by:	ervin.kaljola
2011-04-23 16:01:05 +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
52e1c90425 Enhance the mifare_cryto_postprocess_data() function.
Update issue 52
Both code snippets are now similar and it should be possible to merge them
together.
2011-04-23 15:17:11 +00:00
Romain Tartiere
1c7b7dcbe4 Read written data to check that everything is fine. 2011-04-23 15:13:45 +00:00
Romain Tartiere
573fc1b778 Implement mifare_ultralight_write() using macros.
Update issue 58
I can't reproduce this bug, but saw that the mifare_ultralight_write() was
implemented in an old-school way.  I updated the code so that you should have
better traces when compiling the library in debug mode and running:

romain@marvin ~/Projects/libfreefare % cutter -n test_mifare_ultralight_write test
===> 0000   30 07                                            |0.              |
<=== 0000   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
===> 0000   a2 07 12 34 56 78                                |...4Vx          |
===> 0000   30 07                                            |0.              |
<=== 0000   12 34 56 78 00 00 00 00 00 00 00 00 00 00 00 00  |.4Vx............|
===> 0000   a2 07 aa 55 00 ff                                |...U..          |
===> 0000   30 07                                            |0.              |
<=== 0000   aa 55 00 ff 00 00 00 00 00 00 00 00 00 00 00 00  |.U..............|
===> 0000   a2 07 00 00 00 00                                |......          |
===> 0000   30 07                                            |0.              |
<=== 0000   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
.

Finished in 0,548238 seconds (total: 0,069079 seconds)

1 test(s), 12 assertion(s), 0 failure(s), 0 error(s), 0 pending(s), 0 omission(s), 0 notification(s)
100% passed
2011-04-05 21:05:27 +00:00
Romain Tartiere
b6cbeb2e20 Fix invalid test. 2011-03-26 13:50:21 +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
4b41f8b78b Update for 0.3.1. 2011-02-23 15:12:47 +00:00
Romain Tartiere
db489b6cb7 R is const. 2011-02-23 15:08:47 +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
45ea1f5009 Shorter is better. 2011-02-13 14:20:46 +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
04fe89e78c prevent myself from shooting in my own foot. 2011-02-13 12:52:08 +00:00
Romain Tartiere
7c8c818a08 Fix mifare_classic_transfer() with some readers. 2011-02-13 12:50:41 +00:00
Romain Tartiere
d9ed7f2c24 Fix CRC localisation code.
New issue
Summary: Add regression tests for CRC location in encyphered data files.
The CRC position location code in mifare_cryto_postprocess_data() shall be
checked.

new issue
Summary: Rework mifare_cryto_postprocess_data() CRC localisations
The function has two different implementation of the same feature: locate a CRC
at the end of a decyphered stream and check it.  The crc32 will fail if the
last CRC byte is 0x80, and the crc16 code looks awful.  A refactoring would
make our life easier.
2011-01-01 15:27:36 +00:00
Romain Tartiere
8628d59c5b Do not exit if the master key settings are not readable. 2011-01-01 12:46:45 +00:00
Romain Tartiere
f418845fb4 Make mifare_desfire_authenticate() a bit more magic.
If the provided key is a 3K3DES key, authenticate in ISO mode.  If the key is
an AES one, authenticate in AES mode.  This sugar should help third party
applications to handle authentication in a more generic way.
2010-12-31 12:47:55 +00:00
Romain Tartiere
c2cc0ba53d Move away global variables. 2010-12-31 10:53:05 +00:00
Romain Tartiere
899ed3d7bb Fix create_file2().
ECOPYPASTETOOFAST | EBADLUCKITSVALID: The argument communication_settings is
not to be used to construct the parameters passed to the crypto functions
mifare_cryto_preprocess_data() & mifare_cryto_postprocess_data(), but only for
building the frame.
2010-12-29 22:18:30 +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
2750ed668c Fix usage of a potentially reallocated memory area. 2010-12-29 21:44:26 +00:00
Romain Tartiere
f19d9bd05f Fix parenthesis position. 2010-12-28 11:42:24 +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
e4057ef163 Update man pages. 2010-12-26 15:46:07 +00:00
Romain Tartiere
12ad1a452a Set the default ATS instead of a custom one.
This prevent some tools to work properly with a card afterthat.
2010-12-25 09:46:56 +00:00
Romain Tartiere
06c052db36 Detect Mifare DESFire targets with more than one historical character. 2010-12-24 22:14:56 +00:00
Romain Tartiere
9a4b7b5882 New API function mifare_desfire_set_ats(). 2010-12-24 22:08:56 +00:00
Romain Tartiere
58f64b881e Simplify redundant code. 2010-12-24 22:08:15 +00:00
Romain Tartiere
9d8c991f50 Fix example. 2010-12-24 21:10:48 +00:00
Romain Tartiere
adbba0342b New API function mifare_desfire_set_default_key(). 2010-12-24 20:41:43 +00:00
Romain Tartiere
8ff63ea1f3 Commit files forgotten as part of r733. 2010-12-24 20:39:54 +00:00
Romain Tartiere
e587e26aeb Rename some internal functions.
A function with DES in its name that can perform AES crypto is somewhat
disturbing.
2010-12-24 14:10:44 +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
Romain Tartiere
4c3f0cd7d0 Sync man pages. 2010-12-24 13:34:25 +00:00
Audrey Diacre
29c8ef5c07 replace last deprecated bzero function by memset. 2010-12-24 13:33:02 +00:00
Romain Tartiere
417052fb2f Create forgotten man pages symlinks. 2010-12-24 13:24:13 +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