Changeset 11282 for trunk/reader-viaccess.c
- Timestamp:
- 12/04/16 16:28:39 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/reader-viaccess.c
r11200 r11282 126 126 parse_via_date(b - 4, &vd, 1); 127 127 cls = (l - (j + 1)) * 8 + i; 128 if(p) 128 129 if(p) // just show class info, dont add entitlement! 129 130 { 130 131 rdr_log(reader, "%sclass: %02X, expiry date: %04d/%02d/%02d - %04d/%02d/%02d", p, cls, … … 137 138 vd.year_s + 1980, vd.month_s, vd.day_s, 138 139 vd.year_e + 1980, vd.month_e, vd.day_e); 139 140 time_t start_t, end_t; 140 time_t start_t, end_t; 141 142 //convert time: 141 143 struct tm tm; 142 //convert time:143 144 memset(&tm, 0, sizeof(tm)); 144 145 tm.tm_year = vd.year_s + 80; //via year starts in 1980, tm_year starts in 1900 … … 151 152 tm.tm_mday = vd.day_e; 152 153 end_t = cs_timegm(&tm); 153 154 154 cs_add_entitlement(reader, reader->caid, provid, cls, cls, start_t, end_t, 5, 1); 155 155 } … … 222 222 switch(emm[0]) 223 223 { 224 case 0xA9: 225 show_class(reader, "nano A9: ", 0, emm + 2, emm[1]); 226 break; 227 /* 228 { 229 int32_t i, j, byts; 230 const uchar *oemm; 231 232 oemm = emm; 233 byts = emm[1]-4; 234 emm+=6; 235 236 j=byts-1; 237 for( ; j>=0; j-- ) 238 for( i=0; i<8; i++ ) 239 if( emm[j] & (1 << (i&7)) ) 240 { 241 uchar cls; 242 struct via_date vd; 243 parse_via_date(emm-4, &vd, 1); 244 cls=(byts-(j+1))*8+i; 245 rdr_log(reader, "%sclass %02X: expiry date: %02d/%02d/%04d - %02d/%02d/%04d", 246 fnano?"nano A9: ":"", cls, 247 vd.day_s, vd.month_s, vd.year_s+1980, 248 vd.day_e, vd.month_e, vd.year_e+1980); 249 } 250 break; 251 } 252 */ 253 case 0xA6: 254 { 255 char szGeo[256]; 256 257 memset(szGeo, 0, 256); 258 strncpy(szGeo, (char *)emm + 2, emm[1]); 259 rdr_log(reader, "nano A6: geo %s", szGeo); 260 break; 261 } 262 case 0xB6: 263 { 264 uchar m; // modexp 265 struct via_date vd; 266 267 m = emm[emm[1] + 1]; 268 parse_via_date(emm + 2, &vd, 0); 269 rdr_log(reader, "nano B6: modexp %d%d%d%d%d%d: %02d/%02d/%04d", (m & 0x20) ? 1 : 0, 224 case 0xA9: 225 { 226 show_class(reader, "nano A9: ", 1, emm + 2, emm[1]); 227 break; 228 } 229 230 case 0xA6: 231 { 232 char szGeo[256]; 233 234 memset(szGeo, 0, 256); 235 strncpy(szGeo, (char *)emm + 2, emm[1]); 236 rdr_log(reader, "nano A6: geo %s", szGeo); 237 break; 238 } 239 240 case 0xB6: 241 { 242 uchar m; // modexp 243 struct via_date vd; 244 245 m = emm[emm[1] + 1]; 246 parse_via_date(emm + 2, &vd, 0); 247 rdr_log(reader, "nano B6: modexp %d%d%d%d%d%d: %02d/%02d/%04d", (m & 0x20) ? 1 : 0, 270 248 (m & 0x10) ? 1 : 0, (m & 0x08) ? 1 : 0, (m & 0x04) ? 1 : 0, (m & 0x02) ? 1 : 0, (m & 0x01) ? 1 : 0, 271 249 vd.day_s, vd.month_s, vd.year_s + 1980); 272 break;273 }250 break; 251 } 274 252 } 275 253 } … … 1997 1975 rdr_log_sensitive(reader, "provider: %d, id: {%06X%s}, sa: {%08X}, geo: %s", 1998 1976 i, l_provid, l_name, l_sa, (l < 4) ? "empty" : cs_hexdump(1, cta_res, l, tmp, sizeof(tmp))); 1977 1978 // add entitlement info for provid without class 1979 cs_add_entitlement(reader, reader->caid, l_provid, 0, 0, 0, 0, 5, 1); 1999 1980 2000 1981 // read classes subscription
Note:
See TracChangeset
for help on using the changeset viewer.