Changeset 1708
Legend:
- Unmodified
- Added
- Removed
-
trunk/globals.h
r1702 r1708 840 840 extern ulong chk_provid(uchar *, ushort); 841 841 extern void guess_cardsystem(ECM_REQUEST *); 842 extern void guess_irdeto(ECM_REQUEST *);843 842 extern void get_cw(ECM_REQUEST *); 844 843 extern void do_emm(EMM_PACKET *); … … 881 880 extern int search_boxkey(ushort, char *); 882 881 extern void init_len4caid(void); 883 extern int init_irdeto_guess_tab(void);884 882 extern void chk_caidtab(char *caidasc, CAIDTAB *ctab); 885 883 extern void chk_tuntab(char *tunasc, TUNTAB *ttab); -
trunk/oscam-config.c
r1704 r1708 13 13 static char *cs_cert="oscam.cert"; 14 14 static char *cs_sidt="oscam.services"; 15 //static char *cs_ird="oscam.ird";16 15 #ifdef CS_ANTICASC 17 16 static char *cs_ac="oscam.ac"; … … 31 30 TAG_CS357X, // camd 3.5x UDP 32 31 TAG_CS378X, // camd 3.5x TCP 33 #ifdef CS_WITH_GBOX34 32 TAG_GBOX, // gbox 35 #endif36 33 TAG_CCCAM, // cccam 37 34 TAG_DVBAPI, // dvbapi 38 TAG_WEBIF // webif 39 #ifdef CS_ANTICASC 40 ,TAG_ANTICASC // anti-cascading 41 #endif 35 TAG_WEBIF, // webif 36 TAG_ANTICASC // anti-cascading 42 37 } cs_proto_type_t; 43 38 44 static char *cctag[]={"global", "monitor", "camd33", "camd35", 45 "newcamd", "radegast", "serial", "cs357x", "cs378x", 46 #ifdef CS_WITH_GBOX 47 "gbox", 48 #endif 49 "cccam", "dvbapi", "webif", 50 #ifdef CS_ANTICASC 51 "anticasc", 52 #endif 53 NULL}; 39 static char *cctag[]={"global", "monitor", "camd33", "camd35", "newcamd", "radegast", "serial", 40 "cs357x", "cs378x", "gbox", "cccam", "dvbapi", "webif", "anticasc", NULL}; 54 41 55 42 #ifdef DEBUG_SIDTAB … … 1043 1030 case TAG_SERIAL : chk_t_serial(token, value); break; 1044 1031 case TAG_CS378X : chk_t_camd35_tcp(token, value); break; 1032 1045 1033 #ifdef CS_WITH_GBOX 1046 1034 case TAG_GBOX : chk_t_gbox(token, value); break; 1047 #endif 1035 #else 1036 case TAG_GBOX : fprintf(stderr, "Warning: OSCam compiled without gbox support.\n"); break; 1037 #endif 1038 1048 1039 case TAG_CCCAM : chk_t_cccam(token, value); break; 1049 1040 #ifdef HAVE_DVBAPI … … 1053 1044 #endif 1054 1045 1046 1055 1047 #ifdef WEBIF 1056 1048 case TAG_WEBIF : chk_t_webif(token, value); break; … … 1059 1051 #endif 1060 1052 1053 1061 1054 #ifdef CS_ANTICASC 1062 1055 case TAG_ANTICASC: chk_t_ac(token, value); break; 1063 #endif 1056 #else 1057 case TAG_ANTICASC: fprintf(stderr, "Warning: OSCam compiled without anticascading support.\n"); break; 1058 #endif 1059 1064 1060 } 1065 1061 } … … 2633 2629 } 2634 2630 2635 /*2636 int init_irdeto_guess_tab()2637 {2638 int i, j, skip;2639 int b47;2640 FILE *fp;2641 char token[128], *value, *ptr;2642 char zSid[5];2643 uchar b3;2644 ushort caid, sid;2645 struct s_irdeto_quess *ird_row, *head;2646 2647 memset(cfg->itab, 0, sizeof(cfg->itab));2648 sprintf(token, "%s%s", cs_confdir, cs_ird);2649 if (!(fp=fopen(token, "r")))2650 {2651 cs_log("can't open file \"%s\" (errno=%d) irdeto guessing not loaded",2652 token, errno);2653 return(1);2654 }2655 while (fgets(token, sizeof(token), fp))2656 {2657 if( strlen(token)<20 ) continue;2658 for( i=b3=b47=caid=sid=skip=0, ptr=strtok(token, ":"); (i<4)&&(ptr); ptr=strtok(NULL, ":"), i++ )2659 {2660 trim(ptr);2661 if( *ptr==';' || *ptr=='#' || *ptr=='-' ) {2662 skip=1;2663 break;2664 }2665 switch(i)2666 {2667 case 0: b3 = a2i(ptr, 2); break;2668 case 1: b47 = a2i(ptr, 8); break;2669 case 2: caid = a2i(ptr, 4); break;2670 case 3:2671 for( j=0; j<4; j++ )2672 zSid[j]=ptr[j];2673 zSid[4]=0;2674 sid = a2i(zSid, 4);2675 break;2676 }2677 }2678 if( !skip )2679 {2680 if (!(ird_row=(struct s_irdeto_quess*)malloc(sizeof(struct s_irdeto_quess))))2681 {2682 cs_log("Error allocating memory (errno=%d)", errno);2683 return;2684 }2685 ird_row->b47 = b47;2686 ird_row->caid = caid;2687 ird_row->sid = sid;2688 ird_row->next = 0;2689 2690 head = cfg->itab[b3];2691 if( head ) {2692 while( head->next )2693 head=head->next;2694 head->next=ird_row;2695 }2696 else2697 cfg->itab[b3]=ird_row;2698 2699 //cs_debug("%02X:%08X:%04X:%04X", b3, b47, caid, sid);2700 }2701 }2702 fclose(fp);2703 2704 for( i=0; i<0xff; i++ )2705 {2706 head=cfg->itab[i];2707 while(head)2708 {2709 cs_debug("itab[%02X]: b47=%08X, caid=%04X, sid=%04X",2710 i, head->b47, head->caid, head->sid);2711 head=head->next;2712 }2713 }2714 return(0);2715 }2716 */2717 2718 2631 #ifdef CS_ANTICASC 2719 2632 void init_ac() -
trunk/oscam.c
r1706 r1708 1780 1780 } 1781 1781 1782 /*1783 void guess_irdeto(ECM_REQUEST *er)1784 {1785 uchar b3;1786 int b47;1787 //ushort chid;1788 struct s_irdeto_quess *ptr;1789 1790 b3 = er->ecm[3];1791 ptr = cfg->itab[b3];1792 if( !ptr ) {1793 cs_debug("unknown irdeto byte 3: %02X", b3);1794 return;1795 }1796 b47 = b2i(4, er->ecm+4);1797 //chid = b2i(2, er->ecm+6);1798 //cs_debug("ecm: b47=%08X, ptr->b47=%08X, ptr->caid=%04X", b47, ptr->b47, ptr->caid);1799 while( ptr )1800 {1801 if( b47==ptr->b47 )1802 {1803 if( er->srvid && (er->srvid!=ptr->sid) )1804 {1805 cs_debug("sid mismatched (ecm: %04X, guess: %04X), wrong oscam.ird file?",1806 er->srvid, ptr->sid);1807 return;1808 }1809 er->caid=ptr->caid;1810 er->srvid=ptr->sid;1811 er->chid=(ushort)ptr->b47;1812 // cs_debug("quess_irdeto() found caid=%04X, sid=%04X, chid=%04X",1813 // er->caid, er->srvid, er->chid);1814 return;1815 }1816 ptr=ptr->next;1817 }1818 }1819 */1820 1821 1782 void cs_betatunnel(ECM_REQUEST *er) 1822 1783 { … … 1870 1831 (!er->ecm[5]) && (!er->ecm[6]) && (er->ecm[7]==er->ecm[2]-5)) 1871 1832 last_hope=0xd00; 1872 1873 /*1874 if (!er->caid && er->ecm[2]==0x31 && er->ecm[0x0b]==0x28)1875 guess_irdeto(er);1876 */1877 1833 1878 1834 if (!er->caid) // guess by len .. … … 2411 2367 init_srvid(); 2412 2368 init_len4caid(); 2413 //init_irdeto_guess_tab();2414 2369 cs_init_statistics(cfg->usrfile); 2415 2370
Note:
See TracChangeset
for help on using the changeset viewer.