]> www.vanbest.org Git - sasc-ng.git/commitdiff
remove old loader code. ca.cache is gone
authormirv <unknown>
Fri, 4 Jan 2008 15:49:58 +0000 (16:49 +0100)
committermirv <unknown>
Fri, 4 Jan 2008 15:49:58 +0000 (16:49 +0100)
cam.c
data.c
data.h
sc.c
systems/irdeto/irdeto.c
systems/nagra/nagra1.c
systems/nagra/nagra2.c
systems/seca/seca.c
systems/viaccess/viaccess.c

diff --git a/cam.c b/cam.c
index 0fc0372e46ffe2d454aee80484ca1d1d11103ae8..1a20284ec209b1401adbe8326e4d3435e97dc4b0 100644 (file)
--- a/cam.c
+++ b/cam.c
@@ -1212,7 +1212,6 @@ void cEcmHandler::EcmOk(void)
     if(e->Cached() && e->Failed()) ecmcache.Delete(e);
     e=ecmList.Next(e);
     }
-  cLoaders::SaveCache();
 }
 
 void cEcmHandler::EcmFail(void)
diff --git a/data.c b/data.c
index 9a47ed08d716905bb9ece7e3e65b1a6e7ef1c356..6e0897c1e413073868477df32620a25bdccd9ed5 100644 (file)
--- a/data.c
+++ b/data.c
@@ -31,7 +31,6 @@
 #include "log-core.h"
 
 #define KEY_FILE     "SoftCam.Key"
-#define CACACHE_FILE "ca.cache"
 #define EXT_AU_INT   (15*60*1000) // ms interval for external AU
 #define EXT_AU_MIN   ( 2*60*1000) // ms min. interval for external AU
 
@@ -446,7 +445,6 @@ void cStructLoaderPlain::PreSave(FILE *f)
             "## This file will be OVERWRITTEN WITHOUT WARNING!!\n");
 }
 
-
 // -- cStructLoaders -----------------------------------------------------------
 
 #define RELOAD_TIMEOUT  20000
@@ -521,181 +519,6 @@ bool cConfRead::ConfRead(const char *type, const char *filename, bool missingok)
   return res;
 }
 
