fixed some build problems on mac os x 10.1
This commit is contained in:
parent
f9b3428a21
commit
0a8e84add2
@ -36,7 +36,7 @@
|
||||
# include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(HAVE_OPENSSL_SSL_H) && defined(HAVE_SSL)
|
||||
# include <openssl/ssl.h>
|
||||
# if defined(HAVE_OPENSSL_ERR_H)
|
||||
# include <openssl/err.h>
|
||||
@ -44,12 +44,17 @@
|
||||
# if defined(HAVE_OPENSSL_ENGINE_H)
|
||||
# include <openssl/engine.h>
|
||||
# endif
|
||||
# define USE_SSL
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SYS_PRCTL_H)
|
||||
# include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SYS_TIME_H)
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SYS_RESOURCE_H)
|
||||
# include <sys/resource.h>
|
||||
#endif
|
||||
@ -2852,14 +2857,14 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
/*trace2com_init (1, 38400);*/
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
SSL_load_error_strings ();
|
||||
SSL_library_init ();
|
||||
#endif
|
||||
|
||||
ret = qse_runmain (argc, argv, httpd_main);
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
/* ERR_remove_state() should be called for each thread if the application is thread */
|
||||
ERR_remove_state (0);
|
||||
#if defined(HAVE_ENGINE_CLEANUP)
|
||||
|
@ -59,6 +59,10 @@
|
||||
# include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SYS_TIME_H)
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SYS_RESOURCE_H)
|
||||
# include <sys/resource.h>
|
||||
#endif
|
||||
|
2
qse/configure
vendored
2
qse/configure
vendored
@ -18198,7 +18198,7 @@ fi
|
||||
|
||||
if test "x$enable_ssl_is" = "xyes"
|
||||
then
|
||||
for ac_header in openssl/err.h openssl/engine.h
|
||||
for ac_header in openssl/ssl.h openssl/err.h openssl/engine.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
||||
|
@ -263,7 +263,7 @@ AC_ARG_ENABLE([ssl], [AS_HELP_STRING([--enable-ssl],[build the library in the ss
|
||||
enable_ssl_is=$enableval,enable_ssl_is=yes)
|
||||
if test "x$enable_ssl_is" = "xyes"
|
||||
then
|
||||
AC_CHECK_HEADERS([openssl/err.h openssl/engine.h])
|
||||
AC_CHECK_HEADERS([openssl/ssl.h openssl/err.h openssl/engine.h])
|
||||
|
||||
dnl check for an SSL library
|
||||
AC_CHECK_FUNCS([SSL_library_init])
|
||||
|
@ -156,6 +156,13 @@ available for the native makefile for Watcom C/C++ for OS/2 only.
|
||||
|
||||
wmake TCPV40HDRS=on
|
||||
|
||||
### C++ ###
|
||||
|
||||
C++ support is enabled by default as long as a C++ compiler is detected.
|
||||
If you want to disable it for any reasons, you can specify `--disable-cxx`.
|
||||
|
||||
./configure --disable-cxx
|
||||
|
||||
### SCO UNIX System V/386 Release 3.2 ###
|
||||
|
||||
- If /usr/include/netinet and /usr/include/net are missing,
|
||||
@ -173,13 +180,48 @@ available for the native makefile for Watcom C/C++ for OS/2 only.
|
||||
for dificiency of the bundled make utility.
|
||||
- Do not include -g in CFLAGS.
|
||||
|
||||
./configure GREP=/bin/grep RANLIB=/bin/true CFLAGS="" RAN
|
||||
./configure GREP=/bin/grep RANLIB=/bin/true CFLAGS=""
|
||||
|
||||
- Remove $(LIBLTDL) from LIBADD_LIB_COMMON in lib/awk/Makefile
|
||||
- Remove $(LIBLTDL) from libqsehttp_la_LIBADD in lib/http/Makefile
|
||||
|
||||
make
|
||||
|
||||
### Mac OS X/Darwin ###
|
||||
|
||||
No special consideration is required if you work with moderately recent
|
||||
version of developer tools. The GCC compiler by Apple before early 2000's
|
||||
has an option called `-no-cpp-precomp`.
|
||||
|
||||
\code
|
||||
% cc -E /tmp/a.c
|
||||
#1 "/tmp/a.c"
|
||||
|
||||
|
||||
int main ( )
|
||||
{
|
||||
Lxxxx ;
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
% cc -E -no-cpp-precomp /tmp/a.c
|
||||
#1 "/tmp/a.c"
|
||||
|
||||
|
||||
int main ( )
|
||||
{
|
||||
Lxxxx ;
|
||||
return 0 ;
|
||||
}
|
||||
\endcode
|
||||
|
||||
Without the `-no-cpp-precomp` option, some preprocessing produces erroneous
|
||||
code. If your compiler behaves this way, you should specify `-no-cpp-precomp`
|
||||
to CFLAGS or CXXFLAGS when running configure. For instance,
|
||||
|
||||
$ ./configure --prefix=/usr/local --disable-cxx CFLAGS="-Wall -g -no-cpp-precomp"
|
||||
|
||||
|
||||
### More options ###
|
||||
|
||||
More options are available for the configure script. Execute this for more
|
||||
|
@ -416,6 +416,9 @@
|
||||
/* Define to 1 if you have the <openssl/err.h> header file. */
|
||||
#undef HAVE_OPENSSL_ERR_H
|
||||
|
||||
/* Define to 1 if you have the <openssl/ssl.h> header file. */
|
||||
#undef HAVE_OPENSSL_SSL_H
|
||||
|
||||
/* Define to 1 if you have the `posix_spawn' function. */
|
||||
#undef HAVE_POSIX_SPAWN
|
||||
|
||||
|
@ -862,7 +862,9 @@ int qse_fio_init (
|
||||
if (flags & QSE_FIO_CREATE) desired_access |= O_CREAT;
|
||||
if (flags & QSE_FIO_TRUNCATE) desired_access |= O_TRUNC;
|
||||
if (flags & QSE_FIO_EXCLUSIVE) desired_access |= O_EXCL;
|
||||
#if defined(O_SYNC)
|
||||
if (flags & QSE_FIO_SYNC) desired_access |= O_SYNC;
|
||||
#endif
|
||||
|
||||
#if defined(O_NOFOLLOW)
|
||||
if (flags & QSE_FIO_NOFOLLOW) desired_access |= O_NOFOLLOW;
|
||||
|
@ -421,7 +421,12 @@
|
||||
#elif defined(HAVE_DIR_D_FD)
|
||||
# define QSE_DIRFD(dir) ((dir)->d_fd)
|
||||
#else
|
||||
# error OUCH!!! NO DIRFD AVAILABLE
|
||||
# if defined(dirfd)
|
||||
/* mac os x 10.1 defines dirfd as a macro */
|
||||
# define QSE_DIRFD(dir) dirfd(dir)
|
||||
# else
|
||||
# error OUCH!!! NO DIRFD AVAILABLE
|
||||
# endif
|
||||
#endif
|
||||
#define QSE_DIR DIR
|
||||
|
||||
|
@ -130,7 +130,7 @@
|
||||
# define USE_LTDL
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(HAVE_OPENSSL_SSL_H) && defined(HAVE_SSL)
|
||||
# include <openssl/ssl.h>
|
||||
# if defined(HAVE_OPENSSL_ERR_H)
|
||||
# include <openssl/err.h>
|
||||
@ -138,6 +138,7 @@
|
||||
# if defined(HAVE_OPENSSL_ENGINE_H)
|
||||
# include <openssl/engine.h>
|
||||
# endif
|
||||
# define USE_SSL
|
||||
#endif
|
||||
|
||||
#if defined(__linux) && !defined(SO_REUSEPORT)
|
||||
@ -147,7 +148,7 @@
|
||||
#define HANDLE_TO_FIO(x) ((qse_fio_t*)(x))
|
||||
#define FIO_TO_HANDLE(x) ((qse_httpd_hnd_t)(x))
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
#define HANDLE_TO_SSL(x) ((SSL*)(x))
|
||||
#define SSL_TO_HANDLE(x) ((qse_httpd_hnd_t)(x))
|
||||
#endif
|
||||
@ -161,7 +162,7 @@ struct server_xtn_t
|
||||
qse_httpd_serverstd_makersrc_t makersrc;
|
||||
qse_httpd_serverstd_freersrc_t freersrc;
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
SSL_CTX* ssl_ctx;
|
||||
#endif
|
||||
|
||||
@ -565,7 +566,7 @@ static QSE_INLINE qse_ssize_t __send_file_ssl (
|
||||
qse_httpd_t* httpd, void* xout, qse_httpd_hnd_t in_fd,
|
||||
qse_foff_t* offset, qse_size_t count)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
qse_mchar_t buf[MAX_SEND_SIZE];
|
||||
qse_ssize_t ret;
|
||||
qse_foff_t foff;
|
||||
@ -615,7 +616,7 @@ static QSE_INLINE qse_ssize_t __send_file_ssl (
|
||||
typedef struct httpd_xtn_t httpd_xtn_t;
|
||||
struct httpd_xtn_t
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
SSL_CTX* ssl_peer_ctx;
|
||||
#endif
|
||||
qse_httpd_ecb_t ecb;
|
||||
@ -623,7 +624,7 @@ struct httpd_xtn_t
|
||||
qse_httpd_ursstd_t urs;
|
||||
};
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
static int init_server_ssl (qse_httpd_t* httpd, qse_httpd_server_t* server)
|
||||
{
|
||||
SSL_CTX* ssl_ctx = QSE_NULL;
|
||||
@ -729,7 +730,7 @@ static void cleanup_standard_httpd (qse_httpd_t* httpd)
|
||||
httpd_xtn_t* xtn;
|
||||
xtn = (httpd_xtn_t*)qse_httpd_getxtn (httpd);
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
if (xtn->ssl_peer_ctx) fini_xtn_peer_ssl (xtn);
|
||||
#endif
|
||||
|
||||
@ -766,7 +767,7 @@ qse_httpd_t* qse_httpd_openstdwithmmgr (qse_mmgr_t* mmgr, qse_size_t xtnsize)
|
||||
lt_dlinited = 1;
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
if (init_xtn_peer_ssl (httpd) <= -1) goto oops;
|
||||
#endif
|
||||
|
||||
@ -778,7 +779,7 @@ qse_httpd_t* qse_httpd_openstdwithmmgr (qse_mmgr_t* mmgr, qse_size_t xtnsize)
|
||||
return httpd;
|
||||
|
||||
oops:
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
if (xtn && xtn->ssl_peer_ctx) fini_xtn_peer_ssl (xtn);
|
||||
#endif
|
||||
#if defined(USE_LTDL)
|
||||
@ -1159,7 +1160,7 @@ static qse_ssize_t client_recv (
|
||||
{
|
||||
if (client->status & QSE_HTTPD_CLIENT_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret = SSL_read (HANDLE_TO_SSL(client->handle2), buf, bufsize);
|
||||
if (ret <= -1)
|
||||
{
|
||||
@ -1196,7 +1197,7 @@ static qse_ssize_t client_send (
|
||||
{
|
||||
if (client->status & QSE_HTTPD_CLIENT_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret = SSL_write (HANDLE_TO_SSL(client->handle2), buf, bufsize);
|
||||
if (ret <= -1)
|
||||
{
|
||||
@ -1238,7 +1239,7 @@ static int client_accepted (qse_httpd_t* httpd, qse_httpd_client_t* client)
|
||||
{
|
||||
if (client->status & QSE_HTTPD_CLIENT_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret;
|
||||
SSL* ssl;
|
||||
server_xtn_t* server_xtn;
|
||||
@ -1316,7 +1317,7 @@ static void client_closed (qse_httpd_t* httpd, qse_httpd_client_t* client)
|
||||
{
|
||||
if (client->status & QSE_HTTPD_CLIENT_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
if ((SSL*)client->handle2)
|
||||
{
|
||||
SSL_shutdown ((SSL*)client->handle2); /* is this needed? */
|
||||
@ -1338,7 +1339,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
int connected = 1;
|
||||
qse_sck_hnd_t fd = QSE_INVALID_SCKHND;
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
SSL* ssl = QSE_NULL;
|
||||
#endif
|
||||
|
||||
@ -1396,7 +1397,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
|
||||
if (peer->flags & QSE_HTTPD_PEER_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
QSE_ASSERT (xtn->ssl_peer_ctx != QSE_NULL);
|
||||
|
||||
ssl = SSL_new (xtn->ssl_peer_ctx);
|
||||
@ -1453,7 +1454,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
|
||||
if ((peer->flags & QSE_HTTPD_PEER_SECURE) && connected)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret = SSL_connect (ssl);
|
||||
if (ret <= 0)
|
||||
{
|
||||
@ -1482,7 +1483,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
peer->handle = fd;
|
||||
if (peer->flags & QSE_HTTPD_PEER_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
peer->handle2 = SSL_TO_HANDLE(ssl);
|
||||
#endif
|
||||
}
|
||||
@ -1490,7 +1491,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
|
||||
oops:
|
||||
qse_httpd_seterrnum (httpd, SKERR_TO_ERRNUM());
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
if (ssl) SSL_free (ssl);
|
||||
#endif
|
||||
if (qse_isvalidsckhnd(fd)) qse_closesckhnd (fd);
|
||||
@ -1503,7 +1504,7 @@ static void peer_close (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
{
|
||||
if (peer->flags & QSE_HTTPD_PEER_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
SSL_free (HANDLE_TO_SSL(peer->handle2));
|
||||
#endif
|
||||
}
|
||||
@ -1581,7 +1582,7 @@ static int is_peer_socket_connected (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
|
||||
static int is_peer_connected_securely (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret = SSL_connect (HANDLE_TO_SSL(peer->handle2));
|
||||
if (ret <= 0)
|
||||
{
|
||||
@ -1632,7 +1633,7 @@ static qse_ssize_t peer_recv (
|
||||
{
|
||||
if (peer->flags & QSE_HTTPD_PEER_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret = SSL_read (HANDLE_TO_SSL(peer->handle2), buf, bufsize);
|
||||
if (ret <= -1)
|
||||
{
|
||||
@ -1668,7 +1669,7 @@ static qse_ssize_t peer_send (
|
||||
{
|
||||
if (peer->flags & QSE_HTTPD_PEER_SECURE)
|
||||
{
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
int ret = SSL_write (HANDLE_TO_SSL(peer->handle2), buf, bufsize);
|
||||
if (ret <= -1)
|
||||
{
|
||||
@ -3368,7 +3369,7 @@ static void detach_server (qse_httpd_t* httpd, qse_httpd_server_t* server)
|
||||
if (server_xtn->detach) server_xtn->detach (httpd, server);
|
||||
if (server_xtn->auth.ptr) QSE_MMGR_FREE (httpd->mmgr, server_xtn->auth.ptr);
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
#if defined(USE_SSL)
|
||||
if (server_xtn->ssl_ctx) fini_server_ssl (server_xtn);
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user