Changeset 4586 for trunk/module-cccam.c
- Timestamp:
- 01/24/11 13:02:07 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-cccam.c
r4582 r4586 774 774 } 775 775 776 int get_UA_ofs(uint16 caid) {777 int ofs = 0;778 switch (caid >> 8) {779 case 0x05: //VIACCESS:780 ofs = 1;781 break;782 case 0x4B: //TONGFANG:783 case 0x09: //VIDEOGUARD:784 case 0x0B: //CONAX:785 case 0x18: //NAGRA:786 ofs = 2;787 break;788 }789 return ofs;790 }791 792 int UA_len(uint8 *ua) {793 int i, len=0;794 for (i=0;i<8;i++)795 if (ua[i]) len++;796 return len;797 }798 799 void UA_left(uint8 *in, uint8 *out, int len) {800 int ofs = 0;801 int maxlen = 8;802 int orglen = len;803 while (len) {804 memset(out, 0, orglen);805 memcpy(out, in+ofs, len);806 if (out[0]) break;807 ofs++;808 maxlen--;809 if (len>maxlen)810 len=maxlen;811 }812 }813 814 void UA_right(uint8 *in, uint8 *out, int len) {815 int ofs = 0;816 while (len) {817 memcpy(out+ofs, in, len);818 len--;819 if (out[len]) break;820 ofs++;821 out[0]=0;822 }823 }776 //int get_UA_ofs(uint16 caid) { 777 // int ofs = 0; 778 // switch (caid >> 8) { 779 // case 0x05: //VIACCESS: 780 // ofs = 1; 781 // break; 782 // case 0x4B: //TONGFANG: 783 // case 0x09: //VIDEOGUARD: 784 // case 0x0B: //CONAX: 785 // case 0x18: //NAGRA: 786 // ofs = 2; 787 // break; 788 // } 789 // return ofs; 790 //} 791 792 //int UA_len(uint8 *ua) { 793 // int i, len=0; 794 // for (i=0;i<8;i++) 795 // if (ua[i]) len++; 796 // return len; 797 //} 798 799 //void UA_left(uint8 *in, uint8 *out, int len) { 800 // int ofs = 0; 801 // int maxlen = 8; 802 // int orglen = len; 803 // while (len) { 804 // memset(out, 0, orglen); 805 // memcpy(out, in+ofs, len); 806 // if (out[0]) break; 807 // ofs++; 808 // maxlen--; 809 // if (len>maxlen) 810 // len=maxlen; 811 // } 812 //} 813 814 //void UA_right(uint8 *in, uint8 *out, int len) { 815 // int ofs = 0; 816 // while (len) { 817 // memcpy(out+ofs, in, len); 818 // len--; 819 // if (out[len]) break; 820 // ofs++; 821 // out[0]=0; 822 // } 823 //} 824 824 825 825 /** … … 830 830 831 831 memset(out, 0, 8); 832 switch (caid>>8) { 833 case 0x17: //IRDETO/Betacrypt: 834 //oscam: AA BB CC DD 00 00 00 00 835 //cccam: 00 00 00 00 DD AA BB CC 836 out[4] = in[3]; //Hexbase 837 out[5] = in[0]; 838 out[6] = in[1]; 839 out[7] = in[2]; 840 return; 841 842 //Place here your own adjustments! 843 } 844 UA_right(in, out, 8); 832 //switch (caid>>8) { 833 // case 0x17: //IRDETO/Betacrypt: 834 // //oscam: AA BB CC DD 00 00 00 00 835 // //cccam: 00 00 00 00 DD AA BB CC 836 // out[4] = in[3]; //Hexbase 837 // out[5] = in[0]; 838 // out[6] = in[1]; 839 // out[7] = in[2]; 840 // return; 841 // 842 // //Place here your own adjustments! 843 //} 844 //UA_right(in, out, 8); 845 hexserial_to_newcamd(in, out+2, caid); 845 846 } 846 847 … … 850 851 void cc_UA_cccam2oscam(uint8 *in, uint8 *out, uint16 caid) { 851 852 memset(out, 0, 8); 852 switch(caid>>8) {853 case 0x17: //IRDETO/Betacrypt:854 //cccam: 00 00 00 00 DD AA BB CC855 //oscam: AA BB CC DD 00 00 00 00856 out[0] = in[5];857 out[1] = in[6];858 out[2] = in[7];859 out[3] = in[4]; //Hexbase860 return;853 //switch(caid>>8) { 854 // case 0x17: //IRDETO/Betacrypt: 855 // //cccam: 00 00 00 00 DD AA BB CC 856 // //oscam: AA BB CC DD 00 00 00 00 857 // out[0] = in[5]; 858 // out[1] = in[6]; 859 // out[2] = in[7]; 860 // out[3] = in[4]; //Hexbase 861 // return; 861 862 862 //Place here your own adjustments! 863 } 864 int ofs = get_UA_ofs(caid); 865 int len = 8-ofs; 866 UA_left(in, out+ofs, len); 863 // //Place here your own adjustments! 864 //} 865 //int ofs = get_UA_ofs(caid); 866 //int len = 8-ofs; 867 //UA_left(in, out+ofs, len); 868 newcamd_to_hexserial(in+2, out, caid); 867 869 } 868 870 … … 3516 3518 cmi += 10; 3517 3519 if (cmi >= cfg->cmaxidle) { 3518 if (cfg->cc_keep_connected ) {3520 if (cfg->cc_keep_connected || cl->account->ncd_keepalive) { 3519 3521 if (wait_for_keepalive<3 || wait_for_keepalive == 100) { 3520 3522 if (cc_cmd_send(cl, NULL, 0, MSG_KEEPALIVE) < 0)
Note:
See TracChangeset
for help on using the changeset viewer.