Romain Tartiere
a235dbd0a9
Fix TLV terminator. 0xFE is part of TLV, not NDEF.
2010-06-23 23:21:47 +00:00
Romain Tartiere
b8049f110d
Add support for TLV streams.
...
- New API functions: tlv_encode(), tlv_decode();
- Documentation (man page);
- Unit tests.
2010-06-23 02:03:13 +00:00
Romain Tartiere
1f8589f2ae
Don't use deprecated cutter API.
2010-04-26 09:11:28 +00:00
Romain Tartiere
c9df81d96c
Use cut_omit() in tests setup() fixtures (requires cutter>=1.1.2).
2010-04-08 12:10:42 +00:00
Romain Tartiere
73c50a544a
Remove deprecated API mifare_ultralight_get_uid(), mifare_classic_get_uid().
2010-03-30 16:24:37 +00:00
Romain Tartiere
574b068b3f
New API function freefare_get_tag_uid().
...
- Deprecates mifare_classic_get_uid() and mifare_ultralight_get_uid().
2010-03-30 16:18:58 +00:00
Romain Tartiere
feb240ee73
Fix MAD CRC algorithm.
...
The CRC algorithm is not a standard CRC algorithm so rename it to nxp_crc() and adjust all related code.
2010-03-18 21:03:07 +00:00
Romain Tartiere
8a62a843ac
Fix the test_mifare_classic_format unit test.
2010-02-23 14:22:23 +00:00
Romain Tartiere
5f7f8ffe2a
Add support for MIFARE Classic 4K.
...
- New mifare_classic_first_sector_block(), mifare_classic_last_sector_block() functions to ease detection of sectors boundaries;
- New unit tests for mifare_classic_first_sector_block() and mifare_classic_last_sector_block();
- Start to update the API for consistently using blocks and not mixing blocks and sectors with mifare_classic_*() functions;
- Update the mifare-classic-format(1) example to handle MIFARE Classic 1k and 4k.
Many thanks to Johann Dantant from SpringCard for giving me MIFARE Classic 4k cards.
2010-02-23 02:12:18 +00:00
Romain Tartiere
0f8ec71198
Add a unit test for mifare_classic_get_uid().
2010-02-22 17:30:50 +00:00
Romain Tartiere
e52fbccb4a
Remove unneeded header.
2010-02-22 12:05:48 +00:00
Romain Tartiere
74bc239a71
Abstract tag manipulation functions.
...
- Factorize Mifare*Tag as MifareTag;
- Factorize mifare_*_get_tags() / mifare_*_free_tags() as freefare_get_tags() and freefare_free_tags();
- Add a new freefare_get_tag_type() function to get a tag type;
- Update regression test suite;
- Update example.
While this is a major change that basically change all the API, programs using libfreefare should be easily modified by replacing any Mifare*Tag variable by a generic MifareTag one, adding a few lines of code to check the target's type using freefare_get_tag_type(), and changing any call to mifare_*_get_tags() / mifare_*_free_tags() by the generic freefare_get_tags() and freefare_free_tags() functions.
2010-02-19 14:50:18 +00:00
Romain Tartiere
2fd329e530
Do not make regression tests fail: spamming my shell is enouth to reminf me to fix this.
2010-02-19 14:40:28 +00:00
Romain Tartiere
d76da4697b
Update files headers and Ids.
2010-02-19 10:43:06 +00:00
Romain Tartiere
4c2da817f0
Fix MIFARE UltraLight related code (C99 compliance).
2010-02-18 18:13:48 +00:00
Romain Tartiere
6d5224472c
Fix MIFARE Classic unit tests default key.
...
According to the NXP documentation, default keys are 0xffffffffffff, not 0xa0a1a2a3a4a5 nor 0xd3f7d3f7d3f7.
2010-02-18 18:12:36 +00:00
Romain Tartiere
acb00368c6
Mark test_mifare_classic_get_trailer_permission() as pending.
...
This test requires a valid MAD to be present on the MIFARE card which is not a requirement for testing MIFARE Classic tags but MAD.
2010-02-18 17:14:37 +00:00
Romain Tartiere
2f24959116
Fix default permissions.
2010-02-18 17:07:36 +00:00
Romain Tartiere
8903968ea3
Honor 'ISO C99 requires rest arguments to be used'.
2010-02-11 11:29:57 +00:00
Romain Tartiere
10b8b92eb9
Fix a brunch of warnings.
2010-01-22 16:06:26 +00:00
Romain Tartiere
ef081454c7
Add support for MIFARE UltraLight Tags.
...
Many thanks to Johann Dantant from SpringCard for giving me UltraLight cards.
While here, fix a few other problems in the autostuff.
2010-01-19 23:14:25 +00:00
Romain Tartiere
0d1000e859
Fix regression tests build on FreeBSD.
...
While here, enhance error message when no MIFARE Classic tag can be found on the NFC device when running test_mifare_classic.la tests.
2010-01-12 15:38:56 +00:00
Romuald Conty
576801d5ff
Fix build when cutter is not available. (make distcheck ok)
2010-01-11 20:25:28 +00:00
Romain Tartiere
c1bcb966ea
Rework unit tests using cutter.
2010-01-11 20:14:30 +00:00
Romain Tartiere
517eef97cf
The mifare_classic_format_sector prototype was changed on changeset 88. Update unit test accordingly.
2010-01-09 01:36:24 +00:00
Romain Tartiere
7a68e0f6ce
Fix MadAid field orders (transfer bytes order is big endian).
2010-01-08 22:44:33 +00:00
Romain Tartiere
32e740ea6d
Split out autojunk and actual code files.
2010-01-08 11:46:23 +00:00
Romain Tartiere
8a9d90210a
Add MAD CRC support.
2010-01-08 11:24:30 +00:00
Romain Tartiere
073b67be48
merge all includes into a single freefare.h header.
...
libmad already has a mad.h file libfreefare would conflict with.
2009-12-26 18:16:22 +00:00
Romain Tartiere
58d83ae20a
Enforce unit tests name consistency.
2009-12-21 13:58:53 +00:00
Romain Tartiere
3cab1523eb
Introduce MAD application management functions.
2009-12-21 13:54:27 +00:00
Romain Tartiere
c7b8574e23
Make MAD Application Identifiers (AID) structure public as MadAid.
...
- Changed mad_get_aid() and mad_set_aid() ABI;
- Update unit test;
2009-12-21 03:02:15 +00:00
Romain Tartiere
89dd817a63
Rename mifare_application_directory.[ch] to mad.[ch].
2009-12-21 00:40:07 +00:00
Romain Tartiere
9478706550
Add MIFARE Application Directory (MAD) version 1 & 2 support (modulo CRC).
2009-12-21 00:02:40 +00:00
Romain Tartiere
a317799f01
Don't crash when no MIFARE target is present when running the regression tests suite.
2009-12-20 23:42:58 +00:00
Romain Tartiere
253d49eef8
Add forgotten regression test for mifare_classic_trailer_block().
2009-12-19 22:59:38 +00:00
Romain Tartiere
7ed4561f74
New API function: mifare_classic_trailer_block().
2009-12-19 06:10:44 +00:00
Romain Tartiere
b97012ac05
Add regression test suite.
2009-12-19 02:06:21 +00:00