Changeset 1967


Ignore:
Timestamp:
04/06/10 12:50:00 (12 years ago)
Author:
merek
Message:

Adding ability to disable ecm cache per reader with ecmcache = 0 in reader section, default mode is enabled

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/globals.h

    r1951 r1967  
    476476  int       logemm;
    477477  int       cachemm;
     478  int       cachecm;
    478479  int       rewritemm;
    479480  int       card_status;
  • trunk/oscam-config.c

    r1926 r1967  
    28192819    }
    28202820
     2821    if (!strcmp(token, "ecmcache")) {
     2822        if(strlen(value) == 0) {
     2823            rdr->cachecm = 1;
     2824            return;
     2825        } else {
     2826            rdr->cachecm = atoi(value);
     2827            return;
     2828        }
     2829    }
     2830
    28212831    if (!strcmp(token, "blocknano")) {
    28222832        //wildcard is used
     
    30453055            reader[nr].cardmhz = 357;
    30463056            reader[nr].deprecated = 0;
     3057            reader[nr].cachecm = 1;
    30473058            strcpy(reader[nr].pincode, "none");
    30483059            for (i=1; i<CS_MAXCAIDTAB; reader[nr].ctab.mask[i++]=0xffff);
  • trunk/oscam.c

    r1964 r1967  
    13471347int check_ecmcache(ECM_REQUEST *er, ulong grp)
    13481348{
    1349   int i;
    1350 // cs_ddump(ecmd5, CS_ECMSTORESIZE, "ECM search");
    1351 //cs_log("cache CHECK: grp=%lX", grp);
    1352   for(i=0; i<CS_ECMCACHESIZE; i++)
    1353     if ((grp & ecmcache[i].grp) &&
    1354         ecmcache[i].caid==er->caid &&
    1355         (!memcmp(ecmcache[i].ecmd5, er->ecmd5, CS_ECMSTORESIZE)))
    1356     {
    1357 //cs_log("cache found: grp=%lX cgrp=%lX", grp, ecmcache[i].grp);
    1358       memcpy(er->cw, ecmcache[i].cw, 16);
    1359       return(1);
    1360     }
    1361   return(0);
     1349    // disable caching
     1350    if (!reader[ridx].cachecm) return(0);
     1351
     1352    int i;
     1353    //cs_ddump(ecmd5, CS_ECMSTORESIZE, "ECM search");
     1354    //cs_log("cache CHECK: grp=%lX", grp);
     1355    for(i=0; i<CS_ECMCACHESIZE; i++) {
     1356        if ((grp & ecmcache[i].grp) &&
     1357             ecmcache[i].caid==er->caid &&
     1358             (!memcmp(ecmcache[i].ecmd5, er->ecmd5, CS_ECMSTORESIZE)))
     1359        {
     1360            //cs_log("cache found: grp=%lX cgrp=%lX", grp, ecmcache[i].grp);
     1361            memcpy(er->cw, ecmcache[i].cw, 16);
     1362            return(1);
     1363        }
     1364    }
     1365    return(0);
    13621366}
    13631367
Note: See TracChangeset for help on using the changeset viewer.