Changeset 1790


Ignore:
Timestamp:
03/05/10 16:10:17 (11 years ago)
Author:
landlord
Message:

Fix for 'irdeto_get_emm_type'.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/reader-irdeto.c

    r1787 r1790  
    368368int irdeto_get_emm_type(EMM_PACKET *ep, struct s_reader * rdr) {
    369369
     370    int i, ok = 0;
    370371    int l = (ep->emm[3]&0x07);
    371     int mode = (ep->emm[3]>>3);
     372    int mode=(ep->emm[3]>>3);
    372373
    373374    cs_debug_mask(D_EMM, "Entered irdeto_get_emm_type ep->emm[3]=%02x",ep->emm[3]);
     
    384385            ep->type = SHARED;
    385386            memset(ep->hexserial, 0, 8);
     387            //prid in hexserial instead of SA
    386388            memcpy(ep->hexserial, ep->emm + 4, l);
     389            for(i = 0; i < rdr->nprov; i++) {
     390                ok = (!l || !memcmp(ep->hexserial, &rdr->prid[i][1], l));
     391
     392                // FIXME: Betacrypt/Nagra Aladin reports wrong provider id
     393                if ((rdr->caid[0] >= 0x1700) && (rdr->caid[0] <= 0x1799))
     394                    ok = 1;
     395
     396                if (ok) break;
     397            }
    387398            cs_debug_mask(D_EMM, "IRDETO EMM: SHARED, ep = %s, rdr = %s", cs_hexdump(1, ep->hexserial, l),
    388399                     cs_hexdump(1, rdr->hexserial, l));
Note: See TracChangeset for help on using the changeset viewer.