Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
descrambler emm: add experimental griffin caid support
  • Loading branch information
perexg committed Jan 11, 2016
1 parent dfae393 commit c49ce4a
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/descrambler/caid.c
Expand Up @@ -129,6 +129,8 @@ detect_card_type(const uint16_t caid)
case 0x5581:
case 0x4aee:
return CARD_BULCRYPT;
case 0x5500 ... 0x551a:
return CARD_GRIFFIN;
}

switch(c_sys) {
Expand Down
1 change: 1 addition & 0 deletions src/descrambler/caid.h
Expand Up @@ -33,6 +33,7 @@ typedef enum {
CARD_CRYPTOWORKS,
CARD_BULCRYPT,
CARD_STREAMGUARD,
CARD_GRIFFIN,
CARD_UNKNOWN
} card_type_t;

Expand Down
24 changes: 24 additions & 0 deletions src/descrambler/emm_reass.c
Expand Up @@ -552,6 +552,29 @@ emm_bulcrypt
send(aux, data, len, mux);
}

static void
emm_griffin
(emm_reass_t *ra, const uint8_t *data, int len, void *mux,
emm_send_t send, void *aux)
{
emm_provider_t *ep;
int i;

if (len < 1)
return;

switch (data[0]) {
case 0x82:
case 0x83:
PROVIDERS_FOREACH(ra, i, ep)
if (memcmp(&data[3], &ep->sa[0], 4) == 0) {
send(aux, data, len, mux);
break;
}
break;
}
}

void
emm_filter(emm_reass_t *ra, const uint8_t *data, int len, void *mux,
emm_send_t send, void *aux)
Expand Down Expand Up @@ -579,6 +602,7 @@ emm_reass_init(emm_reass_t *ra, uint16_t caid)
case CARD_CRYPTOWORKS: ra->do_emm = emm_cryptoworks; break;
case CARD_BULCRYPT: ra->do_emm = emm_bulcrypt; break;
case CARD_STREAMGUARD: ra->do_emm = emm_streamguard; break;
case CARD_GRIFFIN: ra->do_emm = emm_griffin; break;
default: break;
}
}
Expand Down

0 comments on commit c49ce4a

Please sign in to comment.