Ignore:
Timestamp:
2010-04-15T21:53:29+02:00 (7 years ago)
Author:
jow
Message:

[backfire] merge r20883

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/package/uhttpd/src/uhttpd.c

    r20672 r20884  
    417417        int new_fd, cur_fd, max_fd = 0; 
    418418 
     419#ifdef HAVE_TLS 
    419420        int tls = 0; 
    420421        int keys = 0; 
     422#endif 
     423 
    421424        int bound = 0; 
    422425        int nofork = 0; 
     
    427430        char *port = NULL; 
    428431 
    429         /* library handles */ 
    430         void *tls_lib; 
    431         void *lua_lib; 
     432#if defined(HAVE_TLS) || defined(HAVE_LUA) 
     433        /* library handle */ 
     434        void *lib; 
     435#endif 
    432436 
    433437        /* clear the master and temp sets */ 
     
    467471#ifdef HAVE_TLS 
    468472        /* load TLS plugin */ 
    469         if( ! (tls_lib = dlopen("uhttpd_tls.so", RTLD_LAZY | RTLD_GLOBAL)) ) 
     473        if( ! (lib = dlopen("uhttpd_tls.so", RTLD_LAZY | RTLD_GLOBAL)) ) 
    470474        { 
    471475                fprintf(stderr, 
     
    477481        { 
    478482                /* resolve functions */ 
    479                 if( !(conf.tls_init   = dlsym(tls_lib, "uh_tls_ctx_init"))      || 
    480                     !(conf.tls_cert   = dlsym(tls_lib, "uh_tls_ctx_cert"))      || 
    481                     !(conf.tls_key    = dlsym(tls_lib, "uh_tls_ctx_key"))       || 
    482                     !(conf.tls_free   = dlsym(tls_lib, "uh_tls_ctx_free"))      || 
    483                         !(conf.tls_accept = dlsym(tls_lib, "uh_tls_client_accept")) || 
    484                         !(conf.tls_close  = dlsym(tls_lib, "uh_tls_client_close"))  || 
    485                         !(conf.tls_recv   = dlsym(tls_lib, "uh_tls_client_recv"))   || 
    486                         !(conf.tls_send   = dlsym(tls_lib, "uh_tls_client_send")) 
     483                if( !(conf.tls_init   = dlsym(lib, "uh_tls_ctx_init"))      || 
     484                    !(conf.tls_cert   = dlsym(lib, "uh_tls_ctx_cert"))      || 
     485                    !(conf.tls_key    = dlsym(lib, "uh_tls_ctx_key"))       || 
     486                    !(conf.tls_free   = dlsym(lib, "uh_tls_ctx_free"))      || 
     487                        !(conf.tls_accept = dlsym(lib, "uh_tls_client_accept")) || 
     488                        !(conf.tls_close  = dlsym(lib, "uh_tls_client_close"))  || 
     489                        !(conf.tls_recv   = dlsym(lib, "uh_tls_client_recv"))   || 
     490                        !(conf.tls_send   = dlsym(lib, "uh_tls_client_send")) 
    487491                ) { 
    488492                        fprintf(stderr, 
     
    502506#endif 
    503507 
    504         while( (opt = getopt(argc, argv, "fC:K:p:s:h:c:l:L:d:r:m:x:t:")) > 0 ) 
     508        while( (opt = getopt(argc, argv, "fSC:K:p:s:h:c:l:L:d:r:m:x:t:T:")) > 0 ) 
    505509        { 
    506510                switch(opt) 
     
    593597                                break; 
    594598 
     599                        /* don't follow symlinks */ 
     600                        case 'S': 
     601                                conf.no_symlinks = 1; 
     602                                break; 
     603 
    595604#ifdef HAVE_CGI 
    596605                        /* cgi prefix */ 
     
    618627                                break; 
    619628#endif 
     629 
     630                        /* network timeout */ 
     631                        case 'T': 
     632                                conf.network_timeout = atoi(optarg); 
     633                                break; 
    620634 
    621635                        /* no fork */ 
     
    664678#endif 
    665679                                        "       -h directory    Specify the document root, default is '.'\n" 
     680                                        "       -S              Do not follow symbolic links outside of the docroot\n" 
    666681#ifdef HAVE_LUA 
    667682                                        "       -l string       URL prefix for Lua handler, default is '/lua'\n" 
     
    674689                                        "       -t seconds      CGI and Lua script timeout in seconds, default is 60\n" 
    675690#endif 
     691                                        "       -T seconds      Network timeout in seconds, default is 30\n" 
    676692                                        "       -d string       URL decode given string\n" 
    677693                                        "       -r string       Specify basic auth realm\n" 
     
    713729        uh_config_parse(conf.file); 
    714730 
     731        /* default network timeout */ 
     732        if( conf.network_timeout <= 0 ) 
     733                conf.network_timeout = 30; 
     734 
    715735#if defined(HAVE_CGI) || defined(HAVE_LUA) 
    716736        /* default script timeout */ 
     
    727747#ifdef HAVE_LUA 
    728748        /* load Lua plugin */ 
    729         if( ! (lua_lib = dlopen("uhttpd_lua.so", RTLD_LAZY | RTLD_GLOBAL)) ) 
     749        if( ! (lib = dlopen("uhttpd_lua.so", RTLD_LAZY | RTLD_GLOBAL)) ) 
    730750        { 
    731751                fprintf(stderr, 
     
    737757        { 
    738758                /* resolve functions */ 
    739                 if( !(conf.lua_init    = dlsym(lua_lib, "uh_lua_init"))    || 
    740                     !(conf.lua_close   = dlsym(lua_lib, "uh_lua_close"))   || 
    741                     !(conf.lua_request = dlsym(lua_lib, "uh_lua_request")) 
     759                if( !(conf.lua_init    = dlsym(lib, "uh_lua_init"))    || 
     760                    !(conf.lua_close   = dlsym(lib, "uh_lua_close"))   || 
     761                    !(conf.lua_request = dlsym(lib, "uh_lua_request")) 
    742762                ) { 
    743763                        fprintf(stderr, 
Note: See TracChangeset for help on using the changeset viewer.