From: leslie Date: Tue, 1 Jan 2008 20:38:18 +0000 (+0100) Subject: don't trigger ExternalAU for EMM keys X-Git-Tag: 0.8.7~30 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=81ac69018fabb7630653b5b8c14a1d8ad2e3edaf;p=sasc-ng.git don't trigger ExternalAU for EMM keys --- diff --git a/systems/nagra/nagra2-4101.c b/systems/nagra/nagra2-4101.c index 9e5af25..4b7a81d 100644 --- a/systems/nagra/nagra2-4101.c +++ b/systems/nagra/nagra2-4101.c @@ -108,7 +108,7 @@ bool cN2Prov4101::PostProcAU(int id, unsigned char *data) { if(data[1]==0x01) { cPlainKey *pk; - if(!(pk=keys.FindKey('N',id,MBC(N2_MAGIC,0x30),16))) { + if(!(pk=keys.FindKeyNoTrig('N',id,MBC(N2_MAGIC,0x30),16))) { PRINTF(L_SYS_EMM,"missing %04x NN 30 3DES key (16 bytes)",id); return false; } diff --git a/systems/nagra/nagra2.c b/systems/nagra/nagra2.c index ad95ccc..63bfe53 100644 --- a/systems/nagra/nagra2.c +++ b/systems/nagra/nagra2.c @@ -934,18 +934,18 @@ void cSystemNagra2::ProcessEMM(int pid, int caid, unsigned char *buffer) cBN n; unsigned char ideaKey[24], vKey[16]; bool hasVerifyKey=false; - if(!(pk=keys.FindKey('N',id,MBC(N2_MAGIC,keyset+0x10+rsasel),96))) { + if(!(pk=keys.FindKeyNoTrig('N',id,MBC(N2_MAGIC,keyset+0x10+rsasel),96))) { PRINTF(L_SYS_EMM,"missing %04x NN %.02X RSA key (96 bytes)",id,keyset+0x10+rsasel); return; } pk->Get(n); - if((pk=keys.FindKey('N',id,MBC(N2_MAGIC,0x03+sigsel),sizeof(vKey)))) { + if((pk=keys.FindKeyNoTrig('N',id,MBC(N2_MAGIC,0x03+sigsel),sizeof(vKey)))) { pk->Get(vKey); hasVerifyKey=true; } else if(id!=lastEmmId) PRINTF(L_SYS_EMM,"missing %04x NN %.02X signature key (non-fatal)",id,0x03+sigsel); - if(!(pk=keys.FindKey('N',id,MBC(N2_MAGIC,keyset),24))) { - if(!(pk=keys.FindKey('N',id,MBC(N2_MAGIC,keyset+sel),16))) { + if(!(pk=keys.FindKeyNoTrig('N',id,MBC(N2_MAGIC,keyset),24))) { + if(!(pk=keys.FindKeyNoTrig('N',id,MBC(N2_MAGIC,keyset+sel),16))) { PRINTF(L_SYS_EMM,"missing %04x NN %.02x IDEA key (24 or 16 bytes)",id,keyset+sel); return; } @@ -981,7 +981,7 @@ void cSystemNagra2::ProcessEMM(int pid, int caid, unsigned char *buffer) if(ks==0x06 || ks==0x46) kn=(ks>>6)&1; else kn=MBC(N2_MAGIC,ks); unsigned char key[256]; memset(key,0,sizeof(key)); - if((pk=keys.FindKey('N',id,kn,len))) { + if((pk=keys.FindKeyNoTrig('N',id,kn,len))) { if(cPlainKeyNagra::IsBNKey(kn)) { pk->Get(n); n.PutLE(key,len); } else pk->Get(key); } diff --git a/systems/seca/seca.c b/systems/seca/seca.c index 3a0fa0c..920bb9e 100644 --- a/systems/seca/seca.c +++ b/systems/seca/seca.c @@ -1534,9 +1534,9 @@ void cSystemSeca::ProcessEMM(int pid, int caid, unsigned char *buffer) cPlainKey *pk; cBN exp, mod; - if(!(pk=keys.FindKey('S',provId,MBC3('E',rsaKeynr,EMM_MAGIC),-1))) return; + if(!(pk=keys.FindKeyNoTrig('S',provId,MBC3('E',rsaKeynr,EMM_MAGIC),-1))) return; pk->Get(exp); - if(!(pk=keys.FindKey('S',provId,MBC3('M',rsaKeynr,EMM_MAGIC),-1))) return; + if(!(pk=keys.FindKeyNoTrig('S',provId,MBC3('M',rsaKeynr,EMM_MAGIC),-1))) return; pk->Get(mod); if(rsa.RSA(emm+2,emm+2,msgLen-2,exp,mod)!=msgLen-2) return;