Bug#682683: unblock: sope/1.3.16-1
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package sope
Debian changelog:
sope (1.3.16-1) unstable; urgency=low
* New upstream release.
* Drop patches applied upstream:
- 0006-Fix-compilation-on-GNU-kFreeBSD
- 0008-Fix-stale-cache-issue-when-upgrading.patch
- 0009-GNUstep-1.24-fix.patch
* Build with hardening enabled.
-- Jeroen Dekkers <jeroen@dekkers.ch> Fri, 29 Jun 2012 20:53:29 +0200
The upstream release is a bugfix only release. Most of the fixes are
already in 1.3.15-4 because they are debian fixes submitted upstream
or were backported from development version to the debian package. The
only actual changes in the Debian package are:
* Build with hardening enabled
* Addition of two methods to classes in NGLdap
* Change in NGObjWeb to not use a deprecated method
The attached sope-gitdiff.patch is the difference between my git
branches of 1.3.15-4 and 1.3.16-1 that have all debian patches
applied, while the attached sope-debdiff.patch gives the complete
debdiff.
unblock sope/1.3.16-1
-- System Information:
Debian Release: wheezy/sid
APT prefers precise-updates
APT policy: (990, 'precise-updates'), (990, 'precise-security'), (990, 'precise-backports'), (990, 'precise'), (500, 'quantal')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-26-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff --git a/debian/changelog b/debian/changelog
index 4ddf8f3..8d2560a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+sope (1.3.16-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop patches applied upstream:
+ - 0006-Fix-compilation-on-GNU-kFreeBSD
+ - 0008-Fix-stale-cache-issue-when-upgrading.patch
+ - 0009-GNUstep-1.24-fix.patch
+ * Build with hardening enabled.
+
+ -- Jeroen Dekkers <jeroen@dekkers.ch> Fri, 29 Jun 2012 20:53:29 +0200
+
sope (1.3.15-4) unstable; urgency=low
* 0007-Fix-FTBFS-on-arm.patch:
diff --git a/debian/control b/debian/control
index e08398c..6ecfd20 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: sope
Section: libs
Priority: optional
Maintainer: Jeroen Dekkers <jeroen@dekkers.ch>
-Build-Depends: debhelper (>= 9), cdbs, gnustep-make, libgnustep-base-dev, gobjc, libxml2-dev, libldap2-dev, libgnutls-dev, zlib1g-dev, libpq-dev, libmysqlclient-dev, autotools-dev
+Build-Depends: debhelper (>= 9), cdbs, dpkg-dev (>= 1.16.1~), gnustep-make, libgnustep-base-dev, gobjc, libxml2-dev, libldap2-dev, libgnutls-dev, zlib1g-dev, libpq-dev, libmysqlclient-dev, autotools-dev
Standards-Version: 3.9.3
Homepage: http://www.sogo.nu/
Vcs-Browser: https://github.com/dekkers/sope
diff --git a/debian/libsope1.lintian-overrides b/debian/libsope1.lintian-overrides
index 8675979..6f0b3bf 100644
--- a/debian/libsope1.lintian-overrides
+++ b/debian/libsope1.lintian-overrides
@@ -1 +1,8 @@
+# We bundle a lot of libraries in one binary package, because
+# splitting them up in 11 binary packages isn't very useful.
package-name-doesnt-match-sonames
+
+# Checked the function calls and the following 2 warnings are false
+# positives.
+libsope1 binary: hardening-no-fortify-functions usr/lib/GNUstep/SaxDrivers-4.9/libxmlSAXDriver.sax/libxmlSAXDriver
+libsope1 binary: hardening-no-fortify-functions usr/lib/libEOControl.so.4.9.74
diff --git a/debian/rules b/debian/rules
index ce1c228..803a55a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,11 @@
# -*- makefile -*-
export DH_VERBOSE=1
+export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow
+include /usr/share/dpkg/buildflags.mk
+# FIXME: dpkg-buildflags / cdbs should support OBJCFLAGS
+DEB_MAKE_BUILD_TARGET = all messages=yes OBJCFLAGS="$(CFLAGS)"
+
include /usr/share/cdbs/1/rules/gnustep.mk
include /usr/share/cdbs/1/class/gnumakefile.mk
diff --git a/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m b/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m
index 13a33ee..50661ff 100644
--- a/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m
+++ b/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m
@@ -939,8 +939,7 @@ static BOOL _setValue(WOKeyPathAssociation *self, id _value, id root) {
handleUnknownKey stuff ...
*/
-#if GNUSTEP_BASE_LIBRARY && ((GNUSTEP_BASE_MAJOR_VERSION >= 1) && \
- (GNUSTEP_BASE_MINOR_VERSION >= 11))
+#if GNUSTEP_BASE_LIBRARY
// TODO: also do this for OSX 10.4? probably
[object setValue:_value forKey:info->extra.key];
#else
@@ -1097,9 +1096,9 @@ static BOOL _setValue(WOKeyPathAssociation *self, id _value, id root) {
return;
}
- if (info->type == WOKeyType_kvc) { // takeValue:forKey:..
+ if (info->type == WOKeyType_kvc) { // setValue:forKey:
NSCAssert(info->extra.key, @"no key object set ..");
- [_wo takeValue:uintNumObj(_value) forKey:info->extra.key];
+ [_wo setValue:uintNumObj(_value) forKey:info->extra.key];
return;
}
if (info->type == WOKeyType_binding) { // setValue:forBinding:
diff --git a/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble b/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble
index 7cbf560..415c8f6 100644
--- a/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble
+++ b/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble
@@ -5,12 +5,6 @@ ADDITIONAL_CPPFLAGS += -pipe
# -DPROFILE_CLUSTERS=1
-# disable optimization for exception handlers
-SaxDefaultHandler.m_FILE_FILTER_OUT_FLAGS = -O%
-WOCompoundElement.m_FILE_FILTER_OUT_FLAGS = -O%
-WOImage.m_FILE_FILTER_OUT_FLAGS = -O%
-
-
ADDITIONAL_CPPFLAGS += -pipe -Wall -funsigned-char -O2
ADDITIONAL_CPPFLAGS += -DCOMPILING_NGOBJWEB=1
diff --git a/sope-appserver/NGObjWeb/NGHttp/common.h b/sope-appserver/NGObjWeb/NGHttp/common.h
index ef3c694..c1d4c09 100644
--- a/sope-appserver/NGObjWeb/NGHttp/common.h
+++ b/sope-appserver/NGObjWeb/NGHttp/common.h
@@ -22,6 +22,7 @@
#ifndef __NGHttp_common_H__
#define __NGHttp_common_H__
+#include <inttypes.h>
#include <string.h>
#if !defined(__MINGW32__)
diff --git a/sope-ldap/NGLdap/NGLdapAttribute.h b/sope-ldap/NGLdap/NGLdapAttribute.h
index ae8c348..31bc764 100644
--- a/sope-ldap/NGLdap/NGLdapAttribute.h
+++ b/sope-ldap/NGLdap/NGLdapAttribute.h
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -61,6 +62,8 @@
- (NSEnumerator *)stringValueEnumerator;
- (NSString *)stringValueAtIndex:(unsigned)_idx;
+- (id) asArrayOrString;
+
@end
#endif /* __NGLdapAttribute_H__ */
diff --git a/sope-ldap/NGLdap/NGLdapAttribute.m b/sope-ldap/NGLdap/NGLdapAttribute.m
index 56e8f82..5b480ee 100644
--- a/sope-ldap/NGLdap/NGLdapAttribute.m
+++ b/sope-ldap/NGLdap/NGLdapAttribute.m
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -311,4 +312,18 @@
return s;
}
+- (id) asArrayOrString
+{
+ NSArray *arrayValue;
+ id value;
+
+ arrayValue = [self allStringValues];
+ if ([arrayValue count] == 1)
+ value = [arrayValue objectAtIndex: 0];
+ else
+ value = arrayValue;
+
+ return value;
+}
+
@end /* NGLdapAttribute */
diff --git a/sope-ldap/NGLdap/NGLdapEntry.h b/sope-ldap/NGLdap/NGLdapEntry.h
index b3ee4ab..d4b9669 100644
--- a/sope-ldap/NGLdap/NGLdapEntry.h
+++ b/sope-ldap/NGLdap/NGLdapEntry.h
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -24,7 +25,7 @@
#import <Foundation/NSObject.h>
-@class NSString, NSDictionary, NSArray;
+@class NSString, NSDictionary, NSMutableDictionary, NSArray;
@class NGLdapAttribute;
@interface NGLdapEntry : NSObject < NSCopying >
@@ -58,6 +59,8 @@
- (NSString *)ldif;
+- (NSMutableDictionary *) asDictionary;
+
@end
#endif /* __NGLdapEntry_H__ */
diff --git a/sope-ldap/NGLdap/NGLdapEntry.m b/sope-ldap/NGLdap/NGLdapEntry.m
index 0e8dbf5..da952b2 100644
--- a/sope-ldap/NGLdap/NGLdapEntry.m
+++ b/sope-ldap/NGLdap/NGLdapEntry.m
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -220,4 +221,29 @@
return s;
}
+- (NSMutableDictionary *) asDictionary
+{
+ NSMutableDictionary *ldapRecord;
+ NSDictionary *ldapAttributes;
+ NSArray *keys;
+ NSString *key;
+ NSUInteger count, max;
+ id value;
+
+ ldapAttributes = [self attributes];
+ keys = [ldapAttributes allKeys];
+ max = [keys count];
+
+ ldapRecord = [NSMutableDictionary dictionaryWithCapacity: max];
+ for (count = 0; count < max; count++)
+ {
+ key = [keys objectAtIndex: count];
+ value = [[ldapAttributes objectForKey: key] asArrayOrString];
+ if (value)
+ [ldapRecord setObject: value forKey: [key lowercaseString]];
+ }
+
+ return ldapRecord;
+}
+
@end /* NGLdapEntry */
diff --git a/sope-xml/DOM/GNUmakefile.preamble b/sope-xml/DOM/GNUmakefile.preamble
index 1d59173..74e4343 100644
--- a/sope-xml/DOM/GNUmakefile.preamble
+++ b/sope-xml/DOM/GNUmakefile.preamble
@@ -16,13 +16,6 @@ DOM_HEADER_FILES = $(libDOM_HEADER_FILES)
DOM_OBJC_FILES = $(libDOM_OBJC_FILES)
-# disable optimization for exception handlers
-DOMPYXOutputter.m_FILE_FILTER_OUT_FLAGS = -O%
-DOMXMLOutputter.m_FILE_FILTER_OUT_FLAGS = -O%
-DOMQueryPathExpression.m_FILE_FILTER_OUT_FLAGS = -O%
-DOMSaxHandler.m_FILE_FILTER_OUT_FLAGS = -O%
-NSObject+QPEval.m_FILE_FILTER_OUT_FLAGS = -O%
-
ADDITIONAL_CPPFLAGS += \
-O2 \
-Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \
diff --git a/sope-xml/SaxObjC/GNUmakefile.preamble b/sope-xml/SaxObjC/GNUmakefile.preamble
index bff95d1..ff23aba 100644
--- a/sope-xml/SaxObjC/GNUmakefile.preamble
+++ b/sope-xml/SaxObjC/GNUmakefile.preamble
@@ -16,11 +16,6 @@ libSaxObjC_HEADER_FILES_INSTALL_DIR = /SaxObjC
SaxObjC_HEADER_FILES = $(libSaxObjC_HEADER_FILES)
SaxObjC_OBJC_FILES = $(libSaxObjC_OBJC_FILES)
-# disable optimization for exception handlers
-SaxDefaultHandler.m_FILE_FILTER_OUT_FLAGS = -O%
-SaxHandlerBase.m_FILE_FILTER_OUT_FLAGS = -O%
-SaxObjectDecoder.m_FILE_FILTER_OUT_FLAGS = -O%
-
ADDITIONAL_CPPFLAGS += \
-O2 \
-Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \
diff --git a/sope-xml/XmlRpc/GNUmakefile.preamble b/sope-xml/XmlRpc/GNUmakefile.preamble
index 3b15d5c..ba06dae 100644
--- a/sope-xml/XmlRpc/GNUmakefile.preamble
+++ b/sope-xml/XmlRpc/GNUmakefile.preamble
@@ -11,9 +11,6 @@ XmlRpc_INTERFACE_VERSION=$(MAJOR_VERSION).$(MINOR_VERSION)
XmlRpc_VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBMINOR_VERSION)
-# disable optimization for exception handlers
-NSObject+XmlRpc.m_FILE_FILTER_OUT_FLAGS = -O%
-
ADDITIONAL_CPPFLAGS += \
-O2 \
-Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \
diff -Nru sope-1.3.15/_MTN/revision sope-1.3.16/_MTN/revision
--- sope-1.3.15/_MTN/revision 2012-05-11 22:23:08.000000000 +0200
+++ sope-1.3.16/_MTN/revision 2012-06-01 07:12:48.000000000 +0200
@@ -2,4 +2,4 @@
new_manifest [0000000000000000000000000000000000000001]
-old_revision [251de628e771ed3930ca566995fad547dbce20df]
+old_revision [bac2c81bb9b48922cfe4173bcbb8c041ec4631ef]
diff -Nru sope-1.3.15/debian/changelog sope-1.3.16/debian/changelog
--- sope-1.3.15/debian/changelog 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/changelog 2012-06-29 21:00:44.000000000 +0200
@@ -1,3 +1,14 @@
+sope (1.3.16-1) unstable; urgency=low
+
+ * New upstream release.
+ * Drop patches applied upstream:
+ - 0006-Fix-compilation-on-GNU-kFreeBSD
+ - 0008-Fix-stale-cache-issue-when-upgrading.patch
+ - 0009-GNUstep-1.24-fix.patch
+ * Build with hardening enabled.
+
+ -- Jeroen Dekkers <jeroen@dekkers.ch> Fri, 29 Jun 2012 20:53:29 +0200
+
sope (1.3.15-4) unstable; urgency=low
* 0007-Fix-FTBFS-on-arm.patch:
diff -Nru sope-1.3.15/debian/control sope-1.3.16/debian/control
--- sope-1.3.15/debian/control 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/control 2012-06-29 21:00:44.000000000 +0200
@@ -2,7 +2,7 @@
Section: libs
Priority: optional
Maintainer: Jeroen Dekkers <jeroen@dekkers.ch>
-Build-Depends: debhelper (>= 9), cdbs, gnustep-make, libgnustep-base-dev, gobjc, libxml2-dev, libldap2-dev, libgnutls-dev, zlib1g-dev, libpq-dev, libmysqlclient-dev, autotools-dev
+Build-Depends: debhelper (>= 9), cdbs, dpkg-dev (>= 1.16.1~), gnustep-make, libgnustep-base-dev, gobjc, libxml2-dev, libldap2-dev, libgnutls-dev, zlib1g-dev, libpq-dev, libmysqlclient-dev, autotools-dev
Standards-Version: 3.9.3
Homepage: http://www.sogo.nu/
Vcs-Browser: https://github.com/dekkers/sope
diff -Nru sope-1.3.15/debian/libsope1.lintian-overrides sope-1.3.16/debian/libsope1.lintian-overrides
--- sope-1.3.15/debian/libsope1.lintian-overrides 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/libsope1.lintian-overrides 2012-06-29 21:00:44.000000000 +0200
@@ -1 +1,8 @@
+# We bundle a lot of libraries in one binary package, because
+# splitting them up in 11 binary packages isn't very useful.
package-name-doesnt-match-sonames
+
+# Checked the function calls and the following 2 warnings are false
+# positives.
+libsope1 binary: hardening-no-fortify-functions usr/lib/GNUstep/SaxDrivers-4.9/libxmlSAXDriver.sax/libxmlSAXDriver
+libsope1 binary: hardening-no-fortify-functions usr/lib/libEOControl.so.4.9.74
diff -Nru sope-1.3.15/debian/patches/0006-Fix-FTBFS-on-arm.patch sope-1.3.16/debian/patches/0006-Fix-FTBFS-on-arm.patch
--- sope-1.3.15/debian/patches/0006-Fix-FTBFS-on-arm.patch 1970-01-01 01:00:00.000000000 +0100
+++ sope-1.3.16/debian/patches/0006-Fix-FTBFS-on-arm.patch 2012-06-29 15:40:26.000000000 +0200
@@ -0,0 +1,39 @@
+From: Jeroen Dekkers <jeroen@dekkers.ch>
+Date: Mon, 28 May 2012 16:10:46 +0200
+Subject: Fix FTBFS on arm
+
+Forwarded: http://www.sogo.nu/bugs/view.php?id=1820
+Author: Jeroen Dekkers <jeroen@dekkers.ch>
+---
+ .../GDLAccess/FoundationExt/PrintfFormatScanner.m | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m b/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
+index de90910..20c8a9b 100644
+--- a/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
++++ b/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
+@@ -32,12 +32,18 @@
+ va_list va;
+
+ #ifdef __va_copy
+- // args being NULL breaks heavily on amd64
+- if (args) {
+- __va_copy(va, args);
+- } else {
+- return format;
+- }
++ // args being NULL breaks heavily on amd64. It shouldn't be
++ // possible to be NULL at all, but we're called with an array as
++ // argument instead of a va_list in EOSQLQualifier and are thus
++ // calling __va_copy on an array, which is something that really
++ // shouldn't be done. Checking whether args is NULL breaks on arm
++ // however, because a va_list isn't a pointer, so we don't do the
++ // check on arm.
++#ifndef __arm__
++ if (!args)
++ return format;
++#endif
++ __va_copy(va, args);
+ #else
+ va = args;
+ #endif
diff -Nru sope-1.3.15/debian/patches/0006-Fix-compilation-on-GNU-kFreeBSD.patch sope-1.3.16/debian/patches/0006-Fix-compilation-on-GNU-kFreeBSD.patch
--- sope-1.3.15/debian/patches/0006-Fix-compilation-on-GNU-kFreeBSD.patch 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/patches/0006-Fix-compilation-on-GNU-kFreeBSD.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-From: Jeroen Dekkers <jeroen@dekkers.ch>
-Date: Wed, 23 May 2012 16:09:44 +0200
-Subject: Fix compilation on GNU/kFreeBSD
-
-Origin: vendor
-Forwarded: http://www.sogo.nu/bugs/view.php?id=1817
-Author: Jeroen Dekkers <jeroen@dekkers.ch>
----
- sope-core/NGStreams/NGInternetSocketAddress.m | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sope-core/NGStreams/NGInternetSocketAddress.m b/sope-core/NGStreams/NGInternetSocketAddress.m
-index 552366d..221f900 100644
---- a/sope-core/NGStreams/NGInternetSocketAddress.m
-+++ b/sope-core/NGStreams/NGInternetSocketAddress.m
-@@ -48,7 +48,7 @@
- #include "NGInternetSocketDomain.h"
- #include "common.h"
-
--#if defined(HAVE_GETHOSTBYNAME_R) && !defined(linux) && !defined(__FreeBSD__)
-+#if defined(HAVE_GETHOSTBYNAME_R) && !defined(linux) && !defined(__FreeBSD__) && !defined(__GLIBC__)
- #define USE_GETHOSTBYNAME_R 1
- #endif
-
diff -Nru sope-1.3.15/debian/patches/0007-Fix-FTBFS-on-arm.patch sope-1.3.16/debian/patches/0007-Fix-FTBFS-on-arm.patch
--- sope-1.3.15/debian/patches/0007-Fix-FTBFS-on-arm.patch 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/patches/0007-Fix-FTBFS-on-arm.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-From: Jeroen Dekkers <jeroen@dekkers.ch>
-Date: Mon, 28 May 2012 16:10:46 +0200
-Subject: Fix FTBFS on arm
-
-Forwarded: http://www.sogo.nu/bugs/view.php?id=1820
-Author: Jeroen Dekkers <jeroen@dekkers.ch>
----
- .../GDLAccess/FoundationExt/PrintfFormatScanner.m | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m b/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
-index 7d4a248..20c8a9b 100644
---- a/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
-+++ b/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
-@@ -32,12 +32,18 @@
- va_list va;
-
- #ifdef __va_copy
-- // args being NULL breaks heavily on amd64
-- if (args != NULL) {
-- __va_copy(va, args);
-- } else {
-- return format;
-- }
-+ // args being NULL breaks heavily on amd64. It shouldn't be
-+ // possible to be NULL at all, but we're called with an array as
-+ // argument instead of a va_list in EOSQLQualifier and are thus
-+ // calling __va_copy on an array, which is something that really
-+ // shouldn't be done. Checking whether args is NULL breaks on arm
-+ // however, because a va_list isn't a pointer, so we don't do the
-+ // check on arm.
-+#ifndef __arm__
-+ if (!args)
-+ return format;
-+#endif
-+ __va_copy(va, args);
- #else
- va = args;
- #endif
diff -Nru sope-1.3.15/debian/patches/0007-Remove-disabling-of-optimization.patch sope-1.3.16/debian/patches/0007-Remove-disabling-of-optimization.patch
--- sope-1.3.15/debian/patches/0007-Remove-disabling-of-optimization.patch 1970-01-01 01:00:00.000000000 +0100
+++ sope-1.3.16/debian/patches/0007-Remove-disabling-of-optimization.patch 2012-06-29 21:00:44.000000000 +0200
@@ -0,0 +1,77 @@
+From: Jeroen Dekkers <jeroen@dekkers.ch>
+Date: Fri, 29 Jun 2012 17:50:29 +0200
+Subject: Remove disabling of optimization
+
+Origin: vendor
+---
+ sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble | 6 ------
+ sope-xml/DOM/GNUmakefile.preamble | 7 -------
+ sope-xml/SaxObjC/GNUmakefile.preamble | 5 -----
+ sope-xml/XmlRpc/GNUmakefile.preamble | 3 ---
+ 4 files changed, 21 deletions(-)
+
+diff --git a/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble b/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble
+index 7cbf560..415c8f6 100644
+--- a/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble
++++ b/sope-appserver/NGObjWeb/DynamicElements/GNUmakefile.preamble
+@@ -5,12 +5,6 @@ ADDITIONAL_CPPFLAGS += -pipe
+ # -DPROFILE_CLUSTERS=1
+
+
+-# disable optimization for exception handlers
+-SaxDefaultHandler.m_FILE_FILTER_OUT_FLAGS = -O%
+-WOCompoundElement.m_FILE_FILTER_OUT_FLAGS = -O%
+-WOImage.m_FILE_FILTER_OUT_FLAGS = -O%
+-
+-
+ ADDITIONAL_CPPFLAGS += -pipe -Wall -funsigned-char -O2
+ ADDITIONAL_CPPFLAGS += -DCOMPILING_NGOBJWEB=1
+
+diff --git a/sope-xml/DOM/GNUmakefile.preamble b/sope-xml/DOM/GNUmakefile.preamble
+index 1d59173..74e4343 100644
+--- a/sope-xml/DOM/GNUmakefile.preamble
++++ b/sope-xml/DOM/GNUmakefile.preamble
+@@ -16,13 +16,6 @@ DOM_HEADER_FILES = $(libDOM_HEADER_FILES)
+ DOM_OBJC_FILES = $(libDOM_OBJC_FILES)
+
+
+-# disable optimization for exception handlers
+-DOMPYXOutputter.m_FILE_FILTER_OUT_FLAGS = -O%
+-DOMXMLOutputter.m_FILE_FILTER_OUT_FLAGS = -O%
+-DOMQueryPathExpression.m_FILE_FILTER_OUT_FLAGS = -O%
+-DOMSaxHandler.m_FILE_FILTER_OUT_FLAGS = -O%
+-NSObject+QPEval.m_FILE_FILTER_OUT_FLAGS = -O%
+-
+ ADDITIONAL_CPPFLAGS += \
+ -O2 \
+ -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \
+diff --git a/sope-xml/SaxObjC/GNUmakefile.preamble b/sope-xml/SaxObjC/GNUmakefile.preamble
+index bff95d1..ff23aba 100644
+--- a/sope-xml/SaxObjC/GNUmakefile.preamble
++++ b/sope-xml/SaxObjC/GNUmakefile.preamble
+@@ -16,11 +16,6 @@ libSaxObjC_HEADER_FILES_INSTALL_DIR = /SaxObjC
+ SaxObjC_HEADER_FILES = $(libSaxObjC_HEADER_FILES)
+ SaxObjC_OBJC_FILES = $(libSaxObjC_OBJC_FILES)
+
+-# disable optimization for exception handlers
+-SaxDefaultHandler.m_FILE_FILTER_OUT_FLAGS = -O%
+-SaxHandlerBase.m_FILE_FILTER_OUT_FLAGS = -O%
+-SaxObjectDecoder.m_FILE_FILTER_OUT_FLAGS = -O%
+-
+ ADDITIONAL_CPPFLAGS += \
+ -O2 \
+ -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \
+diff --git a/sope-xml/XmlRpc/GNUmakefile.preamble b/sope-xml/XmlRpc/GNUmakefile.preamble
+index 3b15d5c..ba06dae 100644
+--- a/sope-xml/XmlRpc/GNUmakefile.preamble
++++ b/sope-xml/XmlRpc/GNUmakefile.preamble
+@@ -11,9 +11,6 @@ XmlRpc_INTERFACE_VERSION=$(MAJOR_VERSION).$(MINOR_VERSION)
+ XmlRpc_VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBMINOR_VERSION)
+
+
+-# disable optimization for exception handlers
+-NSObject+XmlRpc.m_FILE_FILTER_OUT_FLAGS = -O%
+-
+ ADDITIONAL_CPPFLAGS += \
+ -O2 \
+ -Wall -DCOMPILE_FOR_GSTEP_MAKE=1 \
diff -Nru sope-1.3.15/debian/patches/0008-Fix-stale-cache-issue-when-upgrading.patch sope-1.3.16/debian/patches/0008-Fix-stale-cache-issue-when-upgrading.patch
--- sope-1.3.15/debian/patches/0008-Fix-stale-cache-issue-when-upgrading.patch 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/patches/0008-Fix-stale-cache-issue-when-upgrading.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,74 +0,0 @@
-From: Wolfgang Sourdeau <wsourdeau@inverse.ca>
-Date: Thu, 24 May 2012 14:26:45 +0000
-Subject: Fix stale cache issue when upgrading
-
-Origin: upstream, http://mtn.inverse.ca/revision/info/b2721d7f18528c981a921065d3272cca1a9070e8
----
- sope-appserver/WEExtensions/ChangeLog | 8 ++++++++
- sope-appserver/WEExtensions/WEResourceManager.m | 15 ++++++++++-----
- 2 files changed, 18 insertions(+), 5 deletions(-)
-
-diff --git a/sope-appserver/WEExtensions/ChangeLog b/sope-appserver/WEExtensions/ChangeLog
-index 771dc98..ff32f17 100644
---- a/sope-appserver/WEExtensions/ChangeLog
-+++ b/sope-appserver/WEExtensions/ChangeLog
-@@ -1,3 +1,11 @@
-+2012-05-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
-+
-+ * WEResourceManager.m
-+ (_urlForResourceNamed:inFramework:language:applicationName:):
-+ append "lm=" + the unix timestamp of the file last modification
-+ date to force a reload of the file each time it is modified, no
-+ matter what expiry date the browsers are using in their cache.
-+
- 2010-01-29 Wolfgang Sourdeau <wsourdeau@inverse.ca>
-
- * WEResourceManager.m
-diff --git a/sope-appserver/WEExtensions/WEResourceManager.m b/sope-appserver/WEExtensions/WEResourceManager.m
-index a7ed87f..03aa8b5 100644
---- a/sope-appserver/WEExtensions/WEResourceManager.m
-+++ b/sope-appserver/WEExtensions/WEResourceManager.m
-@@ -575,8 +575,7 @@ checkCache(NSDictionary *_cache, WEResourceKey *_key,
- }
- [ms appendString:_name];
-
-- url = [ms copy];
-- [ms release]; ms = nil;
-+ url = ms;
- if (debugOn) [self debugWithFormat:@"FOUND: '%@'", url];
- goto done;
- }
-@@ -589,6 +588,7 @@ checkCache(NSDictionary *_cache, WEResourceKey *_key,
- while ((path = [e nextObject])) {
- NSMutableString *ms;
- NSString *fpath, *basepath;
-+ NSDate *lastModified;
-
- /* check language */
- if (_lang) {
-@@ -608,7 +608,11 @@ checkCache(NSDictionary *_cache, WEResourceKey *_key,
-
- if (![fm fileExistsAtPath:fpath])
- continue;
--
-+
-+ lastModified = [[fm fileAttributesAtPath: fpath
-+ traverseLink: YES]
-+ fileModificationDate];
-+
- ms = [[NSMutableString alloc] initWithCapacity:256];
-
- if (prefix) [ms appendString:prefix];
-@@ -622,9 +626,10 @@ checkCache(NSDictionary *_cache, WEResourceKey *_key,
- [ms appendString:@".lproj/"];
- }
- [ms appendString:_name];
-+ [ms appendFormat: @"?lm=%u",
-+ (NSUInteger) [lastModified timeIntervalSince1970]];
-
-- url = [ms copy];
-- [ms release]; ms = nil;
-+ url = ms;
- if (debugOn) [self debugWithFormat:@"FOUND: '%@'", url];
- goto done;
- }
diff -Nru sope-1.3.15/debian/patches/0009-GNUstep-1.24-fix.patch sope-1.3.16/debian/patches/0009-GNUstep-1.24-fix.patch
--- sope-1.3.15/debian/patches/0009-GNUstep-1.24-fix.patch 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/patches/0009-GNUstep-1.24-fix.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,730 +0,0 @@
-From: Ludovic Marcotte <lmarcotte@inverse.ca>
-Date: Tue, 29 May 2012 18:56:25 +0000
-Subject: GNUstep 1.24 fix
-
-Origin: upstream, http://mtn.inverse.ca/revision/diff/1e79eab4c546452715e5171f1c326b7d36f1c195/with/99dc7d9dce88b8a323b1e7aab60de99ed2bfda60
----
- .../NGObjWeb/NGHttp/NGHttpHeaderFields.m | 18 +++++++--------
- sope-appserver/WOExtensions/WOTabPanel.m | 10 ++++----
- sope-core/NGExtensions/NGCalendarDateRange.m | 12 +++++-----
- .../NGExtensions/NGCalendarDateRange.h | 2 +-
- sope-gdl1/PostgreSQL/PGResultSet.m | 5 ----
- sope-gdl1/PostgreSQL/PostgreSQL72Channel.m | 16 +++++++++----
- sope-xml/DOM/DOMNodeWithChildren.m | 10 ++++----
- sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h | 4 ++--
- sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m | 18 +++++++--------
- sope-xml/SaxObjC/SaxAttributeList.m | 14 ++++++------
- sope-xml/SaxObjC/SaxAttributes.m | 14 ++++++------
- sope-xml/XmlRpc/NSObject+XmlRpc.h | 2 +-
- sope-xml/XmlRpc/NSObject+XmlRpc.m | 20 ++++++++--------
- sope-xml/XmlRpc/XmlRpcDecoder.m | 4 ++--
- sope-xml/XmlRpc/XmlRpcSaxHandler.m | 24 ++++++++++----------
- 15 files changed, 88 insertions(+), 85 deletions(-)
-
-diff --git a/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m b/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m
-index e3e1bd0..6629adb 100644
---- a/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m
-+++ b/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m
-@@ -145,7 +145,7 @@
-
- - (NSString *)stringValue {
- NSMutableString *str = [[NSMutableString allocWithZone:[self zone]] init];
-- int cnt, count = [self->charsets count];
-+ NSUInteger cnt, count = [self->charsets count];
-
- for (cnt = 0; cnt < count; cnt++) {
- if (cnt != 0) [str appendString:@","];
-@@ -201,7 +201,7 @@
-
- - (NSString *)stringValue {
- NSMutableString *str;
-- int cnt, count;
-+ NSUInteger cnt, count;
-
- str = [[NSMutableString allocWithZone:[self zone]] init];
- count = [self->types count];
-@@ -260,7 +260,7 @@
-
- - (NSString *)stringValue {
- NSMutableString *str = [[NSMutableString allocWithZone:[self zone]] init];
-- int cnt, count = [self->languages count];
-+ NSUInteger cnt, count = [self->languages count];
-
- for (cnt = 0; cnt < count; cnt++) {
- if (cnt != 0) [str appendString:@", "];
-@@ -283,8 +283,8 @@ static void _parseUserAgent(NGHttpUserAgent *self) {
-
- if ([self->value hasPrefix:@"Mozilla"]) {
- // Mozilla Browser or compatible
-- NSRange r;
-- int idx, av, iv;
-+ NSRange r;
-+ NSUInteger idx, av, iv;
-
- r = [self->value rangeOfString:@"/"];
- idx = r.location;
-@@ -299,7 +299,7 @@ static void _parseUserAgent(NGHttpUserAgent *self) {
-
- self->browser = @"Mozilla";
-
-- sscanf([tmp cString], "%i.%i", &av, &iv);
-+ sscanf([tmp cString], "%"PRIuPTR".%"PRIuPTR"", &av, &iv);
- self->majorVersion = av;
- self->minorVersion = iv;
-
-@@ -310,7 +310,7 @@ static void _parseUserAgent(NGHttpUserAgent *self) {
- tmp = [self->value substringFromIndex:(idx + 5)];
- self->browser = @"MSIE";
-
-- sscanf([tmp cString], "%i.%i", &av, &iv);
-+ sscanf([tmp cString], "%"PRIuPTR".%"PRIuPTR"", &av, &iv);
- self->majorVersion = av;
- self->minorVersion = iv;
- }
-@@ -553,8 +553,8 @@ static void _parseUserAgent(NGHttpUserAgent *self) {
- NSData *data = [_credentials dataByDecodingBase64];
-
- if (data) {
-- char *str = (char *)[data bytes];
-- int len = [data length];
-+ char *str = (char *)[data bytes];
-+ NSUInteger len = [data length];
- char *start = str;
-
- while ((*str != '\0') && (*str != ':') && (len > 0)) {
-diff --git a/sope-appserver/WOExtensions/WOTabPanel.m b/sope-appserver/WOExtensions/WOTabPanel.m
-index 504312a..9f798a1 100644
---- a/sope-appserver/WOExtensions/WOTabPanel.m
-+++ b/sope-appserver/WOExtensions/WOTabPanel.m
-@@ -82,7 +82,7 @@
- {
- WOComponent *sComponent;
- NSArray *ttabs;
-- unsigned i;
-+ NSUInteger i;
-
- sComponent = [_ctx component];
- ttabs = [self->tabs valueInComponent:sComponent];
-@@ -118,17 +118,17 @@
- if ([section isEqualToString:@"tab"]) {
- WOComponent *sComponent;
- NSArray *ttabs;
-- int idx;
-+ NSUInteger idx;
-
- [_ctx consumeElementID]; // consume 'tab'
-
- sComponent = [_ctx component];
- ttabs = [self->tabs valueInComponent:sComponent];
-
-- idx = [[_ctx currentElementID] intValue];
-+ idx = [[_ctx currentElementID] unsignedIntegerValue];
- [_ctx consumeElementID]; // consume index
-
-- if (idx >= (int)[ttabs count]) {
-+ if (idx >= [ttabs count]) {
- /* index out of range */
- idx = 0;
- }
-@@ -156,7 +156,7 @@
- WOComponent *sComponent;
- NSArray *ttabs;
- BOOL isInForm;
-- unsigned i, selIdx;
-+ NSUInteger i, selIdx;
- NSString *selColor, *unselColor, *s;
-
- if ([_ctx isRenderingDisabled]) {
-diff --git a/sope-core/NGExtensions/NGCalendarDateRange.m b/sope-core/NGExtensions/NGCalendarDateRange.m
-index 9bc4291..af4f8dd 100644
---- a/sope-core/NGExtensions/NGCalendarDateRange.m
-+++ b/sope-core/NGExtensions/NGCalendarDateRange.m
-@@ -217,7 +217,7 @@
- andEndDateKey:(NSString *)e
- {
- NSMutableArray *ma;
-- unsigned i, count;
-+ NSUInteger i, count;
-
- count = [self count];
- ma = [NSMutableArray arrayWithCapacity:count];
-@@ -243,7 +243,7 @@
- }
-
- - (BOOL)dateRangeArrayContainsDate:(NSCalendarDate *)_date {
-- unsigned i, count;
-+ NSUInteger i, count;
-
- if (_date == nil)
- return NO;
-@@ -256,8 +256,8 @@
- }
- return NO;
- }
--- (unsigned)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range {
-- unsigned i, count;
-+- (NSUInteger)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range {
-+ NSUInteger i, count;
-
- if (_range == nil)
- return NO;
-@@ -276,7 +276,7 @@
- // TODO: this is a candidate for unit testing ...
- // TODO: pretty "slow" algorithm, improve
- NSMutableArray *ma;
-- unsigned i, count;
-+ NSUInteger i, count;
-
- count = [self count];
- if (count < 2)
-@@ -289,7 +289,7 @@
- NGCalendarDateRange *rangeToAdd;
- NGCalendarDateRange *availRange;
- NGCalendarDateRange *newRange;
-- unsigned idx;
-+ NSUInteger idx;
-
- rangeToAdd = [self objectAtIndex:i];
- idx = [ma indexOfFirstIntersectingDateRange:rangeToAdd];
-diff --git a/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h b/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h
-index c86488b..9a53ed3 100644
---- a/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h
-+++ b/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h
-@@ -67,7 +67,7 @@
- - (NSArray *)arrayByCreatingDateRangesFromObjectsWithStartDateKey:(NSString *)s
- andEndDateKey:(NSString *)e;
-
--- (unsigned)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range;
-+- (NSUInteger)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range;
- - (BOOL)dateRangeArrayContainsDate:(NSCalendarDate *)_date;
-
- - (NSArray *)arrayByCompactingContainedDateRanges;
-diff --git a/sope-gdl1/PostgreSQL/PGResultSet.m b/sope-gdl1/PostgreSQL/PGResultSet.m
-index ce8db02..71e718b 100644
---- a/sope-gdl1/PostgreSQL/PGResultSet.m
-+++ b/sope-gdl1/PostgreSQL/PGResultSet.m
-@@ -98,12 +98,7 @@
- }
-
- - (int)indexOfFieldNamed:(NSString *)_name {
--#if LIB_FOUNDATION_LIBRARY
-- // TBD: might be wrong even in this case?
-- return PQfnumber(self->results, [_name cString]);
--#else
- return PQfnumber(self->results, [_name UTF8String]);
--#endif
- }
-
- - (int)fieldSizeAtIndex:(unsigned int)_idx {
-diff --git a/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m b/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m
-index 52c20c0..f081ee5 100644
---- a/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m
-+++ b/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m
-@@ -394,21 +394,29 @@ static int openConnectionCount = 0;
-
- for (cnt = 0; cnt < attrCount; cnt++) {
- EOAttribute *attribute;
-+#ifndef GDL_USE_PQFNUMBER_INDEX
-+ NSUInteger res;
-+#endif
-
- attribute = [_attributes objectAtIndex:cnt];
- #if GDL_USE_PQFNUMBER_INDEX
- self->fieldIndices[cnt] =
- [self->resultSet indexOfFieldNamed:[attribute columnName]];
-+ if (self->fieldIndices[cnt] == -1) {
-+ [PostgreSQL72Exception raiseWithFormat:
-+ @"attribute %@ not covered by query",
-+ attribute];
-+ }
- #else
-- self->fieldIndices[cnt] =
-- [fieldNames indexOfObject:[attribute columnName]];
--#endif
-+ res = [fieldNames indexOfObject:[attribute columnName]];
-
-- if (self->fieldIndices[cnt] == NSNotFound) {
-+ if (res == NSNotFound) {
- [PostgreSQL72Exception raiseWithFormat:
- @"attribute %@ not covered by query",
- attribute];
- }
-+ self->fieldIndices[cnt] = (int)res;
-+#endif
- [fieldNames replaceObjectAtIndex:self->fieldIndices[cnt] withObject:null];
- }
- [fieldNames release]; fieldNames = nil;
-diff --git a/sope-xml/DOM/DOMNodeWithChildren.m b/sope-xml/DOM/DOMNodeWithChildren.m
-index f4c2803..72af9a5 100644
---- a/sope-xml/DOM/DOMNodeWithChildren.m
-+++ b/sope-xml/DOM/DOMNodeWithChildren.m
-@@ -59,7 +59,7 @@
- : nil;
- }
- - (id<NSObject,DOMNode>)lastChild {
-- unsigned count;
-+ NSUInteger count;
-
- return (count = [self->childNodes count]) > 0
- ? [self->childNodes objectAtIndex:(count - 1)]
-@@ -69,7 +69,7 @@
- /* modification */
-
- - (id<NSObject,DOMNode>)removeChild:(id<NSObject,DOMNode>)_node {
-- unsigned idx;
-+ NSUInteger idx;
-
- if (self->childNodes == nil)
- /* this node has no childnodes ! */
-@@ -93,7 +93,7 @@
-
- if ([_node nodeType] == DOM_DOCUMENT_FRAGMENT_NODE) {
- id fragNodes;
-- unsigned i, count;
-+ NSUInteger i, count;
- NSMutableArray *cache;
-
- fragNodes = [_node childNodes];
-@@ -133,7 +133,7 @@
- /* sibling navigation */
-
- - (id)_domNodeBeforeNode:(id)_node {
-- unsigned idx;
-+ NSUInteger idx;
-
- if ((idx = [self->childNodes indexOfObject:_node]) == NSNotFound)
- /* given node isn't a child of this node */
-@@ -145,7 +145,7 @@
- return [self->childNodes objectAtIndex:(idx - 1)];
- }
- - (id)_domNodeAfterNode:(id)_node {
-- unsigned idx, count;
-+ NSUInteger idx, count;
-
- if ((count = [self->childNodes count]) == 0)
- /* this node has no children at all .. */
-diff --git a/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h b/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h
-index 35a24af..25073c9 100644
---- a/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h
-+++ b/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h
-@@ -62,7 +62,7 @@
-
- - (void)parse;
-
--- (int)lineType:(StructuredLine *)_line;
-+- (NSUInteger)lineType:(StructuredLine *)_line;
-
- - (void)separateIntoBlocks;
- - (void)adjustLineLevels;
-@@ -78,7 +78,7 @@
- - (StructuredTextLiteralBlock *)buildLiteralBlock;
- - (StructuredTextList *)buildList;
-
--- (int)listItemTypology:(StructuredLine *)_line;
-+- (NSUInteger)listItemTypology:(StructuredLine *)_line;
-
- @end
-
-diff --git a/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m b/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m
-index 25742a5..7ff8209 100644
---- a/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m
-+++ b/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m
-@@ -105,7 +105,7 @@
- NSString *text, *currentLine, *trimmedLine;
- NSMutableString *buf;
- NSCharacterSet *set;
-- int i, count;
-+ NSUInteger i, count;
-
- set = [NSCharacterSet characterSetWithCharactersInString:@"\r"];
- buf = [NSMutableString stringWithCapacity:256];
-@@ -278,7 +278,7 @@
- [objectStack release];
- }
-
--- (int)lineType:(StructuredLine *)aLine {
-+- (NSUInteger)lineType:(StructuredLine *)aLine {
- if ([self checkForListItem:aLine])
- return StructuredTextParserLine_List;
-
-@@ -357,7 +357,7 @@
-
- if ([[text stringByTrimmingCharactersInSet:
- [NSCharacterSet whitespaceCharacterSet]] hasSuffix:@"::"]) {
-- int length;
-+ NSUInteger length;
-
- length = [text length];
- text = [text substringToIndex:length - 2];
-@@ -384,7 +384,7 @@
- StructuredLine *line, *prevLine = nil;
- StructuredTextListItem *item = nil;
- StructuredStack *paragraphs;
-- int type;
-+ NSUInteger type;
-
- result = nil;
- paragraphs = [self paragraphs];
-@@ -428,7 +428,7 @@
- break;
- case StructuredTextList_DEFINITION: {
- NSArray *components;
-- int i, count;
-+ NSUInteger i, count;
-
- components = [text componentsSeparatedByString:@" -- "];
- count = [components count];
-@@ -477,10 +477,10 @@
- return [result autorelease];
- }
-
--- (int)listItemTypology:(StructuredLine *)aLine {
-- NSString *text;
-- int type = NSNotFound;
-- int i, h, length;
-+- (NSUInteger)listItemTypology:(StructuredLine *)aLine {
-+ NSString *text;
-+ NSUInteger type = NSNotFound;
-+ NSUInteger i, h, length;
- NSRange range;
-
- text = [aLine text];
-diff --git a/sope-xml/SaxObjC/SaxAttributeList.m b/sope-xml/SaxObjC/SaxAttributeList.m
-index 0b8f75e..7fcb7e1 100644
---- a/sope-xml/SaxObjC/SaxAttributeList.m
-+++ b/sope-xml/SaxObjC/SaxAttributeList.m
-@@ -33,7 +33,7 @@
- }
- - (id)initWithAttributeList:(id<SaxAttributeList>)_attrList {
- if ((self = [self init])) {
-- unsigned i;
-+ NSUInteger i;
-
- for (i = 0; i < [_attrList count]; i++) {
- [self->names addObject:[_attrList nameAtIndex:i]];
-@@ -46,7 +46,7 @@
-
- - (id)initWithAttributes:(id<SaxAttributes>)_attrList {
- if ((self = [self init])) {
-- int i, c;
-+ NSUInteger i, c;
-
- for (i = 0, c = [_attrList count]; i < c; i++) {
- [self->names addObject:[_attrList rawNameAtIndex:i]];
-@@ -67,7 +67,7 @@
- /* modify operations */
-
- - (void)setAttributeList:(id<SaxAttributeList>)_attrList {
-- unsigned i;
-+ NSUInteger i;
-
- [self clear];
-
-@@ -95,7 +95,7 @@
- }
-
- - (void)removeAttribute:(NSString *)_name {
-- int idx;
-+ NSUInteger idx;
-
- if ((idx = [self->names indexOfObject:_name]) == NSNotFound)
- return;
-@@ -118,7 +118,7 @@
- }
-
- - (NSString *)typeForName:(NSString *)_name {
-- int i;
-+ NSUInteger i;
-
- if ((i = [self->names indexOfObject:_name]) == NSNotFound)
- return nil;
-@@ -126,7 +126,7 @@
- return [self typeAtIndex:i];
- }
- - (NSString *)valueForName:(NSString *)_name {
-- int i;
-+ NSUInteger i;
-
- if ((i = [self->names indexOfObject:_name]) == NSNotFound)
- return nil;
-@@ -157,7 +157,7 @@
- - (NSString *)description {
- NSMutableString *s;
- NSString *is;
-- int i, c;
-+ NSUInteger i, c;
-
- s = [[NSMutableString alloc] init];
- [s appendFormat:@"<%08X[%@]:", self, NSStringFromClass([self class])];
-diff --git a/sope-xml/SaxObjC/SaxAttributes.m b/sope-xml/SaxObjC/SaxAttributes.m
-index d07a0fa..5166beb 100644
---- a/sope-xml/SaxObjC/SaxAttributes.m
-+++ b/sope-xml/SaxObjC/SaxAttributes.m
-@@ -36,7 +36,7 @@
- }
- - (id)initWithAttributes:(id<SaxAttributes>)_attrs {
- if ((self = [self init])) {
-- int i, c;
-+ NSUInteger i, c;
-
- for (i = 0, c = [_attrs count]; i < c; i++) {
- [self addAttribute:[_attrs nameAtIndex:i]
-@@ -51,7 +51,7 @@
-
- - (id)initWithAttributeList:(id<SaxAttributeList>)_attrList {
- if ((self = [self init])) {
-- unsigned i;
-+ NSUInteger i;
-
- for (i = 0; i < [_attrList count]; i++) {
- [self addAttribute:[_attrList nameAtIndex:i] uri:@""
-@@ -115,7 +115,7 @@
- }
- - (NSUInteger)indexOfName:(NSString *)_localPart uri:(NSString *)_uri
- {
-- unsigned int i, c;
-+ NSUInteger i, c;
-
- for (i = 0, c = [self count]; i < c; i++) {
- NSString *name;
-@@ -160,7 +160,7 @@
- /* lookup data by name */
-
- - (NSString *)typeForRawName:(NSString *)_rawName {
-- unsigned int i;
-+ NSUInteger i;
-
- if ((i = [self indexOfRawName:_rawName]) == NSNotFound)
- return nil;
-@@ -168,7 +168,7 @@
- return [self typeAtIndex:i];
- }
- - (NSString *)typeForName:(NSString *)_localName uri:(NSString *)_uri {
-- unsigned int i;
-+ NSUInteger i;
-
- if ((i = [self indexOfName:_localName uri:_uri]) == NSNotFound)
- return nil;
-@@ -177,7 +177,7 @@
- }
-
- - (NSString *)valueForRawName:(NSString *)_rawName {
-- unsigned int i;
-+ NSUInteger i;
-
- if ((i = [self indexOfRawName:_rawName]) == NSNotFound)
- return nil;
-@@ -210,7 +210,7 @@
- - (NSString *)description {
- NSMutableString *s;
- NSString *is;
-- int i, c;
-+ NSUInteger i, c;
-
- s = [[NSMutableString alloc] init];
- [s appendFormat:@"<%08X[%@]:", self, NSStringFromClass([self class])];
-diff --git a/sope-xml/XmlRpc/NSObject+XmlRpc.h b/sope-xml/XmlRpc/NSObject+XmlRpc.h
-index 2b5eda1..93192ee 100644
---- a/sope-xml/XmlRpc/NSObject+XmlRpc.h
-+++ b/sope-xml/XmlRpc/NSObject+XmlRpc.h
-@@ -29,7 +29,7 @@
- @interface NSObject(XmlRpcValues)
-
- + (id)objectWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len;
-+ characters:(unichar *)_chars length:(NSUInteger)_len;
-
- @end
-
-diff --git a/sope-xml/XmlRpc/NSObject+XmlRpc.m b/sope-xml/XmlRpc/NSObject+XmlRpc.m
-index 211f980..5d83b04 100644
---- a/sope-xml/XmlRpc/NSObject+XmlRpc.m
-+++ b/sope-xml/XmlRpc/NSObject+XmlRpc.m
-@@ -31,25 +31,25 @@
- @interface NSString(XmlRpcParsing)
- - (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars
-- length:(int)_len;
-+ length:(NSUInteger)_len;
- @end
-
- @interface NSDate(XmlRpcParsing)
- - (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars
-- length:(int)_len;
-+ length:(NSUInteger)_len;
- @end
-
- @interface NSNumber(XmlRpcParsing)
- - (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars
-- length:(int)_len;
-+ length:(NSUInteger)_len;
- @end
-
- @interface NSData(XmlRpcParsing)
- - (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars
-- length:(int)_len;
-+ length:(NSUInteger)_len;
- @end
-
- @interface NSData(UsedNGExtensions)
-@@ -132,7 +132,7 @@
- }
-
- + (id)objectWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len
-+ characters:(unichar *)_chars length:(NSUInteger)_len
- {
- static NSDictionary *typeToClass = nil;
- Class ObjClass = Nil;
-@@ -171,7 +171,7 @@
- }
-
- - (id)initWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len
-+ characters:(unichar *)_chars length:(NSUInteger)_len
- {
- if ([self respondsToSelector:@selector(initWithString:)]) {
- NSString *s;
-@@ -194,7 +194,7 @@
- /* NSData represents the xml-rpc base type 'base64' */
-
- - (id)initWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len
-+ characters:(unichar *)_chars length:(NSUInteger)_len
- {
- NSString *v;
-
-@@ -215,7 +215,7 @@
-
- /* NSDate represents the xml-rpc type dateTime.iso8601: */
- - (id)initWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len
-+ characters:(unichar *)_chars length:(NSUInteger)_len
- {
- /* eg 19980717T14:08:55 */
- if (_len < 17) {
-@@ -283,7 +283,7 @@
- /* NSNumber represents the xml-rpc base types: 'int', 'double', 'boolean': */
-
- - (id)initWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len
-+ characters:(unichar *)_chars length:(NSUInteger)_len
- {
- if ([_type isEqualToString:@"boolean"]) {
- BOOL v;
-@@ -318,7 +318,7 @@
- @implementation NSString(XmlRpcParsing)
-
- - (id)initWithXmlRpcType:(NSString *)_type
-- characters:(unichar *)_chars length:(int)_len
-+ characters:(unichar *)_chars length:(NSUInteger)_len
- {
- /* this is *never* called, since NSString+alloc returns a NSTemporaryString*/
- return [self initWithCharacters:_chars length:_len];
-diff --git a/sope-xml/XmlRpc/XmlRpcDecoder.m b/sope-xml/XmlRpc/XmlRpcDecoder.m
-index eb19825..580152e 100644
---- a/sope-xml/XmlRpc/XmlRpcDecoder.m
-+++ b/sope-xml/XmlRpc/XmlRpcDecoder.m
-@@ -589,8 +589,8 @@ static BOOL doDebug = NO;
- int result;
-
- if ((newValue = [self beginDecodingKey:_key]) == nil)
-- /* any useful alternatives ? */
-- return NSNotFound;
-+ /* NSKeyedArchiver returns 0, we too */
-+ return 0;
-
- result = [self decodeInt];
- [self finishedDecodingKey];
-diff --git a/sope-xml/XmlRpc/XmlRpcSaxHandler.m b/sope-xml/XmlRpc/XmlRpcSaxHandler.m
-index 1245b9b..25083e9 100644
---- a/sope-xml/XmlRpc/XmlRpcSaxHandler.m
-+++ b/sope-xml/XmlRpc/XmlRpcSaxHandler.m
-@@ -158,7 +158,7 @@ static BOOL doDebug = NO;
- - (void)end_name {
- self->nextCharactersProcessor = NULL;
- }
--- (void)_name:(unichar *)_chars length:(int)_len {
-+- (void)_name:(unichar *)_chars length:(NSUInteger)_len {
- NSString *name;
- name = [NSString stringWithCharacters:_chars length:_len];
- [self->memberNameStack addObject:name];
-@@ -184,7 +184,7 @@ static BOOL doDebug = NO;
- self->valueNestingLevel--;
- }
-
--- (void)_dateValue:(unichar *)_chars length:(int)_len {
-+- (void)_dateValue:(unichar *)_chars length:(NSUInteger)_len {
- if (self->dateTime)
- return;
-
-@@ -193,7 +193,7 @@ static BOOL doDebug = NO;
- retain];
- }
-
--- (void)_baseValue:(unichar *)_chars length:(int)_len {
-+- (void)_baseValue:(unichar *)_chars length:(NSUInteger)_len {
- id value;
-
- if (self->valueNestingLevel == 0) {
-@@ -239,8 +239,8 @@ static BOOL doDebug = NO;
- self->nextCharactersProcessor = @selector(_baseValue:length:);
- }
- - (void)start_dateTime:(id<SaxAttributes>)_attrs {
-- NSString *tz;
-- int idx;
-+ NSString *tz;
-+ NSUInteger idx;
-
- [self->timeZone release]; self->timeZone = nil;
- [self->dateTime release]; self->dateTime = nil;
-@@ -467,7 +467,7 @@ static BOOL doDebug = NO;
- - (void)end_methodName {
- self->nextCharactersProcessor = NULL;
- }
--- (void)_methodName:(unichar *)_chars length:(int)_len {
-+- (void)_methodName:(unichar *)_chars length:(NSUInteger)_len {
- [self->methodName release];
- self->methodName = [[NSString alloc] initWithCharacters:_chars length:_len];
- }
-@@ -529,8 +529,8 @@ static BOOL doDebug = NO;
- attributes:(id<SaxAttributes>)_attrs
- {
- NSString *tmp = nil;
-- SEL sel;
-- int idx;
-+ SEL sel;
-+ NSUInteger idx;
-
- [self->tagStack addObject:_rawName];
-
-@@ -559,14 +559,14 @@ static BOOL doDebug = NO;
- namespace:(NSString *)_ns
- rawName:(NSString *)_rawName
- {
-- unsigned stackDepth, lastIdx;
-+ NSUInteger stackDepth, lastIdx;
- NSString *tmp;
- SEL sel;
-
- if (self->nextCharactersProcessor != NULL) {
-- void (*m)(id, SEL, unichar *, int);
-+ void (*m)(id, SEL, unichar *, NSUInteger);
- unichar *chars;
-- unsigned len;
-+ NSUInteger len;
-
- len = [self->characters length];
- chars = malloc(sizeof(unichar)*len);
-@@ -606,7 +606,7 @@ static BOOL doDebug = NO;
- }
- }
-
--- (void)characters:(unichar *)_chars length:(int)_len {
-+- (void)characters:(unichar *)_chars length:(NSUInteger)_len {
- if (_len > 0) {
- [self->characters appendString:
- [NSString stringWithCharacters:_chars length:_len]];
diff -Nru sope-1.3.15/debian/patches/series sope-1.3.16/debian/patches/series
--- sope-1.3.15/debian/patches/series 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/patches/series 2012-06-29 21:00:44.000000000 +0200
@@ -3,7 +3,5 @@
0003-close-all-fds-on-daemon-start.patch
0004-link-everything-correctly.patch
0005-Do-not-build-xmlrpc-and-stxsaxdriver.patch
-0006-Fix-compilation-on-GNU-kFreeBSD.patch
-0007-Fix-FTBFS-on-arm.patch
-0008-Fix-stale-cache-issue-when-upgrading.patch
-0009-GNUstep-1.24-fix.patch
+0006-Fix-FTBFS-on-arm.patch
+0007-Remove-disabling-of-optimization.patch
diff -Nru sope-1.3.15/debian/rules sope-1.3.16/debian/rules
--- sope-1.3.15/debian/rules 2012-07-03 01:12:28.000000000 +0200
+++ sope-1.3.16/debian/rules 2012-06-29 21:00:44.000000000 +0200
@@ -2,6 +2,11 @@
# -*- makefile -*-
export DH_VERBOSE=1
+export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow
+include /usr/share/dpkg/buildflags.mk
+# FIXME: dpkg-buildflags / cdbs should support OBJCFLAGS
+DEB_MAKE_BUILD_TARGET = all messages=yes OBJCFLAGS="$(CFLAGS)"
+
include /usr/share/cdbs/1/rules/gnustep.mk
include /usr/share/cdbs/1/class/gnumakefile.mk
diff -Nru sope-1.3.15/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m sope-1.3.16/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m
--- sope-1.3.15/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m 2012-05-11 22:23:08.000000000 +0200
+++ sope-1.3.16/sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m 2012-06-01 07:12:49.000000000 +0200
@@ -939,8 +939,7 @@
handleUnknownKey stuff ...
*/
-#if GNUSTEP_BASE_LIBRARY && ((GNUSTEP_BASE_MAJOR_VERSION >= 1) && \
- (GNUSTEP_BASE_MINOR_VERSION >= 11))
+#if GNUSTEP_BASE_LIBRARY
// TODO: also do this for OSX 10.4? probably
[object setValue:_value forKey:info->extra.key];
#else
@@ -1097,9 +1096,9 @@
return;
}
- if (info->type == WOKeyType_kvc) { // takeValue:forKey:..
+ if (info->type == WOKeyType_kvc) { // setValue:forKey:
NSCAssert(info->extra.key, @"no key object set ..");
- [_wo takeValue:uintNumObj(_value) forKey:info->extra.key];
+ [_wo setValue:uintNumObj(_value) forKey:info->extra.key];
return;
}
if (info->type == WOKeyType_binding) { // setValue:forBinding:
diff -Nru sope-1.3.15/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m sope-1.3.16/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m
--- sope-1.3.15/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m 2012-05-11 22:23:08.000000000 +0200
+++ sope-1.3.16/sope-appserver/NGObjWeb/NGHttp/NGHttpHeaderFields.m 2012-06-01 07:12:49.000000000 +0200
@@ -145,7 +145,7 @@
- (NSString *)stringValue {
NSMutableString *str = [[NSMutableString allocWithZone:[self zone]] init];
- int cnt, count = [self->charsets count];
+ NSUInteger cnt, count = [self->charsets count];
for (cnt = 0; cnt < count; cnt++) {
if (cnt != 0) [str appendString:@","];
@@ -201,7 +201,7 @@
- (NSString *)stringValue {
NSMutableString *str;
- int cnt, count;
+ NSUInteger cnt, count;
str = [[NSMutableString allocWithZone:[self zone]] init];
count = [self->types count];
@@ -260,7 +260,7 @@
- (NSString *)stringValue {
NSMutableString *str = [[NSMutableString allocWithZone:[self zone]] init];
- int cnt, count = [self->languages count];
+ NSUInteger cnt, count = [self->languages count];
for (cnt = 0; cnt < count; cnt++) {
if (cnt != 0) [str appendString:@", "];
@@ -283,8 +283,8 @@
if ([self->value hasPrefix:@"Mozilla"]) {
// Mozilla Browser or compatible
- NSRange r;
- int idx, av, iv;
+ NSRange r;
+ NSUInteger idx, av, iv;
r = [self->value rangeOfString:@"/"];
idx = r.location;
@@ -299,7 +299,7 @@
self->browser = @"Mozilla";
- sscanf([tmp cString], "%i.%i", &av, &iv);
+ sscanf([tmp cString], "%"PRIuPTR".%"PRIuPTR"", &av, &iv);
self->majorVersion = av;
self->minorVersion = iv;
@@ -310,7 +310,7 @@
tmp = [self->value substringFromIndex:(idx + 5)];
self->browser = @"MSIE";
- sscanf([tmp cString], "%i.%i", &av, &iv);
+ sscanf([tmp cString], "%"PRIuPTR".%"PRIuPTR"", &av, &iv);
self->majorVersion = av;
self->minorVersion = iv;
}
@@ -553,8 +553,8 @@
NSData *data = [_credentials dataByDecodingBase64];
if (data) {
- char *str = (char *)[data bytes];
- int len = [data length];
+ char *str = (char *)[data bytes];
+ NSUInteger len = [data length];
char *start = str;
while ((*str != '\0') && (*str != ':') && (len > 0)) {
diff -Nru sope-1.3.15/sope-appserver/NGObjWeb/NGHttp/common.h sope-1.3.16/sope-appserver/NGObjWeb/NGHttp/common.h
--- sope-1.3.15/sope-appserver/NGObjWeb/NGHttp/common.h 2012-05-11 22:23:08.000000000 +0200
+++ sope-1.3.16/sope-appserver/NGObjWeb/NGHttp/common.h 2012-06-01 07:12:49.000000000 +0200
@@ -22,6 +22,7 @@
#ifndef __NGHttp_common_H__
#define __NGHttp_common_H__
+#include <inttypes.h>
#include <string.h>
#if !defined(__MINGW32__)
diff -Nru sope-1.3.15/sope-appserver/WEExtensions/ChangeLog sope-1.3.16/sope-appserver/WEExtensions/ChangeLog
--- sope-1.3.15/sope-appserver/WEExtensions/ChangeLog 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-appserver/WEExtensions/ChangeLog 2012-06-01 07:12:50.000000000 +0200
@@ -1,3 +1,11 @@
+2012-05-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * WEResourceManager.m
+ (_urlForResourceNamed:inFramework:language:applicationName:):
+ append "lm=" + the unix timestamp of the file last modification
+ date to force a reload of the file each time it is modified, no
+ matter what expiry date the browsers are using in their cache.
+
2010-01-29 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* WEResourceManager.m
diff -Nru sope-1.3.15/sope-appserver/WEExtensions/WEResourceManager.m sope-1.3.16/sope-appserver/WEExtensions/WEResourceManager.m
--- sope-1.3.15/sope-appserver/WEExtensions/WEResourceManager.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-appserver/WEExtensions/WEResourceManager.m 2012-06-01 07:12:50.000000000 +0200
@@ -575,8 +575,7 @@
}
[ms appendString:_name];
- url = [ms copy];
- [ms release]; ms = nil;
+ url = ms;
if (debugOn) [self debugWithFormat:@"FOUND: '%@'", url];
goto done;
}
@@ -589,6 +588,7 @@
while ((path = [e nextObject])) {
NSMutableString *ms;
NSString *fpath, *basepath;
+ NSDate *lastModified;
/* check language */
if (_lang) {
@@ -608,7 +608,11 @@
if (![fm fileExistsAtPath:fpath])
continue;
-
+
+ lastModified = [[fm fileAttributesAtPath: fpath
+ traverseLink: YES]
+ fileModificationDate];
+
ms = [[NSMutableString alloc] initWithCapacity:256];
if (prefix) [ms appendString:prefix];
@@ -622,9 +626,10 @@
[ms appendString:@".lproj/"];
}
[ms appendString:_name];
+ [ms appendFormat: @"?lm=%u",
+ (NSUInteger) [lastModified timeIntervalSince1970]];
- url = [ms copy];
- [ms release]; ms = nil;
+ url = ms;
if (debugOn) [self debugWithFormat:@"FOUND: '%@'", url];
goto done;
}
diff -Nru sope-1.3.15/sope-appserver/WOExtensions/WOTabPanel.m sope-1.3.16/sope-appserver/WOExtensions/WOTabPanel.m
--- sope-1.3.15/sope-appserver/WOExtensions/WOTabPanel.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-appserver/WOExtensions/WOTabPanel.m 2012-06-01 07:12:50.000000000 +0200
@@ -82,7 +82,7 @@
{
WOComponent *sComponent;
NSArray *ttabs;
- unsigned i;
+ NSUInteger i;
sComponent = [_ctx component];
ttabs = [self->tabs valueInComponent:sComponent];
@@ -118,17 +118,17 @@
if ([section isEqualToString:@"tab"]) {
WOComponent *sComponent;
NSArray *ttabs;
- int idx;
+ NSUInteger idx;
[_ctx consumeElementID]; // consume 'tab'
sComponent = [_ctx component];
ttabs = [self->tabs valueInComponent:sComponent];
- idx = [[_ctx currentElementID] intValue];
+ idx = [[_ctx currentElementID] unsignedIntegerValue];
[_ctx consumeElementID]; // consume index
- if (idx >= (int)[ttabs count]) {
+ if (idx >= [ttabs count]) {
/* index out of range */
idx = 0;
}
@@ -156,7 +156,7 @@
WOComponent *sComponent;
NSArray *ttabs;
BOOL isInForm;
- unsigned i, selIdx;
+ NSUInteger i, selIdx;
NSString *selColor, *unselColor, *s;
if ([_ctx isRenderingDisabled]) {
diff -Nru sope-1.3.15/sope-core/NGExtensions/NGCalendarDateRange.m sope-1.3.16/sope-core/NGExtensions/NGCalendarDateRange.m
--- sope-1.3.15/sope-core/NGExtensions/NGCalendarDateRange.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-core/NGExtensions/NGCalendarDateRange.m 2012-06-01 07:12:50.000000000 +0200
@@ -217,7 +217,7 @@
andEndDateKey:(NSString *)e
{
NSMutableArray *ma;
- unsigned i, count;
+ NSUInteger i, count;
count = [self count];
ma = [NSMutableArray arrayWithCapacity:count];
@@ -243,7 +243,7 @@
}
- (BOOL)dateRangeArrayContainsDate:(NSCalendarDate *)_date {
- unsigned i, count;
+ NSUInteger i, count;
if (_date == nil)
return NO;
@@ -256,8 +256,8 @@
}
return NO;
}
-- (unsigned)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range {
- unsigned i, count;
+- (NSUInteger)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range {
+ NSUInteger i, count;
if (_range == nil)
return NO;
@@ -276,7 +276,7 @@
// TODO: this is a candidate for unit testing ...
// TODO: pretty "slow" algorithm, improve
NSMutableArray *ma;
- unsigned i, count;
+ NSUInteger i, count;
count = [self count];
if (count < 2)
@@ -289,7 +289,7 @@
NGCalendarDateRange *rangeToAdd;
NGCalendarDateRange *availRange;
NGCalendarDateRange *newRange;
- unsigned idx;
+ NSUInteger idx;
rangeToAdd = [self objectAtIndex:i];
idx = [ma indexOfFirstIntersectingDateRange:rangeToAdd];
diff -Nru sope-1.3.15/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h sope-1.3.16/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h
--- sope-1.3.15/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-core/NGExtensions/NGExtensions/NGCalendarDateRange.h 2012-06-01 07:12:50.000000000 +0200
@@ -67,7 +67,7 @@
- (NSArray *)arrayByCreatingDateRangesFromObjectsWithStartDateKey:(NSString *)s
andEndDateKey:(NSString *)e;
-- (unsigned)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range;
+- (NSUInteger)indexOfFirstIntersectingDateRange:(NGCalendarDateRange *)_range;
- (BOOL)dateRangeArrayContainsDate:(NSCalendarDate *)_date;
- (NSArray *)arrayByCompactingContainedDateRanges;
diff -Nru sope-1.3.15/sope-core/NGStreams/NGInternetSocketAddress.m sope-1.3.16/sope-core/NGStreams/NGInternetSocketAddress.m
--- sope-1.3.15/sope-core/NGStreams/NGInternetSocketAddress.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-core/NGStreams/NGInternetSocketAddress.m 2012-06-01 07:12:51.000000000 +0200
@@ -48,7 +48,7 @@
#include "NGInternetSocketDomain.h"
#include "common.h"
-#if defined(HAVE_GETHOSTBYNAME_R) && !defined(linux) && !defined(__FreeBSD__)
+#if defined(HAVE_GETHOSTBYNAME_R) && !defined(linux) && !defined(__FreeBSD__) && !defined(__GLIBC__)
#define USE_GETHOSTBYNAME_R 1
#endif
diff -Nru sope-1.3.15/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m sope-1.3.16/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m
--- sope-1.3.15/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-gdl1/GDLAccess/FoundationExt/PrintfFormatScanner.m 2012-06-01 07:12:51.000000000 +0200
@@ -33,7 +33,7 @@
#ifdef __va_copy
// args being NULL breaks heavily on amd64
- if (args != NULL) {
+ if (args) {
__va_copy(va, args);
} else {
return format;
diff -Nru sope-1.3.15/sope-gdl1/PostgreSQL/PGResultSet.m sope-1.3.16/sope-gdl1/PostgreSQL/PGResultSet.m
--- sope-1.3.15/sope-gdl1/PostgreSQL/PGResultSet.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-gdl1/PostgreSQL/PGResultSet.m 2012-06-01 07:12:51.000000000 +0200
@@ -98,12 +98,7 @@
}
- (int)indexOfFieldNamed:(NSString *)_name {
-#if LIB_FOUNDATION_LIBRARY
- // TBD: might be wrong even in this case?
- return PQfnumber(self->results, [_name cString]);
-#else
return PQfnumber(self->results, [_name UTF8String]);
-#endif
}
- (int)fieldSizeAtIndex:(unsigned int)_idx {
diff -Nru sope-1.3.15/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m sope-1.3.16/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m
--- sope-1.3.15/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-gdl1/PostgreSQL/PostgreSQL72Channel.m 2012-06-01 07:12:51.000000000 +0200
@@ -394,21 +394,29 @@
for (cnt = 0; cnt < attrCount; cnt++) {
EOAttribute *attribute;
+#ifndef GDL_USE_PQFNUMBER_INDEX
+ NSUInteger res;
+#endif
attribute = [_attributes objectAtIndex:cnt];
#if GDL_USE_PQFNUMBER_INDEX
self->fieldIndices[cnt] =
[self->resultSet indexOfFieldNamed:[attribute columnName]];
+ if (self->fieldIndices[cnt] == -1) {
+ [PostgreSQL72Exception raiseWithFormat:
+ @"attribute %@ not covered by query",
+ attribute];
+ }
#else
- self->fieldIndices[cnt] =
- [fieldNames indexOfObject:[attribute columnName]];
-#endif
+ res = [fieldNames indexOfObject:[attribute columnName]];
- if (self->fieldIndices[cnt] == NSNotFound) {
+ if (res == NSNotFound) {
[PostgreSQL72Exception raiseWithFormat:
@"attribute %@ not covered by query",
attribute];
}
+ self->fieldIndices[cnt] = (int)res;
+#endif
[fieldNames replaceObjectAtIndex:self->fieldIndices[cnt] withObject:null];
}
[fieldNames release]; fieldNames = nil;
diff -Nru sope-1.3.15/sope-ldap/NGLdap/NGLdapAttribute.h sope-1.3.16/sope-ldap/NGLdap/NGLdapAttribute.h
--- sope-1.3.15/sope-ldap/NGLdap/NGLdapAttribute.h 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-ldap/NGLdap/NGLdapAttribute.h 2012-06-01 07:12:51.000000000 +0200
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -61,6 +62,8 @@
- (NSEnumerator *)stringValueEnumerator;
- (NSString *)stringValueAtIndex:(unsigned)_idx;
+- (id) asArrayOrString;
+
@end
#endif /* __NGLdapAttribute_H__ */
diff -Nru sope-1.3.15/sope-ldap/NGLdap/NGLdapAttribute.m sope-1.3.16/sope-ldap/NGLdap/NGLdapAttribute.m
--- sope-1.3.15/sope-ldap/NGLdap/NGLdapAttribute.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-ldap/NGLdap/NGLdapAttribute.m 2012-06-01 07:12:51.000000000 +0200
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -311,4 +312,18 @@
return s;
}
+- (id) asArrayOrString
+{
+ NSArray *arrayValue;
+ id value;
+
+ arrayValue = [self allStringValues];
+ if ([arrayValue count] == 1)
+ value = [arrayValue objectAtIndex: 0];
+ else
+ value = arrayValue;
+
+ return value;
+}
+
@end /* NGLdapAttribute */
diff -Nru sope-1.3.15/sope-ldap/NGLdap/NGLdapEntry.h sope-1.3.16/sope-ldap/NGLdap/NGLdapEntry.h
--- sope-1.3.15/sope-ldap/NGLdap/NGLdapEntry.h 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-ldap/NGLdap/NGLdapEntry.h 2012-06-01 07:12:51.000000000 +0200
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -24,7 +25,7 @@
#import <Foundation/NSObject.h>
-@class NSString, NSDictionary, NSArray;
+@class NSString, NSDictionary, NSMutableDictionary, NSArray;
@class NGLdapAttribute;
@interface NGLdapEntry : NSObject < NSCopying >
@@ -58,6 +59,8 @@
- (NSString *)ldif;
+- (NSMutableDictionary *) asDictionary;
+
@end
#endif /* __NGLdapEntry_H__ */
diff -Nru sope-1.3.15/sope-ldap/NGLdap/NGLdapEntry.m sope-1.3.16/sope-ldap/NGLdap/NGLdapEntry.m
--- sope-1.3.15/sope-ldap/NGLdap/NGLdapEntry.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-ldap/NGLdap/NGLdapEntry.m 2012-06-01 07:12:51.000000000 +0200
@@ -1,5 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
+ Copyright (C) 2012 Inverse inc.
This file is part of SOPE.
@@ -220,4 +221,29 @@
return s;
}
+- (NSMutableDictionary *) asDictionary
+{
+ NSMutableDictionary *ldapRecord;
+ NSDictionary *ldapAttributes;
+ NSArray *keys;
+ NSString *key;
+ NSUInteger count, max;
+ id value;
+
+ ldapAttributes = [self attributes];
+ keys = [ldapAttributes allKeys];
+ max = [keys count];
+
+ ldapRecord = [NSMutableDictionary dictionaryWithCapacity: max];
+ for (count = 0; count < max; count++)
+ {
+ key = [keys objectAtIndex: count];
+ value = [[ldapAttributes objectForKey: key] asArrayOrString];
+ if (value)
+ [ldapRecord setObject: value forKey: [key lowercaseString]];
+ }
+
+ return ldapRecord;
+}
+
@end /* NGLdapEntry */
diff -Nru sope-1.3.15/sope-xml/DOM/DOMNodeWithChildren.m sope-1.3.16/sope-xml/DOM/DOMNodeWithChildren.m
--- sope-1.3.15/sope-xml/DOM/DOMNodeWithChildren.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/DOM/DOMNodeWithChildren.m 2012-06-01 07:12:51.000000000 +0200
@@ -59,7 +59,7 @@
: nil;
}
- (id<NSObject,DOMNode>)lastChild {
- unsigned count;
+ NSUInteger count;
return (count = [self->childNodes count]) > 0
? [self->childNodes objectAtIndex:(count - 1)]
@@ -69,7 +69,7 @@
/* modification */
- (id<NSObject,DOMNode>)removeChild:(id<NSObject,DOMNode>)_node {
- unsigned idx;
+ NSUInteger idx;
if (self->childNodes == nil)
/* this node has no childnodes ! */
@@ -93,7 +93,7 @@
if ([_node nodeType] == DOM_DOCUMENT_FRAGMENT_NODE) {
id fragNodes;
- unsigned i, count;
+ NSUInteger i, count;
NSMutableArray *cache;
fragNodes = [_node childNodes];
@@ -133,7 +133,7 @@
/* sibling navigation */
- (id)_domNodeBeforeNode:(id)_node {
- unsigned idx;
+ NSUInteger idx;
if ((idx = [self->childNodes indexOfObject:_node]) == NSNotFound)
/* given node isn't a child of this node */
@@ -145,7 +145,7 @@
return [self->childNodes objectAtIndex:(idx - 1)];
}
- (id)_domNodeAfterNode:(id)_node {
- unsigned idx, count;
+ NSUInteger idx, count;
if ((count = [self->childNodes count]) == 0)
/* this node has no children at all .. */
diff -Nru sope-1.3.15/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h sope-1.3.16/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h
--- sope-1.3.15/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.h 2012-06-01 07:12:51.000000000 +0200
@@ -62,7 +62,7 @@
- (void)parse;
-- (int)lineType:(StructuredLine *)_line;
+- (NSUInteger)lineType:(StructuredLine *)_line;
- (void)separateIntoBlocks;
- (void)adjustLineLevels;
@@ -78,7 +78,7 @@
- (StructuredTextLiteralBlock *)buildLiteralBlock;
- (StructuredTextList *)buildList;
-- (int)listItemTypology:(StructuredLine *)_line;
+- (NSUInteger)listItemTypology:(StructuredLine *)_line;
@end
diff -Nru sope-1.3.15/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m sope-1.3.16/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m
--- sope-1.3.15/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/STXSaxDriver/ExtraSTX/StructuredText.m 2012-06-01 07:12:51.000000000 +0200
@@ -105,7 +105,7 @@
NSString *text, *currentLine, *trimmedLine;
NSMutableString *buf;
NSCharacterSet *set;
- int i, count;
+ NSUInteger i, count;
set = [NSCharacterSet characterSetWithCharactersInString:@"\r"];
buf = [NSMutableString stringWithCapacity:256];
@@ -278,7 +278,7 @@
[objectStack release];
}
-- (int)lineType:(StructuredLine *)aLine {
+- (NSUInteger)lineType:(StructuredLine *)aLine {
if ([self checkForListItem:aLine])
return StructuredTextParserLine_List;
@@ -357,7 +357,7 @@
if ([[text stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]] hasSuffix:@"::"]) {
- int length;
+ NSUInteger length;
length = [text length];
text = [text substringToIndex:length - 2];
@@ -384,7 +384,7 @@
StructuredLine *line, *prevLine = nil;
StructuredTextListItem *item = nil;
StructuredStack *paragraphs;
- int type;
+ NSUInteger type;
result = nil;
paragraphs = [self paragraphs];
@@ -428,7 +428,7 @@
break;
case StructuredTextList_DEFINITION: {
NSArray *components;
- int i, count;
+ NSUInteger i, count;
components = [text componentsSeparatedByString:@" -- "];
count = [components count];
@@ -477,10 +477,10 @@
return [result autorelease];
}
-- (int)listItemTypology:(StructuredLine *)aLine {
- NSString *text;
- int type = NSNotFound;
- int i, h, length;
+- (NSUInteger)listItemTypology:(StructuredLine *)aLine {
+ NSString *text;
+ NSUInteger type = NSNotFound;
+ NSUInteger i, h, length;
NSRange range;
text = [aLine text];
diff -Nru sope-1.3.15/sope-xml/SaxObjC/SaxAttributeList.m sope-1.3.16/sope-xml/SaxObjC/SaxAttributeList.m
--- sope-1.3.15/sope-xml/SaxObjC/SaxAttributeList.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/SaxObjC/SaxAttributeList.m 2012-06-01 07:12:51.000000000 +0200
@@ -33,7 +33,7 @@
}
- (id)initWithAttributeList:(id<SaxAttributeList>)_attrList {
if ((self = [self init])) {
- unsigned i;
+ NSUInteger i;
for (i = 0; i < [_attrList count]; i++) {
[self->names addObject:[_attrList nameAtIndex:i]];
@@ -46,7 +46,7 @@
- (id)initWithAttributes:(id<SaxAttributes>)_attrList {
if ((self = [self init])) {
- int i, c;
+ NSUInteger i, c;
for (i = 0, c = [_attrList count]; i < c; i++) {
[self->names addObject:[_attrList rawNameAtIndex:i]];
@@ -67,7 +67,7 @@
/* modify operations */
- (void)setAttributeList:(id<SaxAttributeList>)_attrList {
- unsigned i;
+ NSUInteger i;
[self clear];
@@ -95,7 +95,7 @@
}
- (void)removeAttribute:(NSString *)_name {
- int idx;
+ NSUInteger idx;
if ((idx = [self->names indexOfObject:_name]) == NSNotFound)
return;
@@ -118,7 +118,7 @@
}
- (NSString *)typeForName:(NSString *)_name {
- int i;
+ NSUInteger i;
if ((i = [self->names indexOfObject:_name]) == NSNotFound)
return nil;
@@ -126,7 +126,7 @@
return [self typeAtIndex:i];
}
- (NSString *)valueForName:(NSString *)_name {
- int i;
+ NSUInteger i;
if ((i = [self->names indexOfObject:_name]) == NSNotFound)
return nil;
@@ -157,7 +157,7 @@
- (NSString *)description {
NSMutableString *s;
NSString *is;
- int i, c;
+ NSUInteger i, c;
s = [[NSMutableString alloc] init];
[s appendFormat:@"<%08X[%@]:", self, NSStringFromClass([self class])];
diff -Nru sope-1.3.15/sope-xml/SaxObjC/SaxAttributes.m sope-1.3.16/sope-xml/SaxObjC/SaxAttributes.m
--- sope-1.3.15/sope-xml/SaxObjC/SaxAttributes.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/SaxObjC/SaxAttributes.m 2012-06-01 07:12:51.000000000 +0200
@@ -36,7 +36,7 @@
}
- (id)initWithAttributes:(id<SaxAttributes>)_attrs {
if ((self = [self init])) {
- int i, c;
+ NSUInteger i, c;
for (i = 0, c = [_attrs count]; i < c; i++) {
[self addAttribute:[_attrs nameAtIndex:i]
@@ -51,7 +51,7 @@
- (id)initWithAttributeList:(id<SaxAttributeList>)_attrList {
if ((self = [self init])) {
- unsigned i;
+ NSUInteger i;
for (i = 0; i < [_attrList count]; i++) {
[self addAttribute:[_attrList nameAtIndex:i] uri:@""
@@ -115,7 +115,7 @@
}
- (NSUInteger)indexOfName:(NSString *)_localPart uri:(NSString *)_uri
{
- unsigned int i, c;
+ NSUInteger i, c;
for (i = 0, c = [self count]; i < c; i++) {
NSString *name;
@@ -160,7 +160,7 @@
/* lookup data by name */
- (NSString *)typeForRawName:(NSString *)_rawName {
- unsigned int i;
+ NSUInteger i;
if ((i = [self indexOfRawName:_rawName]) == NSNotFound)
return nil;
@@ -168,7 +168,7 @@
return [self typeAtIndex:i];
}
- (NSString *)typeForName:(NSString *)_localName uri:(NSString *)_uri {
- unsigned int i;
+ NSUInteger i;
if ((i = [self indexOfName:_localName uri:_uri]) == NSNotFound)
return nil;
@@ -177,7 +177,7 @@
}
- (NSString *)valueForRawName:(NSString *)_rawName {
- unsigned int i;
+ NSUInteger i;
if ((i = [self indexOfRawName:_rawName]) == NSNotFound)
return nil;
@@ -210,7 +210,7 @@
- (NSString *)description {
NSMutableString *s;
NSString *is;
- int i, c;
+ NSUInteger i, c;
s = [[NSMutableString alloc] init];
[s appendFormat:@"<%08X[%@]:", self, NSStringFromClass([self class])];
diff -Nru sope-1.3.15/sope-xml/XmlRpc/NSObject+XmlRpc.h sope-1.3.16/sope-xml/XmlRpc/NSObject+XmlRpc.h
--- sope-1.3.15/sope-xml/XmlRpc/NSObject+XmlRpc.h 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/XmlRpc/NSObject+XmlRpc.h 2012-06-01 07:12:51.000000000 +0200
@@ -29,7 +29,7 @@
@interface NSObject(XmlRpcValues)
+ (id)objectWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len;
+ characters:(unichar *)_chars length:(NSUInteger)_len;
@end
diff -Nru sope-1.3.15/sope-xml/XmlRpc/NSObject+XmlRpc.m sope-1.3.16/sope-xml/XmlRpc/NSObject+XmlRpc.m
--- sope-1.3.15/sope-xml/XmlRpc/NSObject+XmlRpc.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/XmlRpc/NSObject+XmlRpc.m 2012-06-01 07:12:51.000000000 +0200
@@ -31,25 +31,25 @@
@interface NSString(XmlRpcParsing)
- (id)initWithXmlRpcType:(NSString *)_type
characters:(unichar *)_chars
- length:(int)_len;
+ length:(NSUInteger)_len;
@end
@interface NSDate(XmlRpcParsing)
- (id)initWithXmlRpcType:(NSString *)_type
characters:(unichar *)_chars
- length:(int)_len;
+ length:(NSUInteger)_len;
@end
@interface NSNumber(XmlRpcParsing)
- (id)initWithXmlRpcType:(NSString *)_type
characters:(unichar *)_chars
- length:(int)_len;
+ length:(NSUInteger)_len;
@end
@interface NSData(XmlRpcParsing)
- (id)initWithXmlRpcType:(NSString *)_type
characters:(unichar *)_chars
- length:(int)_len;
+ length:(NSUInteger)_len;
@end
@interface NSData(UsedNGExtensions)
@@ -132,7 +132,7 @@
}
+ (id)objectWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len
+ characters:(unichar *)_chars length:(NSUInteger)_len
{
static NSDictionary *typeToClass = nil;
Class ObjClass = Nil;
@@ -171,7 +171,7 @@
}
- (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len
+ characters:(unichar *)_chars length:(NSUInteger)_len
{
if ([self respondsToSelector:@selector(initWithString:)]) {
NSString *s;
@@ -194,7 +194,7 @@
/* NSData represents the xml-rpc base type 'base64' */
- (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len
+ characters:(unichar *)_chars length:(NSUInteger)_len
{
NSString *v;
@@ -215,7 +215,7 @@
/* NSDate represents the xml-rpc type dateTime.iso8601: */
- (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len
+ characters:(unichar *)_chars length:(NSUInteger)_len
{
/* eg 19980717T14:08:55 */
if (_len < 17) {
@@ -283,7 +283,7 @@
/* NSNumber represents the xml-rpc base types: 'int', 'double', 'boolean': */
- (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len
+ characters:(unichar *)_chars length:(NSUInteger)_len
{
if ([_type isEqualToString:@"boolean"]) {
BOOL v;
@@ -318,7 +318,7 @@
@implementation NSString(XmlRpcParsing)
- (id)initWithXmlRpcType:(NSString *)_type
- characters:(unichar *)_chars length:(int)_len
+ characters:(unichar *)_chars length:(NSUInteger)_len
{
/* this is *never* called, since NSString+alloc returns a NSTemporaryString*/
return [self initWithCharacters:_chars length:_len];
diff -Nru sope-1.3.15/sope-xml/XmlRpc/XmlRpcDecoder.m sope-1.3.16/sope-xml/XmlRpc/XmlRpcDecoder.m
--- sope-1.3.15/sope-xml/XmlRpc/XmlRpcDecoder.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/XmlRpc/XmlRpcDecoder.m 2012-06-01 07:12:51.000000000 +0200
@@ -589,8 +589,8 @@
int result;
if ((newValue = [self beginDecodingKey:_key]) == nil)
- /* any useful alternatives ? */
- return NSNotFound;
+ /* NSKeyedArchiver returns 0, we too */
+ return 0;
result = [self decodeInt];
[self finishedDecodingKey];
diff -Nru sope-1.3.15/sope-xml/XmlRpc/XmlRpcSaxHandler.m sope-1.3.16/sope-xml/XmlRpc/XmlRpcSaxHandler.m
--- sope-1.3.15/sope-xml/XmlRpc/XmlRpcSaxHandler.m 2012-05-11 22:23:09.000000000 +0200
+++ sope-1.3.16/sope-xml/XmlRpc/XmlRpcSaxHandler.m 2012-06-01 07:12:51.000000000 +0200
@@ -158,7 +158,7 @@
- (void)end_name {
self->nextCharactersProcessor = NULL;
}
-- (void)_name:(unichar *)_chars length:(int)_len {
+- (void)_name:(unichar *)_chars length:(NSUInteger)_len {
NSString *name;
name = [NSString stringWithCharacters:_chars length:_len];
[self->memberNameStack addObject:name];
@@ -184,7 +184,7 @@
self->valueNestingLevel--;
}
-- (void)_dateValue:(unichar *)_chars length:(int)_len {
+- (void)_dateValue:(unichar *)_chars length:(NSUInteger)_len {
if (self->dateTime)
return;
@@ -193,7 +193,7 @@
retain];
}
-- (void)_baseValue:(unichar *)_chars length:(int)_len {
+- (void)_baseValue:(unichar *)_chars length:(NSUInteger)_len {
id value;
if (self->valueNestingLevel == 0) {
@@ -239,8 +239,8 @@
self->nextCharactersProcessor = @selector(_baseValue:length:);
}
- (void)start_dateTime:(id<SaxAttributes>)_attrs {
- NSString *tz;
- int idx;
+ NSString *tz;
+ NSUInteger idx;
[self->timeZone release]; self->timeZone = nil;
[self->dateTime release]; self->dateTime = nil;
@@ -467,7 +467,7 @@
- (void)end_methodName {
self->nextCharactersProcessor = NULL;
}
-- (void)_methodName:(unichar *)_chars length:(int)_len {
+- (void)_methodName:(unichar *)_chars length:(NSUInteger)_len {
[self->methodName release];
self->methodName = [[NSString alloc] initWithCharacters:_chars length:_len];
}
@@ -529,8 +529,8 @@
attributes:(id<SaxAttributes>)_attrs
{
NSString *tmp = nil;
- SEL sel;
- int idx;
+ SEL sel;
+ NSUInteger idx;
[self->tagStack addObject:_rawName];
@@ -559,14 +559,14 @@
namespace:(NSString *)_ns
rawName:(NSString *)_rawName
{
- unsigned stackDepth, lastIdx;
+ NSUInteger stackDepth, lastIdx;
NSString *tmp;
SEL sel;
if (self->nextCharactersProcessor != NULL) {
- void (*m)(id, SEL, unichar *, int);
+ void (*m)(id, SEL, unichar *, NSUInteger);
unichar *chars;
- unsigned len;
+ NSUInteger len;
len = [self->characters length];
chars = malloc(sizeof(unichar)*len);
@@ -606,7 +606,7 @@
}
}
-- (void)characters:(unichar *)_chars length:(int)_len {
+- (void)characters:(unichar *)_chars length:(NSUInteger)_len {
if (_len > 0) {
[self->characters appendString:
[NSString stringWithCharacters:_chars length:_len]];
Reply to: