Changeset 1169


Ignore:
Timestamp:
01/10/10 19:08:57 (12 years ago)
Author:
alno
Message:

WebIf:

  • functions for restoring ctab and ttab moved to config.c
Location:
branches/monitor-improvement
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/monitor-improvement/globals.h

    r1140 r1169  
    797797int write_userdb();
    798798int write_config();
     799char *mk_t_caidtab(CAIDTAB *ctab);
     800char *mk_t_tuntab(TUNTAB *ttab);
    799801
    800802// oscam-reader
  • branches/monitor-improvement/oscam-config.c

    r1154 r1169  
    3131  TAG_CS357X,   // camd 3.5x UDP
    3232  TAG_CS378X,    // camd 3.5x TCP
    33 #ifdef CS_WITH_GBOX   
     33#ifdef CS_WITH_GBOX
    3434  TAG_GBOX, // gbox
    3535#endif
     
    4141} cs_proto_type_t;
    4242
    43 static char *cctag[]={"global", "monitor", "camd33", "camd35", 
     43static char *cctag[]={"global", "monitor", "camd33", "camd35",
    4444                      "newcamd", "radegast", "serial", "cs357x", "cs378x",
    45 #ifdef CS_WITH_GBOX 
     45#ifdef CS_WITH_GBOX
    4646              "gbox",
    4747#endif
     
    11841184        fputc((int)'\n', f);
    11851185
    1186         fprintf_conf(f, CONFVARWIDTH, "caid", "");
    1187         CAIDTAB *ctab = &account->ctab;
    1188         i = 0; dot = "";
    1189         if (ctab->caid[i]){
    1190             while(ctab->caid[i]) {
    1191                 fprintf(f, "%s%04X", dot, ctab->caid[i]);
    1192                     if(ctab->mask[i])   fprintf(f, "&%04X", ctab->mask[i]);
    1193                 if(ctab->cmap[i])   fprintf(f, ":%04X", ctab->cmap[i]);
    1194                 i++; dot = ",";
    1195             }
    1196         }
    1197         fputc((int)'\n', f);
    1198 
    1199         fprintf_conf(f, CONFVARWIDTH, "betatunnel", "");
    1200         TUNTAB *ttab = &account->ttab;
    1201         i = 0; dot = "";
    1202         if (ttab->bt_caidfrom[i]) {
    1203             while(ttab->bt_caidfrom[i]) {
    1204                 fprintf(f, "%s%04X", dot, ttab->bt_caidfrom[i]);
    1205                 if(ttab->bt_caidto[i]) fprintf(f, ".%04X", ttab->bt_srvid[i]);
    1206                 if(ttab->bt_srvid[i])   fprintf(f, ":%04X", ttab->bt_caidto[i]);
    1207                 i++; dot = ",";
    1208             }
    1209         }
    1210         fputc((int)'\n', f);
     1186        //CAID
     1187        char *value = mk_t_caidtab(&account->ctab);
     1188        fprintf_conf(f, CONFVARWIDTH, "caid", "%s\n", value);
     1189        free(value);
     1190
     1191        value = mk_t_tuntab(&account->ttab);
     1192        fprintf_conf(f, CONFVARWIDTH, "betatunnel", "%s\n", value);
     1193        free(value);
    12111194
    12121195        fprintf_conf(f, CONFVARWIDTH, "ident", "");
     
    19321915}
    19331916#endif
     1917
     1918
     1919char *mk_t_caidtab(CAIDTAB *ctab){
     1920    int i = 0, needed = 1, pos = 0;
     1921    while(ctab->caid[i]){
     1922        if(ctab->mask[i]) needed += 10;
     1923        else needed += 5;
     1924        if(ctab->cmap[i]) needed += 5;
     1925        ++i;
     1926    }
     1927    char *value = (char *) malloc(needed * sizeof(char));
     1928    i = 0;
     1929    while(ctab->caid[i]) {
     1930        if(i == 0) {
     1931            sprintf(value + pos, "%04X", ctab->caid[i]);
     1932            pos += 4;
     1933        } else {
     1934            sprintf(value + pos, ",%04X", ctab->caid[i]);
     1935            pos += 5;
     1936        }
     1937        if(ctab->mask[i]){
     1938            sprintf(value + pos, "&%04X", ctab->mask[i]);
     1939            pos += 5;
     1940        }
     1941        if(ctab->cmap[i]){
     1942            sprintf(value + pos, ":%04X", ctab->cmap[i]);
     1943            pos += 5;
     1944        }
     1945        ++i;
     1946    }
     1947    value[pos] = '\0';
     1948    return value;
     1949}
     1950
     1951char *mk_t_tuntab(TUNTAB *ttab){
     1952    int i = 0, needed = 1, pos = 0;
     1953    while(ttab->bt_caidfrom[i]){
     1954        if(ttab->bt_srvid[i]) needed += 10;
     1955        else needed += 5;
     1956        if(ttab->bt_caidto[i]) needed += 5;
     1957        ++i;
     1958    }
     1959    char *value = (char *) malloc(needed * sizeof(char));
     1960    i = 0;
     1961    while(ttab->bt_caidfrom[i]) {
     1962        if(i == 0) {
     1963            sprintf(value + pos, "%04X", ttab->bt_caidfrom[i]);
     1964            pos += 4;
     1965        } else {
     1966            sprintf(value + pos, ",%04X", ttab->bt_caidfrom[i]);
     1967            pos += 5;
     1968        }
     1969        if(ttab->bt_srvid[i]){
     1970            sprintf(value + pos, ".%04X", ttab->bt_srvid[i]);
     1971            pos += 5;
     1972        }
     1973        if(ttab->bt_caidto[i]){
     1974            sprintf(value + pos, ":%04X", ttab->bt_caidto[i]);
     1975            pos += 5;
     1976        }
     1977        ++i;
     1978    }
     1979    value[pos] = '\0';
     1980    return value;
     1981}
  • branches/monitor-improvement/oscam-http.c

    r1166 r1169  
    543543
    544544    // CAID
    545     i = 0;
    546     CAIDTAB *ctab = &reader[ridx].ctab;
    547         while(ctab->caid[i]) {
    548         if (i == 0) tpl_printf(vars, 1, "CAIDS", "%04X", ctab->caid[i]);
    549         else tpl_printf(vars, 1, "CAIDS", ",%04X", ctab->caid[i]);;
    550         if(ctab->mask[i])   tpl_printf(vars, 1, "CAIDS", "&%04X", ctab->mask[i]);
    551             i++;
    552         }
     545    char *value = mk_t_caidtab(&reader[ridx].ctab);
     546    tpl_addVar(vars, 0, "CAIDS", value);
     547    free(value);
    553548
    554549    /*IDENT*/
     
    813808        i++;
    814809    }
    815     /* CAID */
    816     dot="";
    817     i = 0;
    818     CAIDTAB *ctab = &account->ctab;
    819         while(ctab->caid[i]) {
    820         tpl_printf(vars, 1, "CAIDS", "%s%04X", dot, ctab->caid[i]);
    821         if(ctab->mask[i])   tpl_printf(vars, 1, "CAIDS", "&%04X", ctab->mask[i]);
    822         if(ctab->cmap[i])   tpl_printf(vars, 1, "CAIDS", ":%04X", ctab->cmap[i]);
    823         dot=",";
    824         ++i;
    825     }
     810
     811    // CAID
     812    char *value = mk_t_caidtab(&account->ctab);
     813    tpl_addVar(vars, 0, "CAIDS", value);
     814    free(value);
    826815
    827816    /*IDENT*/
     
    838827    }
    839828
    840     /*Betatunnel*/
    841     dot="";
    842     i = 0;
    843     TUNTAB *ttab = &account->ttab;
    844         while(ttab->bt_caidfrom[i]) {
    845         tpl_printf(vars, 1, "BETATUNNELS", "%s%04X", dot, ttab->bt_caidfrom[i]);
    846         if(ttab->bt_srvid[i])   tpl_printf(vars, 1, "BETATUNNELS", ".%04X", ttab->bt_srvid[i]);
    847         if(ttab->bt_caidto[i]) tpl_printf(vars, 1, "BETATUNNELS", ":%04X", ttab->bt_caidto[i]);
    848         dot=",";
    849         ++i;
    850     }
     829    //Betatunnel
     830    value = mk_t_tuntab(&account->ttab);
     831    tpl_addVar(vars, 0, "BETATUNNELS", value);
     832    free(value);
    851833
    852834#ifdef CS_ANTICASC
Note: See TracChangeset for help on using the changeset viewer.