Changeset 370
- Timestamp:
- 08/28/06 19:59:41 (2 years ago)
- Files:
-
- cherokee/trunk/cherokee/Makefile.am (modified) (1 diff)
- cherokee/trunk/cherokee/handler.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler.h (modified) (1 diff)
- cherokee/trunk/cherokee/handler_cgi.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_error.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_fastcgi.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_fcgi.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_redir.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_remote_control.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_scgi.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_server_info.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_webcam.c (modified) (1 diff)
- cherokee/trunk/cherokee/md5crypt.c (modified) (1 diff)
- cherokee/trunk/cherokee/socket.c (modified) (3 diffs)
- cherokee/trunk/cherokee/util.c (modified) (3 diffs)
- cherokee/trunk/cherokee/util.h (modified) (2 diffs)
- cherokee/trunk/configure.in (modified) (1 diff)
- cherokee/trunk/qa/run-tests.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cherokee/trunk/cherokee/Makefile.am
r330 r370 813 813 ext_source.c \ 814 814 config_node.h \ 815 config_node.c 815 config_node.c \ 816 balancer.h \ 817 balancer.c 816 818 817 819 libcherokee_config_la_SOURCES = \ cherokee/trunk/cherokee/handler.c
r283 r370 53 53 54 54 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 */ 61 57 62 63 /* Virtual method hidding layer64 */65 58 ret_t 66 59 cherokee_handler_free (cherokee_handler_t *hdl) cherokee/trunk/cherokee/handler.h
r343 r370 68 68 typedef ret_t (* handler_func_new_t) (void **handler, void *cnt, cherokee_handler_props_t *properties); 69 69 typedef ret_t (* handler_func_init_t) (void *handler); 70 typedef ret_t (* handler_func_free_t) (void *handler);71 70 typedef ret_t (* handler_func_step_t) (void *handler, cherokee_buffer_t *buffer); 72 71 typedef ret_t (* handler_func_add_headers_t) (void *handler, cherokee_buffer_t *buffer); cherokee/trunk/cherokee/handler_cgi.c
r342 r370 121 121 */ 122 122 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; 124 124 125 125 /* Virtual methods: implemented by handler_cgi_base cherokee/trunk/cherokee/handler_error.c
r358 r370 44 44 45 45 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; 47 47 HANDLER(n)->step = (handler_func_step_t) cherokee_handler_error_step; 48 48 HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_error_add_headers; cherokee/trunk/cherokee/handler_fastcgi.c
r333 r370 243 243 */ 244 244 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; 246 246 247 247 /* Virtual methods: implemented by handler_cgi_base cherokee/trunk/cherokee/handler_fcgi.c
r333 r370 256 256 */ 257 257 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; 259 259 260 260 /* Virtual methods: implemented by handler_cgi_base cherokee/trunk/cherokee/handler_redir.c
r333 r370 212 212 213 213 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; 215 215 HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_redir_add_headers; 216 216 cherokee/trunk/cherokee/handler_remote_control.c
r336 r370 47 47 48 48 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; 50 50 HANDLER(n)->step = (handler_func_step_t) cherokee_handler_remote_control_step; 51 51 HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_remote_control_add_headers; cherokee/trunk/cherokee/handler_scgi.c
r333 r370 158 158 */ 159 159 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; 161 161 162 162 /* Virtual methods: implemented by handler_cgi_base cherokee/trunk/cherokee/handler_server_info.c
r333 r370 406 406 407 407 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; 409 409 HANDLER(n)->step = (handler_func_step_t) cherokee_handler_server_info_step; 410 410 HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_server_info_add_headers; cherokee/trunk/cherokee/handler_webcam.c
r336 r370 39 39 40 40 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; 42 42 HANDLER(n)->step = (handler_func_step_t) cherokee_handler_webcam_step; 43 43 HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_webcam_add_headers; cherokee/trunk/cherokee/md5crypt.c
r122 r370 165 165 166 166 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); 168 168 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); 170 170 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); 172 172 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); 174 174 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); 176 176 l = final[11] ; 177 strlcat(passwd, to64(l, 2), MD5CRYPT_PASSWD_LEN);177 cherokee_strlcat(passwd, to64(l, 2), MD5CRYPT_PASSWD_LEN); 178 178 179 179 /* Don't leave anything around in vm they could use. cherokee/trunk/cherokee/socket.c
r354 r370 949 949 cherokee_socket_sendfile (cherokee_socket_t *socket, int fd, size_t size, off_t *offset, ssize_t *sent) 950 950 { 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 957 992 int re; 958 993 struct sf_hdtr hdr; … … 993 1028 *offset = *offset + *sent; 994 1029 995 # elif HPUX_SENDFILE_API1030 #elif HPUX_SENDFILE_API 996 1031 997 1032 /* HP-UX: … … 1022 1057 *offset = *offset + *sent; 1023 1058 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 1060 1060 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; 1067 1065 } 1068 1066 cherokee/trunk/cherokee/util.c
r354 r370 272 272 273 273 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 any278 * purpose with or without fee is hereby granted, provided that the above279 * copyright notice and this permission notice appear in all copies.280 *281 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES282 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF283 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR284 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES285 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN286 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF287 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.288 */289 290 274 /* Appends src to string dst of size siz (unlike strncat, siz is the 291 275 * full size of dst, not space left). At most siz-1 characters … … 294 278 * If retval >= siz, truncation occurred. 295 279 */ 280 size_t 281 cherokee_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 296 319 297 320 #ifndef HAVE_STRLCAT … … 299 322 strlcat (char *dst, const char *src, size_t siz) 300 323 { 301 register char *d = dst;324 register char *d = dst; 302 325 register const char *s = src; 303 326 register size_t n = siz; cherokee/trunk/cherokee/util.h
r333 r370 68 68 /* String management functions 69 69 */ 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); 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 size_t cherokee_strlcat (char *dst, const char *src, size_t siz); 75 int cherokee_estimate_va_length (char *format, va_list ap); 75 76 76 77 /* Time management functions … … 83 84 /* Thread safe functions 84 85 */ 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);86 int cherokee_readdir (DIR *dirstream, struct dirent *entry, struct dirent **result); 87 ret_t cherokee_gethostbyname (const char *hostname, void *addr); 88 ret_t cherokee_syslog (int priority, cherokee_buffer_t *buf); 88 89 89 90 /* Misc cherokee/trunk/configure.in
r353 r370 458 458 AC_CHECK_FUNCS(syslog vsyslog strsep strcasestr memmove strerror bcopy strlcat) 459 459 460 dnl 461 dnl Check for Glib (usually Linux) 462 dnl 463 AC_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 ]) 460 472 461 473 dnl cherokee/trunk/qa/run-tests.py
r318 r370 182 182 else: 183 183 print "PID: %d - %s" % (pid, CHEROKEE_PATH) 184 time.sleep( 3)184 time.sleep(7) 185 185 186 186 its_clean = False