Changeset 3184 for trunk/reader-videoguard2.c
- Timestamp:
- 09/23/10 10:30:39 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/reader-videoguard2.c
r3182 r3184 13 13 */ 14 14 static const unsigned char ins2a[5] = { 0xD0,0x2a,0x00,0x00,0x00 }; 15 if(cmd_exists( ins2a)) {15 if(cmd_exists(reader,ins2a)) { 16 16 l=do_cmd(reader,ins2a,NULL,NULL,NULL,cta_res); 17 17 if(l<0 || !status_ok(cta_res+l)){ … … 34 34 memset(reader->init_history, 0, sizeof(reader->init_history)); 35 35 #endif 36 int mblank = 0; 37 int cblank = 0; 36 38 for(i=0; i<num; i++) { 37 39 ins76[2]=i; 38 40 l=do_cmd(reader,ins76,NULL,NULL,NULL,cta_res); 39 41 if(l<0 || !status_ok(cta_res+l)) return; 40 if(cta_res[2]==0 && cta_res[3]==0) break; 41 int y,m,d,H,M,S; 42 rev_date_calc(&cta_res[4],&y,&m,&d,&H,&M,&S,reader->card_baseyear); 43 unsigned short tier_id = (cta_res[2] << 8) | cta_res[3]; 44 char *tier_name = get_tiername(tier_id, reader->caid[0]); 45 cs_ri_log(reader, "[videoguard2-reader] tier: %04x, expiry date: %04d/%02d/%02d-%02d:%02d:%02d %s",tier_id,y,m,d,H,M,S,tier_name); 46 } 42 if(cta_res[2]!=0 || cta_res[3]!=0) { 43 if(cblank > mblank) mblank = cblank; 44 cblank = 0; 45 int y,m,d,H,M,S; 46 rev_date_calc(&cta_res[4],&y,&m,&d,&H,&M,&S,reader->card_baseyear); 47 unsigned short tier_id = (cta_res[2] << 8) | cta_res[3]; 48 char *tier_name = get_tiername(tier_id, reader->caid[0]); 49 cs_ri_log(reader, "[videoguard2-reader] tier: %04x, expiry date: %04d/%02d/%02d-%02d:%02d:%02d %s",tier_id,y,m,d,H,M,S,tier_name); 50 } else { 51 if (reader->caid[0]!=0x09AC) break; 52 cblank +=1; 53 } 54 } 55 if (mblank>0) cs_ri_log(reader,"[videoguard2-reader] maximum blank tiers = %i", mblank ); 47 56 } 48 57 … … 83 92 ins7401[3]=0x80; // from newcs log 84 93 ins7401[4]=0x01; 85 if((l=read_cmd_len(reader, 94 if((l=read_cmd_len(reader,ins7401))<0) return ERROR; //not a videoguard2/NDS card or communication error 86 95 ins7401[3]=0x00; 87 96 ins7401[4]=l; … … 91 100 } 92 101 93 memorize_cmd_table ( cta_res,l);102 memorize_cmd_table (reader,cta_res,l); 94 103 95 104 unsigned char buff[256]; … … 114 123 /* we can try to get the boxid from the card */ 115 124 int boxidOK=0; 116 if((ins36[4]=read_cmd_len(reader, ins36))==0 && cmd_exists(ins5e)) {125 if((ins36[4]=read_cmd_len(reader,ins36))==0 && cmd_exists(reader,ins5e)) { 117 126 if(!write_cmd_vg(ins5e,NULL) || !status_ok(cta_res+2)){ 118 127 cs_log ("[videoguard2-reader] classD0 ins5e: failed"); … … 235 244 }; 236 245 237 cCamCryptVG_SetSeed( seed1,seed2);246 cCamCryptVG_SetSeed(reader,seed1,seed2); 238 247 239 248 unsigned char insB4[5] = { 0xD0,0xB4,0x00,0x00,0x40 }; 240 249 unsigned char tbuff[64]; 241 cCamCryptVG_GetCamKey( tbuff);250 cCamCryptVG_GetCamKey(reader,tbuff); 242 251 l=do_cmd(reader,insB4,tbuff,NULL,NULL,cta_res); 243 252 if(l<0 || !status_ok(cta_res)) { … … 281 290 add_aes_entry(reader, reader->caid[0], 0, AESKEY_ASTRO, dimeno_magic); 282 291 283 AES_ENTRY *current;292 /* AES_ENTRY *current; 284 293 current=reader->aes_list; 285 294 while(current) { … … 293 302 current=current->next; 294 303 } 304 */ 295 305 296 306 cs_ri_log(reader, "[videoguard2-reader] type: %s, caid: %04X, serial: %02X%02X%02X%02X, BoxID: %02X%02X%02X%02X",
Note:
See TracChangeset
for help on using the changeset viewer.