Changeset 32014


Ignore:
Timestamp:
May 11, 2017, 8:20:45 PM (3 months ago)
Author:
brainslayer
Message:

fix handler

Location:
src/router/httpd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/router/httpd/httpd.c

    r32012 r32014  
    998998                                {
    999999                                        memdebug_enter();
    1000                                         if (!changepassword && handler->auth && strcasecmp(method, "options") && strncmp(file, "bigfile.bin", 11)) {
     1000                                        if (!changepassword && handler->auth && (!handler->handle_options || strcasecmp(method, "options"))) {
    10011001                                                int result = handler->auth(conn_fp,
    10021002                                                                           auth_userid,
  • src/router/httpd/httpd.h

    r32000 r32014  
    7171        int (*auth) (webs_t wp, char *userid, char *passwd, char *realm, char *authorisation, int (*auth_check) (char *userid, char *passwd, char *dirname, char *authorisation));
    7272        unsigned char send_headers;
     73        unsigned char handle_options;
    7374};
    7475
  • src/router/httpd/modules/base.c

    r32013 r32014  
    24212421        // do_ezconfig_asp, do_auth },
    24222422#ifdef HAVE_SKYTRON
    2423         {"setupindex*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
     2423        {"setupindex*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
    24242424#endif
    24252425#ifdef HAVE_POKER
    2426         {"PokerEdit.asp", "text/html", no_cache, NULL, do_ej, NULL, 1},
     2426        {"PokerEdit.asp", "text/html", no_cache, NULL, do_ej, NULL, 1, 0},
    24272427#endif
    24282428#ifdef HAVE_DDLAN
    2429         {"Upgrade*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2430         {"Management*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2431         {"Services*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2432         {"Hotspot*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2433         {"Wireless*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2434         {"WL_*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2435         {"WPA*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2436         {"Log*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2437         {"Alive*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2438         {"Diagnostics*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2439         {"Wol*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2440         {"Factory_Defaults*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2441         {"config*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2442 #endif
    2443 
    2444         {"changepass.asp", "text/html", no_cache, NULL, do_ej, NULL, 1},
     2429        {"Upgrade*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2430        {"Management*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2431        {"Services*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2432        {"Hotspot*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2433        {"Wireless*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2434        {"WL_*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2435        {"WPA*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2436        {"Log*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2437        {"Alive*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2438        {"Diagnostics*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2439        {"Wol*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2440        {"Factory_Defaults*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2441        {"config*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2442#endif
     2443
     2444        {"changepass.asp", "text/html", no_cache, NULL, do_ej, NULL, 1, 0},
    24452445#ifdef HAVE_REGISTER
    2446         {"register.asp", "text/html", no_cache, NULL, do_ej, do_auth_reg, 1},
     2446        {"register.asp", "text/html", no_cache, NULL, do_ej, do_auth_reg, 1, 0},
    24472447#endif
    24482448        {"WL_FilterTable*", "text/html", no_cache, NULL, do_filtertable,
    2449          do_auth, 1},
     2449         do_auth, 1, 0},
    24502450#ifdef HAVE_FREERADIUS
    24512451        {"FreeRadiusCert*", "text/html", no_cache, NULL, do_radiuscert, do_auth,
    2452          1},
     2452         1, 0},
    24532453        {"freeradius-certs/*", "application/octet-stream", no_cache, NULL,
    2454          cert_file_out, do_auth, 0},
     2454         cert_file_out, do_auth, 0, 0},
    24552455#endif
    24562456        // #endif
    24572457        // #ifdef HAVE_MADWIFI
    2458         {"Wireless_WDS*", "text/html", no_cache, NULL, do_wds, do_auth, 1},
     2458        {"Wireless_WDS*", "text/html", no_cache, NULL, do_wds, do_auth, 1, 0},
    24592459        {"WL_ActiveTable*", "text/html", no_cache, NULL, do_activetable,
    2460          do_auth, 1},
     2460         do_auth, 1, 0},
    24612461        {"Wireless_Advanced*", "text/html", no_cache, NULL, do_wireless_adv,
    2462          do_auth, 1},
     2462         do_auth, 1, 0},
    24632463        // #endif
    2464         {"MyPage.asp*", "text/html", no_cache, NULL, do_mypage, do_auth, 1},
    2465         {"**.asp", "text/html", no_cache, NULL, do_ej, do_auth, 1},
    2466         {"**.JPG", "image/jpeg", no_cache, NULL, do_file, NULL, 0},
    2467         // {"style.css", "text/css", NULL, NULL, do_style, NULL},
    2468         {"common.js", "text/javascript", NULL, NULL, do_file, NULL, 0},
     2464        {"MyPage.asp*", "text/html", no_cache, NULL, do_mypage, do_auth, 1, 0},
     2465        {"**.asp", "text/html", no_cache, NULL, do_ej, do_auth, 1, 0},
     2466        {"**.JPG", "image/jpeg", no_cache, NULL, do_file, NULL, 0, 0},
     2467        // {"style.css", "text/css", NULL, NULL, do_style, NULL,0},
     2468        {"common.js", "text/javascript", NULL, NULL, do_file, NULL, 0, 0},
    24692469#ifdef HAVE_LANGUAGE
    24702470        {"lang_pack/language.js", "text/javascript", NULL, NULL, do_language,
    2471          NULL, 0},
     2471         NULL, 0, 0},
    24722472#endif
    24732473#ifdef HAVE_BUFFALO
    2474         {"intatstart/lang_pack/language.js", "text/javascript", NULL, NULL, do_language, NULL, 0},
    2475         {"intatstart/js/intatstart.js", "text/javascript", NULL, NULL, do_ej, NULL, 1},
    2476         {"intatstart/js/mdetect.js", "text/javascript", NULL, NULL, do_ej, NULL, 1},
    2477         {"vsp.html", "text/plain", no_cache, NULL, do_vsp_page, NULL, 1},
    2478 #endif
    2479         {"SysInfo.htm*", "text/plain", no_cache, NULL, do_ej, do_auth, 1},
     2474        {"intatstart/lang_pack/language.js", "text/javascript", NULL, NULL, do_language, NULL, 0, 0},
     2475        {"intatstart/js/intatstart.js", "text/javascript", NULL, NULL, do_ej, NULL, 1, 0},
     2476        {"intatstart/js/mdetect.js", "text/javascript", NULL, NULL, do_ej, NULL, 1, 0},
     2477        {"vsp.html", "text/plain", no_cache, NULL, do_vsp_page, NULL, 1, 0},
     2478#endif
     2479        {"SysInfo.htm*", "text/plain", no_cache, NULL, do_ej, do_auth, 1, 0},
    24802480#ifdef HAVE_SKYTRON
    2481         {"Info.htm*", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2482         {"Info.live.htm", "text/html", no_cache, NULL, do_ej, do_auth, 1},
    2483         {"**.htm", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
    2484         {"**.html", "text/html", no_cache, NULL, do_ej, do_auth2, 1},
     2481        {"Info.htm*", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2482        {"Info.live.htm", "text/html", no_cache, NULL, do_ej, do_auth, 1, 0},
     2483        {"**.htm", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
     2484        {"**.html", "text/html", no_cache, NULL, do_ej, do_auth2, 1, 0},
    24852485#else
    2486         {"Info.htm*", "text/html", no_cache, NULL, do_ej, do_cauth, 1},
    2487         {"Info.live.htm", "text/html", no_cache, NULL, do_ej, do_cauth, 1},
    2488         {"**.htm", "text/html", no_cache, NULL, do_ej, NULL, 1},
    2489         {"**.html", "text/html", no_cache, NULL, do_ej, NULL, 1},
     2486        {"Info.htm*", "text/html", no_cache, NULL, do_ej, do_cauth, 1, 0},
     2487        {"Info.live.htm", "text/html", no_cache, NULL, do_ej, do_cauth, 1, 0},
     2488        {"**.htm", "text/html", no_cache, NULL, do_ej, NULL, 1, 0},
     2489        {"**.html", "text/html", no_cache, NULL, do_ej, NULL, 1, 0},
    24902490
    24912491#endif
    24922492#ifdef HAVE_ROUTERSTYLE
    2493         {"style/blue/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2494         {"style/cyan/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2495         {"style/elegant/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2496         {"style/elegant/fresh.css", "text/css", NULL, NULL, do_ej, NULL, 1},
    2497         {"style/elegant/fresh-dark.css", "text/css", NULL, NULL, do_ej, NULL, 1},
    2498         {"style/green/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2499         {"style/orange/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2500         {"style/red/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2501         {"style/yellow/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1},
    2502         {"style/blue/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
    2503         {"style/cyan/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
    2504         {"style/elegant/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
    2505         {"style/green/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
    2506         {"style/orange/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
    2507         {"style/red/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
    2508         {"style/yellow/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1},
     2493        {"style/blue/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2494        {"style/cyan/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2495        {"style/elegant/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2496        {"style/elegant/fresh.css", "text/css", NULL, NULL, do_ej, NULL, 1, 0},
     2497        {"style/elegant/fresh-dark.css", "text/css", NULL, NULL, do_ej, NULL, 1, 0},
     2498        {"style/green/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2499        {"style/orange/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2500        {"style/red/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2501        {"style/yellow/style.css", "text/css", NULL, NULL, do_stylecss, NULL, 1, 0},
     2502        {"style/blue/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
     2503        {"style/cyan/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
     2504        {"style/elegant/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
     2505        {"style/green/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
     2506        {"style/orange/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
     2507        {"style/red/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
     2508        {"style/yellow/style_ie.css", "text/css", NULL, NULL, do_stylecss_ie, NULL, 1, 0},
    25092509#endif
    25102510#ifdef HAVE_REGISTER
    2511         {"style/logo.png", "image/png", NULL, NULL, do_trial_logo, NULL, 0},
    2512 #endif
    2513         {"**.css", "text/css", NULL, NULL, do_file, NULL, 0},
    2514         {"**.svg", "image/svg+xml", NULL, NULL, do_file, do_auth, 0},
    2515         {"**.gif", "image/gif", NULL, NULL, do_file, NULL, 0},
    2516         {"**.png", "image/png", NULL, NULL, do_file, NULL, 0},
    2517         {"**.jpg", "image/jpeg", NULL, NULL, do_file, NULL, 0},
    2518         {"**.ico", "image/x-icon", NULL, NULL, do_file, NULL, 0},
    2519         {"**.js", "text/javascript", NULL, NULL, do_ej, NULL, 1},
     2511        {"style/logo.png", "image/png", NULL, NULL, do_trial_logo, NULL, 0, 0},
     2512#endif
     2513        {"**.css", "text/css", NULL, NULL, do_file, NULL, 0, 0},
     2514        {"**.svg", "image/svg+xml", NULL, NULL, do_file, do_auth, 0, 0},
     2515        {"**.gif", "image/gif", NULL, NULL, do_file, NULL, 0, 0},
     2516        {"**.png", "image/png", NULL, NULL, do_file, NULL, 0, 0},
     2517        {"**.jpg", "image/jpeg", NULL, NULL, do_file, NULL, 0, 0},
     2518        {"**.ico", "image/x-icon", NULL, NULL, do_file, NULL, 0, 0},
     2519        {"**.js", "text/javascript", NULL, NULL, do_ej, NULL, 1, 0},
    25202520        {"**.swf", "application/x-shockwave-flash", NULL, NULL, do_file, NULL,
    2521          0},
    2522         {"**.pdf", "application/pdf", NULL, NULL, do_file, NULL, 0},
    2523         {"**.mp4", "video/mp4", NULL, NULL, do_file, NULL, 0},
    2524         {"**.mp3", "audio/mpeg3", NULL, NULL, do_file, NULL, 0},
    2525         {"**.mpg", "video/mpeg", NULL, NULL, do_file, NULL, 0},
    2526         {"**.avi", "video/x-msvideo", NULL, NULL, do_file, NULL, 0},
    2527         {"**.wma", "audio/x-ms-wma", NULL, NULL, do_file, NULL, 0},
    2528         {"**.wmv", "video/x-ms-wmv", NULL, NULL, do_file, NULL, 0},
    2529         {"**.flv", "video/x-flv", NULL, NULL, do_file, NULL, 0},
     2521         0, 0},
     2522        {"**.pdf", "application/pdf", NULL, NULL, do_file, NULL, 0, 0},
     2523        {"**.mp4", "video/mp4", NULL, NULL, do_file, NULL, 0, 0},
     2524        {"**.mp3", "audio/mpeg3", NULL, NULL, do_file, NULL, 0, 0},
     2525        {"**.mpg", "video/mpeg", NULL, NULL, do_file, NULL, 0, 0},
     2526        {"**.avi", "video/x-msvideo", NULL, NULL, do_file, NULL, 0, 0},
     2527        {"**.wma", "audio/x-ms-wma", NULL, NULL, do_file, NULL, 0, 0},
     2528        {"**.wmv", "video/x-ms-wmv", NULL, NULL, do_file, NULL, 0, 0},
     2529        {"**.flv", "video/x-flv", NULL, NULL, do_file, NULL, 0, 0},
    25302530
    25312531#ifdef HAVE_PRIVOXY
    2532         {"wpad.dat", "application/x-ns-proxy-autoconfig", no_cache, NULL, do_wpad, NULL, 0},
     2532        {"wpad.dat", "application/x-ns-proxy-autoconfig", no_cache, NULL, do_wpad, NULL, 0, 0},
    25332533#endif
    25342534#ifdef HAVE_ATH9K
    2535         {"spectral_scan.json", "application/json", no_cache, NULL, do_spectral_scan, do_auth, 1},
     2535        {"spectral_scan.json", "application/json", no_cache, NULL, do_spectral_scan, do_auth, 1, 0},
    25362536#endif
    25372537#ifdef HAVE_SKYTRON
    25382538        {"applyuser.cgi*", "text/html", no_cache, do_apply_post, do_apply_cgi,
    2539          do_auth2, 1},
     2539         do_auth2, 1, 0},
    25402540#elif HAVE_DDLAN
    25412541        {"applyuser.cgi*", "text/html", no_cache, do_apply_post, do_apply_cgi,
    2542          NULL, 1},
     2542         NULL, 1, 0},
    25432543#else
    25442544        {"applyuser.cgi*", "text/html", no_cache, do_apply_post, do_apply_cgi,
    2545          do_auth, 1},
    2546 #endif
    2547         {"fetchif.cgi*", "text/html", no_cache, NULL, do_fetchif, do_auth, 1},
     2545         do_auth, 1, 0},
     2546#endif
     2547        {"fetchif.cgi*", "text/html", no_cache, NULL, do_fetchif, do_auth, 1, 0},
    25482548#ifdef HAVE_DDLAN
    25492549        {"apply.cgi*", "text/html", no_cache, do_apply_post, do_apply_cgi, NULL,
    2550          1},
     2550         1, 0},
    25512551        {"upgrade.cgi*", "text/html", no_cache, do_upgrade_post, do_upgrade_cgi,
    2552          NULL, 1},
     2552         NULL, 1, 0},
    25532553#else
    25542554        {"apply.cgi*", "text/html", no_cache, do_apply_post, do_apply_cgi,
    2555          do_auth, 1},
     2555         do_auth, 1, 0},
    25562556        {"upgrade.cgi*", "text/html", no_cache, do_upgrade_post, do_upgrade_cgi,
    2557          do_auth, 1},
     2557         do_auth, 1, 0},
    25582558#endif
    25592559#ifdef HAVE_BUFFALO
    25602560        {"olupgrade.cgi*", "text/html", no_cache, do_olupgrade_post,
    25612561         do_upgrade_cgi,
    2562          do_auth, 1},
     2562         do_auth, 1, 0},
    25632563#endif
    25642564        // {"Gozila.cgi*", "text/html", no_cache, NULL, do_setup_wizard,
    2565         // do_auth}, // for setup wizard
     2565        // do_auth,0}, // for setup wizard
    25662566        /*
    25672567         * { "**.cfg", "application/octet-stream", no_cache, NULL, do_backup,
    2568          * do_auth },
     2568         * do_auth ,0},
    25692569         */
    25702570#ifdef HAVE_DDLAN
    25712571        {"restore.cgi**", "text/html", no_cache, do_upgrade_post,
    25722572         do_upgrade_cgi,
    2573          NULL, 1},
     2573         NULL, 1, 0},
    25742574#else
    25752575        {"restore.cgi**", "text/html", no_cache, do_upgrade_post,
    25762576         do_upgrade_cgi,
    2577          do_auth, 1},
     2577         do_auth, 1, 0},
    25782578#endif
    25792579        {"test.bin**", "application/octet-stream", no_cache, NULL, do_file,
    2580          do_auth, 0},
     2580         do_auth, 0, 0},
    25812581
    25822582        {"bigfile.bin*", "application/octet-stream", no_cache, NULL,
    2583          do_bigfile, do_auth, 0},
     2583         do_bigfile, do_auth, 0, 1},
    25842584
    25852585#ifdef HAVE_DDLAN
    25862586        {"nvrambak.bin*", "application/octet-stream", no_cache, NULL,
    2587          nv_file_out, do_auth2, 0},
     2587         nv_file_out, do_auth2, 0, 0},
    25882588
    25892589        {"nvrambak**.bin*", "application/octet-stream", no_cache, NULL,
    25902590         nv_file_out,
    2591          do_auth2, 0},
     2591         do_auth2, 0, 0},
    25922592        {"nvram.cgi*", "text/html", no_cache, nv_file_in, sr_config_cgi, NULL,
    2593          1},
     2593         1, 0},
    25942594#else
    25952595        {"nvrambak.bin*", "application/octet-stream", no_cache, NULL,
    2596          nv_file_out, do_auth, 0},
     2596         nv_file_out, do_auth, 0, 0},
    25972597        {"nvrambak**.bin*", "application/octet-stream", no_cache, NULL,
    25982598         nv_file_out,
    2599          do_auth, 0},
     2599         do_auth, 0, 0},
    26002600        {"nvram.cgi*", "text/html", no_cache, nv_file_in, sr_config_cgi,
    26012601         do_auth,
    2602          1},
     2602         1, 0},
    26032603#endif
    26042604#if !defined(HAVE_X86) && !defined(HAVE_MAGICBOX)
    26052605        {"backup/cfe.bin", "application/octet-stream", no_cache, NULL,
    26062606         do_cfebackup,
    2607          do_auth, 0},
     2607         do_auth, 0, 0},
    26082608#endif
    26092609#ifdef HAVE_STATUS_SYSLOG
    2610         {"syslog.cgi*", "text/html", no_cache, NULL, do_syslog, do_auth, 1},
    2611 #endif
    2612         {"ttgraph.cgi*", "text/html", no_cache, NULL, do_ttgraph, do_auth, 1},
     2610        {"syslog.cgi*", "text/html", no_cache, NULL, do_syslog, do_auth, 1, 0},
     2611#endif
     2612        {"ttgraph.cgi*", "text/html", no_cache, NULL, do_ttgraph, do_auth, 1, 0},
    26132613        {"traffdata.bak*", "text/html", no_cache, NULL, ttraff_backup,
    2614          do_auth, 0},
     2614         do_auth, 0, 0},
    26152615        {"tadmin.cgi*", "text/html", no_cache, td_file_in, td_config_cgi,
    2616          do_auth, 1},
    2617         {"*", "application/octet-stream", no_cache, NULL, do_file, do_auth, 1},
     2616         do_auth, 1, 0},
     2617        {"*", "application/octet-stream", no_cache, NULL, do_file, do_auth, 1, 0},
    26182618        // for ddm
    2619         {NULL, NULL, NULL, NULL, NULL, NULL, 0}
     2619        {NULL, NULL, NULL, NULL, NULL, NULL, 0, 0}
    26202620};
    26212621
Note: See TracChangeset for help on using the changeset viewer.