From 70eb073a2bfccb817c72de4f994205e8c80298b8 Mon Sep 17 00:00:00 2001 From: leslie Date: Sun, 27 Sep 2009 21:34:49 +0800 Subject: [PATCH] cardclient-cccam2: fix DCW answer tracking --- systems/cardclient/cccam2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/systems/cardclient/cccam2.c b/systems/cardclient/cccam2.c index 313df0b..2997c67 100644 --- a/systems/cardclient/cccam2.c +++ b/systems/cardclient/cccam2.c @@ -681,8 +681,9 @@ void cCardClientCCcam2::PacketAnalyzer(const struct CmdHeader *hdr, int length) } case 0xff: case 0xfe: - if(hdr->cmd==0xfe) PRINTF(L_CC_CCCAM2,"share not found on server"); - else PRINTF(L_CC_CCCAM2,"server can't decode this ecm"); + if(pendingDCW>0) pendingDCW--; + if(hdr->cmd==0xfe) PRINTF(L_CC_CCCAM2,"share not found on server (%d pending)",pendingDCW); + else PRINTF(L_CC_CCCAM2,"server can't decode this ecm, (%d pending)",pendingDCW); cwmutex.Lock(); newcw=false; cwwait.Broadcast(); @@ -857,7 +858,7 @@ bool cCardClientCCcam2::ProcessECM(const cEcmInfo *ecm, const unsigned char *dat PRINTF(L_CC_CCCAM2EX,"now try shareid %08x",shareid); LDUMP(L_CC_CCCAM2DT,req,ecm_len,"send ecm:"); if(pendingDCW>0) - PRINTF(L_CC_CCCAM2,"WARN: there are pending DCW answers. This may cause trouble..."); + PRINTF(L_CC_CCCAM2,"WARN: there are pending %d DCW answers. This may cause trouble...",pendingDCW); pendingDCW++; if(!CryptSend((unsigned char *)req,ecm_len)) { PRINTF(L_CC_CCCAM2,"failed to send ecm request"); -- 2.39.5