Changeset 4987 for trunk/oscam-ac.c
- Timestamp:
- 04/13/11 19:46:10 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/oscam-ac.c
r4977 r4987 150 150 void ac_chk(struct s_client *cl, ECM_REQUEST *er, int level) 151 151 { 152 152 if (!cl->ac_limit || !cfg.ac_enabled) return; 153 153 154 154 struct s_acasc_shm *acasc = &cl->acasc; 155 155 156 if( level==1 ) 157 { 158 if( er->rc==E_FAKE ) acasc->ac_count++; 159 if( er->rc>=E_NOTFOUND ) return; // not found 160 if( memcmp(ac_ecmd5, er->ecmd5, CS_ECMSTORESIZE) != 0 ) 161 { 162 acasc->ac_count+=ac_dw_weight(er); 163 memcpy(ac_ecmd5, er->ecmd5, CS_ECMSTORESIZE); 164 } 165 return; 166 } 156 if( level == 1 ) { 157 if( er->rc == E_FAKE ) 158 acasc->ac_count++; 167 159 168 if( acasc->ac_deny ) 169 if( cl->account->ac_penalty ) 170 { 171 if (cl->account->ac_penalty == 3) 172 cs_debug_mask(D_CLIENT, "fake delay %dms", cfg.ac_fakedelay); 173 else 174 { 175 cs_debug_mask(D_CLIENT, "send fake dw"); 176 er->rc=E_FAKE; // fake 177 er->rcEx=0; 178 } 179 cs_sleepms(cfg.ac_fakedelay); 180 } 160 if( er->rc >= E_NOTFOUND ) 161 return; // not found 162 163 if( memcmp(ac_ecmd5, er->ecmd5, CS_ECMSTORESIZE) != 0 ) { 164 acasc->ac_count += ac_dw_weight(er); 165 memcpy(ac_ecmd5, er->ecmd5, CS_ECMSTORESIZE); 166 } 167 return; 168 } 169 170 if( acasc->ac_deny ) { 171 if( cl->account->ac_penalty ) { 172 if (cl->account->ac_penalty == 3) { 173 cs_debug_mask(D_CLIENT, "fake delay %dms", cfg.ac_fakedelay); 174 } else { 175 cs_debug_mask(D_CLIENT, "send fake dw"); 176 er->rc = E_FAKE; // fake 177 er->rcEx = 0; 178 } 179 cs_sleepms(cfg.ac_fakedelay); 180 } 181 } 181 182 } 182 183 #endif
Note:
See TracChangeset
for help on using the changeset viewer.