Changeset 5256 for trunk/module-cccam.c
- Timestamp:
- 05/18/11 21:14:55 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-cccam.c
r5254 r5256 646 646 if (stealth == -1) 647 647 stealth = cfg.cc_stealth; 648 if (stealth) 649 { 650 int32_t i; 651 for (i=0;i<8;i++) 652 buf[i] = fast_rnd(); 653 } 654 else 655 memcpy(buf, cc->node_id, 8); 648 memcpy(buf, cc->node_id, 8); 649 if (stealth) buf[7]++; 650 656 651 char cc_build[7]; 657 652 cc_check_version((char *) cfg.cc_version, cc_build); … … 3245 3240 } 3246 3241 3242 void cc_update_nodeid() 3243 { 3244 //Partner Detection: 3245 init_rnd(); 3246 uint16_t sum = 0x1234; //This is our checksum 3247 int32_t i; 3248 for (i = 0; i < 4; i++) { 3249 cc_node_id[i] = fast_rnd(); 3250 sum += cc_node_id[i]; 3251 } 3252 3253 // Partner ID: 3254 cc_node_id[4] = 0x10; // (Oscam 0x10, vPlugServer 0x11, Hadu 0x12,...) 3255 sum += cc_node_id[4]; 3256 3257 // generate checksum for Partner ID: 3258 cc_node_id[5] = 0xAA; 3259 for (i = 0; i < 5; i++) { 3260 cc_node_id[5] ^= cc_node_id[i]; 3261 } 3262 sum += cc_node_id[5]; 3263 3264 cc_node_id[6] = sum >> 8; 3265 cc_node_id[7] = sum & 0xff; 3266 3267 int valid = 0; 3268 if (cfg.cc_use_fixed_nodeid) { 3269 for (i=0;i<8;i++) 3270 if (cfg.cc_fixed_nodeid[i]) 3271 valid = 1; 3272 } 3273 if (valid) 3274 memcpy(cc_node_id, cfg.cc_fixed_nodeid, 8); 3275 else 3276 memcpy(cfg.cc_fixed_nodeid, cc_node_id, 8); 3277 } 3278 3247 3279 void module_cccam(struct s_module *ph) { 3248 3280 cs_strncpy(ph->desc, "cccam", sizeof(ph->desc)); … … 3276 3308 ph->num = R_CCCAM; 3277 3309 3278 //Partner Detection: 3279 init_rnd(); 3280 uint16_t sum = 0x1234; //This is our checksum 3281 for (i = 0; i < 4; i++) { 3282 cc_node_id[i] = fast_rnd(); 3283 sum += cc_node_id[i]; 3284 } 3285 3286 // Partner ID: 3287 cc_node_id[4] = 0x10; // (Oscam 0x10, vPlugServer 0x11, Hadu 0x12,...) 3288 sum += cc_node_id[4]; 3289 3290 // generate checksum for Partner ID: 3291 cc_node_id[5] = 0xAA; 3292 for (i = 0; i < 5; i++) { 3293 cc_node_id[5] ^= cc_node_id[i]; 3294 } 3295 sum += cc_node_id[5]; 3296 3297 cc_node_id[6] = sum >> 8; 3298 cc_node_id[7] = sum & 0xff; 3299 3310 cc_update_nodeid(); 3311 3300 3312 if (cfg.cc_port) 3301 3313 init_share();
Note:
See TracChangeset
for help on using the changeset viewer.