]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
descrambler: more AES / AES128 fixes
authorJaroslav Kysela <perex@perex.cz>
Mon, 12 Jun 2017 16:17:06 +0000 (18:17 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 12 Jun 2017 16:20:28 +0000 (18:20 +0200)
src/descrambler/capmt.c
src/descrambler/cccam.c
src/descrambler/cwc.c
src/descrambler/descrambler.c

index a569f1dd445aa4f7fe96bc18d72b3dd3880b7279..67d076ff6be988074884728246c27b87be6e16e9 100644 (file)
@@ -145,7 +145,7 @@ typedef struct ca_info {
   enum {
     CA_ALGO_DVBCSA,
     CA_ALGO_DES,
-    CA_ALGO_AES128,
+    CA_ALGO_AES,
   } algo;
   enum {
     CA_MODE_ECB,
@@ -1153,7 +1153,7 @@ capmt_send_key(capmt_t *capmt)
   case CA_ALGO_DES:
     type = DESCRAMBLER_DES_NCB;
     break;
-  case CA_ALGO_AES128:
+  case CA_ALGO_AES:
     if (cai->cipher_mode == CA_MODE_ECB) {
       type = DESCRAMBLER_AES_ECB;
     } else {
@@ -1358,9 +1358,9 @@ capmt_analyze_cmd(capmt_t *capmt, uint32_t cmd, int adapter, sbuf_t *sb, int off
       return;
     cai = &capmt->capmt_adapters[adapter].ca_info[index];
     if (parity == 0) {
-      capmt_process_key(capmt, adapter, cai, DESCRAMBLER_AES_ECB, cw, NULL, 1);
+      capmt_process_key(capmt, adapter, cai, DESCRAMBLER_AES128_ECB, cw, NULL, 1);
     } else if (parity == 1) {
-      capmt_process_key(capmt, adapter, cai, DESCRAMBLER_AES_ECB, NULL, cw, 1);
+      capmt_process_key(capmt, adapter, cai, DESCRAMBLER_AES128_ECB, NULL, cw, 1);
     } else
       tvherror(LS_CAPMT, "%s: Invalid parity %d in CA_SET_DESCR_AES for adapter%d", capmt_name(capmt), parity, adapter);
 
index af9da373b4e389b8bcefc8031e464b99c0fa1a5f..410deae838b4c6057b19f05247eea88512226ec7 100644 (file)
@@ -701,7 +701,7 @@ forbid:
     es3 = *es;
     pthread_mutex_unlock(&cccam->cccam_mutex);
     descrambler_keys((th_descrambler_t *)ct,
-                     off == 16 ? DESCRAMBLER_AES_ECB : DESCRAMBLER_CSA_CBC,
+                     off == 16 ? DESCRAMBLER_AES128_ECB : DESCRAMBLER_CSA_CBC,
                      0, dcw, dcw + off);
     snprintf(chaninfo, sizeof(chaninfo), "%s:%i", cccam->cccam_hostname, cccam->cccam_port);
     descrambler_notify((th_descrambler_t *)ct,
index 731e1dcdcbf20b584320cbf6824178a7cb647826..2a245564fa597ea894239393509bad1c1c215f3a 100644 (file)
@@ -849,7 +849,7 @@ forbid:
     es3 = *es;
     pthread_mutex_unlock(&cwc->cwc_mutex);
     descrambler_keys((th_descrambler_t *)ct,
-                     off == 16 ? DESCRAMBLER_AES_ECB : DESCRAMBLER_CSA_CBC,
+                     off == 16 ? DESCRAMBLER_AES128_ECB : DESCRAMBLER_CSA_CBC,
                      0, msg + 3, msg + 3 + off);
     snprintf(chaninfo, sizeof(chaninfo), "%s:%i", cwc->cwc_hostname, cwc->cwc_port);
     descrambler_notify((th_descrambler_t *)ct,
index 3d60e4256a969464798b6d8e686f374869b2daf2..05492bf7dd43051fdcb73bba131a80911b8c8729 100644 (file)
@@ -677,9 +677,10 @@ descrambler_keys ( th_descrambler_t *td, int type, uint16_t pid,
   else
     snprintf(pidname, sizeof(pidname), "[%d]", pid);
   switch(type) {
-  case DESCRAMBLER_CSA_CBC: ktype = "CSA"; break;
-  case DESCRAMBLER_DES_NCB: ktype = "DES"; break;
-  case DESCRAMBLER_AES_ECB: ktype = "AES EBC"; break;
+  case DESCRAMBLER_CSA_CBC:    ktype = "CSA"; break;
+  case DESCRAMBLER_DES_NCB:    ktype = "DES"; break;
+  case DESCRAMBLER_AES_ECB:    ktype = "AES EBC"; break;
+  case DESCRAMBLER_AES128_ECB: ktype = "AES128 EBC"; break;
   default: abort();
   }