sb118: merged in DEV300_m71

This commit is contained in:
sb 2010-02-08 09:18:14 +01:00
commit 0ddead3f82
4 changed files with 182 additions and 99 deletions

View file

@ -1,4 +1,4 @@
lcairo cairo : zlib soltools NULL
lcairo cairo : ZLIB:zlib soltools NULL
lcairo cairo usr1 - all lcairo_mkout NULL
lcairo cairo\pixman nmake - all lcairo_pixman NULL
lcairo cairo\cairo nmake - all lcairo_cairo lcairo_pixman NULL

View file

@ -68,6 +68,12 @@ TARGET=so_graphite
.INCLUDE : settings.mk
.IF "$(SYSTEM_GRAPHITE)" == "YES"
all:
@echo "An already available installation of silgraphite should exist on your system."
@echo "Therefore the version provided here does not need to be built in addition."
.ENDIF
# --- Files --------------------------------------------------------
.IF "$(ENABLE_GRAPHITE)"=="TRUE"
TARFILE_NAME=silgraphite-2.3.1

View file

@ -62,8 +62,8 @@ PATCH_FILES=neon.patch
.ENDIF
ADDITIONAL_FILES=src$/makefile.mk src$/config.h src$/ne_ntlm.h src$/ne_ntlm.c
BUILD_DIR=src
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
OUT2INC= \
@ -71,6 +71,7 @@ OUT2INC= \
$(BUILD_DIR)$/ne_alloc.h \
$(BUILD_DIR)$/ne_auth.h \
$(BUILD_DIR)$/ne_basic.h \
$(BUILD_DIR)$/ne_compress.h \
$(BUILD_DIR)$/ne_defs.h \
$(BUILD_DIR)$/ne_locks.h \
$(BUILD_DIR)$/ne_props.h \

View file