-// -- cLineDummy ---------------------------------------------------------------
-
-class cLineDummy : public cSimpleItem {
-private:
-  char *store;
-public:
-  cLineDummy(void);
-  ~cLineDummy();
-  bool Parse(const char *line);
-  bool Save(FILE *f);
-  };
-
-cLineDummy::cLineDummy(void)
-{
-  store=0;
-}
-
-cLineDummy::~cLineDummy()
-{
-  free(store);
-}
-
-bool cLineDummy::Parse(const char *line)
-{
-  free(store);
-  store=strdup(line);
-  return store!=0;
-}
-
-bool cLineDummy::Save(FILE *f)
-{
-  fprintf(f,"%s",store);
-  return ferror(f)==0;
-}
-
-// -- cLoaderDummy -------------------------------------------------------------
-
-class cLoaderDummy : public cSimpleList<cLineDummy>, public cLoader {
-public:
-  cLoaderDummy(const char *Id);
-  virtual bool ParseLine(const char *line, bool fromCache);
-  virtual bool Save(FILE *f);
-  };
-
-cLoaderDummy::cLoaderDummy(const char *id)
-:cLoader(id)
-{}
-
-bool cLoaderDummy::ParseLine(const char *line, bool fromCache)
-{
-  if(fromCache) {
-    cLineDummy *k=new cLineDummy;
-    if(k) {
-      if(k->Parse(line)) Add(k);
-      else delete k;
-      return true;
-      }
-    PRINTF(L_GEN_ERROR,"not enough memory for %s loader dummy!",Id());
-    }
-  return false;
-}
-
-bool cLoaderDummy::Save(FILE *f)
-{
-  bool res=true;
-  for(cLineDummy *k=First(); k; k=Next(k))
-    if(!k->Save(f)) { res=false; break; }
-  Modified(!res);
-  return res;
-}
-
-// -- cLoader ------------------------------------------------------------------
-
-cLoader::cLoader(const char *Id)
-{
-  id=Id; modified=false;
-  cLoaders::Register(this);
-}
-
-// -- cLoaders -----------------------------------------------------------------
-
-cLoader *cLoaders::first=0;
-cMutex cLoaders::lock;
-char *cLoaders::cacheFile=0;
-
-void cLoaders::Register(cLoader *ld)
-{
-  PRINTF(L_CORE_DYN,"loaders: registering loader %s",ld->id);
-  ld->next=first;
-  first=ld;
-}
-
-void cLoaders::LoadCache(const char *cfgdir)
-{
-  lock.Lock();
-  cacheFile=strdup(AddDirectory(cfgdir,CACACHE_FILE));
-  if(access(cacheFile,F_OK)==0) {
-    PRINTF(L_GEN_INFO,"loading ca cache from %s",cacheFile);
-    FILE *f=fopen(cacheFile,"r");
-    if(f) {
-      char buf[512];
-      cLoader *ld=0;
-      while(fgets(buf,sizeof(buf),f)) {
-        if(!index(buf,'\n'))
-          PRINTF(L_GEN_ERROR,"loaders fgets readbuffer overflow");
-        if(buf[0]=='#') continue;
-        if(!strncmp(buf,":::",3)) { // new loader section
-          ld=FindLoader(stripspace(&buf[3]));
-          if(!ld) {
-            PRINTF(L_CORE_LOAD,"unknown loader section '%s', adding dummy",&buf[3]);
-            ld=new cLoaderDummy(strdup(&buf[3]));
-            }
-          }
-        else if(ld) {
-          if(!ld->ParseLine(buf,true)) {
-            PRINTF(L_CORE_LOAD,"loader '%s' failed on line '%s'",ld->Id(),buf);
-            }
-          }
-        }
-      fclose(f);
-      }
-    else LOG_ERROR_STR(cacheFile);
-    }
-  lock.Unlock();
-}
-
-void cLoaders::SaveCache(void)
-{
-  lock.Lock();
-  if(cacheFile && IsModified()) {
-    cSafeFile f(cacheFile);
-    if(f.Open()) {
-      fprintf(f,"## This is a generated file. DO NOT EDIT!!\n"
-                "## This file will be OVERWRITTEN WITHOUT WARNING!!\n");
-
-      cLoader *ld=first;
-      while(ld) {
-        fprintf(f,":::%s\n",ld->Id());
-        if(!ld->Save(f)) break;
-        ld=ld->next;
-        }
-      f.Close();
-      PRINTF(L_CORE_LOAD,"saved cache to file");
-      }
-    }
-  lock.Unlock();
-}
-
-bool cLoaders::IsModified(void)
-{
-  bool res=false;
-  lock.Lock();
-  cLoader *ld=first;
-  while(ld) {
-    if(ld->IsModified()) { 
-      res=true; break;
-      }
-    ld=ld->next;
-    }
-  lock.Unlock();
-  return res;
-}
-
-cLoader *cLoaders::FindLoader(const char *id)
-{
-  lock.Lock();
-  cLoader *ld=first;
-  while(ld) {
-    if(!strcmp(id,ld->Id())) break;
-    ld=ld->next;
-    }
-  lock.Unlock();
-  return ld;
-}
-
 // -- cPid ---------------------------------------------------------------------
 
 cPid::cPid(int Pid, int Section, int Mask, int Mode)
diff --git a/data.h b/data.h
index 7fb57aac722453b5029ac04dd9e1a8babc433e2c..bcc236edabe38109d06fcb9f80561ce14a2bdb4c 100644 (file)
--- a/data.h
+++ b/data.h
@@ -200,42 +200,6 @@ public:
 
 // ----------------------------------------------------------------
 
