Changeset 4840
- Timestamp:
- 03/18/11 23:29:25 (13 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-newcamd.c
r4685 r4840 346 346 for (i=0; i < cl->reader->nprov; i++) { 347 347 cl->reader->availkeys[i][0] = 1; 348 cl->reader->prid[i][ 0] = buf[15+2+11*i];349 cl->reader->prid[i][ 1] = buf[16+2+11*i];350 cl->reader->prid[i][ 2] = buf[17+2+11*i];348 cl->reader->prid[i][1] = buf[15+2+11*i]; 349 cl->reader->prid[i][2] = buf[16+2+11*i]; 350 cl->reader->prid[i][3] = buf[17+2+11*i]; 351 351 memcpy(&cl->reader->sa[i], buf+22+2+11*i, 4); // the 4 first bytes are not read 352 cs_log("Provider ID: %02X%02X%02X - SA: %02X%02X%02X%02X", cl->reader->prid[i][ 0], cl->reader->prid[i][1], cl->reader->prid[i][2], cl->reader->sa[i][0], cl->reader->sa[i][1], cl->reader->sa[i][2], cl->reader->sa[i][3]);352 cs_log("Provider ID: %02X%02X%02X - SA: %02X%02X%02X%02X", cl->reader->prid[i][1], cl->reader->prid[i][2], cl->reader->prid[i][3], cl->reader->sa[i][0], cl->reader->sa[i][1], cl->reader->sa[i][2], cl->reader->sa[i][3]); 353 353 } 354 354 memcpy(cl->reader->ncd_skey, key, 16); … … 1023 1023 cd->caid = rdr->caid; 1024 1024 for (j=0; j<rdr->nprov; j++) { 1025 if (rdr->card_status == CARD_INSERTED) 1026 cd->provid = (rdr->prid[j][1]) << 16 1027 | (rdr->prid[j][2] << 8) | rdr->prid[j][3]; 1028 else 1029 cd->provid = (rdr->prid[j][0]) << 16 1030 | (rdr->prid[j][1] << 8) | rdr->prid[j][2]; 1031 1025 cd->provid = (rdr->prid[j][1]) << 16 | (rdr->prid[j][2] << 8) | rdr->prid[j][3]; 1032 1026 cs_debug_mask(D_CLIENT, "newcamd: extended: report card"); 1033 1027 network_message_send(client->udp_fd, -
trunk/oscam-chk.c
r4741 r4840 323 323 for( i=0; (!rc) && (i<reader->nprov); i++ ) 324 324 { 325 prid = (ulong)((reader->prid[i][ 0]<<16) |326 (reader->prid[i][ 1]<<8) |327 (reader->prid[i][ 2]));325 prid = (ulong)((reader->prid[i][1]<<16) | 326 (reader->prid[i][2]<<8) | 327 (reader->prid[i][3])); 328 328 cs_debug_mask(D_CLIENT, "trying server '%s' filter %04X:%06X", 329 329 reader->device, caid, prid); … … 461 461 } 462 462 463 if (!provid || !reader->nprov || reader->auprovid == provid) { 463 if (!provid) { 464 cs_debug_mask(D_EMM, "emm for reader %s (%04X) has no provider", reader->label, caid); 465 return 1; 466 } 467 468 if (reader->auprovid && reader->auprovid == provid) { 469 cs_debug_mask(D_EMM, "emm provider match reader %s auprovid %06X", reader->label, reader->auprovid); 470 return 1; 471 } 472 473 if (!reader->nprov) { 464 474 cs_debug_mask(D_EMM, "emm reader %s has no provider set", reader->label); 465 475 return 1; … … 468 478 for (i=0; i<reader->nprov; i++) { 469 479 ulong prid = b2i(4, reader->prid[i]); 470 if (prid == provid || ( (reader->typ == R_CAMD35 || reader->typ == R_CS378X) && (prid & 0xFFFF) == (provid & 0xFFFF) )) 480 if (prid == provid || ( (reader->typ == R_CAMD35 || reader->typ == R_CS378X) && (prid & 0xFFFF) == (provid & 0xFFFF) )) { 481 cs_debug_mask(D_EMM, "emm reader %s provider match %04X:%06X", reader->label, caid, provid); 471 482 return 1; 483 } 472 484 } 473 485 cs_debug_mask(D_EMM, "emm reader %s skip provider %04X:%06X", reader->label, caid, provid);
Note:
See TracChangeset
for help on using the changeset viewer.