]> www.vanbest.org Git - sasc-ng.git/commitdiff
sc-seca: update ECM card handling (from oscam R127)
authorleslie <unknown>
Tue, 4 Aug 2009 23:28:40 +0000 (07:28 +0800)
committerleslie <unknown>
Tue, 4 Aug 2009 23:28:40 +0000 (07:28 +0800)
po/de_DE.po
po/fi_FI.po
po/fr_FR.po
po/hu_HU.po
po/it_IT.po
po/nl_NL.po
po/pl_PL.po
po/ru_RU.po
po/sv_SE.po
systems/sc-seca/sc-seca.c

index 85ce8e2ff866f19b7b73a97672fdfa1f324d0562..cebe951d449c2d535d31a29cfaf8094f1af6dcea 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "alle blocken"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: EMM updates"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: PPV aktivieren"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr "SC-Viaccess: Altersbeschränkung"
 
index 425d6544a7f190bd6be081ebf320c5556d26552f..7c09d95a9c56fa0ca1b17ec8a6fd2d428a8667a7 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2008-11-19 13:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "est
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: EMM-päivitykset"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: Aktivoi PPV"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index 0874ed82cab89a948e65cc42f898edf7bc9df66e..97877b833006f9eaf483717dc9c190d9a0a71a3e 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "bloquer TOUS"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: mise à jour EMM"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: activer les PPV"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index cf2fa62470058b333f91c53a7d3087dd939002c3..eeb0fb439ac6ca34f64922d3d1ede1cb75e3085a 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.11\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2009-05-17 11:09+0800\n"
 "Last-Translator: jv\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "tiltsd MINDET"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: EMM frissítés"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: aktiváld a PPV-t"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index ce8f8c28aa72b47d0cb1b6ca2d3301e4f9adcb3a..0a1f1bc75655c0ddbdea1ee47eadaa84c86de976 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2008-11-19 12:23+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "blocca TUTTO"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: aggiornamenti EMM"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: attiva PPV"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index a8773caaaea21e18c66145ab516e48e42543c894..52136e299692a0f7a154ddaf98646f9b7e287446 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "ALLES blokkeren"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: EMM updates"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: activeer PPV"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index 5847d60761eb52aa63851439741d2f0999f34770..1253e70d41d7a0cc2dc0bb942d0609c464a929a8 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr "blokuj wszystkie"
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: aktualizacje EMM"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: aktywuj PPV"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index bebdd3a80c20963acaed036d6fd6c6a4f1e1124a..991300cb2575e6e3120c638f6cae2ea6faed5523 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2009-05-14 19:33+0100\n"
 "Last-Translator: somebody\n"
 "Language-Team: ru\n"
@@ -224,9 +224,6 @@ msgstr "
 msgid "SC-Seca: EMM updates"
 msgstr "SC-Seca: ÞÑÝÞÒÛÕÝØï EMM"
 
-msgid "SC-Seca: activate PPV"
-msgstr "SC-Seca: ÐÚâØÒØàÞÒÐâì PPV"
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index 673b4b6bf63c39e5e94b80e3dc98d4e557ba69cc..5722f6a936d0fe1e5353a6158db56355bf7f6946 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VDR 1.5.9\n"
 "Report-Msgid-Bugs-To: <noone@nowhere.org>\n"
-"POT-Creation-Date: 2009-07-27 03:33-0400\n"
+"POT-Creation-Date: 2009-08-04 19:21-0400\n"
 "PO-Revision-Date: 2007-08-27 12:45+0200\n"
 "Last-Translator: somebody\n"
 "Language-Team: somebody\n"
@@ -223,9 +223,6 @@ msgstr ""
 msgid "SC-Seca: EMM updates"
 msgstr ""
 
-msgid "SC-Seca: activate PPV"
-msgstr ""
-
 msgid "SC-Viaccess: Parental lock"
 msgstr ""
 
index d0ff7426ca2d838632ad91cd8e2a4188f77894af..2766a3711f1a590a0d9dba8dd58787f2f74318ec 100644 (file)
@@ -62,7 +62,6 @@ static const struct LogModule lm_sc = {
 ADD_MODULE(L_SC,lm_sc)
 
 static int blocker=0;
-static int ppv=false;
 
 // -- cSystemScSeca ---------------------------------------------------------------
 
@@ -99,11 +98,8 @@ static cSystemLinkScSeca staticInit;
 cSystemLinkScSeca::cSystemLinkScSeca(void)
 :cSystemLink(SYSTEM_NAME,SYSTEM_PRI)
 {
-  opts=new cOpts(SYSTEM_NAME,2);
+  opts=new cOpts(SYSTEM_NAME,1);
   opts->Add(new cOptSel("Blocker",trNOOP("SC-Seca: EMM updates"),&blocker,sizeof(block)/sizeof(char *),block));
-  cOpt *opt=new cOptBool("Ppv",trNOOP("SC-Seca: activate PPV"),&ppv);
-  if(opt) opt->Persistant(false);
-  opts->Add(opt);
   Feature.NeedsSmartCard();
 }
 
@@ -293,24 +289,26 @@ bool cSmartCardSeca::Decode(const cEcmInfo *ecm, const unsigned char *data, unsi
 {
   static unsigned char ins3c[] = { 0xC1,0x3c,0x00,0x00,0x00 }; // coding cw
   static unsigned char ins3a[] = { 0xC1,0x3a,0x00,0x00,0x10 }; // decoding cw    
-  static unsigned char ins30[] = { 0xC1,0x30,0x00,0x02,0x09 }; // view ppv (active bx record)
+  static unsigned char ins30[] = { 0xC1,0x30,0x00,0x02,0x09 };
   static unsigned char ins30data[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF }; 
 
   cProviderScSeca *p=(cProviderScSeca *)FindProv(data);
   if(p && ecm->Data()) {
     PRINTF(L_SC_PROC,"provider 0x%04x index %d '%.16s' (expires %s)",cParseSeca::ProvId(data),p->index,p->name,Date(p->date));
     if(CheckAccess(ecm->Data(),p)) {
-      if(ppv) {
-        PRINTF(L_SC_PROC,"activating PPV");
-        if(IsoWrite(ins30,ins30data)) Status();
-        ppv=false;
-        }
       const unsigned char *payload;
       ins3c[2]=p->index | (cParseSeca::SysMode(data) & 0xF0);
       ins3c[3]=cParseSeca::KeyNr(data);
       ins3c[4]=cParseSeca::Payload(data,&payload);
-      if(IsoWrite(ins3c,payload) && Status() &&
-         IsoRead(ins3a,cw) && Status()) return true;
+      if(IsoWrite(ins3c,payload)) {
+        bool r;
+        if(sb[0]==0x90 && sb[1]==0x1A) // need to use token
+          r=IsoWrite(ins30,ins30data) && Status() && IsoWrite(ins3c,payload) && Status();
+        else
+          r=Status();
+        if(r && IsoRead(ins3a,cw) && Status())
+          return true;
+        }
       }
     else PRINTF(L_SC_ERROR,"update your subscription to view this channel");
     }