gnustep-base made the -[NSString stringByDeletingLastPathComponent] more compatible with MAC OS X, which now breaks SOGo creation of new users since it relied on a side effect from the incompatibility.

Pointed out and patch from Andreas Vögele, many thanks.
While there, remove hard dependency to www/sope having the same version as sogo

sure landry@, OK jasper@
This commit is contained in:
sebastia 2011-06-07 11:29:55 +00:00
parent 4f302c4365
commit 514d1890c1
2 changed files with 24 additions and 3 deletions

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.12 2011/06/02 13:41:41 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.13 2011/06/07 11:29:55 sebastia Exp $
COMMENT = web based groupware server
VERSION = 1.3.7
DISTNAME = SOGo-${VERSION}a
PKGNAME = sogo-${VERSION}.0
REVISION = 0
REVISION = 1
SHLIB_VERSION = 1.0
.for _lib in GDLContentStore NGCards OGoContentStore \
@ -33,7 +33,7 @@ WANTLIB += NGMime NGObjWeb NGStreams SaxObjC WEExtensions
WANTLIB += objc gnustep-base
LIB_DEPENDS += devel/libmemcached \
www/sope=${VERSION}
www/sope
RUN_DEPENDS += sope-postgres-*|sope-mysql-*:www/sope,-postgres \
archivers/zip

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-SOPE_GDLContentStore_GCSFolderManager_m,v 1.1 2011/06/07 11:29:55 sebastia Exp $
stringByDeletingLastPathComponent must not be used with URLs as it
replaces doubles slashes with a single slash, e.g. "mysql://" with
"mysql:/".
--- SOPE/GDLContentStore/GCSFolderManager.m.orig Fri May 6 17:57:44 2011
+++ SOPE/GDLContentStore/GCSFolderManager.m Tue May 31 08:43:12 2011
@@ -748,8 +748,10 @@ static NSCharacterSet *asciiAlphaNumericCS = nil;
aclTableName = [tableName stringByAppendingString: @"_acl"];
// TBD: fix SQL injection issues
- baseURL
- = [[folderInfoLocation absoluteString] stringByDeletingLastPathComponent];
+ baseURL = [folderInfoLocation absoluteString];
+ NSRange range = [baseURL rangeOfString: @"/" options: NSBackwardsSearch];
+ if (range.location != NSNotFound)
+ baseURL = [baseURL substringToIndex: range.location];
sql = [NSString stringWithFormat: @"INSERT INTO %@"
@" (c_path, c_path1, c_path2, c_path3, c_path4,"