-class cLoader {
-friend class cLoaders;
-private:
-  cLoader *next;
-  bool modified;
-  const char *id;
-protected:
-  void Modified(bool mod=true) { modified=mod; }
-public:
-  cLoader(const char *Id);
-  virtual ~cLoader() {}
-  virtual bool ParseLine(const char *line, bool fromCache)=0;
-  virtual bool Save(FILE *f)=0;
-  bool IsModified(void) const { return modified; }
-  const char *Id(void) const { return id; }
-  };
-
-// ----------------------------------------------------------------
-
-class cLoaders {
-friend class cLoader;
-private:
-  static cLoader *first;
-  static cMutex lock;
-  static char *cacheFile;
-  //
-  static void Register(cLoader *ld);
-  static cLoader *FindLoader(const char *id);
-  static bool IsModified(void);
-public:
-  static void LoadCache(const char *cfgdir);
-  static void SaveCache(void);
-  };
-
-// ----------------------------------------------------------------
-
 class cPid : public cSimpleItem {
 public:
   int pid, sct, mask, mode;
diff --git a/sc.c b/sc.c
index ddf1eb435672e648700f0d228b8bfe9a3eddcf7c..001fae5531bfbb0f21eced6a33e24a1c29cf7a7c 100644 (file)
--- a/sc.c
+++ b/sc.c
@@ -895,7 +895,6 @@ eOSState cMenuSetupSc::ProcessKey(eKeys Key)
       state=osContinue;
       if(Interface->Confirm(tr("Really flush ECM cache?"))) {
         ecmcache.Flush();
-        cLoaders::SaveCache();
         state=osEnd;
         }
       break;
@@ -1013,14 +1012,11 @@ bool cSoftCAM::Load(const char *cfgdir)
 
   if(!cSystems::Init(cfgdir)) return false;
   if(Feature.SmartCard()) smartcards.LoadData(cfgdir);
-  cLoaders::LoadCache(cfgdir);
-  cLoaders::SaveCache();
   return true;
 }
 
 void cSoftCAM::HouseKeeping(void)
 {
-  cLoaders::SaveCache();
   if(Feature.KeyFile()) keys.HouseKeeping();
   if(!Active(false)) cStructLoaders::Purge();
   cStructLoaders::Load(true);
index fdc31438c83e09514f70c09f78a8ccc6b6c2f84c..543ccecc1da76a4880623d5d146cd3a4f23f04c5 100644 (file)
@@ -447,7 +447,6 @@ void cSystemIrd::ProcessEMM(int pid, int caid, unsigned char *buffer)
             FoundKey();
             if(Icards.Update(ci,mk,prvId[0]?prvId:0)) NewKey();
             }
-          cLoaders::SaveCache();
           break;
           }
         else {
index 21fb6bc00dda0f084301f506e76200c44ee7192a..1eddc3dc6782d0c3a91802ad5d98fa319acddd92 100644 (file)
@@ -954,7 +954,6 @@ void cSystemNagra::ProcessEMM(int pid, int caid, unsigned char *buffer)
             FoundKey();
             if(keys.NewKey('N',pkKeyId,ADDC3(MBC('E','1'),KEYSET(0,i,0)),e1,64)) NewKey();
             }
-          cLoaders::SaveCache();
           }
         break; // don't process other nanos
         }
@@ -991,7 +990,6 @@ void cSystemNagra::ProcessEMM(int pid, int caid, unsigned char *buffer)
       if(keys.NewKey('N',keyId,00,key0,8)) NewKey();
       FoundKey();
       if(keys.NewKey('N',keyId,01,key1,8)) NewKey();
-      cLoaders::SaveCache();
       }
     }
 }
index 96c9a0ac51450b7e3a665c506af9bae6284b8071..0fe200194c4d227833a0ba0d421211599bcacbe0 100644 (file)
@@ -1012,7 +1012,6 @@ void cSystemNagra2::ProcessEMM(int pid, int caid, unsigned char *buffer)
               else {
                 if(keys.NewKey('N',id,kn,key,len)) NewKey();
                 }
-              cLoaders::SaveCache();
               }
             i+=ulen;
             }
@@ -1025,7 +1024,6 @@ void cSystemNagra2::ProcessEMM(int pid, int caid, unsigned char *buffer)
         if(emmdata[i+1]==0x25) {
           FoundKey();
           if(keys.NewKey('N',id,(emmdata[i+16]&0x40)>>6,&emmdata[i+23],16)) NewKey();
-          cLoaders::SaveCache();
           }
         i+=emmdata[i+1]+2;
         break;
index 06dd038949cb3eb70499b1c45b23e640f32a05eb..afd5e55270ebdeb98734e434a0ddd951dd65f9c8 100644 (file)
@@ -1612,7 +1612,6 @@ void cSystemSeca::ProcessEMM(int pid, int caid, unsigned char *buffer)
           if(keys.NewKey('S',provId,keyN[i],key[i],8)) NewKey();
          }
         LBEND();
-        cLoaders::SaveCache();
         break;
         }
       else if(!CheckNull(ci->sa,sizeof(ci->sa)))
index 5278a941491bb0b0ddaf8517e9494736a13ba208..cd7a3166a95e76b53d07b799c799a75b3a7ebbc9 100644 (file)
@@ -503,7 +503,6 @@ void cSystemViaccess::ProcessEMM(int pid, int caid, unsigned char *data)
                     FoundKey();
                     if(keys.NewKey('V',updPrv[numKeys],updKey[numKeys],newKey[numKeys],8)) NewKey();
                     }
-                  cLoaders::SaveCache();
                   }
                 else
                   PRINTF(L_SYS_EMM,"%02X%02X %02X %s %s - FAIL",mkey->ident[0],mkey->ident[1],mkey->keyno,addr,ptext[updtype]);