@ -1,6 +1,6 @@
--- misc/neon-0.28.2/src/config.h 2009-09-29 10:28:26.750000000 +0200
+++ misc/build/neon-0.28.2/src/config.h 2009-09-29 10:22:51.890625000 +0200
@@ -1 +1,484 @@
--- misc/neon-0.28.2/src/config.h 2010-01-08 11:51:21.000000000 +0100
+++ misc/build/neon-0.28.2/src/config.h 2010-01-08 11:53:42.000000000 +0100
@@ -1 +1,488 @@
-dummy
+
+/* Define to specific EGD socket path */
@ -132,14 +132,14 @@
+#endif
+
+/* Define if OpenSSL support is enabled */
+/* #undef HAVE_OPENSSL */
+#define HAVE_OPENSSL
+#define HAVE_OPENSSL 1
+
+/* Define to 1 if you have the <openssl/opensslv.h> header file. */
+/* #undef HAVE_OPENSSL_OPENSSLV_H */
+#define HAVE_OPENSSL_OPENSSLV_H 1
+
+/* Define to 1 if you have the <openssl/ssl.h> header file. */
+/* #undef HAVE_OPENSSL_SSL_H */
+#define HAVE_OPENSSL_SSL_H 1
+
+/* Define to 1 if you have the `pipe' function. */
+#define HAVE_PIPE 1
+
@ -340,13 +340,13 @@
+/* #undef NE_HAVE_SOCKS */
+
+/* Defined if SSL is supported */
+/* #undef NE_HAVE_SSL */
+#define NE_HAVE_SSL
+
+/* Defined if TS_SSL is supported */
+/* #undef NE_HAVE_TS_SSL */
+
+/* Defined if ZLIB is supported */
+/* #undef NE_HAVE_ZLIB */
+#define NE_HAVE_ZLIB 1
+
+/* Define to be filename of an SSL CA root bundle */
+/* #undef NE_SSL_CA_BUNDLE */
@ -455,6 +455,10 @@
+/* Define to `unsigned' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* MS IIS does not send Lock-Token response header after creation of a */
+/* new lock. This violates RFC, but... if we want to talk with this */
+/* beast we need a workaround */
+#define IIS_LOCK_BUG_WORKAROUND 1
+
+/* Enable leak-tracking versions of ne_*alloc when NEON_MEMLEAK is enabled */
+#ifdef NEON_MEMLEAK
@ -486,9 +490,9 @@
+#else
+#define HAVE_NTLM 1
+#endif
--- misc/neon-0.28.2/src/makefile.mk 2009-09-29 10:28:26.687500000 +0200
+++ misc/build/neon-0.28.2/src/makefile.mk 2009-09-17 13:04:18.031250000 +0200
@@ -1 +1,92 @@
--- misc/neon-0.28.2/src/makefile.mk 2010-01-08 11:51:21.000000000 +0100
+++ misc/build/neon-0.28.2/src/makefile.mk 2010-01-08 11:53:27.000000000 +0100
@@ -1 +1,100 @@
-dummy
+PRJ=..$/..$/..$/..$/..
+
@ -497,7 +501,7 @@
+LIBTARGET=NO
+USE_DEFFILE=TRUE
+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
+ UWINAPILIB=
+UWINAPILIB=
+
+# --- Settings -----------------------------------------------------
+
@ -508,7 +512,7 @@
+CDEFS+=-DHAVE_CONFIG_H
+
+.IF "$(SYSTEM_LIBXML)" == "YES"
+CFLAGS+= -DSYSTEM_LIBXML $(LIBXML_CFLAGS)
+CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS)
+.ELSE
+LIBXMLINCDIR=external$/libxml
+CFLAGS+= -I$(SOLARINCDIR)$/$(LIBXMLINCDIR)
@ -518,6 +522,13 @@
+CFLAGS+= $(OPENSSL_CFLAGS)
+.ENDIF
+
+.IF "$(SYSTEM_ZLIB)" == "YES"
+CFLAGS+=-DSYSTEM_ZLIB
+.ELSE
+ZLIBINCDIR=external$/zlib
+CFLAGS+=-I$(SOLARINCDIR)$/$(ZLIBINCDIR)
+.ENDIF
+
+SLOFILES= \
+ $(SLO)$/ne_207.obj \
+ $(SLO)$/ne_acl.obj \
@ -555,7 +566,8 @@
+SHL1VERSIONMAP=exports.map
+SHL1IMPLIB=i$(TARGET)
+
+SHL1STDLIBS+= $(LIBXML2LIB)
+SHL1STDLIBS+= $(LIBXML2LIB) \
+ $(ZLIB3RDLIB)
+
+.IF "$(GUI)"=="WNT"
+ SHL1STDLIBS+= $(WSOCK32LIB)
@ -583,7 +595,7 @@
+DEF1NAME=$(SHL1TARGET)
+.INCLUDE : target.mk
--- misc/neon-0.28.2/src/ne_auth.c 2008-02-29 17:30:12.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_auth.c 2009-09-29 10:22:51.906250000 +0200
+++ misc/build/neon-0.28.2/src/ne_auth.c 2010-01-08 11:30:06.000000000 +0100
@@ -77,6 +77,10 @@
#include "ne_sspi.h"
#endif
@ -627,7 +639,7 @@
chall->handler->attempt++, sess->username, pwbuf) == 0) {
return 0;
} else {
@@ -598,9 +611,10 @@
@@ -598,7 +611,8 @@
int ntlm = ne_strcasecmp(parms->protocol->name, "NTLM") == 0;
int status;
char *response = NULL;
@ -635,11 +647,8 @@
+ char password[NE_ABUFSIZ];
+
NE_DEBUG(NE_DBG_HTTPAUTH, "auth: SSPI challenge.\n");
-
+
if (!sess->sspi_context) {
ne_uri uri = {0};
if (!sess->sspi_context) {
@@ -614,8 +628,17 @@
return status;
}
@ -685,7 +694,7 @@
+
+ NE_DEBUG(NE_DBG_HTTPAUTH, "auth: NTLM challenge.\n");
+
+ if (!parms->opaque) {
+ if (!parms->opaque && (!sess->ntlm_context || (attempt > 1))) {
+ char password[NE_ABUFSIZ];
+
+ if (get_credentials(sess, errmsg, attempt, parms, password)) {
@ -747,7 +756,7 @@
return ret;
}
--- misc/neon-0.28.2/src/ne_auth.h 2007-12-05 17:39:58.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_auth.h 2009-09-29 10:22:51.921875000 +0200
+++ misc/build/neon-0.28.2/src/ne_auth.h 2010-01-08 11:30:07.000000000 +0100
@@ -47,8 +47,8 @@
* Hint: if you just wish to attempt authentication just once (even if
* the user gets the username/password wrong), have the callback
@ -760,7 +769,7 @@
/* Set callbacks to provide credentials for server and proxy
* authentication, using the default set of authentication protocols.
--- misc/neon-0.28.2/src/ne_defs.h 2006-10-24 21:40:09.000000000 +0200
+++ misc/build/neon-0.28.2/src/ne_defs.h 2009-09-29 10:22:51.921875000 +0200
+++ misc/build/neon-0.28.2/src/ne_defs.h 2010-01-08 11:30:07.000000000 +0100
@@ -41,7 +41,7 @@
#endif
@ -770,8 +779,76 @@
#define ssize_t int
#endif
--- misc/neon-0.28.2/src/ne_locks.c 2007-02-05 11:09:27.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_locks.c 2010-01-08 11:30:06.000000000 +0100
@@ -579,6 +579,23 @@
const char *token = ne_get_response_header(ctx->req, "Lock-Token");
/* at the root element; retrieve the Lock-Token header,
* and bail if it wasn't given. */
+#ifdef IIS_LOCK_BUG_WORKAROUND
+ /* MS IIS violates RFC 2518/4918. It does not send a Lock-Token response
+ header upon successful creation of a new lock. As a workaround, we
+ will try to pick the lock token from the response body (although
+ this is not 100% safe in case of multiple activelocks). */
+ if (token == NULL)
+ NE_DEBUG(NE_DBG_LOCKS,
+ "Ignoring missing LOCK response Lock-Token header\n");
+
+ if (token != NULL) {
+ if (token[0] == '<') token++;
+ ctx->token = ne_strdup(token);
+ ne_shave(ctx->token, ">");
+ NE_DEBUG(NE_DBG_LOCKS, "lk_startelm: Finding token %s\n",
+ ctx->token);
+ }
+#else
if (token == NULL) {
ne_xml_set_error(ctx->parser,
_("LOCK response missing Lock-Token header"));
@@ -590,12 +607,28 @@
ne_shave(ctx->token, ">");
NE_DEBUG(NE_DBG_LOCKS, "lk_startelm: Finding token %s\n",
ctx->token);
+#endif
}
/* TODO: only accept 'prop' as root for LOCK response */
if (!can_accept(parent, id))
return NE_XML_DECLINE;
+#ifdef IIS_LOCK_BUG_WORKAROUND
+ if (id == ELM_activelock && ctx->found) {
+ /* Found another activelock... */
+ const char *token = ne_get_response_header(ctx->req, "Lock-Token");
+ if (token == NULL) {
+ /* Response contains more than one activelock and no Lock-Token
+ * response header. We are doomed. No safe workaround for IIS
+ * lock bug possible. */
+ ne_xml_set_error(ctx->parser,
+ _("LOCK response missing Lock-Token header and more than one activelock"));
+ return NE_XML_ABORT;
+ }
+ }
+#endif
+
if (id == ELM_activelock && !ctx->found) {
/* a new activelock */
ne_lock_free(&ctx->active);
@@ -621,7 +654,12 @@
return -1;
if (state == ELM_activelock) {
+#ifdef IIS_LOCK_BUG_WORKAROUND
+ if (ctx->active.token) {
+ ctx->token = ne_strdup(ctx->active.token);
+#else
if (ctx->active.token && strcmp(ctx->active.token, ctx->token) == 0) {
+#endif
ctx->found = 1;
}
}
--- misc/neon-0.28.2/src/ne_locks.h 2006-01-02 12:43:19.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_locks.h 2009-09-29 10:22:51.921875000 +0200
+++ misc/build/neon-0.28.2/src/ne_locks.h 2010-01-08 11:30:07.000000000 +0100
@@ -22,6 +22,10 @@
#ifndef NE_LOCKS_H
#define NE_LOCKS_H
@ -783,9 +860,9 @@
#include "ne_request.h" /* for ne_session + ne_request */
#include "ne_uri.h" /* for ne_uri */
--- misc/neon-0.28.2/src/ne_ntlm.c 2009-09-29 10:28:26.875000000 +0200
+++ misc/build/neon-0.28.2/src/ne_ntlm.c 2009-09-29 10:22:51.937500000 +0200
@@ -1 +1,700 @@
--- misc/neon-0.28.2/src/ne_ntlm.c 2010-01-08 11:51:21.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_ntlm.c 2010-01-08 11:53:52.000000000 +0100
@@ -1 +1,703 @@
-dummy
+/*
+ Handling of NTLM Authentication
@ -1458,6 +1535,9 @@
+ if (context == NULL) {
+ return -1;
+ } else {
+ if (!responseToken && (context->state == NTLMSTATE_TYPE3))
+ context->state = NTLMSTATE_NONE;
+
+ if (context->state <= NTLMSTATE_TYPE3) {
+ ntlm ntlmstatus = ne_input_ntlm(context, responseToken);
+
@ -1487,8 +1567,8 @@
+
+#endif /* HAVE_OPENSSL */
+#endif /* HAVE_NTLM */
--- misc/neon-0.28.2/src/ne_ntlm.h 2009-09-29 10:28:26.812500000 +0200
+++ misc/build/neon-0.28.2/src/ne_ntlm.h 2009-09-29 10:22:51.937500000 +0200
--- misc/neon-0.28.2/src/ne_ntlm.h 2010-01-08 11:51:21.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_ntlm.h 2010-01-08 11:53:52.000000000 +0100
@@ -1 +1,44 @@
-dummy
+/*
@ -1536,7 +1616,7 @@
+
+#endif /* NE_NTLM_H */
--- misc/neon-0.28.2/src/ne_socket.c 2008-02-28 14:19:19.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_socket.c 2009-09-29 10:22:51.953125000 +0200
+++ misc/build/neon-0.28.2/src/ne_socket.c 2010-01-08 11:30:06.000000000 +0100
@@ -60,6 +60,7 @@
#include <stddef.h>
#ifdef USE_GETADDRINFO
@ -1546,15 +1626,11 @@
#endif
--- misc/neon-0.28.2/src/ne_sspi.c 2007-08-10 17:26:08.000000000 +0200
+++ misc/build/neon-0.28.2/src/ne_sspi.c 2009-09-29 10:22:51.953125000 +0200
@@ -202,9 +202,48 @@
return -1;
+++ misc/build/neon-0.28.2/src/ne_sspi.c 2010-01-08 11:30:07.000000000 +0100
@@ -206,6 +206,45 @@
}
+ return 0;
+}
+
+/*
/*
+ * Simplification wrapper arround AcquireCredentialsHandle as most of
+ * the parameters do not change.
+ */
@ -1589,13 +1665,14 @@
+ return -1;
+ }
+
return 0;
}
+ return 0;
+}
+
/*
+
+/*
* Wrapper arround initializeSecurityContext. Supplies several
* default parameters as well as logging in case of errors.
*/
@@ -483,7 +522,7 @@
* Processes received authentication tokens as well as supplies the
* response token.
@ -1605,11 +1682,17 @@
{
SecBufferDesc outBufferDesc;
SecBuffer outBuffer;
@@ -560,14 +599,23 @@
@@ -561,13 +600,22 @@
/* Reset any existing context since we are starting over */
resetContext(sspiContext);
+
- if (acquireCredentialsHandle
- (&sspiContext->credentials, sspiContext->mechanism) != SEC_E_OK) {
- freeBuffer(&outBufferDesc);
- NE_DEBUG(NE_DBG_HTTPAUTH,
- "sspi: acquireCredentialsHandle failed.\n");
- return -1;
- }
+ if (strlen(username) != 0) {
+ if (acquireCredentialsHandleForUsername
+ (&sspiContext->credentials, sspiContext->mechanism, username, password) != SEC_E_OK) {
@ -1625,19 +1708,12 @@
+ return -1;
+ }
+ }
- if (acquireCredentialsHandle
- (&sspiContext->credentials, sspiContext->mechanism) != SEC_E_OK) {
- freeBuffer(&outBufferDesc);
- NE_DEBUG(NE_DBG_HTTPAUTH,
- "sspi: acquireCredentialsHandle failed.\n");
- return -1;
- }
+
securityStatus =
initializeSecurityContext(&sspiContext->credentials, NULL,
--- misc/neon-0.28.2/src/ne_sspi.h 2006-02-12 13:05:14.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_sspi.h 2009-09-29 10:22:51.968750000 +0200
+++ misc/build/neon-0.28.2/src/ne_sspi.h 2010-01-08 11:30:06.000000000 +0100
@@ -41,7 +41,7 @@
int ne_sspi_clear_context(void *context);
@ -1648,7 +1724,7 @@
#endif /* HAVE_SSPI */
--- misc/neon-0.28.2/src/ne_uri.c 2007-12-05 12:04:47.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_uri.c 2009-09-29 10:22:51.968750000 +0200
+++ misc/build/neon-0.28.2/src/ne_uri.c 2010-01-08 11:30:06.000000000 +0100
@@ -42,7 +42,7 @@
#include "ne_alloc.h"
#include "ne_uri.h"
@ -1695,7 +1771,7 @@
/* 4x */ AT, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL,
/* 5x */ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, GD, OT, GD, OT, US,
--- misc/neon-0.28.2/src/ne_utils.c 2006-03-07 10:36:43.000000000 +0100
+++ misc/build/neon-0.28.2/src/ne_utils.c 2009-09-29 10:22:51.984375000 +0200
+++ misc/build/neon-0.28.2/src/ne_utils.c 2010-01-08 11:30:06.000000000 +0100
@@ -118,6 +118,9 @@
#ifdef HAVE_GNUTLS
", GNU TLS " LIBGNUTLS_VERSION
@ -1726,7 +1802,7 @@
#endif /* NE_HAVE_* */
default:
--- misc/neon-0.28.2/src/ne_utils.h 2007-07-16 08:54:57.000000000 +0200
+++ misc/build/neon-0.28.2/src/ne_utils.h 2009-09-29 10:22:51.984375000 +0200
+++ misc/build/neon-0.28.2/src/ne_utils.h 2010-01-08 11:30:07.000000000 +0100
@@ -54,6 +54,7 @@
#define NE_FEATURE_SOCKS (5) /* SOCKSv5 support */
#define NE_FEATURE_TS_SSL (6) /* Thread-safe SSL/TLS support */