Changeset 370

Show
Ignore:
Timestamp:
08/28/06 19:59:41 (2 years ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/cherokee/Makefile.am

    r330 r370  
    813813ext_source.c \ 
    814814config_node.h \ 
    815 config_node.c 
     815config_node.c \ 
     816balancer.h \ 
     817balancer.c 
    816818 
    817819libcherokee_config_la_SOURCES = \ 
  • cherokee/trunk/cherokee/handler.c

    r283 r370  
    5353 
    5454 
    55 ret_t  
    56 cherokee_handler_free_base (cherokee_handler_t *hdl) 
    57 
    58         free (hdl); 
    59         return ret_ok; 
    60 
     55/* Virtual method hidding layer 
     56 */ 
    6157 
    62  
    63 /*      Virtual method hidding layer 
    64  */ 
    6558ret_t 
    6659cherokee_handler_free (cherokee_handler_t *hdl) 
  • cherokee/trunk/cherokee/handler.h

    r343 r370  
    6868typedef ret_t (* handler_func_new_t)         (void **handler, void *cnt, cherokee_handler_props_t *properties); 
    6969typedef ret_t (* handler_func_init_t)        (void  *handler); 
    70 typedef ret_t (* handler_func_free_t)        (void  *handler); 
    7170typedef ret_t (* handler_func_step_t)        (void  *handler, cherokee_buffer_t *buffer); 
    7271typedef ret_t (* handler_func_add_headers_t) (void  *handler, cherokee_buffer_t *buffer); 
  • cherokee/trunk/cherokee/handler_cgi.c

    r342 r370  
    121121         */ 
    122122        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_cgi_init; 
    123         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_cgi_free; 
     123        MODULE(n)->free         = (module_func_free_t) cherokee_handler_cgi_free; 
    124124         
    125125        /* Virtual methods: implemented by handler_cgi_base 
  • cherokee/trunk/cherokee/handler_error.c

    r358 r370  
    4444 
    4545        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_error_init; 
    46         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_error_free; 
     46        MODULE(n)->free         = (module_func_free_t) cherokee_handler_error_free; 
    4747        HANDLER(n)->step        = (handler_func_step_t) cherokee_handler_error_step; 
    4848        HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_error_add_headers; 
  • cherokee/trunk/cherokee/handler_fastcgi.c

    r333 r370  
    243243         */ 
    244244        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_fastcgi_init; 
    245         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_fastcgi_free; 
     245        MODULE(n)->free         = (module_func_free_t) cherokee_handler_fastcgi_free; 
    246246 
    247247        /* Virtual methods: implemented by handler_cgi_base 
  • cherokee/trunk/cherokee/handler_fcgi.c

    r333 r370  
    256256         */ 
    257257        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_fcgi_init; 
    258         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_fcgi_free; 
     258        MODULE(n)->free         = (module_func_free_t) cherokee_handler_fcgi_free; 
    259259 
    260260        /* Virtual methods: implemented by handler_cgi_base 
  • cherokee/trunk/cherokee/handler_redir.c

    r333 r370  
    212212         
    213213        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_redir_init; 
    214         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_redir_free; 
     214        MODULE(n)->free         = (module_func_free_t) cherokee_handler_redir_free; 
    215215        HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_redir_add_headers; 
    216216         
  • cherokee/trunk/cherokee/handler_remote_control.c

    r336 r370  
    4747 
    4848        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_remote_control_init; 
    49         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_remote_control_free; 
     49        MODULE(n)->free         = (module_func_free_t) cherokee_handler_remote_control_free; 
    5050        HANDLER(n)->step        = (handler_func_step_t) cherokee_handler_remote_control_step; 
    5151        HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_remote_control_add_headers; 
  • cherokee/trunk/cherokee/handler_scgi.c

    r333 r370  
    158158         */ 
    159159        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_scgi_init; 
    160         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_scgi_free; 
     160        MODULE(n)->free         = (module_func_free_t) cherokee_handler_scgi_free; 
    161161 
    162162        /* Virtual methods: implemented by handler_cgi_base 
  • cherokee/trunk/cherokee/handler_server_info.c

    r333 r370  
    406406            
    407407        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_server_info_init; 
    408         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_server_info_free; 
     408        MODULE(n)->free         = (module_func_free_t) cherokee_handler_server_info_free; 
    409409        HANDLER(n)->step        = (handler_func_step_t) cherokee_handler_server_info_step; 
    410410        HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_server_info_add_headers; 
  • cherokee/trunk/cherokee/handler_webcam.c

    r336 r370  
    3939 
    4040        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_webcam_init; 
    41         MODULE(n)->free         = (handler_func_free_t) cherokee_handler_webcam_free; 
     41        MODULE(n)->free         = (module_func_free_t) cherokee_handler_webcam_free; 
    4242        HANDLER(n)->step        = (handler_func_step_t) cherokee_handler_webcam_step; 
    4343        HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_webcam_add_headers; 
  • cherokee/trunk/cherokee/md5crypt.c

    r122 r370  
    165165 
    166166        l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; 
    167         strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
     167        cherokee_strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
    168168        l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; 
    169         strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
     169        cherokee_strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
    170170        l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; 
    171         strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
     171        cherokee_strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
    172172        l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; 
    173         strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
     173        cherokee_strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
    174174        l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; 
    175         strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
     175        cherokee_strlcat(passwd, to64(l, 4), MD5CRYPT_PASSWD_LEN); 
    176176        l =                    final[11]                ; 
    177         strlcat(passwd, to64(l, 2), MD5CRYPT_PASSWD_LEN); 
     177        cherokee_strlcat(passwd, to64(l, 2), MD5CRYPT_PASSWD_LEN); 
    178178 
    179179        /* Don't leave anything around in vm they could use.  
  • cherokee/trunk/cherokee/socket.c

    r354 r370  
    949949cherokee_socket_sendfile (cherokee_socket_t *socket, int fd, size_t size, off_t *offset, ssize_t *sent) 
    950950{ 
    951 #ifndef HAVE_SENDFILE 
    952         SHOULDNT_HAPPEN; 
    953         return ret_error; 
    954 #else 
    955  
    956 # ifdef FREEBSD_SENDFILE_API 
     951#if defined(LINUX_SENDFILE_API) || defined(HAVE_SENDFILE64) 
     952 
     953        /* Linux sendfile 
     954         * 
     955         * ssize_t  
     956         * sendfile (int out_fd, int in_fd, off_t *offset, size_t *count); 
     957         * 
     958         * ssize_t  
     959         * sendfile64 (int out_fd, int in_fd, off64_t *offset, size_t *count); 
     960         */ 
     961        do { 
     962                *sent = sendfile (SOCKET_FD(socket),            /* int     out_fd */ 
     963                                  fd,                           /* int     in_fd  */ 
     964                                  offset,                       /* off_t  *offset */ 
     965                                  size);                        /* size_t  count  */ 
     966        } while ((*sent == -1) && (errno == EINTR)); 
     967                 
     968        if (*sent < 0) { 
     969                switch (errno) { 
     970                case ENOSYS: return ret_no_sys; 
     971                case EAGAIN: return ret_eagain; 
     972                } 
     973 
     974                return ret_error; 
     975        } 
     976         
     977 
     978#elif HAVE_SENDFILE_BROKEN 
     979 
     980        /* Some Linux 2.4 kernels doesn't support sendfile in a LFS 
     981         * environment. 
     982         */ 
     983        return ret_no_sys; 
     984 
     985#elif SOLARIS_SENDFILE_API 
     986 
     987        /* TODO!! 
     988         */ 
     989        return ret_no_sys; 
     990 
     991#elif FREEBSD_SENDFILE_API 
    957992        int            re; 
    958993        struct sf_hdtr hdr; 
     
    9931028        *offset = *offset + *sent; 
    9941029 
    995 # elif HPUX_SENDFILE_API 
     1030#elif HPUX_SENDFILE_API 
    9961031         
    9971032        /* HP-UX: 
     
    10221057        *offset = *offset + *sent; 
    10231058 
    1024 # elif SOLARIS_SENDFILE_API 
    1025  
    1026         /* TODO!! 
    1027          */ 
    1028         return ret_no_sys; 
    1029  
    1030 # elif HAVE_SENDFILE_BROKEN 
    1031  
    1032         /* Some Linux 2.4 kernels doesn't support sendfile in a LFS environment 
    1033          */ 
    1034         return ret_no_sys; 
    1035  
    1036 # elif LINUX_SENDFILE_API 
    1037  
    1038         /* Linux sendfile 
    1039          * 
    1040          * ssize_t  
    1041          * sendfile (int out_fd, int in_fd, off_t *offset, size_t *count); 
    1042          */ 
    1043         do { 
    1044                 *sent = sendfile (SOCKET_FD(socket),            /* int     out_fd */ 
    1045                                   fd,                           /* int     in_fd  */ 
    1046                                   offset,                       /* off_t  *offset */ 
    1047                                   size);                        /* size_t  count  */ 
    1048         } while ((*sent == -1) && (errno == EINTR)); 
    1049                  
    1050         if (*sent < 0) { 
    1051                 switch (errno) { 
    1052                 case ENOSYS: return ret_no_sys; 
    1053                 case EAGAIN: return ret_eagain; 
    1054                 } 
    1055  
    1056                 return ret_error; 
    1057         } 
    1058  
    1059 # else 
     1059#else 
    10601060        SHOULDNT_HAPPEN; 
    1061         return ret_no_sys; 
    1062 # endif 
    1063  
    1064         return ret_ok; 
    1065  
    1066 #endif /* HAVE_SENDFILE */ 
     1061        return ret_error; 
     1062#endif 
     1063 
     1064        return ret_ok; 
    10671065} 
    10681066 
  • cherokee/trunk/cherokee/util.c

    r354 r370  
    272272 
    273273 
    274 /* strlcat():  
    275  * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> 
    276  * 
    277  * Permission to use, copy, modify, and distribute this software for any 
    278  * purpose with or without fee is hereby granted, provided that the above 
    279  * copyright notice and this permission notice appear in all copies. 
    280  * 
    281  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
    282  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
    283  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
    284  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
    285  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
    286  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
    287  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
    288  */ 
    289  
    290274/* Appends src to string dst of size siz (unlike strncat, siz is the 
    291275 * full size of dst, not space left).  At most siz-1 characters 
     
    294278 * If retval >= siz, truncation occurred. 
    295279 */ 
     280size_t 
     281cherokee_strlcat (char *dst, const char *src, size_t siz) 
     282{ 
     283#ifdef HAVE_STRLCAT 
     284        return strlcat (dst, src, siz); 
     285#else 
     286        /* The following few lines has been copy and pasted from Todd 
     287         * C. Miller <Todd.Miller@courtesan.com> code. BSD licensed. 
     288         */ 
     289        register char *d = dst; 
     290        register const char *s = src; 
     291        register size_t n = siz; 
     292        size_t dlen; 
     293 
     294        /* Find the end of dst and adjust bytes left but do not go 
     295         * past end. 
     296         */ 
     297        while (n-- != 0 && *d != '\0') 
     298                d++; 
     299        dlen = d - dst; 
     300        n = siz - dlen; 
     301 
     302        if (n == 0) 
     303                return(dlen + strlen(s)); 
     304        while (*s != '\0') { 
     305                if (n != 1) { 
     306                        *d++ = *s; 
     307                        n--; 
     308                } 
     309                s++; 
     310        } 
     311        *d = '\0'; 
     312 
     313         /* Count does not include NUL  
     314          */ 
     315        return(dlen + (s - src));       
     316#endif 
     317} 
     318 
    296319 
    297320#ifndef HAVE_STRLCAT 
     
    299322strlcat (char *dst, const char *src, size_t siz) 
    300323{ 
    301            register char *d = dst; 
     324        register char *d = dst; 
    302325        register const char *s = src; 
    303326        register size_t n = siz; 
  • cherokee/trunk/cherokee/util.h

    r333 r370  
    6868/* String management functions 
    6969 */ 
    70 int   cherokee_hexit              (char c); 
    71 int   cherokee_isbigendian        (void); 
    72 char *cherokee_min_str            (char *s1, char *s2); 
    73 char *cherokee_strfsize           (unsigned long long size, char *buf); 
    74 int   cherokee_estimate_va_length (char *format, va_list ap); 
     70int     cherokee_hexit              (char c); 
     71int     cherokee_isbigendian        (void); 
     72char   *cherokee_min_str            (char *s1, char *s2); 
     73char   *cherokee_strfsize           (unsigned long long size, char *buf); 
     74size_t  cherokee_strlcat            (char *dst, const char *src, size_t siz); 
     75int     cherokee_estimate_va_length (char *format, va_list ap); 
    7576 
    7677/* Time management functions 
     
    8384/* Thread safe functions 
    8485 */ 
    85 int        cherokee_readdir       (DIR *dirstream, struct dirent *entry, struct dirent **result); 
    86 ret_t      cherokee_gethostbyname (const char *hostname, void *addr); 
    87 ret_t      cherokee_syslog        (int priority, cherokee_buffer_t *buf); 
     86int   cherokee_readdir       (DIR *dirstream, struct dirent *entry, struct dirent **result); 
     87ret_t cherokee_gethostbyname (const char *hostname, void *addr); 
     88ret_t cherokee_syslog        (int priority, cherokee_buffer_t *buf); 
    8889 
    8990/* Misc 
  • cherokee/trunk/configure.in

    r353 r370  
    458458AC_CHECK_FUNCS(syslog vsyslog strsep strcasestr memmove strerror bcopy strlcat) 
    459459 
     460dnl 
     461dnl Check for Glib (usually Linux) 
     462dnl 
     463AC_PREPROC_IFELSE([ 
     464#include <features.h> 
     465#ifndef __GLIBC__ 
     466    chokeme 
     467#endif 
     468], [ 
     469    AC_DEFINE([HAVE_GLIBC], [1], [Define to 1 if you have glibc.]) 
     470    AC_DEFINE([_GNU_SOURCE], [1], [Define to 1 if you have glibc.]) 
     471]) 
    460472 
    461473dnl 
  • cherokee/trunk/qa/run-tests.py

    r318 r370  
    182182    else: 
    183183        print "PID: %d - %s" % (pid, CHEROKEE_PATH) 
    184         time.sleep(3
     184        time.sleep(7
    185185 
    186186its_clean = False