From efd38b81b3d5339e31171db2ca6f5d3664d952fd Mon Sep 17 00:00:00 2001 From: Georgi Chorbadzhiyski Date: Tue, 22 Jan 2013 16:50:44 +0200 Subject: [PATCH] cwc: Fix Bulcrypt filters. They are still not 100% optimal but now at least they don't send lots of unneeded EMMs. --- src/cwc.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/cwc.c b/src/cwc.c index 79c10008..e5c2046c 100644 --- a/src/cwc.c +++ b/src/cwc.c @@ -1880,19 +1880,15 @@ cwc_emm_bulcrypt(cwc_t *cwc, uint8_t *data, int len) int match = 0; switch (data[0]) { - case 0x82: /* unique */ - case 0x85: /* unique */ + case 0x82: /* unique - bulcrypt (1 card) */ + case 0x8a: /* unique - polaris (1 card) */ + case 0x85: /* unique - bulcrypt (4 cards) */ + case 0x8b: /* unique - polaris (4 cards) */ match = len >= 10 && memcmp(data + 3, cwc->cwc_ua + 2, 3) == 0; break; - case 0x84: /* shared */ + case 0x84: /* shared - (1024 cards) */ match = len >= 10 && memcmp(data + 3, cwc->cwc_ua + 2, 2) == 0; break; - case 0x8b: /* shared-unknown */ - match = len >= 10 && memcmp(data + 4, cwc->cwc_ua + 2, 2) == 0; - break; - case 0x8a: /* global */ - match = len >= 10 && memcmp(data + 4, cwc->cwc_ua + 2, 1) == 0; - break; } if (match)