summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <kso@openoffice.org>2009-12-10 10:15:20 +0100
committerKai Sommerfeld <kso@openoffice.org>2009-12-10 10:15:20 +0100
commit4b6c864b8b01f6791b8e2336b9a86818ae46834b (patch)
tree164bc5e253f8ac69a259eea0b6512886b3e84818
parent7e18ce5d10a108b74695e359e3462603d015a170 (diff)
parent2f0d4473749af8df0e2acd611f18c9c72bb769f3 (diff)
merged with DEV300_m67
-rw-r--r--icu/icu4c-4_0_1-src.patch (renamed from icu/icu-4.0.patch)0
-rwxr-xr-xicu/icuversion.mk2
-rw-r--r--icu/makefile.mk4
-rw-r--r--moz/extractfiles.mk12
-rw-r--r--moz/makefile.mk10
-rw-r--r--moz/patches/dtoa.patch237
-rw-r--r--moz/patches/respect_disable_pango.patch54
-rw-r--r--moz/zipped/makefile.mk2
-rw-r--r--neon/makefile.mk7
-rw-r--r--neon/neon.patch123
-rw-r--r--neon/neon_exports_unix.patch289
-rw-r--r--neon/neon_exports_win.patch295
-rw-r--r--neon/prj/d.lst6
-rw-r--r--nss/dtoa.patch110
-rw-r--r--nss/makefile.mk6
-rw-r--r--nss/nss.patch30
-rw-r--r--zlib/zlib-1.1.4.patch2
17 files changed, 1124 insertions, 65 deletions
diff --git a/icu/icu-4.0.patch b/icu/icu4c-4_0_1-src.patch
index 172d6244634c..172d6244634c 100644
--- a/icu/icu-4.0.patch
+++ b/icu/icu4c-4_0_1-src.patch
diff --git a/icu/icuversion.mk b/icu/icuversion.mk
index 7c0389093fb3..e0b599f94c4a 100755
--- a/icu/icuversion.mk
+++ b/icu/icuversion.mk
@@ -33,5 +33,5 @@ ICU_MAJOR=4
# minor
ICU_MINOR=0
# micro
-ICU_MICRO=0
+ICU_MICRO=1
diff --git a/icu/makefile.mk b/icu/makefile.mk
index 7503a4c18dbc..c452443c889d 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -42,9 +42,9 @@ TARGET=so_icu
.INCLUDE : icuversion.mk
.IF "$(ICU_MICRO)"!="0"
-TARFILE_NAME=icu-$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO)
+TARFILE_NAME=icu4c-$(ICU_MAJOR)_$(ICU_MINOR)_$(ICU_MICRO)-src
.ELSE
-TARFILE_NAME=icu-$(ICU_MAJOR).$(ICU_MINOR)
+TARFILE_NAME=icu4c-$(ICU_MAJOR)_$(ICU_MINOR)-src
.ENDIF
TARFILE_ROOTDIR=icu
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk
index dfb14afa8a3e..c98bf8574e73 100644
--- a/moz/extractfiles.mk
+++ b/moz/extractfiles.mk
@@ -408,11 +408,10 @@ $(MISC)$/build$/so_moz_include_files: $(INCCOM)$/nsBuildID.h
.ENDIF
$(TOUCH) $@
.IF "$(ENABLE_NSS_MODULE)"=="YES"
- +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCLUDE_DIR)$/$(dir) \
- $(INCLUDE_DIR)$/$(dir)_remove_me &&) \
- echo >& $(NULLDEV)
- $(foreach,dir,$(NSS_INCLUDE_LIST) rm -r -f $(INCLUDE_DIR)$/$(dir)_remove_me &&) \
- echo >& $(NULLDEV)
+ +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCLUDE_DIR)$/$(dir) $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV)
+ $(foreach,dir,$(NSS_INCLUDE_LIST) rm -rf $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV)
+ -$(MKDIR) $(OUT)$/inc.nss
+ cd $(OUT)$/inc.nss && $(foreach,dir,$(NSS_INCLUDE_LIST) $(GNUCOPY) -pRL $(SOLARINCDIR)$/mozilla/$(dir) . &&) echo >& $(NULLDEV)
.ENDIF
# On UNX the rules for so_moz_runtime_files copy files into the same directory
@@ -464,3 +463,6 @@ $(MISC)$/CREATETARBALL: extract_mozab_files
.ENDIF
cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip *
cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
+.IF "$(ENABLE_NSS_MODULE)"=="YES"
+ cd $(OUT)$/inc.nss && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
+.ENDIF
diff --git a/moz/makefile.mk b/moz/makefile.mk
index 3722229bf74d..0aabda002e2e 100644
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -84,7 +84,10 @@ MOZILLA_VERSION=1.1.14
TARFILE_NAME=seamonkey-$(MOZILLA_VERSION).source
TARFILE_ROOTDIR=mozilla
-PATCH_FILES=seamonkey-source-$(MOZILLA_VERSION).patch
+PATCH_FILES = \
+ seamonkey-source-$(MOZILLA_VERSION).patch \
+ patches/dtoa.patch \
+ patches/respect_disable_pango.patch \
# This file is needed for the W32 build when BUILD_MOZAB is set
# (currently only vc8/vs2005 is supported when BUILD_MOZAB is set)
@@ -131,6 +134,7 @@ MOZILLA_CONFIGURE_FLAGS += --disable-tests \
--disable-image-encoders \
--disable-plugins \
--disable-printing \
+ --disable-pango \
--enable-extensions="pref"
#.IF "$(GUI)"!="WNT"
@@ -183,6 +187,10 @@ CXXFLAGS+=-m64
.ENDIF
.EXPORT : CXXFLAGS
.ENDIF # "$(COMNAME)"=="sunpro5"
+.IF "$(COM)$(OS)$(CPUNAME)" == "GCCLINUXPOWERPC64"
+CXXFLAGS:=-mminimal-toc
+.EXPORT : CXXFLAGS
+.ENDIF
.ENDIF
.IF "$(OS)"=="SOLARIS" && "$(CPUNAME)"=="SPARC" && "$(CPU)"=="U"
diff --git a/moz/patches/dtoa.patch b/moz/patches/dtoa.patch
new file mode 100644
index 000000000000..fce3be38b10b
--- /dev/null
+++ b/moz/patches/dtoa.patch
@@ -0,0 +1,237 @@
+--- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7
++++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000
+@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void)
+ * Llong, #define #ULLong to be the corresponding unsigned type.
+ * #define KR_headers for old-style C function headers.
+ * #define Bad_float_h if your system lacks a float.h or if it does not
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
+ * if memory is available and otherwise does something you deem
+ * appropriate. If MALLOC is undefined, malloc will be invoked
+- * directly -- and assumed always to succeed.
++ * directly -- and assumed always to succeed. Similarly, if you
++ * want something other than the system's free() to be called to
++ * recycle memory acquired from MALLOC, #define FREE to be the
++ * name of the alternate routine. (FREE or free is only called in
++ * pathological cases, e.g., in a dtoa call after a dtoa return in
++ * mode 3 with thousands of digits requested.)
+ * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
+ * memory allocations from a private pool of memory when possible.
+ * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes,
+ * unless #defined to be a different length. This default length
+ * suffices to get rid of MALLOC calls except for unusual cases,
+ * such as decimal-to-binary conversion of a very long string of
+ * digits. The longest string dtoa can return is about 751 bytes
+ * long. For conversions by strtod of strings of 800 digits and
+@@ -553,17 +558,17 @@ extern double rnd_prod(double, double),
+ #endif
+ #endif /* NO_LONG_LONG */
+
+ #ifndef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
+ #define FREE_DTOA_LOCK(n) /*nothing*/
+ #endif
+
+-#define Kmax 15
++#define Kmax 7
+
+ struct
+ Bigint {
+ struct Bigint *next;
+ int k, maxwds, sign, wds;
+ ULong x[1];
+ };
+
+@@ -581,27 +586,28 @@ Balloc
+ {
+ int x;
+ Bigint *rv;
+ #ifndef Omit_Private_Memory
+ unsigned int len;
+ #endif
+
+ ACQUIRE_DTOA_LOCK(0);
+- if (rv = freelist[k]) {
++ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */
++ /* but this case seems very unlikely. */
++ if (k <= Kmax && (rv = freelist[k]))
+ freelist[k] = rv->next;
+- }
+ else {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+- if (pmem_next - private_mem + len <= PRIVATE_mem) {
++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
+ pmem_next += len;
+ }
+ else
+ rv = (Bigint*)MALLOC(len*sizeof(double));
+ #endif
+ rv->k = k;
+ rv->maxwds = x;
+@@ -615,20 +621,28 @@ Balloc
+ Bfree
+ #ifdef KR_headers
+ (v) Bigint *v;
+ #else
+ (Bigint *v)
+ #endif
+ {
+ if (v) {
+- ACQUIRE_DTOA_LOCK(0);
+- v->next = freelist[v->k];
+- freelist[v->k] = v;
+- FREE_DTOA_LOCK(0);
++ if (v->k > Kmax)
++#ifdef FREE
++ FREE((void*)v);
++#else
++ free((void*)v);
++#endif
++ else {
++ ACQUIRE_DTOA_LOCK(0);
++ v->next = freelist[v->k];
++ freelist[v->k] = v;
++ FREE_DTOA_LOCK(0);
++ }
+ }
+ }
+
+ #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
+ y->wds*sizeof(Long) + 2*sizeof(int))
+
+ static Bigint *
+ multadd
+--- misc/mozilla/js/src/jsdtoa.c 2 Sep 2007 22:20:41 -0000 3.41
++++ misc/build/mozilla/js/src/jsdtoa.c 18 Sep 2009 16:15:13 -0000
+@@ -145,17 +145,22 @@
+ * and if "unsigned Llong" does not work as an unsigned version of
+ * Llong, #define #ULLong to be the corresponding unsigned type.
+ * #define Bad_float_h if your system lacks a float.h or if it does not
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
+ * if memory is available and otherwise does something you deem
+ * appropriate. If MALLOC is undefined, malloc will be invoked
+- * directly -- and assumed always to succeed.
++ * directly -- and assumed always to succeed. Similarly, if you
++ * want something other than the system's free() to be called to
++ * recycle memory acquired from MALLOC, #define FREE to be the
++ * name of the alternate routine. (FREE or free is only called in
++ * pathological cases, e.g., in a dtoa call after a dtoa return in
++ * mode 3 with thousands of digits requested.)
+ * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
+ * memory allocations from a private pool of memory when possible.
+ * When used, the private pool is PRIVATE_MEM bytes long: 2000 bytes,
+ * unless #defined to be a different length. This default length
+ * suffices to get rid of MALLOC calls except for unusual cases,
+ * such as decimal-to-binary conversion of a very long string of
+ * digits.
+ * #define INFNAN_CHECK on IEEE systems to cause strtod to check for
+@@ -320,17 +325,17 @@ static PRLock *freelist_lock;
+ JS_END_MACRO
+ #define RELEASE_DTOA_LOCK() PR_Unlock(freelist_lock)
+ #else
+ #undef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK() /*nothing*/
+ #define RELEASE_DTOA_LOCK() /*nothing*/
+ #endif
+
+-#define Kmax 15
++#define Kmax 7
+
+ struct Bigint {
+ struct Bigint *next; /* Free list link */
+ int32 k; /* lg2(maxwds) */
+ int32 maxwds; /* Number of words allocated for x */
+ int32 sign; /* Zero if positive, 1 if negative. Ignored by most Bigint routines! */
+ int32 wds; /* Actual number of words. If value is nonzero, the most significant word must be nonzero. */
+ ULong x[1]; /* wds words of number in little endian order */
+@@ -400,26 +405,26 @@ static Bigint *Balloc(int32 k)
+
+ #ifdef ENABLE_OOM_TESTING
+ if (++allocationNum == desiredFailure) {
+ printf("Forced Failing Allocation number %d\n", allocationNum);
+ return NULL;
+ }
+ #endif
+
+- if ((rv = freelist[k]) != NULL)
++ if (k <= Kmax && (rv = freelist[k]) != NULL)
+ freelist[k] = rv->next;
+ if (rv == NULL) {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+- if (pmem_next - private_mem + len <= PRIVATE_mem) {
++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
+ pmem_next += len;
+ }
+ else
+ rv = (Bigint*)MALLOC(len*sizeof(double));
+ #endif
+ if (!rv)
+ return NULL;
+@@ -428,18 +433,26 @@ static Bigint *Balloc(int32 k)
+ }
+ rv->sign = rv->wds = 0;
+ return rv;
+ }
+
+ static void Bfree(Bigint *v)
+ {
+ if (v) {
+- v->next = freelist[v->k];
+- freelist[v->k] = v;
++ if (v->k > Kmax)
++#ifdef FREE
++ FREE((void*)v);
++#else
++ free((void*)v);
++#endif
++ else {
++ v->next = freelist[v->k];
++ freelist[v->k] = v;
++ }
+ }
+ }
+
+ #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
+ y->wds*sizeof(Long) + 2*sizeof(int32))
+
+ /* Return b*m + a. Deallocate the old b. Both a and m must be between 0 and
+ * 65535 inclusive. NOTE: old b is deallocated on memory failure.
+--- misc/mozilla/js/src/jsdtoa.c 22 Sep 2009 06:16:27 -0000 3.42
++++ misc/build/mozilla/js/src/jsdtoa.c 15 Oct 2009 10:34:38 -0000
+@@ -405,19 +405,19 @@ static Bigint *Balloc(int32 k)
+
+ #ifdef ENABLE_OOM_TESTING
+ if (++allocationNum == desiredFailure) {
+ printf("Forced Failing Allocation number %d\n", allocationNum);
+ return NULL;
+ }
+ #endif
+
+- if (k <= Kmax && (rv = freelist[k]) != NULL)
++ if (k <= Kmax && (rv = freelist[k]))
+ freelist[k] = rv->next;
+- if (rv == NULL) {
++ else {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
diff --git a/moz/patches/respect_disable_pango.patch b/moz/patches/respect_disable_pango.patch
new file mode 100644
index 000000000000..07a83e9dd40a
--- /dev/null
+++ b/moz/patches/respect_disable_pango.patch
@@ -0,0 +1,54 @@
+--- misc/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2006-02-28 15:55:35.000000000 +0100
++++ misc/build/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2009-11-13 15:12:24.000000000 +0100
+@@ -66,10 +66,12 @@
+ #endif /* MOZ_WIDGET_GTK */
+
+ #ifdef MOZ_WIDGET_GTK2
++#ifdef MOZ_ENABLE_PANGO
+ #include <pango/pango.h>
+ #include <pango/pangox.h>
+ #include <pango/pango-fontmap.h>
+ #endif
++#endif
+
+ #ifdef MOZ_ENABLE_XFT
+ #include "nsFontMetricsUtils.h"
+@@ -963,9 +965,11 @@
+ #ifdef MOZ_WIDGET_GTK2
+
+ #ifdef MOZ_ENABLE_COREXFONTS
++#ifdef MOZ_ENABLE_PANGO
+ static void xlfd_from_pango_font_description(GtkWidget *aWidget,
+ const PangoFontDescription *aFontDesc,
+ nsString& aFontName);
++#endif
+ #endif /* MOZ_ENABLE_COREXFONTS */
+
+ nsresult
+@@ -997,10 +1001,12 @@
+ #endif /* MOZ_ENABLE_XFT */
+
+ #ifdef MOZ_ENABLE_COREXFONTS
++#ifdef MOZ_ENABLE_PANGO
+ // if name already set by Xft, do nothing
+ if (!aFont->name.Length()) {
+ xlfd_from_pango_font_description(aWidget, desc, aFont->name);
+ }
++#endif /* MOZ_ENABLE_PANGO */
+ #endif /* MOZ_ENABLE_COREXFONTS */
+ aFont->weight = pango_font_description_get_weight(desc);
+
+@@ -1104,6 +1110,7 @@
+ #endif /* MOZ_ENABLE_XFT */
+
+ #if defined(MOZ_WIDGET_GTK2) && defined(MOZ_ENABLE_COREXFONTS)
++#ifdef MOZ_ENABLE_PANGO
+ // xlfd_from_pango_font_description copied from vte, which was
+ // written by nalin@redhat.com, and added some codes.
+ static void
+@@ -1226,4 +1233,5 @@
+ g_free(spec);
+ g_object_unref(font);
+ }
++#endif
+ #endif /* MOZ_WIDGET_GTK2 && MOZ_ENABLE_COREXFONTS */
diff --git a/moz/zipped/makefile.mk b/moz/zipped/makefile.mk
index a7b3ea846e9b..b4f85f93e748 100644
--- a/moz/zipped/makefile.mk
+++ b/moz/zipped/makefile.mk
@@ -43,7 +43,7 @@ TARGET=moz_unzip
.IF "$(PREBUILD_MOZAB)" == "" || "$(SYSTEM_MOZILLA)" == "YES" || "$(WITH_MOZILLA)" == "NO"
dummy:
- @echo "No need to unpack the prebuild mozab packages"
+ @echo "No need to unpack the prebuilt mozab packages"
.ELSE # unpack mozab zips
.INCLUDE : target.mk
diff --git a/neon/makefile.mk b/neon/makefile.mk
index f25fefd69935..367e5ffc0a46 100644
--- a/neon/makefile.mk
+++ b/neon/makefile.mk
@@ -54,6 +54,13 @@ NEON_NAME=neon-0.28.2
TARFILE_NAME=$(NEON_NAME)
PATCH_FILES=neon.patch
+
+.IF "$(GUI)"=="WNT"
+ PATCH_FILES+=neon_exports_win.patch
+.ELSE
+ PATCH_FILES+=neon_exports_unix.patch
+.ENDIF
+
ADDITIONAL_FILES=src$/makefile.mk src$/config.h src$/ne_ntlm.h src$/ne_ntlm.c
BUILD_DIR=src
diff --git a/neon/neon.patch b/neon/neon.patch
index 59924a9a605b..8257b64a7758 100644
--- a/neon/neon.patch
+++ b/neon/neon.patch
@@ -499,6 +499,7 @@
+PRJNAME=neon
+TARGET=neon
+LIBTARGET=NO
++USE_DEFFILE=TRUE
+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
+
+# --- Settings -----------------------------------------------------
@@ -512,7 +513,19 @@
+.IF "$(SYSTEM_LIBXML)" == "YES"
+CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS)
+.ELSE
-+CFLAGS+=-I$(SOLARINCDIR)$/external$/zlib
++LIBXMLINCDIR=external$/libxml
++CFLAGS+= -I$(SOLARINCDIR)$/$(LIBXMLINCDIR)
++.ENDIF
++
++.IF "$(SYSTEM_OPENSSL)" == "YES"
++CFLAGS+= $(OPENSSL_CFLAGS)
++.ENDIF
++
++.IF "$(SYSTEM_ZLIB)" == "YES"
++CFLAGS+=-DSYSTEM_ZLIB
++.ELSE
++ZLIBINCDIR=external$/zlib
++CFLAGS+=-I$(SOLARINCDIR)$/$(ZLIBINCDIR)
+.ENDIF
+
+SLOFILES= \
@@ -547,12 +560,38 @@
+# $(SLO)$/ne_gnutls.obj \
+# $(SLO)$/ne_stubssl.obj
+
-+LIB1TARGET=$(SLB)$/$(TARGET).lib
-+LIB1ARCHIV=$(LB)$/lib$(TARGET).a
-+LIB1OBJFILES=$(SLOFILES)
++SHL1OBJS=$(SLOFILES)
++SHL1TARGET=$(TARGET)
++SHL1VERSIONMAP=exports.map
++SHL1IMPLIB=i$(TARGET)
++
++SHL1STDLIBS+= $(LIBXML2LIB) \
++ $(ZLIB3RDLIB)
++
++.IF "$(GUI)"=="WNT"
++ SHL1STDLIBS+= $(WSOCK32LIB)
++ .IF "$(WINDOWS_VISTA_PSDK)" != ""
++ SHL1STDLIBS+= $(WS2_32LIB)
++ .ENDIF
++ SHL1STDLIBS+= $(OPENSSLLIB)
++.ELSE # WNT
++ .IF "$(OS)"=="SOLARIS"
++ SHL1STDLIBS+= -lnsl -lsocket -ldl
++ .ENDIF # SOLARIS
++ .IF "$(OS)"=="OS2"
++ SHL1STDLIBS+= pthread.lib libz.lib
++ .ENDIF # OS2
++ .IF "$(SYSTEM_OPENSSL)"=="YES"
++ SHL1STDLIBS+= $(OPENSSLLIB)
++ .ELSE
++ SHL1STDLIBS+= $(OPENSSLLIBST)
++ .ENDIF
++.ENDIF # WNT
++
++SHL1DEF=$(MISC)$/$(SHL1TARGET).def
+
+# --- Targets ------------------------------------------------------
-+
++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-11-26 23:41:57.000000000 +0100
@@ -594,8 +633,8 @@
static int get_credentials(auth_session *sess, ne_buffer **errmsg, int attempt,
struct auth_challenge *chall, char *pwbuf)
{
-- if (chall->handler->creds(chall->handler->userdata, sess->realm,
-+ if (chall->handler->creds(chall->handler->userdata, chall->protocol->name, sess->realm,
+- if (chall->handler->creds(chall->handler->userdata, sess->realm,
++ if (chall->handler->creds(chall->handler->userdata, chall->protocol->name, sess->realm,
chall->handler->attempt++, sess->username, pwbuf) == 0) {
return 0;
} else {
@@ -603,11 +642,11 @@
int ntlm = ne_strcasecmp(parms->protocol->name, "NTLM") == 0;
int status;
char *response = NULL;
--
+-
+ char password[NE_ABUFSIZ];
+
NE_DEBUG(NE_DBG_HTTPAUTH, "auth: SSPI challenge.\n");
--
+-
+
if (!sess->sspi_context) {
ne_uri uri = {0};
@@ -617,7 +656,7 @@
}
}
+
-+ /* Authentification needs more than one http request.
++ /* Authentification needs more than one http request.
+ * As long as authentification in progress use the existing credentials.
+ * Otherwise get new credentials.*/
+ if (!parms->opaque)
@@ -637,7 +676,7 @@
+#ifdef HAVE_NTLM
+
-+static char *request_ntlm(auth_session *sess, struct auth_request *request)
++static char *request_ntlm(auth_session *sess, struct auth_request *request)
+{
+ char *token = ne_ntlm_getRequestToken(sess->ntlm_context);
+ if (token) {
@@ -651,12 +690,12 @@
+
+static int ntlm_challenge(auth_session *sess, int attempt,
+ struct auth_challenge *parms,
-+ ne_buffer **errmsg)
++ ne_buffer **errmsg)
+{
+ int status;
-+
++
+ NE_DEBUG(NE_DBG_HTTPAUTH, "auth: NTLM challenge.\n");
-+
++
+ if (!parms->opaque && (!sess->ntlm_context || (attempt > 1))) {
+ char password[NE_ABUFSIZ];
+
@@ -674,7 +713,7 @@
+ }
+
+ status = ne_ntlm_create_context(&sess->ntlm_context,
-+ sess->username,
++ sess->username,
+ password);
+ if (status) {
+ return status;
@@ -689,7 +728,7 @@
+ return 0;
+}
+#endif /* HAVE_NTLM */
-+
++
+
/* Examine a digest challenge: return 0 if it is a valid Digest challenge,
* else non-zero. */
@@ -827,7 +866,7 @@
+++ misc/build/neon-0.28.2/src/ne_ntlm.c 2009-11-26 23:41:57.000000000 +0100
@@ -1 +1,703 @@
-dummy
-+/*
++/*
+ Handling of NTLM Authentication
+ Copyright (C) 2003, Daniel Stenberg <daniel@haxx.se>
+ Copyright (C) 2009, Kai Sommerfeld <kso@openoffice.org>
@@ -836,7 +875,7 @@
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
-+
++
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -850,7 +889,7 @@
+*/
+
+/* NTLM details:
-+
++
+ http://davenport.sourceforge.net/ntlm.html
+ http://www.innovation.ch/java/ntlm.html
+
@@ -1058,8 +1097,8 @@
+ memcpy(ctx->nonce, &buffer[24], 8);
+
+ /* at index decimal 20, there's a 32bit NTLM flag field */
-+
-+ if (buffer) ne_free(buffer);
++
++ if (buffer) ne_free(buffer);
+ }
+ else {
+ if(ctx->state >= NTLMSTATE_TYPE1)
@@ -1145,7 +1184,7 @@
+
+ if (len > 14)
+ len = 14;
-+
++
+ for (i=0; i<len; i++)
+ pw[i] = toupper(password[i]);
+
@@ -1159,7 +1198,7 @@
+ setup_des_key(pw, DESKEY(ks));
+ DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer,
+ DESKEY(ks), DES_ENCRYPT);
-+
++
+ setup_des_key(pw+7, DESKEY(ks));
+ DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)(lmbuffer+8),
+ DESKEY(ks), DES_ENCRYPT);
@@ -1213,13 +1252,13 @@
+ if(!ctx->user || !ctx->passwd)
+ /* no user, no auth */
+ return 0; /* OK */
-+
++
+ switch(ctx->state) {
+ case NTLMSTATE_TYPE1:
+ default: /* for the weird cases we (re)start here */
+ hostoff = 32;
+ domoff = hostoff + hostlen;
-+
++
+ /* Create and send a type-1 message:
+
+ Index Description Content
@@ -1272,7 +1311,7 @@
+ ctx->requestToken = ne_base64(ntlmbuf, size);
+
+ break;
-+
++
+ case NTLMSTATE_TYPE2:
+ /* We received the type-2 already, create a type-3 message:
+
@@ -1290,7 +1329,7 @@
+ 52 (64) start of data block
+
+ */
-+
++
+ {
+ int lmrespoff;
+ int ntrespoff;
@@ -1340,25 +1379,25 @@
+ "%c%c" /* NT-response allocated space */
+ "%c%c" /* NT-response offset */
+ "%c%c" /* 2 zeroes */
-+
++
+ "%c%c" /* domain length */
+ "%c%c" /* domain allocated space */
+ "%c%c" /* domain name offset */
+ "%c%c" /* 2 zeroes */
-+
++
+ "%c%c" /* user length */
+ "%c%c" /* user allocated space */
+ "%c%c" /* user offset */
+ "%c%c" /* 2 zeroes */
-+
++
+ "%c%c" /* host length */
+ "%c%c" /* host allocated space */
+ "%c%c" /* host offset */
+ "%c%c%c%c%c%c" /* 6 zeroes */
-+
++
+ "\xff\xff" /* message length */
+ "%c%c" /* 2 zeroes */
-+
++
+ "\x01\x82" /* flags */
+ "%c%c" /* 2 zeroes */
+
@@ -1375,7 +1414,7 @@
+ SHORTPAIR(0x18),
+ SHORTPAIR(lmrespoff),
+ 0x0, 0x0,
-+
++
+#ifdef USE_NTRESPONSES
+ SHORTPAIR(0x18), /* NT-response length, twice */
+ SHORTPAIR(0x18),
@@ -1395,12 +1434,12 @@
+ SHORTPAIR(userlen),
+ SHORTPAIR(useroff),
+ 0x0, 0x0,
-+
++
+ SHORTPAIR(hostlen),
+ SHORTPAIR(hostlen),
+ SHORTPAIR(hostoff),
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-+
++
+ 0x0, 0x0,
+
+ 0x0, 0x0);
@@ -1428,7 +1467,7 @@
+ }
+
+#ifdef USE_NTRESPONSES
-+ if(size < ((int)sizeof(ntlmbuf) - 0x18)) {
++ if(size < ((int)sizeof(ntlmbuf) - 0x18)) {
+ memcpy(&ntlmbuf[size], ntresp, 0x18);
+ size += 0x18;
+ }
@@ -1504,7 +1543,7 @@
+ if (context->state <= NTLMSTATE_TYPE3) {
+ ntlm ntlmstatus = ne_input_ntlm(context, responseToken);
+
-+ if (ntlmstatus != NTLM_FINE) {
++ if (ntlmstatus != NTLM_FINE) {
+ return -1;
+ }
+ }
@@ -1534,7 +1573,7 @@
+++ misc/build/neon-0.28.2/src/ne_ntlm.h 2009-11-26 23:41:57.000000000 +0100
@@ -1 +1,44 @@
-dummy
-+/*
++/*
+ Handling of NTLM Authentication
+ Copyright (C) 2009, Kai Sommerfeld <kso@openoffice.org>
+
@@ -1542,7 +1581,7 @@
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
-+
++
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -1594,12 +1633,12 @@
return -1;
}
-+ return 0;
++ return 0;
+}
+
+/*
+ * Simplification wrapper arround AcquireCredentialsHandle as most of
-+ * the parameters do not change.
++ * the parameters do not change.
+ */
+static int acquireCredentialsHandleForUsername(CredHandle * credentials, char *package, const char *username, const char *password)
+{
@@ -1652,7 +1691,7 @@
/* Reset any existing context since we are starting over */
resetContext(sspiContext);
-+
++
+ if (strlen(username) != 0) {
+ if (acquireCredentialsHandleForUsername
+ (&sspiContext->credentials, sspiContext->mechanism, username, password) != SEC_E_OK) {
diff --git a/neon/neon_exports_unix.patch b/neon/neon_exports_unix.patch
new file mode 100644
index 000000000000..4e8098eb1eeb
--- /dev/null
+++ b/neon/neon_exports_unix.patch
@@ -0,0 +1,289 @@
+--- misc/neon-0.28.2/src/exports.map 2009-09-29 10:28:13.531250000 +0200
++++ misc/build/neon-0.28.2/src/exports.map 2009-09-21 12:16:53.453125000 +0200
+@@ -0,0 +1,286 @@
++NEON_0_28_2 {
++ global:
++ ne__negotiate_ssl;
++ ne__ssl_exit;
++ ne__ssl_init;
++ ne_ssl_cert_cmp;
++ ne_ssl_cert_digest;
++ ne_ssl_cert_export;
++ ne_ssl_cert_free;
++ ne_ssl_cert_identity;
++ ne_ssl_cert_import;
++ ne_ssl_cert_issuer;
++ ne_ssl_cert_read;
++ ne_ssl_cert_signedby;
++ ne_ssl_cert_subject;
++ ne_ssl_cert_validity_time;
++ ne_ssl_cert_write;
++ ne_ssl_clicert_decrypt;
++ ne_ssl_clicert_encrypted;
++ ne_ssl_clicert_free;
++ ne_ssl_clicert_name;
++ ne_ssl_clicert_owner;
++ ne_ssl_clicert_read;
++ ne_ssl_context_create;
++ ne_ssl_context_destroy;
++ ne_ssl_context_keypair;
++ ne_ssl_context_set_flag;
++ ne_ssl_context_set_verify;
++ ne_ssl_context_trustcert;
++ ne_ssl_dname_cmp;
++ ne_ssl_readable_dname;
++ ne_ssl_set_clicert;
++ ne_ssl_trust_default_ca;
++ ne_xml_dispatch_request;
++ ne_xml_parse_response;
++ ne_xml_create;
++ ne_xml_currentline;
++ ne_xml_destroy;
++ ne_xml_doc_encoding;
++ ne_xml_failed;
++ ne_xml_get_attr;
++ ne_xml_get_error;
++ ne_xml_mapid;
++ ne_xml_parse;
++ ne_xml_parse_v;
++ ne_xml_push_handler;
++ ne_xml_resolve_nspace;
++ ne_xml_set_error;
++ ne_debug;
++ ne_debug_init;
++ ne_debug_mask;
++ ne_debug_stream;
++ ne_has_support;
++ ne_parse_statusline;
++ ne_version_match;
++ ne_version_string;
++ ne_path_childof;
++ ne_path_compare;
++ ne_path_escape;
++ ne_path_has_trailing_slash;
++ ne_path_parent;
++ ne_path_unescape;
++ ne_uri_cmp;
++ ne_uri_copy;
++ ne_uri_defaultport;
++ ne_uri_free;
++ ne_uri_parse;
++ ne_uri_resolve;
++ ne_uri_unparse;
++ ne_base64;
++ ne_buffer_altered;
++ ne_buffer_append;
++ ne_buffer_clear;
++ ne_buffer_concat;
++ ne_buffer_create;
++ ne_buffer_destroy;
++ ne_buffer_finish;
++ ne_buffer_grow;
++ ne_buffer_ncreate;
++ ne_buffer_snprintf;
++ ne_buffer_zappend;
++ ne_concat;
++ ne_qtoken;
++ ne_shave;
++ ne_snprintf;
++ ne_strcasecmp;
++ ne_strclean;
++ ne_strerror;
++ ne_strncasecmp;
++ ne_token;
++ ne_tolower_array;
++ ne_unbase64;
++ ne_vsnprintf;
++ ne__sock_sslsock;
++ ne_addr_destroy;
++ ne_addr_error;
++ ne_addr_first;
++ ne_addr_next;
++ ne_addr_resolve;
++ ne_addr_result;
++ ne_iaddr_cmp;
++ ne_iaddr_free;
++ ne_iaddr_make;
++ ne_iaddr_print;
++ ne_iaddr_reverse;
++ ne_iaddr_typeof;
++ ne_sock_accept;
++ ne_sock_accept_ssl;
++ ne_sock_block;
++ ne_sock_cipher;
++ ne_sock_close;
++ ne_sock_connect;
++ ne_sock_connect_ssl;
++ ne_sock_connect_timeout;
++ ne_sock_create;
++ ne_sock_error;
++ ne_sock_exit;
++ ne_sock_fd;
++ ne_sock_fullread;
++ ne_sock_fullwrite;
++ ne_sock_init;
++ ne_sock_peek;
++ ne_sock_peer;
++ ne_sock_prebind;
++ ne_sock_read;
++ ne_sock_read_timeout;
++ ne_sock_readline;
++ ne_sock_sessid;
++ ne__ssl_set_verify_err;
++ ne_close_connection;
++ ne_fill_proxy_uri;
++ ne_fill_server_uri;
++ ne_get_error;
++ ne_get_scheme;
++ ne_get_server_hostport;
++ ne_get_session_flag;
++ ne_hook_close_conn;
++ ne_hook_create_request;
++ ne_hook_destroy_request;
++ ne_hook_destroy_session;
++ ne_hook_post_headers;
++ ne_hook_post_send;
++ ne_hook_pre_send;
++ ne_session_create;
++ ne_session_destroy;
++ ne_session_proxy;
++ ne_set_addrlist;
++ ne_set_connect_timeout;
++ ne_set_error;
++ ne_set_localaddr;
++ ne_set_notifier;
++ ne_set_progress;
++ ne_set_read_timeout;
++ ne_set_session_flag;
++ ne_set_session_private;
++ ne_set_useragent;
++ ne_ssl_cert_validity;
++ ne_ssl_provide_clicert;
++ ne_ssl_set_verify;
++ ne_ssl_trust_cert;
++ ne_unhook_close_conn;
++ ne_unhook_create_request;
++ ne_unhook_destroy_request;
++ ne_unhook_destroy_session;
++ ne_unhook_post_headers;
++ ne_unhook_post_send;
++ ne_unhook_pre_send;
++ ne_version_pre_http11;
++ ne_accept_2xx;
++ ne_accept_always;
++ ne_add_request_header;
++ ne_add_response_body_reader;
++ ne_begin_request;
++ ne_discard_response;
++ ne_end_request;
++ ne_get_request_flag;
++ ne_get_request_private;
++ ne_get_response_header;
++ ne_get_session;
++ ne_get_session_private;
++ ne_get_status;
++ ne_print_request_header;
++ ne_read_response_block;
++ ne_read_response_to_fd;
++ ne_request_create;
++ ne_request_destroy;
++ ne_request_dispatch;
++ ne_response_header_iterate;
++ ne_set_request_body_buffer;
++ ne_set_request_body_fd;
++ ne_set_request_body_provider;
++ ne_set_request_flag;
++ ne_set_request_private;
++ ne_redirect_location;
++ ne_redirect_register;
++ ne_propfind_allprop;
++ ne_propfind_create;
++ ne_propfind_current_private;
++ ne_propfind_destroy;
++ ne_propfind_get_parser;
++ ne_propfind_get_request;
++ ne_propfind_named;
++ ne_propfind_set_private;
++ ne_propnames;
++ ne_proppatch;
++ ne_propset_iterate;
++ ne_propset_lang;
++ ne_propset_private;
++ ne_propset_status;
++ ne_propset_value;
++ ne_simple_propfind;
++ ne_ascii_to_md5;
++ ne_md5_create_ctx;
++ ne_md5_destroy_ctx;
++ ne_md5_dup_ctx;
++ ne_md5_finish_ascii;
++ ne_md5_finish_ctx;
++ ne_md5_process_block;
++ ne_md5_process_bytes;
++ ne_md5_read_ctx;
++ ne_md5_reset_ctx;
++ ne_md5_stream;
++ ne_md5_to_ascii;
++ ne_lock;
++ ne_lock_copy;
++ ne_lock_create;
++ ne_lock_destroy;
++ ne_lock_discover;
++ ne_lock_free;
++ ne_lock_refresh;
++ ne_lock_using_parent;
++ ne_lock_using_resource;
++ ne_lockstore_add;
++ ne_lockstore_create;
++ ne_lockstore_destroy;
++ ne_lockstore_findbyuri;
++ ne_lockstore_first;
++ ne_lockstore_next;
++ ne_lockstore_register;
++ ne_lockstore_remove;
++ ne_unlock;
++ ne_i18n_init;
++ ne_asctime_parse;
++ ne_httpdate_parse;
++ ne_iso8601_parse;
++ ne_rfc1036_parse;
++ ne_rfc1123_date;
++ ne_rfc1123_parse;
++ ne_decompress_destroy;
++ ne_decompress_reader;
++ ne_add_depth_header;
++ ne_copy;
++ ne_delete;
++ ne_get;
++ ne_get_content_type;
++ ne_get_range;
++ ne_getmodtime;
++ ne_mkcol;
++ ne_move;
++ ne_options;
++ ne_options2;
++ ne_post;
++ ne_put;
++ ne_add_proxy_auth;
++ ne_add_server_auth;
++ ne_forget_auth;
++ ne_set_proxy_auth;
++ ne_set_server_auth;
++ ne_calloc;
++ ne_malloc;
++ ne_oom_callback;
++ ne_realloc;
++ ne_strdup;
++ ne_strndup;
++ ne_acl_set;
++ ne_207_create;
++ ne_207_destroy;
++ ne_207_get_current_propstat;
++ ne_207_get_current_response;
++ ne_207_set_propstat_handlers;
++ ne_207_set_response_handlers;
++ ne_accept_207;
++ ne_simple_request;
++ local:
++ *;
++};
diff --git a/neon/neon_exports_win.patch b/neon/neon_exports_win.patch
new file mode 100644
index 000000000000..479f03a9d6bc
--- /dev/null
+++ b/neon/neon_exports_win.patch
@@ -0,0 +1,295 @@
+--- misc/neon-0.28.2/src/exports.map 2009-09-29 10:28:13.531250000 +0200
++++ misc/build/neon-0.28.2/src/exports.map 2009-09-21 12:16:53.453125000 +0200
+@@ -0,0 +1,292 @@
++NEON_0_28_2 {
++ global:
++ ne_sspi_authenticate;
++ ne_sspi_clear_context;
++ ne_sspi_create_context;
++ ne_sspi_deinit;
++ ne_sspi_destroy_context;
++ ne_sspi_init;
++ ne__negotiate_ssl;
++ ne__ssl_exit;
++ ne__ssl_init;
++ ne_ssl_cert_cmp;
++ ne_ssl_cert_digest;
++ ne_ssl_cert_export;
++ ne_ssl_cert_free;
++ ne_ssl_cert_identity;
++ ne_ssl_cert_import;
++ ne_ssl_cert_issuer;
++ ne_ssl_cert_read;
++ ne_ssl_cert_signedby;
++ ne_ssl_cert_subject;
++ ne_ssl_cert_validity_time;
++ ne_ssl_cert_write;
++ ne_ssl_clicert_decrypt;
++ ne_ssl_clicert_encrypted;
++ ne_ssl_clicert_free;
++ ne_ssl_clicert_name;
++ ne_ssl_clicert_owner;
++ ne_ssl_clicert_read;
++ ne_ssl_context_create;
++ ne_ssl_context_destroy;
++ ne_ssl_context_keypair;
++ ne_ssl_context_set_flag;
++ ne_ssl_context_set_verify;
++ ne_ssl_context_trustcert;
++ ne_ssl_dname_cmp;
++ ne_ssl_readable_dname;
++ ne_ssl_set_clicert;
++ ne_ssl_trust_default_ca;
++ ne_xml_dispatch_request;
++ ne_xml_parse_response;
++ ne_xml_create;
++ ne_xml_currentline;
++ ne_xml_destroy;
++ ne_xml_doc_encoding;
++ ne_xml_failed;
++ ne_xml_get_attr;
++ ne_xml_get_error;
++ ne_xml_mapid;
++ ne_xml_parse;
++ ne_xml_parse_v;
++ ne_xml_push_handler;
++ ne_xml_resolve_nspace;
++ ne_xml_set_error;
++ ne_debug;
++ ne_debug_init;
++ ne_debug_mask;
++ ne_debug_stream;
++ ne_has_support;
++ ne_parse_statusline;
++ ne_version_match;
++ ne_version_string;
++ ne_path_childof;
++ ne_path_compare;
++ ne_path_escape;
++ ne_path_has_trailing_slash;
++ ne_path_parent;
++ ne_path_unescape;
++ ne_uri_cmp;
++ ne_uri_copy;
++ ne_uri_defaultport;
++ ne_uri_free;
++ ne_uri_parse;
++ ne_uri_resolve;
++ ne_uri_unparse;
++ ne_base64;
++ ne_buffer_altered;
++ ne_buffer_append;
++ ne_buffer_clear;
++ ne_buffer_concat;
++ ne_buffer_create;
++ ne_buffer_destroy;
++ ne_buffer_finish;
++ ne_buffer_grow;
++ ne_buffer_ncreate;
++ ne_buffer_snprintf;
++ ne_buffer_zappend;
++ ne_concat;
++ ne_qtoken;
++ ne_shave;
++ ne_snprintf;
++ ne_strcasecmp;
++ ne_strclean;
++ ne_strerror;
++ ne_strncasecmp;
++ ne_token;
++ ne_tolower_array;
++ ne_unbase64;
++ ne_vsnprintf;
++ ne__sock_sslsock;
++ ne_addr_destroy;
++ ne_addr_error;
++ ne_addr_first;
++ ne_addr_next;
++ ne_addr_resolve;
++ ne_addr_result;
++ ne_iaddr_cmp;
++ ne_iaddr_free;
++ ne_iaddr_make;
++ ne_iaddr_print;
++ ne_iaddr_reverse;
++ ne_iaddr_typeof;
++ ne_sock_accept;
++ ne_sock_accept_ssl;
++ ne_sock_block;
++ ne_sock_cipher;
++ ne_sock_close;
++ ne_sock_connect;
++ ne_sock_connect_ssl;
++ ne_sock_connect_timeout;
++ ne_sock_create;
++ ne_sock_error;
++ ne_sock_exit;
++ ne_sock_fd;
++ ne_sock_fullread;
++ ne_sock_fullwrite;
++ ne_sock_init;
++ ne_sock_peek;
++ ne_sock_peer;
++ ne_sock_prebind;
++ ne_sock_read;
++ ne_sock_read_timeout;
++ ne_sock_readline;
++ ne_sock_sessid;
++ ne__ssl_set_verify_err;
++ ne_close_connection;
++ ne_fill_proxy_uri;
++ ne_fill_server_uri;
++ ne_get_error;
++ ne_get_scheme;
++ ne_get_server_hostport;
++ ne_get_session_flag;
++ ne_hook_close_conn;
++ ne_hook_create_request;
++ ne_hook_destroy_request;
++ ne_hook_destroy_session;
++ ne_hook_post_headers;
++ ne_hook_post_send;
++ ne_hook_pre_send;
++ ne_session_create;
++ ne_session_destroy;
++ ne_session_proxy;
++ ne_set_addrlist;
++ ne_set_connect_timeout;
++ ne_set_error;
++ ne_set_localaddr;
++ ne_set_notifier;
++ ne_set_progress;
++ ne_set_read_timeout;
++ ne_set_session_flag;
++ ne_set_session_private;
++ ne_set_useragent;
++ ne_ssl_cert_validity;
++ ne_ssl_provide_clicert;
++ ne_ssl_set_verify;
++ ne_ssl_trust_cert;
++ ne_unhook_close_conn;
++ ne_unhook_create_request;
++ ne_unhook_destroy_request;
++ ne_unhook_destroy_session;
++ ne_unhook_post_headers;
++ ne_unhook_post_send;
++ ne_unhook_pre_send;
++ ne_version_pre_http11;
++ ne_accept_2xx;
++ ne_accept_always;
++ ne_add_request_header;
++ ne_add_response_body_reader;
++ ne_begin_request;
++ ne_discard_response;
++ ne_end_request;
++ ne_get_request_flag;
++ ne_get_request_private;
++ ne_get_response_header;
++ ne_get_session;
++ ne_get_session_private;
++ ne_get_status;
++ ne_print_request_header;
++ ne_read_response_block;
++ ne_read_response_to_fd;
++ ne_request_create;
++ ne_request_destroy;
++ ne_request_dispatch;
++ ne_response_header_iterate;
++ ne_set_request_body_buffer;
++ ne_set_request_body_fd;
++ ne_set_request_body_provider;
++ ne_set_request_flag;
++ ne_set_request_private;
++ ne_redirect_location;
++ ne_redirect_register;
++ ne_propfind_allprop;
++ ne_propfind_create;
++ ne_propfind_current_private;
++ ne_propfind_destroy;
++ ne_propfind_get_parser;
++ ne_propfind_get_request;
++ ne_propfind_named;
++ ne_propfind_set_private;
++ ne_propnames;
++ ne_proppatch;
++ ne_propset_iterate;
++ ne_propset_lang;
++ ne_propset_private;
++ ne_propset_status;
++ ne_propset_value;
++ ne_simple_propfind;
++ ne_ascii_to_md5;
++ ne_md5_create_ctx;
++ ne_md5_destroy_ctx;
++ ne_md5_dup_ctx;
++ ne_md5_finish_ascii;
++ ne_md5_finish_ctx;
++ ne_md5_process_block;
++ ne_md5_process_bytes;
++ ne_md5_read_ctx;
++ ne_md5_reset_ctx;
++ ne_md5_stream;
++ ne_md5_to_ascii;
++ ne_lock;
++ ne_lock_copy;
++ ne_lock_create;
++ ne_lock_destroy;
++ ne_lock_discover;
++ ne_lock_free;
++ ne_lock_refresh;
++ ne_lock_using_parent;
++ ne_lock_using_resource;
++ ne_lockstore_add;
++ ne_lockstore_create;
++ ne_lockstore_destroy;
++ ne_lockstore_findbyuri;
++ ne_lockstore_first;
++ ne_lockstore_next;
++ ne_lockstore_register;
++ ne_lockstore_remove;
++ ne_unlock;
++ ne_i18n_init;
++ ne_asctime_parse;
++ ne_httpdate_parse;
++ ne_iso8601_parse;
++ ne_rfc1036_parse;
++ ne_rfc1123_date;
++ ne_rfc1123_parse;
++ ne_decompress_destroy;
++ ne_decompress_reader;
++ ne_add_depth_header;
++ ne_copy;
++ ne_delete;
++ ne_get;
++ ne_get_content_type;
++ ne_get_range;
++ ne_getmodtime;
++ ne_mkcol;
++ ne_move;
++ ne_options;
++ ne_options2;
++ ne_post;
++ ne_put;
++ ne_add_proxy_auth;
++ ne_add_server_auth;
++ ne_forget_auth;
++ ne_set_proxy_auth;
++ ne_set_server_auth;
++ ne_calloc;
++ ne_malloc;
++ ne_oom_callback;
++ ne_realloc;
++ ne_strdup;
++ ne_strndup;
++ ne_acl_set;
++ ne_207_create;
++ ne_207_destroy;
++ ne_207_get_current_propstat;
++ ne_207_get_current_response;
++ ne_207_set_propstat_handlers;
++ ne_207_set_response_handlers;
++ ne_accept_207;
++ ne_simple_request;
++ local:
++ *;
++};
diff --git a/neon/prj/d.lst b/neon/prj/d.lst
index c9cf72163a44..a6c269e96600 100644
--- a/neon/prj/d.lst
+++ b/neon/prj/d.lst
@@ -2,5 +2,7 @@ mkdir: %_DEST%\inc%_EXT%\external
mkdir: %_DEST%\inc%_EXT%\external\neon
..\version.mk %_DEST%\inc%_EXT%\external\neon\version.mk
..\%__SRC%\inc\ne_*.h %_DEST%\inc%_EXT%\external\neon\ne_*.h
-..\%__SRC%\slb\neon.lib %_DEST%\lib%_EXT%\neon.lib
-..\%__SRC%\lib\libneon.a %_DEST%\lib%_EXT%\libneon.a
+..\%__SRC%\lib\ineon.lib %_DEST%\lib%_EXT%\ineon.lib
+..\%__SRC%\bin\neon*.dll %_DEST%\bin%_EXT%\neon*.dll
+..\%__SRC%\lib\libneon*.so %_DEST%\lib%_EXT%\libneon*.so
+..\%__SRC%\lib\libneon*.dylib %_DEST%\lib%_EXT%\libneon*.dylib \ No newline at end of file
diff --git a/nss/dtoa.patch b/nss/dtoa.patch
new file mode 100644
index 000000000000..3632df335f83
--- /dev/null
+++ b/nss/dtoa.patch
@@ -0,0 +1,110 @@
+--- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7
++++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000
+@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void)
+ * Llong, #define #ULLong to be the corresponding unsigned type.
+ * #define KR_headers for old-style C function headers.
+ * #define Bad_float_h if your system lacks a float.h or if it does not
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
+ * if memory is available and otherwise does something you deem
+ * appropriate. If MALLOC is undefined, malloc will be invoked
+- * directly -- and assumed always to succeed.
++ * directly -- and assumed always to succeed. Similarly, if you
++ * want something other than the system's free() to be called to
++ * recycle memory acquired from MALLOC, #define FREE to be the
++ * name of the alternate routine. (FREE or free is only called in
++ * pathological cases, e.g., in a dtoa call after a dtoa return in
++ * mode 3 with thousands of digits requested.)
+ * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
+ * memory allocations from a private pool of memory when possible.
+ * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes,
+ * unless #defined to be a different length. This default length
+ * suffices to get rid of MALLOC calls except for unusual cases,
+ * such as decimal-to-binary conversion of a very long string of
+ * digits. The longest string dtoa can return is about 751 bytes
+ * long. For conversions by strtod of strings of 800 digits and
+@@ -553,17 +558,17 @@ extern double rnd_prod(double, double),
+ #endif
+ #endif /* NO_LONG_LONG */
+
+ #ifndef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
+ #define FREE_DTOA_LOCK(n) /*nothing*/
+ #endif
+
+-#define Kmax 15
++#define Kmax 7
+
+ struct
+ Bigint {
+ struct Bigint *next;
+ int k, maxwds, sign, wds;
+ ULong x[1];
+ };
+
+@@ -581,27 +586,28 @@ Balloc
+ {
+ int x;
+ Bigint *rv;
+ #ifndef Omit_Private_Memory
+ unsigned int len;
+ #endif
+
+ ACQUIRE_DTOA_LOCK(0);
+- if (rv = freelist[k]) {
++ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */
++ /* but this case seems very unlikely. */
++ if (k <= Kmax && (rv = freelist[k]))
+ freelist[k] = rv->next;
+- }
+ else {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+- if (pmem_next - private_mem + len <= PRIVATE_mem) {
++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
+ pmem_next += len;
+ }
+ else
+ rv = (Bigint*)MALLOC(len*sizeof(double));
+ #endif
+ rv->k = k;
+ rv->maxwds = x;
+@@ -615,20 +621,28 @@ Balloc
+ Bfree
+ #ifdef KR_headers
+ (v) Bigint *v;
+ #else
+ (Bigint *v)
+ #endif
+ {
+ if (v) {
+- ACQUIRE_DTOA_LOCK(0);
+- v->next = freelist[v->k];
+- freelist[v->k] = v;
+- FREE_DTOA_LOCK(0);
++ if (v->k > Kmax)
++#ifdef FREE
++ FREE((void*)v);
++#else
++ free((void*)v);
++#endif
++ else {
++ ACQUIRE_DTOA_LOCK(0);
++ v->next = freelist[v->k];
++ freelist[v->k] = v;
++ FREE_DTOA_LOCK(0);
++ }
+ }
+ }
+
+ #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
+ y->wds*sizeof(Long) + 2*sizeof(int))
+
+ static Bigint *
+ multadd
diff --git a/nss/makefile.mk b/nss/makefile.mk
index 4ddd2b39015f..cdc7aad019bf 100644
--- a/nss/makefile.mk
+++ b/nss/makefile.mk
@@ -47,7 +47,9 @@ all:
TARFILE_NAME=nss_3_12_4
TARFILE_ROOTDIR=mozilla
-PATCH_FILES=nss.patch
+PATCH_FILES=nss.patch dtoa.patch
+ # Note: dtoa.patch fixes https://bugzilla.mozilla.org/show_bug.cgi?id=516396. It can be removed as soon as
+ # we upgrade to a new NSS version which already contains this fix.
.IF "$(debug)" != ""
.ELSE
@@ -58,7 +60,7 @@ BUILD_OPT=1
.IF "$(GUI)"=="UNX"
.IF "$(OS)$(COM)"=="LINUXGCC"
-.IF "$(CPU)"=="X"
+.IF "$(BUILD64)"=="1"
# force 64-bit buildmode
USE_64:=1
.EXPORT : USE_64
diff --git a/nss/nss.patch b/nss/nss.patch
index d37d892dd6b8..32831ea29d52 100644
--- a/nss/nss.patch
+++ b/nss/nss.patch
@@ -1,5 +1,5 @@
--- misc/mozilla/nsprpub/config/rules.mk 2009-05-02 01:08:01.000000000 +0200
-+++ misc/build/mozilla/nsprpub/config/rules.mk 2009-09-17 10:29:39.823155149 +0200
++++ misc/build/mozilla/nsprpub/config/rules.mk 2009-10-20 17:03:24.733286198 +0200
@@ -350,7 +350,12 @@
ifdef NS_USE_GCC
$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
@@ -15,7 +15,7 @@
@echo $(RES) finished
endif
--- misc/mozilla/nsprpub/configure 2009-05-08 15:12:31.000000000 +0200
-+++ misc/build/mozilla/nsprpub/configure 2009-09-17 10:31:55.064081763 +0200
++++ misc/build/mozilla/nsprpub/configure 2009-10-20 17:03:24.759501457 +0200
@@ -3898,7 +3898,7 @@
PR_MD_CSRCS=linux.c
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
@@ -26,7 +26,7 @@
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
# combo is not yet good at debugging inlined
--- misc/mozilla/security/coreconf/Darwin.mk 2009-07-30 23:36:02.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/Darwin.mk 2009-09-17 11:11:36.442683705 +0200
++++ misc/build/mozilla/security/coreconf/Darwin.mk 2009-10-20 17:03:24.767804881 +0200
@@ -39,8 +39,12 @@
DEFAULT_COMPILER = cc
@@ -43,7 +43,7 @@
ifndef CPU_ARCH
--- misc/mozilla/security/coreconf/Linux.mk 2009-07-30 01:43:41.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/Linux.mk 2009-09-17 10:39:40.372245066 +0200
++++ misc/build/mozilla/security/coreconf/Linux.mk 2009-10-20 17:04:09.972612751 +0200
@@ -46,8 +46,11 @@
IMPL_STRATEGY = _PTH
endif
@@ -67,8 +67,22 @@
DSO_LDFLAGS =
LDFLAGS += $(ARCHFLAG)
+@@ -161,8 +164,13 @@
+ #
+ CPU_TAG = _$(CPU_ARCH)
+
++ifeq ($(SYSTEM_ZLIB),YES)
++# Currently (3.12.4) only the tools modutil and signtool are linked with libz
++# If USE_SYSTEM_ZLIB is not set then the tools link statically libzlib.a which
++# is also build in nss.
+ USE_SYSTEM_ZLIB = 1
+ ZLIB_LIBS = -lz
++endif
+
+ # The -rpath '$$ORIGIN' linker option instructs this library to search for its
+ # dependencies in the same directory where it resides.
--- misc/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/SunOS5.mk 2009-09-17 10:42:17.845459669 +0200
++++ misc/build/mozilla/security/coreconf/SunOS5.mk 2009-10-20 17:03:24.786509911 +0200
@@ -89,8 +89,12 @@
# OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
endif
@@ -85,7 +99,7 @@
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
ifndef BUILD_OPT
--- misc/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/arch.mk 2009-09-17 10:45:27.710858021 +0200
++++ misc/build/mozilla/security/coreconf/arch.mk 2009-10-20 17:03:24.807236644 +0200
@@ -324,7 +324,12 @@
# IMPL_STRATEGY may be defined too.
#
@@ -101,7 +115,7 @@
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifndef BUILD_OPT
--- misc/mozilla/security/coreconf/rules.mk 2009-08-11 05:23:39.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/rules.mk 2009-09-17 10:48:07.361462582 +0200
++++ misc/build/mozilla/security/coreconf/rules.mk 2009-10-20 17:03:24.815121351 +0200
@@ -355,7 +355,12 @@
ifdef NS_USE_GCC
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
@@ -117,7 +131,7 @@
@echo $(RES) finished
endif
--- misc/mozilla/security/nss/cmd/platlibs.mk 2009-06-18 01:01:48.000000000 +0200
-+++ misc/build/mozilla/security/nss/cmd/platlibs.mk 2009-09-17 11:08:16.697236076 +0200
++++ misc/build/mozilla/security/nss/cmd/platlibs.mk 2009-10-20 17:03:24.831220397 +0200
@@ -41,27 +41,28 @@
ifeq ($(OS_ARCH), SunOS)
ifeq ($(BUILD_SUN_PKG), 1)
diff --git a/zlib/zlib-1.1.4.patch b/zlib/zlib-1.1.4.patch
index 34f2fdde44ee..6b76c9114e6e 100644
--- a/zlib/zlib-1.1.4.patch
+++ b/zlib/zlib-1.1.4.patch
@@ -63,7 +63,7 @@
+ $(SLO_X64)$/trees.obj \
+ $(SLO_X64)$/zutil.obj \
+ $(SLO_X64)$/unzip.obj \
-+ $(SLO)$/ioapi.obj
++ $(SLO_X64)$/ioapi.obj
+
+LIB1TARGET_X64=$(SLB_X64)$/$(TARGET).lib
+LIB1OBJFILES_X64=$(SLOFILES_X64)