socket.*: Win32 doesn't define 'struct sockaddr_un' or handle AF_UNIX
sockets.
unix4win32.h: LOG_LPR had a typo.
handler_redir.c: ENTRIES wasn't defined for CHEROKEE_EMBEDDED.
win32_misc.c: Use the global TRACE() facility.
Attached in diffs-3.txt.
--gv
diff -u3 -Hb SVN-Latest\cherokee\handler_redir.c cherokee\handler_redir.c
--- SVN-Latest\cherokee\handler_redir.c Sun Dec 18 18:23:56 2005
+++ cherokee\handler_redir.c Sun Dec 18 18:04:52 2005
@@ -41,9 +41,10 @@
};
-#ifndef CHEROKEE_EMBEDDED
#define ENTRIES "handler,redir"
+#ifndef CHEROKEE_EMBEDDED
+
struct cre_list {
pcre* re;
char* subs;
diff -u3 -Hb SVN-Latest\cherokee\socket.c cherokee\socket.c
--- SVN-Latest\cherokee\socket.c Sun Dec 18 18:23:59 2005
+++ cherokee\socket.c Sun Dec 18 18:13:09 2005
@@ -1057,10 +1057,15 @@
cherokee_socket_gethostbyname (cherokee_socket_t *socket, cherokee_buffer_t
*hostname)
{
if (SOCKET_AF(socket) == AF_UNIX) {
+#if defined(_WIN32)
+ SHOULDNT_HAPPEN;
+ return ret_no_sys;
+#else
SOCKET_ADDR_UNIX(socket).sun_family = AF_UNIX;
memset ((char*) SOCKET_SUN_PATH (socket), 0, sizeof
(SOCKET_ADDR_UNIX(socket)));
strncpy (SOCKET_SUN_PATH (socket), hostname->buf,
hostname->len);
return ret_ok;
+#endif
}
return cherokee_gethostbyname (hostname->buf, &SOCKET_SIN_ADDR(socket));
@@ -1072,8 +1077,14 @@
{
int r;
- if (SOCKET_AF(socket) == AF_UNIX)
+ if (SOCKET_AF(socket) == AF_UNIX) {
+#if defined(_WIN32)
+ SHOULDNT_HAPPEN;
+ return ret_no_sys;
+#else
r = connect (SOCKET_FD(socket), (struct sockaddr *)
&SOCKET_ADDR_UNIX(socket), sizeof(SOCKET_ADDR_UNIX(socket)));
+#endif
+ }
else
r = connect (SOCKET_FD(socket), (struct sockaddr *)
&SOCKET_ADDR(socket), sizeof(cherokee_sockaddr_t));
diff -u3 -Hb SVN-Latest\cherokee\socket.h cherokee\socket.h
--- SVN-Latest\cherokee\socket.h Sun Dec 18 18:23:59 2005
+++ cherokee\socket.h Sun Dec 18 18:14:09 2005
@@ -101,7 +101,9 @@
typedef union {
struct sockaddr sa;
struct sockaddr_in sa_in;
+#if !defined(_WIN32)
struct sockaddr_un sa_un;
+#endif
#ifdef HAVE_SOCKADDR_IN6
struct sockaddr_in6 sa_in6;
#endif
@@ -120,10 +122,6 @@
cherokee_socket_status_t status;
cherokee_socket_type_t is_tls;
-#ifdef _WIN32
- HANDLE hSelectEvent;
-#endif
-
#ifdef HAVE_TLS
cherokee_boolean_t initialized;
cherokee_virtual_server_t *vserver_ref;
@@ -142,14 +140,18 @@
#define SOCKET_FD(s) (SOCKET(s)->socket)
#define SOCKET_AF(s) (SOCKET(s)->client_addr.sa.sa_family)
#define SOCKET_ADDR(s) (SOCKET(s)->client_addr)
+#ifndef _WIN32
#define SOCKET_ADDR_UNIX(s) (SOCKET(s)->client_addr.sa_un)
+#endif
#define SOCKET_ADDR_IPv4(s) ((struct sockaddr_in *)&SOCKET(s)->client_addr)
#define SOCKET_ADDR_IPv6(s) ((struct sockaddr_in6 *)&SOCKET(s)->client_addr)
#define SOCKET_STATUS(s) (SOCKET(s)->status)
#define SOCKET_SIN_PORT(s) (SOCKET(s)->client_addr.sa_in.sin_port)
#define SOCKET_SIN_ADDR(s) (SOCKET(s)->client_addr.sa_in.sin_addr)
+#ifndef _WIN32
#define SOCKET_SUN_PATH(s) (SOCKET(s)->client_addr.sa_un.sun_path)
+#endif
#define SOCKET_ADDRESS_IPv4(s) (SOCKET_ADDR_IPv4(s)->sin_addr.s_addr)
#define SOCKET_ADDRESS_IPv6(s) (SOCKET_ADDR_IPv6(s)->sin6_addr.s6_addr)
diff -u3 -Hb SVN-Latest\cherokee\unix4win32.h cherokee\unix4win32.h
--- SVN-Latest\cherokee\unix4win32.h Wed Nov 16 15:30:51 2005
+++ cherokee\unix4win32.h Fri Oct 14 21:20:43 2005
@@ -75,7 +75,7 @@
#define LOG_MAIL EVENTLOG_INFORMATION_TYPE
#define LOG_DAEMON EVENTLOG_INFORMATION_TYPE
#define LOG_AUTH EVENTLOG_INFORMATION_TYPE
-ยด#define LOG_LPR EVENTLOG_INFORMATION_TYPE
+#define LOG_LPR EVENTLOG_INFORMATION_TYPE
#define LOG_NEWS EVENTLOG_INFORMATION_TYPE
#define LOG_UUCP EVENTLOG_INFORMATION_TYPE
#define LOG_CRON EVENTLOG_INFORMATION_TYPE
diff -u3 -Hb SVN-Latest\cherokee\win32_misc.c cherokee\win32_misc.c
--- SVN-Latest\cherokee\win32_misc.c Tue Aug 30 17:43:57 2005
+++ cherokee\win32_misc.c Wed Nov 16 17:40:03 2005
@@ -29,6 +29,7 @@
#include "common-internal.h"
#include "server.h"
#include "ncpus.h"
+#include "util.h"
#include "unix4win32.h"
#ifdef HAVE_OPENSSL
@@ -51,7 +52,6 @@
# define _ctor
#endif
-static int win_trace = 0;
static SOCKET first_sock_num;
static WSADATA wsa_data;
@@ -60,13 +60,8 @@
*/
static _ctor void win_init (void)
{
- const char *env = getenv ("CHEROKEE_TRACE");
-
- if (env)
- {
- win_trace = atoi (env);
LoadLibrary ("exchndl.dll"); /* Dr MingW exception handler */
- }
+
if (WSAStartup (MAKEWORD(1,1), &wsa_data) != 0)
{
PRINT_ERROR ("WSAStartup failed; %s\n", win_strerror(GetLastError()));
@@ -485,13 +480,14 @@
UnmapViewOfFile (file_ptr);
}
}
- file_ptr = (map ? map->file_ptr : NULL);
+ file_ptr = (map ? (void*)map->file_ptr : NULL);
if (!file_ptr)
CloseHandle (os_map);
- if (win_trace > 1)
- PRINT_DEBUG ("win_mmap(): fd %d, os_map %08lX, file_ptr %08lX, size %u, prot
%d\n",
+#if 0
+ TRACE ("mmap", "fd %d, os_map %08lX, file_ptr %08lX, size %u, prot %d\n",
fd, (DWORD)os_map, (DWORD)file_ptr, size, prot);
+#endif
return (file_ptr);
}
@@ -527,6 +523,9 @@
if (rc)
last_error = 0;
else last_error = GetLastError();
+
+ TRACE ("dlfcn", "%s, %s\n", dll_name, rc ? "ok" : "fail");
+
(void) flags;
return (rc);
}
@@ -543,12 +542,16 @@
if (rc)
last_error = 0;
else last_error = GetLastError();
+
+ TRACE ("dlfcn", "%s, %s\n", func_name, rc ? "ok" : "fail");
return (rc);
}
int win_dlclose (const void *dll_handle)
{
HINSTANCE hnd = (HINSTANCE)dll_handle;
+
+ TRACE ("dlfcn", "%s\n", hnd ? "ok" : "fail");
last_func = "win_dlclose";
if (!hnd)
_______________________________________________
Cherokee mailing list
Cherokee@lists.alobbs.com
http://www.alobbs.com/cgi-bin/mailman/listinfo/cherokee