Changeset 2045
- Timestamp:
- 04/11/10 00:49:22 (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-camd35.c
r2043 r2045 258 258 static void camd35_process_ecm(uchar *buf) 259 259 { 260 261 if (!(er=get_ecmtask()))262 263 er->l=buf[1];264 memcpy(req+(er->cpti*REQ_SIZE), buf, 0x34+20+er->l); // save request265 er->srvid=b2i(2, buf+ 8);266 er->caid =b2i(2, buf+10);267 er->prid =b2i(4, buf+12);268 er->pid =b2i(2, buf+16);269 memcpy(er->ecm, buf+20, er->l);270 260 ECM_REQUEST *er; 261 if (!(er = get_ecmtask())) 262 return; 263 er->l = buf[1]; 264 memcpy(req + (er->cpti*REQ_SIZE), buf, 0x34 + 20 + er->l); // save request 265 er->srvid = b2i(2, buf+ 8); 266 er->caid = b2i(2, buf+10); 267 er->prid = b2i(4, buf+12); 268 er->pid = b2i(2, buf+16); 269 memcpy(er->ecm, buf + 20, er->l); 270 get_cw(er); 271 271 } 272 272 273 273 static void camd35_process_emm(uchar *buf) 274 274 { 275 276 277 278 au=client[cs_idx].au;279 if ((au<0) || (au>CS_MAXREADER)) return; // TODO280 epg.l=buf[1];281 memcpy(epg.caid , buf+10, 2);282 memcpy(epg.provid , buf+12, 4);283 memcpy(epg.emm , buf+20, epg.l);284 275 int au; 276 EMM_PACKET epg; 277 memset(&epg, 0, sizeof(epg)); 278 au = client[cs_idx].au; 279 if ((au < 0) || (au > CS_MAXREADER)) return; // TODO 280 epg.l = buf[1]; 281 memcpy(epg.caid, buf + 10, 2); 282 memcpy(epg.provid, buf + 12 , 4); 283 memcpy(epg.emm, buf + 20, epg.l); 284 do_emm(&epg); 285 285 } 286 286 … … 461 461 static int camd35_send_ecm(ECM_REQUEST *er, uchar *buf) 462 462 { 463 char *typtext[]={"ok", "invalid", "sleeping"}; 464 463 465 if (stopped) { 464 466 if (er->srvid == lastsrvid && er->caid == lastcaid){ 465 cs_log("%s is stopped - request FF from server", reader[ridx].label); 467 cs_log("%s is stopped - requested by server (%s)", 468 reader[ridx].label, typtext[stopped]); 466 469 return(-1); 467 470 } 468 471 else { 469 cs_log("%s is started - request FF from server", reader[ridx].label);470 472 stopped = 0; 471 473 } … … 518 520 { 519 521 ushort idx; 522 char *typtext[]={"ok", "invalid", "sleeping"}; 520 523 521 524 // reading CMD05 Emm request and set serial … … 555 558 if (buf[0] == 0x08) { 556 559 if(buf[21] == 0xFF) { 557 stopped = 1;558 cs_log("%s CMD08 stop request 00 FF",559 reader[ridx].label);560 stopped = 2; // server says sleep 561 } else { 562 stopped = 1; // server says invalid 560 563 } 564 cs_log("%s CMD08 stop request by server (%s)", 565 reader[ridx].label, typtext[stopped]); 561 566 } 562 567 -
trunk/oscam-config.c
r2041 r2045 1461 1461 if (!strcmp(token, "au")) { 1462 1462 //set default values for usage during runtime from Webif 1463 account->au =-1;1463 account->au = -1; 1464 1464 account->autoau=0; 1465 1465 1466 if(value && value[0]=='1') account->autoau=1; 1467 for (i=0; i<CS_MAXREADER; i++) 1468 if ((reader[i].label[0]) && (!strncmp(reader[i].label, value, strlen(reader[i].label)))) 1469 account->au=i; 1466 if(value && value[0] == '1') 1467 account->autoau = 1; 1468 for (i = 0; i < CS_MAXREADER; i++) 1469 if ((reader[i].label[0]) && (!strncmp(reader[i].label, value, strlen(reader[i].label)))) 1470 account->au = i; 1470 1471 return; 1471 1472 }
Note:
See TracChangeset
for help on using the changeset viewer.