propagate from branch 'ca.inverse.sogo.1_3_15' (head 010e63dffb557b9171f08a63428acdd11998ab56)

to branch 'ca.inverse.sogo' (head d130ee40b503d518a809601b1cab53710dbeea4b)

Monotone-Parent: 010e63dffb557b9171f08a63428acdd11998ab56
Monotone-Parent: d130ee40b503d518a809601b1cab53710dbeea4b
Monotone-Revision: 94fb373c2fbcbed75c514c449066c36ed469a580

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2012-05-09T13:53:29
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2012-05-09 13:53:29 +00:00
commit d8f5324406
57 changed files with 954 additions and 489 deletions

View File

@ -29,6 +29,12 @@
link, remove double-quotes and escape single-quotes from the fullname. link, remove double-quotes and escape single-quotes from the fullname.
(-secondaryEmail): idem. (-secondaryEmail): idem.
2012-05-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreSOGo.m: register and unregister current
thread before and after each backend operation, in order to avoid
issues in multithreaded environment.
2012-05-01 Wolfgang Sourdeau <wsourdeau@inverse.ca> 2012-05-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/WebServerResources/generic.js (accessToSubscribedFolder): use * UI/WebServerResources/generic.js (accessToSubscribedFolder): use
@ -341,6 +347,43 @@
* OGoContentStore/OCSContactFieldExtractor.m * OGoContentStore/OCSContactFieldExtractor.m
(-extractQuickFieldsFromVCard): idem. (-extractQuickFieldsFromVCard): idem.
2012-03-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreCalendarMessage.m (-save): remove comment if
content is "\n".
* OpenChange/MAPIStoreTasksMessage.m (-save): do not reset fields
that have not been passed in the properties array, since only
RopDeleteProperties should remove them.
Remove comment if content is "\n".
* OpenChange/MAPIStoreObject.m (-addPropertiesFromRow:): dates are
now all converted to the user's timezone, even though it just
inverts the problem we currently have.
* OpenChange/MAPIApplication.m (-init): utcTZ is now initialized
here.
* OpenChange/MAPIStoreTypes.[hm]: new host module for utcTZ.
* OpenChange/MAPIStoreUserContext.m (-timeZone): new method that
returns the timezone of an owner user.
* OpenChange/MAPIStoreObject.m (-ownerTimeZone): removed method,
replaced with the one above.
2012-03-29 Francis Lachapelle <flachapelle@inverse.ca>
* UI/WebServerResources/UIxPreferences.js (savePreferences): fixed
validation of end date of vacation of message when not using ISO
format (currently limited to French).
* UI/WebServerResources/ContactsUI.js (startDragging): create an
overlapping safety block (div) to avoid possible selection of the
underlying text.
* UI/WebServerResources/MailerUI.js (startDragging): idem.
2012-03-29 Francis Lachapelle <flachapelle@inverse.ca> 2012-03-29 Francis Lachapelle <flachapelle@inverse.ca>
* UI/WebServerResources/UIxPreferences.js (savePreferences): fixed * UI/WebServerResources/UIxPreferences.js (savePreferences): fixed
@ -364,6 +407,42 @@
* SoObjects/SOGo/LDAPSource.m (-allEntryIDs): take the _filter * SoObjects/SOGo/LDAPSource.m (-allEntryIDs): take the _filter
ivar into account. ivar into account.
2012-03-28 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/SOGoMAPIFSMessage.m
(_readFileChangesDataWithDate:andInode:): use the inode number
rather than the filesize as change indicator since a new file is
created each time the dictionary is written to disk, thanks to the
"atomically" flag.
(-save): write the file atomically.
* SoObjects/Contacts/SOGoFolder+CardDAV.m (_isValidFilter:):
accept "email" as filter name.
(_appendObject:withBaseURL:toREPORTResponse:): fixed the ordering
of XML elements as the address*-data props where put outside of
the <D:prop> tree.
* SoObjects/SOGo/LDAPSource.m (-allEntryIDs): take the _filter
ivar into account.
2012-03-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Contacts/SOGoContactFolders.m
(-lookupName:inContext:acquire:): overriden method that enables
the lookup of hidden public sources with iOS devices.
* SoObjects/Contacts/SOGoContactLDIFEntry.m (-davAddressData): new
getter similar to davCalendarData.
* SoObjects/Contacts/SOGoContactSourceFolder.m
(-davAddressbookMultiget): new REPORT handler based on
-[SOGoAppointmentFolder davCalendarMultiget].
* SoObjects/Contacts/SOGoUserFolder+Contacts.m
(-davDirectoryGateway): new getter that returns the url to the
first available directory source.
(-davResourceType): declare resource as "directory" (carddav).
2012-03-27 Wolfgang Sourdeau <wsourdeau@inverse.ca> 2012-03-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Contacts/SOGoContactFolders.m * SoObjects/Contacts/SOGoContactFolders.m

View File

@ -21,6 +21,7 @@
*/ */
#import <Foundation/NSUserDefaults.h> #import <Foundation/NSUserDefaults.h>
#import <Foundation/NSTimeZone.h>
#import <SOGo/SOGoProductLoader.h> #import <SOGo/SOGoProductLoader.h>
#import <SOGo/SOGoSystemDefaults.h> #import <SOGo/SOGoSystemDefaults.h>
@ -28,6 +29,7 @@
#import <Appointments/iCalEntityObject+SOGo.h> #import <Appointments/iCalEntityObject+SOGo.h>
#import "MAPIStoreUserContext.h" #import "MAPIStoreUserContext.h"
#import "MAPIStoreTypes.h"
#import "MAPIApplication.h" #import "MAPIApplication.h"
@ -49,6 +51,9 @@ MAPIApplication *MAPIApp = nil;
MAPIApp = [super init]; MAPIApp = [super init];
[MAPIApp retain]; [MAPIApp retain];
utcTZ = [NSTimeZone timeZoneWithName: @"UTC"];
[utcTZ retain];
} }
return MAPIApp; return MAPIApp;

View File

@ -35,8 +35,6 @@
@class SOGoUser; @class SOGoUser;
extern NSTimeZone *utcTZ;
@interface MAPIStoreAppointmentWrapper : NSObject @interface MAPIStoreAppointmentWrapper : NSObject
{ {
struct mapistore_connection_info *connInfo; struct mapistore_connection_info *connInfo;

View File

@ -59,16 +59,12 @@
#include <mapistore/mapistore_errors.h> #include <mapistore/mapistore_errors.h>
#include <mapistore/mapistore_nameid.h> #include <mapistore/mapistore_nameid.h>
NSTimeZone *utcTZ;
static NSCharacterSet *hexCharacterSet = nil; static NSCharacterSet *hexCharacterSet = nil;
@implementation MAPIStoreAppointmentWrapper @implementation MAPIStoreAppointmentWrapper
+ (void) initialize + (void) initialize
{ {
utcTZ = [NSTimeZone timeZoneWithName: @"UTC"];
[utcTZ retain];
if (!hexCharacterSet) if (!hexCharacterSet)
{ {
hexCharacterSet = [NSCharacterSet characterSetWithCharactersInString: @"1234567890abcdefABCDEF"]; hexCharacterSet = [NSCharacterSet characterSetWithCharactersInString: @"1234567890abcdefABCDEF"];

View File

@ -118,7 +118,7 @@
[MAPIStoreAppointmentWrapper wrapperWithICalEvent: event [MAPIStoreAppointmentWrapper wrapperWithICalEvent: event
andUser: [userContext sogoUser] andUser: [userContext sogoUser]
andSenderEmail: nil andSenderEmail: nil
inTimeZone: [self ownerTimeZone] inTimeZone: [userContext timeZone]
withConnectionInfo: [context connectionInfo]]); withConnectionInfo: [context connectionInfo]]);
} }
@ -766,10 +766,12 @@
isAllDay = [value boolValue]; isAllDay = [value boolValue];
if (!isAllDay) if (!isAllDay)
{ {
tzName = [[self ownerTimeZone] name]; tzName = [[[self userContext] timeZone] name];
tz = [iCalTimeZone timeZoneForName: tzName]; tz = [iCalTimeZone timeZoneForName: tzName];
[vCalendar addTimeZone: tz]; [vCalendar addTimeZone: tz];
} }
else
tz = nil;
// start // start
value = [properties objectForKey: MAPIPropertyKey (PR_START_DATE)]; value = [properties objectForKey: MAPIPropertyKey (PR_START_DATE)];
@ -779,18 +781,18 @@
if (value) if (value)
{ {
start = (iCalDateTime *) [newEvent uniqueChildWithTag: @"dtstart"]; start = (iCalDateTime *) [newEvent uniqueChildWithTag: @"dtstart"];
[start setTimeZone: tz];
if (isAllDay) if (isAllDay)
{
[start setDate: value];
[start setTimeZone: nil];
}
else
{ {
tzOffset = [[value timeZone] secondsFromGMTForDate: value]; tzOffset = [[value timeZone] secondsFromGMTForDate: value];
value = [value dateByAddingYears: 0 months: 0 days: 0 value = [value dateByAddingYears: 0 months: 0 days: 0
hours: 0 minutes: 0 hours: 0 minutes: 0
seconds: -tzOffset]; seconds: tzOffset];
[start setTimeZone: nil];
[start setDate: value];
}
else
{
[start setTimeZone: tz];
[start setDateTime: value]; [start setDateTime: value];
} }
} }
@ -802,18 +804,18 @@
if (value) if (value)
{ {
end = (iCalDateTime *) [newEvent uniqueChildWithTag: @"dtend"]; end = (iCalDateTime *) [newEvent uniqueChildWithTag: @"dtend"];
[end setTimeZone: tz];
if (isAllDay) if (isAllDay)
{
[end setDate: value];
[end setTimeZone: nil];
}
else
{ {
tzOffset = [[value timeZone] secondsFromGMTForDate: value]; tzOffset = [[value timeZone] secondsFromGMTForDate: value];
value = [value dateByAddingYears: 0 months: 0 days: 0 value = [value dateByAddingYears: 0 months: 0 days: 0
hours: 0 minutes: 0 hours: 0 minutes: 0
seconds: -tzOffset]; seconds: tzOffset];
[end setTimeZone: nil];
[end setDate: value];
}
else
{
[end setTimeZone: tz];
[end setDateTime: value]; [end setDateTime: value];
} }
} }
@ -872,10 +874,13 @@
value = [value htmlToText]; value = [value htmlToText];
} }
} }
if (value && [value length] == 0) if (value)
value = nil; {
[newEvent setComment: value]; if ([value length] == 0 || [value isEqualToString: @"\\n"])
value = nil;
[newEvent setComment: value];
}
/* recurrence */ /* recurrence */
value = [properties value = [properties
objectForKey: MAPIPropertyKey (PidLidAppointmentRecur)]; objectForKey: MAPIPropertyKey (PidLidAppointmentRecur)];

View File

@ -35,8 +35,6 @@
#include <mapistore/mapistore_errors.h> #include <mapistore/mapistore_errors.h>
extern NSTimeZone *utcTZ;
/* TODO: handle URL pictures via PidTagAttachMethod = ref ? */ /* TODO: handle URL pictures via PidTagAttachMethod = ref ? */
@implementation MAPIStoreContactsAttachment @implementation MAPIStoreContactsAttachment

View File

@ -55,8 +55,8 @@
{ {
struct mapistore_connection_info *connInfo; struct mapistore_connection_info *connInfo;
NSMutableArray *containersBag; NSMutableArray *containersBag;
SOGoUser *activeUser; SOGoUser *activeUser; /* the user accessing the resource */
MAPIStoreUserContext *userContext; MAPIStoreUserContext *userContext; /* the owner or the resource */
NSURL *contextUrl; NSURL *contextUrl;
} }

View File

@ -28,6 +28,7 @@
#import "MAPIStoreFAIMessage.h" #import "MAPIStoreFAIMessage.h"
#undef DEBUG #undef DEBUG
#include <stdbool.h>
#include <talloc.h> #include <talloc.h>
#include <util/time.h> #include <util/time.h>
#include <mapistore/mapistore.h> #include <mapistore/mapistore.h>

View File

@ -31,6 +31,7 @@
#import "MAPIStoreFallbackContext.h" #import "MAPIStoreFallbackContext.h"
#undef DEBUG #undef DEBUG
#include <inttypes.h>
#include <mapistore/mapistore.h> #include <mapistore/mapistore.h>
@implementation MAPIStoreFallbackContext @implementation MAPIStoreFallbackContext

View File

@ -284,7 +284,7 @@ _compareBodyKeysByPriority (id entry1, id entry2, void *data)
wrapperWithICalEvent: event wrapperWithICalEvent: event
andUser: [context activeUser] andUser: [context activeUser]
andSenderEmail: senderEmail andSenderEmail: senderEmail
inTimeZone: [self ownerTimeZone] inTimeZone: [[self userContext] timeZone]
withConnectionInfo: [context connectionInfo]]; withConnectionInfo: [context connectionInfo]];
[appointmentWrapper retain]; [appointmentWrapper retain];
} }

View File

@ -29,6 +29,7 @@
#import <Foundation/NSData.h> #import <Foundation/NSData.h>
#import <Foundation/NSDictionary.h> #import <Foundation/NSDictionary.h>
#import <Foundation/NSString.h> #import <Foundation/NSString.h>
#import <Foundation/NSTimeZone.h>
#import <Foundation/NSValue.h> #import <Foundation/NSValue.h>
#import <NGExtensions/NGHashMap.h> #import <NGExtensions/NGHashMap.h>
#import <NGExtensions/NSObject+Logs.h> #import <NGExtensions/NSObject+Logs.h>
@ -495,7 +496,11 @@ FillMessageHeadersFromProperties (NGMutableHashMap *headers,
date = [mailProperties objectForKey: MAPIPropertyKey (PR_CLIENT_SUBMIT_TIME)]; date = [mailProperties objectForKey: MAPIPropertyKey (PR_CLIENT_SUBMIT_TIME)];
if (date) if (date)
[headers addObject: [date rfc822DateString] forKey: @"date"]; {
date = [date addYear: 0 month: 0 day: 0
hour: 0 minute: 0 second: [[date timeZone] secondsFromGMT]];
[headers addObject: [date rfc822DateString] forKey: @"date"];
}
[headers addObject: @"1.0" forKey: @"MIME-Version"]; [headers addObject: @"1.0" forKey: @"MIME-Version"];
} }

View File

@ -77,8 +77,6 @@
- (uint64_t) objectId; - (uint64_t) objectId;
- (NSString *) url; - (NSString *) url;
- (NSTimeZone *) ownerTimeZone;
/* properties */ /* properties */
- (BOOL) canGetProperty: (enum MAPITAGS) propTag; - (BOOL) canGetProperty: (enum MAPITAGS) propTag;

View File

@ -20,7 +20,9 @@
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
#import <Foundation/NSCalendarDate.h>
#import <Foundation/NSDictionary.h> #import <Foundation/NSDictionary.h>
#import <Foundation/NSTimeZone.h>
#import <NGExtensions/NSObject+Logs.h> #import <NGExtensions/NSObject+Logs.h>
#import <SOGo/SOGoObject.h> #import <SOGo/SOGoObject.h>
#import <SOGo/SOGoUser.h> #import <SOGo/SOGoUser.h>
@ -210,21 +212,6 @@ static Class NSExceptionK, MAPIStoreFolderK;
containerURL, [self nameInContainer]]; containerURL, [self nameInContainer]];
} }
- (NSTimeZone *) ownerTimeZone
{
NSString *owner;
SOGoUserDefaults *ud;
NSTimeZone *tz;
WOContext *woContext;
woContext = [[self userContext] woContext];
owner = [sogoObject ownerInContext: woContext];
ud = [[SOGoUser userWithLogin: owner] userDefaults];
tz = [ud timeZone];
return tz;
}
- (void) addProperties: (NSDictionary *) newNewProperties - (void) addProperties: (NSDictionary *) newNewProperties
{ {
[properties addEntriesFromDictionary: newNewProperties]; [properties addEntriesFromDictionary: newNewProperties];
@ -447,16 +434,37 @@ static Class NSExceptionK, MAPIStoreFolderK;
struct SPropValue *cValue; struct SPropValue *cValue;
NSUInteger counter; NSUInteger counter;
NSMutableDictionary *newProperties; NSMutableDictionary *newProperties;
NSTimeZone *tz;
NSInteger tzOffset;
id value;
tz = nil;
newProperties = [NSMutableDictionary dictionaryWithCapacity: aRow->cValues]; newProperties = [NSMutableDictionary dictionaryWithCapacity: aRow->cValues];
for (counter = 0; counter < aRow->cValues; counter++) for (counter = 0; counter < aRow->cValues; counter++)
{ {
cValue = aRow->lpProps + counter; cValue = aRow->lpProps + counter;
if ((cValue->ulPropTag & 0xfff) == PT_STRING8) value = NSObjectFromSPropValue (cValue);
[self warnWithFormat: switch (cValue->ulPropTag & 0xffff)
@"attempting to set string property as PR_STRING8: %.8x", {
cValue->ulPropTag]; case PT_STRING8:
[newProperties setObject: NSObjectFromSPropValue (cValue) case PT_MV_STRING8:
[self warnWithFormat:
@"attempting to set string property as PR_STRING8: %.8x",
cValue->ulPropTag];
break;
case PT_SYSTIME:
if (!tz)
{
tz = [[self userContext] timeZone];
tzOffset = -[tz secondsFromGMT];
}
value = [value addYear: 0 month: 0 day: 0
hour: 0 minute: 0 second: tzOffset];
[value setTimeZone: tz];
break;
}
[newProperties setObject: value
forKey: MAPIPropertyKey (cValue->ulPropTag)]; forKey: MAPIPropertyKey (cValue->ulPropTag)];
} }

View File

@ -21,6 +21,7 @@
*/ */
#import <Foundation/NSArray.h> #import <Foundation/NSArray.h>
#import <Foundation/NSString.h>
#import <NGExtensions/NSCalendarDate+misc.h> #import <NGExtensions/NSCalendarDate+misc.h>
#import <NGExtensions/NSObject+Logs.h> #import <NGExtensions/NSObject+Logs.h>
@ -32,6 +33,7 @@
#import "NSDate+MAPIStore.h" #import "NSDate+MAPIStore.h"
#import "MAPIStoreRecurrenceUtils.h" #import "MAPIStoreRecurrenceUtils.h"
#include <stdbool.h>
#include <talloc.h> #include <talloc.h>
#include <util/time.h> #include <util/time.h>
#include <gen_ndr/property.h> #include <gen_ndr/property.h>

View File

@ -64,9 +64,11 @@ sogo_backend_atexit (void)
{ {
NSAutoreleasePool *pool; NSAutoreleasePool *pool;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
NSLog (@"allocated classes:\n%s", GSDebugAllocationList (YES)); NSLog (@"allocated classes:\n%s", GSDebugAllocationList (YES));
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
/** /**
@ -84,6 +86,7 @@ sogo_backend_init (void)
SoProductRegistry *registry; SoProductRegistry *registry;
char *argv[] = { SAMBA_PREFIX "/sbin/samba", NULL }; char *argv[] = { SAMBA_PREFIX "/sbin/samba", NULL };
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
/* Here we work around a bug in GNUstep which decodes XML user /* Here we work around a bug in GNUstep which decodes XML user
@ -149,6 +152,7 @@ sogo_backend_create_context(TALLOC_CTX *mem_ctx,
DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
if (MAPIStoreContextK) if (MAPIStoreContextK)
@ -164,6 +168,7 @@ sogo_backend_create_context(TALLOC_CTX *mem_ctx,
rc = MAPISTORE_ERROR; rc = MAPISTORE_ERROR;
[pool release]; [pool release];
GSUnregisterCurrentThread ();
return rc; return rc;
} }
@ -182,6 +187,7 @@ sogo_backend_create_root_folder (const char *username,
DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
if (MAPIStoreContextK) if (MAPIStoreContextK)
@ -200,6 +206,7 @@ sogo_backend_create_root_folder (const char *username,
rc = MAPISTORE_ERROR; rc = MAPISTORE_ERROR;
[pool release]; [pool release];
GSUnregisterCurrentThread ();
return rc; return rc;
} }
@ -215,6 +222,7 @@ sogo_backend_list_contexts(const char *username, struct tdb_wrap *indexingTdb,
DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
if (MAPIStoreContextK) if (MAPIStoreContextK)
@ -229,6 +237,7 @@ sogo_backend_list_contexts(const char *username, struct tdb_wrap *indexingTdb,
rc = MAPISTORE_ERROR; rc = MAPISTORE_ERROR;
[pool release]; [pool release];
GSUnregisterCurrentThread ();
return rc; return rc;
} }
@ -263,9 +272,11 @@ sogo_context_get_path(void *backend_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = backend_object; wrapper = backend_object;
context = wrapper->MAPIStoreSOGoObject; context = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [context getPath: path ofFMID: fmid inMemCtx: mem_ctx]; rc = [context getPath: path ofFMID: fmid inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -291,11 +302,13 @@ sogo_context_get_root_folder(void *backend_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = backend_object; wrapper = backend_object;
context = wrapper->MAPIStoreSOGoObject; context = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [context getRootFolder: &folder withFID: fid]; rc = [context getRootFolder: &folder withFID: fid];
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*folder_object = [folder tallocWrapper: mem_ctx]; *folder_object = [folder tallocWrapper: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -328,12 +341,14 @@ sogo_folder_open_folder(void *folder_object, TALLOC_CTX *mem_ctx, uint64_t fid,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder openFolder: &childFolder withFID: fid]; rc = [folder openFolder: &childFolder withFID: fid];
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*childfolder_object = [childFolder tallocWrapper: mem_ctx]; *childfolder_object = [childFolder tallocWrapper: mem_ctx];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -366,11 +381,13 @@ sogo_folder_create_folder(void *folder_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder createFolder: &childFolder withRow: aRow andFID: fid]; rc = [folder createFolder: &childFolder withRow: aRow andFID: fid];
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*childfolder_object = [childFolder tallocWrapper: mem_ctx]; *childfolder_object = [childFolder tallocWrapper: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -403,9 +420,11 @@ sogo_folder_delete(void *folder_object)
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder deleteFolder]; rc = [folder deleteFolder];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -429,9 +448,11 @@ sogo_folder_get_child_count(void *folder_object, enum mapistore_table_type table
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder getChildCount: child_count ofTableType: table_type]; rc = [folder getChildCount: child_count ofTableType: table_type];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -459,6 +480,7 @@ sogo_folder_open_message(void *folder_object,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder openMessage: &message rc = [folder openMessage: &message
withMID: mid withMID: mid
@ -467,6 +489,7 @@ sogo_folder_open_message(void *folder_object,
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*message_object = [message tallocWrapper: mem_ctx]; *message_object = [message tallocWrapper: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -495,6 +518,7 @@ sogo_folder_create_message(void *folder_object,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder createMessage: &message rc = [folder createMessage: &message
withMID: mid withMID: mid
@ -502,6 +526,7 @@ sogo_folder_create_message(void *folder_object,
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*message_object = [message tallocWrapper: mem_ctx]; *message_object = [message tallocWrapper: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -525,9 +550,11 @@ sogo_folder_delete_message(void *folder_object, uint64_t mid, uint8_t flags)
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder deleteMessageWithMID: mid andFlags: flags]; rc = [folder deleteMessageWithMID: mid andFlags: flags];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -560,6 +587,7 @@ sogo_folder_move_copy_messages(void *folder_object,
wrapper = source_folder_object; wrapper = source_folder_object;
sourceFolder = wrapper->MAPIStoreSOGoObject; sourceFolder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [targetFolder moveCopyMessagesWithMIDs: src_mids rc = [targetFolder moveCopyMessagesWithMIDs: src_mids
andCount: mid_count andCount: mid_count
@ -568,6 +596,7 @@ sogo_folder_move_copy_messages(void *folder_object,
andChangeKeys: target_change_keys andChangeKeys: target_change_keys
wantCopy: want_copy]; wantCopy: want_copy];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -593,6 +622,7 @@ sogo_folder_get_deleted_fmids(void *folder_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder getDeletedFMIDs: fmidsp rc = [folder getDeletedFMIDs: fmidsp
andCN: cnp andCN: cnp
@ -600,6 +630,7 @@ sogo_folder_get_deleted_fmids(void *folder_object, TALLOC_CTX *mem_ctx,
inTableType: table_type inTableType: table_type
inMemCtx: mem_ctx]; inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -626,6 +657,7 @@ sogo_folder_open_table(void *folder_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder getTable: &table rc = [folder getTable: &table
andRowCount: row_count andRowCount: row_count
@ -634,6 +666,7 @@ sogo_folder_open_table(void *folder_object, TALLOC_CTX *mem_ctx,
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*table_object = [table tallocWrapper: mem_ctx]; *table_object = [table tallocWrapper: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -659,11 +692,13 @@ sogo_folder_modify_permissions(void *folder_object, uint8_t flags,
{ {
wrapper = folder_object; wrapper = folder_object;
folder = wrapper->MAPIStoreSOGoObject; folder = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [folder modifyPermissions: permissions rc = [folder modifyPermissions: permissions
withCount: pcount withCount: pcount
andFlags: flags]; andFlags: flags];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -689,10 +724,12 @@ sogo_message_get_message_data(void *message_object,
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
[message getMessageData: msg_dataP [message getMessageData: msg_dataP
inMemCtx: mem_ctx]; inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
rc = MAPISTORE_SUCCESS; rc = MAPISTORE_SUCCESS;
} }
else else
@ -718,12 +755,14 @@ sogo_message_create_attachment (void *message_object, TALLOC_CTX *mem_ctx, void
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message createAttachment: &attachment inAID: aidp]; rc = [message createAttachment: &attachment inAID: aidp];
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*attachment_object = [attachment tallocWrapper: mem_ctx]; *attachment_object = [attachment tallocWrapper: mem_ctx];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -749,12 +788,14 @@ sogo_message_open_attachment (void *message_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message getAttachment: &attachment withAID: aid]; rc = [message getAttachment: &attachment withAID: aid];
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*attachment_object = [attachment tallocWrapper: mem_ctx]; *attachment_object = [attachment tallocWrapper: mem_ctx];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -779,6 +820,7 @@ sogo_message_get_attachment_table (void *message_object, TALLOC_CTX *mem_ctx, vo
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message getAttachmentTable: &table rc = [message getAttachmentTable: &table
andRowCount: row_count]; andRowCount: row_count];
@ -786,6 +828,7 @@ sogo_message_get_attachment_table (void *message_object, TALLOC_CTX *mem_ctx, vo
*table_object = [table tallocWrapper: mem_ctx]; *table_object = [table tallocWrapper: mem_ctx];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -812,12 +855,14 @@ sogo_message_modify_recipients (void *message_object,
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message modifyRecipientsWithRecipients: recipients rc = [message modifyRecipientsWithRecipients: recipients
andCount: count andCount: count
andColumns: columns]; andColumns: columns];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -841,10 +886,12 @@ sogo_message_set_read_flag (void *message_object, uint8_t flag)
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message setReadFlag: flag]; rc = [message setReadFlag: flag];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -868,10 +915,12 @@ sogo_message_save (void *message_object)
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message saveMessage]; rc = [message saveMessage];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -895,10 +944,12 @@ sogo_message_submit (void *message_object, enum SubmitFlags flags)
{ {
wrapper = message_object; wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject; message = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [message submitWithFlags: flags]; rc = [message submitWithFlags: flags];
// [context tearDownRequest]; // [context tearDownRequest];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -923,12 +974,11 @@ sogo_message_attachment_open_embedded_message
DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
pool = [NSAutoreleasePool new];
if (attachment_object) if (attachment_object)
{ {
wrapper = attachment_object; wrapper = attachment_object;
attachment = wrapper->MAPIStoreSOGoObject; attachment = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [attachment openEmbeddedMessage: &message rc = [attachment openEmbeddedMessage: &message
withMID: midP withMID: midP
@ -937,6 +987,7 @@ sogo_message_attachment_open_embedded_message
if (rc == MAPISTORE_SUCCESS) if (rc == MAPISTORE_SUCCESS)
*message_object = [message tallocWrapper: mem_ctx]; *message_object = [message tallocWrapper: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -960,9 +1011,11 @@ static enum mapistore_error sogo_table_get_available_properties(void *table_obje
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [table getAvailableProperties: propertiesP inMemCtx: mem_ctx]; rc = [table getAvailableProperties: propertiesP inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -986,10 +1039,12 @@ sogo_table_set_columns (void *table_object, uint16_t count, enum MAPITAGS *prope
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [table setColumns: properties rc = [table setColumns: properties
withCount: count]; withCount: count];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1013,12 +1068,14 @@ sogo_table_set_restrictions (void *table_object, struct mapi_SRestriction *restr
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
[table setRestrictions: restrictions]; [table setRestrictions: restrictions];
[table cleanupCaches]; [table cleanupCaches];
rc = MAPISTORE_SUCCESS; rc = MAPISTORE_SUCCESS;
*table_status = TBLSTAT_COMPLETE; *table_status = TBLSTAT_COMPLETE;
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1042,12 +1099,14 @@ sogo_table_set_sort_order (void *table_object, struct SSortOrderSet *sort_order,
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
[table setSortOrder: sort_order]; [table setSortOrder: sort_order];
[table cleanupCaches]; [table cleanupCaches];
rc = MAPISTORE_SUCCESS; rc = MAPISTORE_SUCCESS;
*table_status = TBLSTAT_COMPLETE; *table_status = TBLSTAT_COMPLETE;
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1073,10 +1132,12 @@ sogo_table_get_row (void *table_object, TALLOC_CTX *mem_ctx,
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [table getRow: data withRowID: row_id andQueryType: query_type rc = [table getRow: data withRowID: row_id andQueryType: query_type
inMemCtx: mem_ctx]; inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1102,10 +1163,12 @@ sogo_table_get_row_count (void *table_object,
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [table getRowCount: row_countp rc = [table getRowCount: row_countp
withQueryType: query_type]; withQueryType: query_type];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1129,9 +1192,11 @@ sogo_table_handle_destructor (void *table_object, uint32_t handle_id)
{ {
wrapper = table_object; wrapper = table_object;
table = wrapper->MAPIStoreSOGoObject; table = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
[table destroyHandle: handle_id]; [table destroyHandle: handle_id];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
rc = MAPISTORE_SUCCESS; rc = MAPISTORE_SUCCESS;
} }
else else
@ -1157,9 +1222,11 @@ static enum mapistore_error sogo_properties_get_available_properties(void *objec
{ {
wrapper = object; wrapper = object;
propObject = wrapper->MAPIStoreSOGoObject; propObject = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [propObject getAvailableProperties: propertiesP inMemCtx: mem_ctx]; rc = [propObject getAvailableProperties: propertiesP inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1186,11 +1253,13 @@ sogo_properties_get_properties (void *object,
{ {
wrapper = object; wrapper = object;
propObject = wrapper->MAPIStoreSOGoObject; propObject = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [propObject getProperties: data withTags: properties rc = [propObject getProperties: data withTags: properties
andCount: count andCount: count
inMemCtx: mem_ctx]; inMemCtx: mem_ctx];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1214,9 +1283,11 @@ sogo_properties_set_properties (void *object, struct SRow *aRow)
{ {
wrapper = object; wrapper = object;
propObject = wrapper->MAPIStoreSOGoObject; propObject = wrapper->MAPIStoreSOGoObject;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
rc = [propObject addPropertiesFromRow: aRow]; rc = [propObject addPropertiesFromRow: aRow];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
} }
else else
{ {
@ -1244,7 +1315,6 @@ sogo_manager_generate_uri (TALLOC_CTX *mem_ctx,
/* This fixes a crash occurring during the instantiation of the /* This fixes a crash occurring during the instantiation of the
NSAutoreleasePool below. */ NSAutoreleasePool below. */
GSRegisterCurrentThread (); GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
// printf("rootURI = %s\n", rootURI); // printf("rootURI = %s\n", rootURI);
@ -1268,7 +1338,6 @@ sogo_manager_generate_uri (TALLOC_CTX *mem_ctx,
*uri = talloc_strdup (mem_ctx, [partialURLString UTF8String]); *uri = talloc_strdup (mem_ctx, [partialURLString UTF8String]);
[pool release]; [pool release];
GSUnregisterCurrentThread (); GSUnregisterCurrentThread ();
return MAPISTORE_SUCCESS; return MAPISTORE_SUCCESS;

View File

@ -329,7 +329,8 @@
iCalToDo *vToDo; iCalToDo *vToDo;
id value; id value;
iCalDateTime *date; iCalDateTime *date;
NSString *status, *priority; iCalTimeZone *tz;
NSString *status, *priority, *tzName;
NSCalendarDate *now; NSCalendarDate *now;
NSInteger tzOffset; NSInteger tzOffset;
double doubleValue; double doubleValue;
@ -338,6 +339,10 @@
vCalendar = [vToDo parent]; vCalendar = [vToDo parent];
[vCalendar setProdID: @"-//Inverse inc.//OpenChange+SOGo//EN"]; [vCalendar setProdID: @"-//Inverse inc.//OpenChange+SOGo//EN"];
tzName = [[[self userContext] timeZone] name];
tz = [iCalTimeZone timeZoneForName: tzName];
[vCalendar addTimeZone: tz];
// summary // summary
value = [properties value = [properties
objectForKey: MAPIPropertyKey (PR_NORMALIZED_SUBJECT_UNICODE)]; objectForKey: MAPIPropertyKey (PR_NORMALIZED_SUBJECT_UNICODE)];
@ -358,12 +363,12 @@
value = [value htmlToText]; value = [value htmlToText];
} }
} }
if (value && [value length] == 0)
value = nil;
[vToDo setComment: value];
if (value) if (value)
[vToDo setComment: value]; {
if ([value length] == 0 || [value isEqualToString: @"\\n"])
value = nil;
[vToDo setComment: value];
}
// location // location
value = [properties objectForKey: MAPIPropertyKey (PidLidLocation)]; value = [properties objectForKey: MAPIPropertyKey (PidLidLocation)];
@ -388,31 +393,17 @@
if (value) if (value)
{ {
date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"dtstart"]; date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"dtstart"];
tzOffset = [[value timeZone] secondsFromGMTForDate: value]; [date setTimeZone: tz];
value = [value dateByAddingYears: 0 months: 0 days: 0 [date setDateTime: value];
hours: 0 minutes: 0
seconds: -tzOffset];
[date setDate: value];
} }
else
{
[vToDo setStartDate: nil];
}
// due // due
value = [properties objectForKey: MAPIPropertyKey (PidLidTaskDueDate)]; value = [properties objectForKey: MAPIPropertyKey (PidLidTaskDueDate)];
if (value) if (value)
{ {
date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"due"]; date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"due"];
tzOffset = [[value timeZone] secondsFromGMTForDate: value]; [date setTimeZone: tz];
value = [value dateByAddingYears: 0 months: 0 days: 0 [date setDateTime: value];
hours: 0 minutes: 0
seconds: -tzOffset];
[date setDate: value];
}
else
{
[vToDo setDue: nil];
} }
// completed // completed
@ -426,10 +417,6 @@
seconds: -tzOffset]; seconds: -tzOffset];
[date setDate: value]; [date setDate: value];
} }
else
{
[vToDo setCompleted: nil];
}
// status // status
value = [properties objectForKey: MAPIPropertyKey (PidLidTaskStatus)]; value = [properties objectForKey: MAPIPropertyKey (PidLidTaskStatus)];
@ -459,10 +446,8 @@
default: // IMPORTANCE_NORMAL default: // IMPORTANCE_NORMAL
priority = @"5"; priority = @"5";
} }
[vToDo setPriority: priority];
} }
else
priority = @"0"; // None
[vToDo setPriority: priority];
// percent complete // percent complete
// NOTE: this does not seem to work on Outlook 2003. PidLidPercentComplete's value // NOTE: this does not seem to work on Outlook 2003. PidLidPercentComplete's value

View File

@ -32,6 +32,9 @@
@class NSData; @class NSData;
@class NSDictionary; @class NSDictionary;
@class NSTimeZone;
extern NSTimeZone *utcTZ;
uint8_t *MAPIBoolValue (void *memCtx, BOOL value); uint8_t *MAPIBoolValue (void *memCtx, BOOL value);
uint32_t *MAPILongValue (void *memCtx, uint32_t value); uint32_t *MAPILongValue (void *memCtx, uint32_t value);

View File

@ -36,6 +36,8 @@
#include <mapistore/mapistore.h> #include <mapistore/mapistore.h>
#include <mapistore/mapistore_errors.h> #include <mapistore/mapistore_errors.h>
NSTimeZone *utcTZ;
uint8_t * uint8_t *
MAPIBoolValue (void *memCtx, BOOL value) MAPIBoolValue (void *memCtx, BOOL value)
{ {

View File

@ -27,6 +27,7 @@
@class NSMutableDictionary; @class NSMutableDictionary;
@class NSString; @class NSString;
@class NSTimeZone;
@class WOContext; @class WOContext;
@ -43,6 +44,7 @@
{ {
NSString *username; NSString *username;
SOGoUser *sogoUser; SOGoUser *sogoUser;
NSTimeZone *timeZone;
SOGoUserFolder *userFolder; SOGoUserFolder *userFolder;
NSMutableArray *containersBag; NSMutableArray *containersBag;
@ -63,6 +65,8 @@
- (NSString *) username; - (NSString *) username;
- (SOGoUser *) sogoUser; - (SOGoUser *) sogoUser;
- (NSTimeZone *) timeZone;
- (SOGoUserFolder *) userFolder; - (SOGoUserFolder *) userFolder;
- (NSDictionary *) rootFolders; - (NSDictionary *) rootFolders;

View File

@ -137,6 +137,20 @@ static NSMapTable *contextsTable = nil;
return sogoUser; return sogoUser;
} }
- (NSTimeZone *) timeZone
{
if (!timeZone)
{
SOGoUser *user;
user = [self sogoUser];
timeZone = [[user userDefaults] timeZone];
[timeZone retain];
}
return timeZone;
}
- (SOGoUserFolder *) userFolder - (SOGoUserFolder *) userFolder
{ {
if (!userFolder) if (!userFolder)

View File

@ -29,6 +29,7 @@
#import "NSArray+MAPIStore.h" #import "NSArray+MAPIStore.h"
#undef DEBUG #undef DEBUG
#include <stdbool.h>
#include <talloc.h> #include <talloc.h>
#include <util/time.h> #include <util/time.h>
#include <gen_ndr/exchange.h> #include <gen_ndr/exchange.h>

View File

@ -27,6 +27,7 @@
#import "NSDate+MAPIStore.h" #import "NSDate+MAPIStore.h"
#undef DEBUG #undef DEBUG
#include <stdbool.h>
#include <talloc.h> #include <talloc.h>
#include <util/time.h> #include <util/time.h>
#include <mapistore/mapistore.h> #include <mapistore/mapistore.h>

View File

@ -21,6 +21,7 @@
*/ */
#import <Foundation/NSAutoreleasePool.h> #import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSThread.h>
#import <NGExtensions/NSObject+Logs.h> #import <NGExtensions/NSObject+Logs.h>
#import "MAPIStoreTypes.h" #import "MAPIStoreTypes.h"
@ -44,11 +45,13 @@ MAPIStoreTallocWrapperDestroy (void *data)
struct MAPIStoreTallocWrapper *wrapper; struct MAPIStoreTallocWrapper *wrapper;
NSAutoreleasePool *pool; NSAutoreleasePool *pool;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
wrapper = data; wrapper = data;
// NSLog (@"destroying wrapped object (wrapper: %p; object: %p)...\n", wrapper, wrapper->MAPIStoreSOGoObject); // NSLog (@"destroying wrapped object (wrapper: %p; object: %p)...\n", wrapper, wrapper->MAPIStoreSOGoObject);
[wrapper->MAPIStoreSOGoObject release]; [wrapper->MAPIStoreSOGoObject release];
[pool release]; [pool release];
GSUnregisterCurrentThread ();
return 0; return 0;
} }

View File

@ -39,6 +39,7 @@
#import "SOGoMAPIFSFolder.h" #import "SOGoMAPIFSFolder.h"
#undef DEBUG #undef DEBUG
#include <stdbool.h>
#include <talloc.h> #include <talloc.h>
#include <util/time.h> #include <util/time.h>
#include <mapistore/mapistore.h> #include <mapistore/mapistore.h>

View File

@ -31,7 +31,7 @@
@interface SOGoMAPIFSMessage : SOGoMAPIVolatileMessage @interface SOGoMAPIFSMessage : SOGoMAPIVolatileMessage
{ {
NSString *completeFilename; NSString *completeFilename;
NSUInteger fileSize; NSUInteger inode;
NSData *lastModificationTime; NSData *lastModificationTime;
} }

View File

@ -41,7 +41,7 @@
if ((self = [super init])) if ((self = [super init]))
{ {
completeFilename = nil; completeFilename = nil;
fileSize = 0; inode = 0;
lastModificationTime = nil; lastModificationTime = nil;
} }
@ -86,7 +86,7 @@
} }
- (BOOL) _readFileChangesDataWithDate: (NSDate **) newLMTime - (BOOL) _readFileChangesDataWithDate: (NSDate **) newLMTime
andSize: (NSUInteger *) newFileSize andInode: (NSUInteger *) newInode
{ {
BOOL rc; BOOL rc;
NSDictionary *attributes; NSDictionary *attributes;
@ -97,7 +97,7 @@
if (attributes) if (attributes)
{ {
*newLMTime = [attributes fileModificationDate]; *newLMTime = [attributes fileModificationDate];
*newFileSize = [attributes fileSize]; *newInode = [attributes fileSystemFileNumber];
rc = YES; rc = YES;
} }
else else
@ -107,22 +107,22 @@
} }
- (BOOL) _checkFileChangesDataWithDate: (NSDate **) newLMTime - (BOOL) _checkFileChangesDataWithDate: (NSDate **) newLMTime
andSize: (NSUInteger *) newFileSize andInode: (NSUInteger *) newInode
{ {
BOOL hasChanged = NO; BOOL hasChanged = NO;
NSDate *lastLMTime; NSDate *lastLMTime;
NSUInteger lastFileSize; NSUInteger lastInode;
if ([self _readFileChangesDataWithDate: &lastLMTime if ([self _readFileChangesDataWithDate: &lastLMTime
andSize: &lastFileSize]) andInode: &lastInode])
{ {
if (fileSize != lastFileSize if (inode != lastInode
|| ![lastModificationTime isEqual: lastLMTime]) || ![lastModificationTime isEqual: lastLMTime])
{ {
if (lastLMTime) if (lastLMTime)
*newLMTime = lastLMTime; *newLMTime = lastLMTime;
if (newFileSize) if (newInode)
*newFileSize = lastFileSize; *newInode = lastInode;
hasChanged = YES; hasChanged = YES;
} }
} }
@ -136,10 +136,10 @@
NSString *error; NSString *error;
NSPropertyListFormat format; NSPropertyListFormat format;
NSDate *lastLMTime; NSDate *lastLMTime;
NSUInteger lastFileSize; NSUInteger lastInode;
if ([self _checkFileChangesDataWithDate: &lastLMTime if ([self _checkFileChangesDataWithDate: &lastLMTime
andSize: &lastFileSize]) andInode: &lastInode])
{ {
[self logWithFormat: @"file '%@' new or modified: rereading properties", [self logWithFormat: @"file '%@' new or modified: rereading properties",
[self completeFilename]]; [self completeFilename]];
@ -158,7 +158,7 @@
@" of message: '%@'", error]; @" of message: '%@'", error];
} }
ASSIGN (lastModificationTime, lastLMTime); ASSIGN (lastModificationTime, lastLMTime);
fileSize = lastFileSize; inode = lastInode;
} }
return [super properties]; return [super properties];
@ -168,7 +168,7 @@
{ {
NSData *content; NSData *content;
NSDate *lastLMTime; NSDate *lastLMTime;
NSUInteger lastFileSize; NSUInteger lastInode;
[container ensureDirectory]; [container ensureDirectory];
@ -178,14 +178,13 @@
dataFromPropertyList: [self properties] dataFromPropertyList: [self properties]
format: NSPropertyListBinaryFormat_v1_0 format: NSPropertyListBinaryFormat_v1_0
errorDescription: NULL]; errorDescription: NULL];
if (![content writeToFile: [self completeFilename] atomically: NO]) if (![content writeToFile: [self completeFilename] atomically: YES])
[NSException raise: @"MAPIStoreIOException" [NSException raise: @"MAPIStoreIOException"
format: @"could not save message"]; format: @"could not save message"];
[self _readFileChangesDataWithDate: &lastLMTime [self _readFileChangesDataWithDate: &lastLMTime andInode: &lastInode];
andSize: &lastFileSize];
ASSIGN (lastModificationTime, lastLMTime); ASSIGN (lastModificationTime, lastLMTime);
fileSize = lastFileSize; inode = lastInode;
// [self logWithFormat: @"fs message written to '%@'", [self completeFilename]]; // [self logWithFormat: @"fs message written to '%@'", [self completeFilename]];
} }

View File

@ -106,17 +106,18 @@
- (void) addType: (NSString *) aType; - (void) addType: (NSString *) aType;
/* rendering */
- (NSArray *) orderOfAttributeKeys; - (NSArray *) orderOfAttributeKeys;
- (NSArray *) orderOfValueKeys; - (NSArray *) orderOfValueKeys;
- (NSString *) versitString; - (NSString *) versitString;
- (CardGroup *) searchParentOfClass: (Class) parentClass; - (CardGroup *) searchParentOfClass: (Class) parentClass;
/* conversion */
- (id) elementWithClass: (Class) elementClass; - (id) elementWithClass: (Class) elementClass;
/* copy */
- (void) setAttributesAsCopy: (NSMutableDictionary *) someAttributes; - (void) setAttributesAsCopy: (NSMutableDictionary *) someAttributes;
- (NSMutableArray *) deepCopyOfArray: (NSArray *) oldArray - (NSMutableArray *) deepCopyOfArray: (NSArray *) oldArray
withZone: (NSZone *) aZone; withZone: (NSZone *) aZone;
- (NSMutableDictionary *) deepCopyOfDictionary: (NSDictionary *) oldDictionary - (NSMutableDictionary *) deepCopyOfDictionary: (NSDictionary *) oldDictionary

View File

@ -2,6 +2,6 @@
# This file is included by library makefiles to set the version information # This file is included by library makefiles to set the version information
# of the executable. # of the executable.
MAJOR_VERSION=1 MAJOR_VERSION=2
MINOR_VERSION=3 MINOR_VERSION=0
SUBMINOR_VERSION=15 SUBMINOR_VERSION=0

View File

@ -0,0 +1,48 @@
sogo (1.3.5) unstable; urgency=low
* New upstream release.
-- Inverse Support <support@inverse.ca> Wed, 25 January 2011 12:00:00 -0500
sogo (1.2.2) unstable; urgency=low
* New upstream release.
-- Inverse Support <support@inverse.ca> Tue, 04 May 2010 16:45:59 -0400
sogo (1.2.1) unstable; urgency=low
* New upstream release.
* SOGo-debian.conf installed as /etc/apache2/conf.d/
* SOGo.conf removed from documentation examples.
-- Inverse Support <support@inverse.ca> Wed, 17 Feb 2010 11:06:41 -0500
sogo (1.2.0) unstable; urgency=low
* New upstream release.
-- Inverse Support <support@inverse.ca> Tue, 26 Jan 2010 08:34:20 -0500
sogo (1.1.0) unstable; urgency=low
* New release
* Install a default Apache 2 configuration file.
* Added a dependency on sope4.9-libxmlsaxdriver, sope4.9-db-connector
-- Inverse Support <support@inverse.ca> Wed, 28 Oct 2009 17:06:03 -0400
sogo (1.0.4) unstable; urgency=low
* New release
* debian/control:
- bumped standards-version
- updated dependencies
-- Inverse Support <support@inverse.ca> Tue, 11 Aug 2009 18:22:41 -0400
sogo (1.0.3) UNRELEASED; urgency=low
* Initial package
-- Cyril Robert <crobert@inverse.ca> Tue, 23 Dec 2008 00:49:45 +0100

View File

@ -0,0 +1 @@
8

View File

@ -0,0 +1,61 @@
Source: sogo
Priority: optional
Maintainer: Inverse Support <support@inverse.ca>
Build-Depends: debhelper (>= 8.0.0), gobjc | objc-compiler, libgnustep-base-dev, libsope-appserver4.9-dev, libsope-core4.9-dev, libsope-gdl1-4.9-dev, libsope-ldap4.9-dev, libsope-mime4.9-dev, libsope-xml4.9-dev, libmemcached-dev, libxml2-dev, libsbjson-dev, libssl-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev, libmapi-dev, libmapistore-dev, libmapiproxy-dev
Section: web
Standards-Version: 3.9.2
Package: sogo
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Section: web
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, tmpreaper, sope4.9-libxmlsaxdriver, sope4.9-db-connector, gnustep-make, libcurl3
Suggests: nginx
Description: a modern and scalable groupware
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
The Inverse edition of this project has many feature enhancements:
* CalDAV and GroupDAV compliance
* full handling of vCard as well as vCalendar/iCalendar formats
* support for folder sharing and ACLs
.
The Web interface has been rewritten in an AJAX fashion to provide a faster
UI for the users, consistency in look and feel with the Mozilla applications,
and to reduce the load of the transactions on the server.
Package: sogo-dev
Section: devel
Architecture: any
Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Replaces: sogo (<< ${binary:Version})
Description: a modern and scalable groupware - development files
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the development files for developing SOGo modules.
Package: sogo-openchange
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Section: net
Priority: extra
Architecture: any
Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: a modern and scalable groupware - OpenChange backend
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the backend plugin for using SOGo as a backend
to OpenChange.
Package: sogo-dbg
Section: debug
Priority: extra
Architecture: any
Depends: sogo (= ${binary:Version}), ${misc:Depends}
Description: a modern and scalable groupware - debugging symbols
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the debugging symbols for SOGo.

View File

@ -0,0 +1,31 @@
This package was debianized by Inverse <support@inverse.ca> on
Mon, 27 Jul 2009 10:57:51 -0400.
It was downloaded from http://www.sogo.nu/downloads/backend.html
Upstream Authors:
Inverse inc. <support@inverse.ca>
Copyright:
Copyright (C) 2006-2010 Inverse inc.
License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
The Debian packaging is (c) 2009, Inverse <support@inverse.ca> and
is licensed under the GPL, see `/usr/share/common-licenses/GPL-2'.

View File

@ -0,0 +1,115 @@
#!/usr/bin/make -f
# -*- makefile -*-
export DH_VERBOSE=1
# export DH_OPTIONS="-p sogo"
DESTDIR=$(CURDIR)/debian/tmp
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
include /etc/GNUstep/GNUstep.conf
include /usr/share/GNUstep/Makefiles/common.make
config.make: configure
dh_testdir
./configure --prefix=$(GNUSTEP_SYSTEM_ROOT)
#Architecture
build: build-arch
build-arch: build-arch-stamp
build-arch-stamp: config.make
# Add here commands to compile the arch part of the package.
$(MAKE)
if pkg-config --atleast-version=1.0 libmapi; \
then (cd OpenChange; $(MAKE)); \
fi
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-arch-stamp
( cd Tests/Integration; make clean )
rm -f Tests/Integration/config.py
-find Tests -name "*.pyc" -exec rm -f {} \;
if [ -f config.make ]; \
then \
if pkg-config --atleast-version=1.0 libmapi; \
then \
(cd OpenChange; make clean); \
fi; \
make clean; \
fi
-rm -f OpenChange/MAPIStorePropertySelectors.*
-find OpenChange -type d -name "unrtf-*" -exec rm -rf {} \;
-rm -f OpenChange/unrtf*-stamp
-rm -f config.make
dh_clean
install: install-arch
dh_testdir
dh_testroot
# dh_prep -i
# dh_installdirs -i
# dh_install -i
install-arch: build-arch
dh_testdir
dh_testroot
dh_prep
# dh_installdirs -s
$(MAKE) DESTDIR=$(DESTDIR) GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install
if pkg-config --atleast-version=1.0 libmapi; \
then \
(cd OpenChange; \
$(MAKE) \
DESTDIR=$(DESTDIR) \
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
install); \
rm -f $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/libMAPIStoreSOGo.so.1; \
rm -f $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/libMAPIStoreSOGo.so; \
mv -f $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/libMAPIStoreSOGo.so.1.0.0 \
$(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/SOGo.so; \
fi
mkdir -p debian/tmp/etc/default
cp Scripts/sogo-default debian/tmp/etc/default/sogo
mkdir -p debian/tmp/usr/share/lintian/overrides
cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo
mkdir -p debian/tmp/etc/apache2/conf.d
cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf
install -D -m 644 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo
# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
dh_testdir
dh_testroot
dh_installinit -r
dh_installlogrotate
dh_installcron
dh_installchangelogs ChangeLog
dh_installdocs
# dh_installexamples
dh_installman
dh_install
dh_link
dh_strip --dbg-package=sogo-dbg
# workaround for http://sourceware.org/bugzilla/show_bug.cgi?id=9538
# to let gdb find the symbols for libSOGo
( cd debian/sogo-dbg/usr/lib/debug/usr/lib/; \
ln -s GNUstep/Frameworks/SOGo.framework/Versions/*/libSOGo* ./ )
dh_compress
dh_fixperms
dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
binary-indep: build install
# We have nothing to do by default.
binary: binary-arch binary-indep
.PHONY: build clean binary-arch binary install install-arch

View File

@ -0,0 +1,2 @@
usr/include/GNUstep/*
usr/lib/lib*.so

View File

@ -0,0 +1,2 @@
usr/lib/*/mapistore_backends/*
usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore

View File

@ -0,0 +1,6 @@
#!/bin/sh
SOGOSPOOL=/var/spool/sogo
/usr/sbin/tmpreaper 24 "$SOGOSPOOL"
find "$SOGOSPOOL" -mindepth 1 -type d -empty -exec /bin/rmdir -p {} \; 2> /dev/null

View File

@ -0,0 +1,3 @@
etc
var
usr

View File

@ -0,0 +1,10 @@
NEWS
TODO
Scripts/sql-update-1.2.2_to_1.3.0.sh
Scripts/sql-update-1.2.2_to_1.3.0-mysql.sh
Scripts/sql-update-1.3.3_to_1.3.4.sh
Scripts/sql-update-1.3.3_to_1.3.4-mysql.sh
Scripts/sql-update-1.3.11_to_1.3.12.sh
Scripts/sql-update-1.3.11_to_1.3.12-mysql.sh
Scripts/sogo-backup.sh
Scripts/updates.php

View File

@ -0,0 +1,100 @@
#!/bin/bash
### BEGIN INIT INFO
# Provides: sogo
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SOGo server
### END INIT INFO
# SOGo init script for Debian GNU/Linux
#
# Copyright (C) 2007-2010 Inverse inc.
#
# Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
# Ludovic Marcotte <ludovic@inverse.ca>
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This file 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=sogo
DAEMON=/usr/sbin/sogod
DESC="SOGo"
USER=$NAME
PREFORK=1
PIDFILE=/var/run/$NAME/$NAME.pid
LOGFILE=/var/log/$NAME/$NAME.log
if [ -f /etc/default/$NAME ]; then
. /etc/default/$NAME
fi
. /lib/lsb/init-functions
if [ ! -x $DAEMON ]; then
log_failure_msg "$DAEMON is not executable."
exit 1
fi
set -e
. /usr/share/GNUstep/Makefiles/GNUstep.sh
DAEMON_OPTS="-WOWorkersCount $PREFORK -WOPidFile $PIDFILE -WOLogFile $LOGFILE"
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
# Ensure directory's existence and permissions
install -o $USER -g adm -m 755 -d /var/run/$NAME
install -o $USER -g adm -m 750 -d /var/spool/$NAME
install -o $USER -g adm -m 750 -d /var/log/$NAME
if ! start-stop-daemon -c $USER --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
then
log_progress_msg "already running"
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
start-stop-daemon --stop --pidfile $PIDFILE --retry=TERM/20/KILL/5 --oknodo
log_end_msg 0
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
start-stop-daemon --stop --pidfile $PIDFILE --retry=TERM/20/KILL/5 --oknodo
# Ensure directory's existence and permissions
install -o $USER -g adm -m 755 -d /var/run/$NAME
install -o $USER -g adm -m 750 -d /var/spool/$NAME
install -o $USER -g adm -m 750 -d /var/log/$NAME
start-stop-daemon -c $USER --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
log_end_msg 0
;;
status)
status_of_proc -p $PIDFILE "$DAEMON" $NAME && exit 0 || exit $?
;;
*)
echo "Usage: $NAME {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,15 @@
etc/default/sogo
etc/apache2/conf.d/SOGo.conf
etc/cron.d/sogo
usr/sbin/*
usr/lib/GNUstep/Frameworks/*
usr/lib/GNUstep/Libraries/*
usr/lib/GNUstep/OCSTypeModels/*
usr/lib/GNUstep/SaxDrivers-4.9/*
usr/lib/GNUstep/SaxMappings/*
usr/lib/GNUstep/WOxElemBuilders-4.9/*
usr/lib/GNUstep/SOGo/*.SOGo
usr/lib/GNUstep/SOGo/Templates
usr/lib/GNUstep/SOGo/WebServerResources
usr/lib/lib*.so.*
usr/share/lintian/*

View File

@ -0,0 +1,13 @@
/var/log/sogo/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 sogo sogo
sharedscripts
postrotate
/etc/init.d/sogo restart > /dev/null 2>&1
endscript
}

View File

@ -0,0 +1,4 @@
sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/prototype.js
sogo: extra-license-file usr/lib/GNUstep/SOGo/WebServerResources/scriptaculous/MIT-LICENSE
sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/scriptaculous/scriptaculous.js
sogo: package-name-doesnt-match-sonames libGDLContentStore4.9 libNGCards4.9 libOGoContentStore0.9 libSOGoUI1.0

View File

@ -0,0 +1,36 @@
#!/bin/bash
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin
case "$1" in
configure)
# update timestamp on imgs,css,js to let apache know the files changed
find /usr/lib/GNUstep/SOGo/WebServerResources -exec touch {} \;
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
#DEBHELPER#
exit 0

View File

@ -0,0 +1,35 @@
#!/bin/bash
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
if test "x$1" == "xpurge"
then
userdel -r sogo || true
rm -rf /var/spool/sogo
rm -rf /var/log/sogo
rm -rf /var/run/sogo
fi
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 0
esac
#DEBHELPER#
exit 0

View File

@ -0,0 +1,32 @@
#!/bin/bash
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
#
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
if test "x$1" == "xinstall" && test -z "$2"
then
if ! id sogo 1> /dev/null 2>&1; then
groupadd -f -K GID_MIN=100 -K GID_MAX=500 sogo
useradd -d /home/sogo -g sogo -m -K UID_MIN=100 -K UID_MAX=500 -K PASS_MAX_DAYS=-1 -s /bin/bash sogo
fi
for dir in run spool log
do
if ! test -d /var/$dir/sogo
then
install -m 750 -o sogo -g sogo -d /var/$dir/sogo
fi
done
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,17 @@
#!/bin/bash
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
#DEBHELPER#
exit 0

View File

@ -0,0 +1 @@
3.0 (quilt)

11
debian/control vendored
View File

@ -22,6 +22,17 @@ Description: a modern and scalable groupware
UI for the users, consistency in look and feel with the Mozilla applications, UI for the users, consistency in look and feel with the Mozilla applications,
and to reduce the load of the transactions on the server. and to reduce the load of the transactions on the server.
Package: sogo-dev
Section: devel
Architecture: any
Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Replaces: sogo (<< ${binary:Version})
Description: a modern and scalable groupware - development files
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the development files for developing SOGo modules.
Package: sogo-dbg Package: sogo-dbg
Section: debug Section: debug
Priority: extra Priority: extra

57
debian/control-squeeze vendored 100644
View File

@ -0,0 +1,57 @@
Source: sogo
Priority: optional
Maintainer: Inverse Support <support@inverse.ca>
Build-Depends: debhelper (>= 7.0.15), gobjc | objc-compiler, libgnustep-base-dev, libsope-appserver4.9-dev, libsope-core4.9-dev, libsope-gdl1-4.9-dev, libsope-ldap4.9-dev, libsope-mime4.9-dev, libsope-xml4.9-dev, libmemcached-dev, libxml2-dev, libsbjson-dev, libssl-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev, libmapi-dev, libmapistore-dev, libmapiproxy-dev
Section: web
Standards-Version: 3.9.1
Package: sogo
Section: web
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, tmpreaper, sope4.9-libxmlsaxdriver, sope4.9-db-connector, gnustep-make, libcurl3
Suggests: nginx
Description: a modern and scalable groupware
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
The Inverse edition of this project has many feature enhancements:
* CalDAV and GroupDAV compliance
* full handling of vCard as well as vCalendar/iCalendar formats
* support for folder sharing and ACLs
.
The Web interface has been rewritten in an AJAX fashion to provide a faster
UI for the users, consistency in look and feel with the Mozilla applications,
and to reduce the load of the transactions on the server.
Package: sogo-dev
Section: devel
Architecture: any
Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Replaces: sogo (<< ${binary:Version})
Description: a modern and scalable groupware - development files
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the development files for developing SOGo modules.
Package: sogo-openchange
Section: net
Priority: extra
Architecture: any
Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: a modern and scalable groupware - OpenChange backend
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the backend plugin for using SOGo as a backend
to OpenChange.
Package: sogo-dbg
Section: debug
Priority: extra
Architecture: any
Depends: sogo (= ${binary:Version}), ${misc:Depends}
Description: a modern and scalable groupware - debugging symbols
SOGo is a groupware server built around OpenGroupware.org (OGo) and
the SOPE application server with focus on scalability.
.
This package contains the debugging symbols for SOGo.

55
debian/rules vendored
View File

@ -3,9 +3,14 @@
export DH_VERBOSE=1 export DH_VERBOSE=1
# export DH_OPTIONS="-p sogo" # export DH_OPTIONS="-p sogo"
DESTDIR=$(CURDIR)/debian/tmp
include /etc/GNUstep/GNUstep.conf
include /usr/share/GNUstep/Makefiles/common.make
config.make: configure config.make: configure
dh_testdir dh_testdir
./configure ./configure --prefix=$(GNUSTEP_SYSTEM_ROOT)
#Architecture #Architecture
build: build-arch build: build-arch
@ -14,36 +19,66 @@ build-arch: build-arch-stamp
build-arch-stamp: config.make build-arch-stamp: config.make
# Add here commands to compile the arch part of the package. # Add here commands to compile the arch part of the package.
$(MAKE) $(MAKE)
if pkg-config --atleast-version=1.0 libmapi; \
then (cd OpenChange; $(MAKE)); \
fi
touch $@ touch $@
clean: clean:
dh_testdir dh_testdir
dh_testroot dh_testroot
rm -f build-arch-stamp rm -f build-arch-stamp
if [ -f config.make ]; then make clean; fi ( cd Tests/Integration; make clean )
rm -f Tests/Integration/config.py
-find Tests -name "*.pyc" -exec rm -f {} \;
if [ -f config.make ]; \
then \
if pkg-config --atleast-version=1.0 libmapi; \
then \
(cd OpenChange; make clean); \
fi; \
make clean; \
fi
-rm -f OpenChange/MAPIStorePropertySelectors.*
-find OpenChange -type d -name "unrtf-*" -exec rm -rf {} \;
-rm -f OpenChange/unrtf*-stamp
-rm -f config.make
dh_clean dh_clean
install: install-arch install: install-arch
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_prep -i # dh_prep -i
dh_installdirs -i # dh_installdirs -i
dh_install -i # dh_install -i
install-arch: build-arch install-arch: build-arch
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_prep -i dh_prep
# dh_installdirs -s # dh_installdirs -s
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install $(MAKE) DESTDIR=$(DESTDIR) GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install
if pkg-config --atleast-version=1.0 libmapi; \
then \
(cd OpenChange; \
$(MAKE) \
DESTDIR=$(DESTDIR) \
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
install); \
rm -f $(DESTDIR)/usr/lib/mapistore_backends/libMAPIStoreSOGo.so.1; \
rm -f $(DESTDIR)/usr/lib/mapistore_backends/libMAPIStoreSOGo.so; \
mv -f $(DESTDIR)/usr/lib/mapistore_backends/libMAPIStoreSOGo.so.1.0.0 \
$(DESTDIR)/usr/lib/mapistore_backends/SOGo.so; \
fi
mkdir -p debian/tmp/etc/default mkdir -p debian/tmp/etc/default
cp Scripts/sogo-default debian/tmp/etc/default/sogo cp Scripts/sogo-default debian/tmp/etc/default/sogo
mkdir -p debian/tmp/usr/share/lintian/overrides mkdir -p debian/tmp/usr/share/lintian/overrides
cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo
mkdir -p debian/tmp/etc/apache2/conf.d mkdir -p debian/tmp/etc/apache2/conf.d
cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf
install -D -m 600 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo install -D -m 644 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo
# Build architecture dependant packages using the common target. # Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch binary-arch: build-arch install-arch
@ -64,8 +99,8 @@ binary-arch: build-arch install-arch
( cd debian/sogo-dbg/usr/lib/debug/usr/lib/; \ ( cd debian/sogo-dbg/usr/lib/debug/usr/lib/; \
ln -s GNUstep/Frameworks/SOGo.framework/Versions/*/libSOGo* ./ ) ln -s GNUstep/Frameworks/SOGo.framework/Versions/*/libSOGo* ./ )
dh_compress dh_compress
dh_fixperms -X/etc/cron.d/sogo dh_fixperms
dh_makeshlibs dh_makeshlibs -X/usr/lib/mapistore_backends
dh_shlibdeps dh_shlibdeps
dh_installdeb dh_installdeb
dh_gencontrol dh_gencontrol

2
debian/sogo-dev.install vendored 100644
View File

@ -0,0 +1,2 @@
usr/include/GNUstep/*
usr/lib/lib*.so

2
debian/sogo-openchange.install vendored 100644
View File

@ -0,0 +1,2 @@
usr/lib/mapistore_backends/*
usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore

View File

@ -0,0 +1,2 @@
usr/lib/*/mapistore_backends/*
usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore

13
debian/sogo.install vendored
View File

@ -2,7 +2,14 @@ etc/default/sogo
etc/apache2/conf.d/SOGo.conf etc/apache2/conf.d/SOGo.conf
etc/cron.d/sogo etc/cron.d/sogo
usr/sbin/* usr/sbin/*
usr/lib/GNUstep/* usr/lib/GNUstep/Frameworks/*
usr/lib/lib* usr/lib/GNUstep/Libraries/*
usr/include/GNUstep/* usr/lib/GNUstep/OCSTypeModels/*
usr/lib/GNUstep/SaxDrivers-4.9/*
usr/lib/GNUstep/SaxMappings/*
usr/lib/GNUstep/WOxElemBuilders-4.9/*
usr/lib/GNUstep/SOGo/*.SOGo
usr/lib/GNUstep/SOGo/Templates
usr/lib/GNUstep/SOGo/WebServerResources
usr/lib/lib*.so.*
usr/share/lintian/* usr/share/lintian/*

363
debian/sogo.overrides vendored
View File

@ -1,367 +1,4 @@
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/Search-bar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/abcard.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/accepted.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/account-settings.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-addressbook.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-calendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-contact.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-user-addressbook.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-user-calendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/addrbook.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/alarm.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/arrow-dwn-sharp.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/arrow-lft-sharp.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/arrow-rit-sharp.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/attachment.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/browser_firefox.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/browser_ie.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/browser_safari.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/busy.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/calendar-folder-16x16.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/calendar-reload.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/choose-date.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/images/spacer.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/about/dialogs/logo_ckeditor.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/flash/images/placeholder.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/link/images/anchor.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/pagebreak/images/pagebreak.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_address.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_blockquote.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_div.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h1.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h2.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h3.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h4.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h5.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h6.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_p.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_pre.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/angel_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/angry_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/broken_heart.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/confused_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/cry_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/devil_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/embaressed_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/envelope.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/heart.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/kiss.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/lightbulb.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/omg_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/regular_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/sad_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/shades_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/teeth_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/thumbs_down.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/thumbs_up.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/tounge_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/wink_smile.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/templates/templates/images/template1.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/templates/templates/images/template2.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/templates/templates/images/template3.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/uicolor.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/hue_bg.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/picker_mask.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/icons.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowdown.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowleft.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowright.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowtop.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/dialog_sides.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/dialog_sides.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/dialog_sides_rtl.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/mini.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/noimage.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/resizer.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/resizer_rtl.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/sprites.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/sprites_ie6.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/toolbar_start.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/sprites.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/icons.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowdown.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowleft.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowright.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowtop.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/dialog_sides.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/dialog_sides.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/dialog_sides_rtl.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/mini.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/noimage.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/resizer.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/resizer_rtl.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/sprites.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/sprites_ie6.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/icons.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowdown.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowleft.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowright.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowtop.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/dialog_sides.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/dialog_sides.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/dialog_sides_rtl.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/mini.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/noimage.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/resizer.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/resizer_rtl.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/sprites.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/sprites_ie6.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/toolbar_start.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/closewindow.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/create-account.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/day-view-multicolumn.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/day-view.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/declined.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/delegated.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/dialog-left.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/dialog-right.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/dot.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/edit.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/empty.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/event-gradient.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/first.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/goto-today.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/green_corner.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-deleted.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-forwarded-replied.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-forwarded.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-new.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-replied.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon_unread.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/important.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/inverse.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/last.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/lori_32x32.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/manage-filters.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/manage-imap.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/menu-check-hover.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/menu-check.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/menu-nocheck.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/message-copy.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/message.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-certificate.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-magicpoint.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-msword.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-ogg.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-pdf.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-postscript.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-rtf.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.lotus-1-2-3.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.ms-excel.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.ms-powerpoint.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.graphics.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.image.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.presentation.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.spreadsheet.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.text-web.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.text.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.rn-realmedia-secure.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.rn-realmedia-vbr.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.rn-realmedia.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.stardivision.calc.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.stardivision.impress.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.stardivision.writer.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.calc.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.draw.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.impress.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.writer.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-wordperfect.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-7z-compressed.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-abiword.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-applix-spreadsheet.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-applix-word.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-archive.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-arj.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-bzip-compressed-tar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-bzip.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-cd-image.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-compress.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-compressed-tar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-cpio-compressed.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-cpio.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-deb.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-dvi.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-executable.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-afm.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-bdf.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-linux-psf.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-pcf.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-sunos-news.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-ttf.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-gnumeric.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-gzip.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-gzpostscript.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-jar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-killustrator.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-kpresenter.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-kspread.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-kword.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lha.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lhz.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lzma-compressed-tar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lzma.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-ms-dos-executable.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-perl.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-php.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-python-bytecode.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-rar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-rpm.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-scribus.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-shellscript.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-shockwave-flash.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-stuffit.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-tar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-tarz.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-tex.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-xhtml+xml.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-zip.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-ascii.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-audio-x-generic.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-audio.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-binary.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-contents2.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-deb.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-document.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-empty.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-exec.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-folder_tar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font-x-generic.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font_bitmap.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font_truetype.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font_type1.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gnome-fs-executable.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gnome-fs-regular.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gnome-package.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gtk-file.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-html.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-image-x-generic.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-image.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-kpresenter_kpr.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-mime_ascii.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-misc.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package-x-generic.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package_editors.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package_wordprocessing.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-plan.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-rpm.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-shellscript.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-sound.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-spreadsheet.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_addressbook.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_calendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_certificate.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_script.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-tar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-template_source.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-html.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-plain.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-vnd.wap.wml.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-csh.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-generic-template.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-generic.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-preview.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-python.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-script.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-sh.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-vcalendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-vcard.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-zsh.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-tgz.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-txt.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-txt2.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-unknown.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-vcalendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-vcard.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-video-x-generic.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-video.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-wordprocessing.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-www.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-font-afm.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-address-book.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-calendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-document.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-drawing.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-presentation.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-spreadsheet.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-zip.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/minus.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/month-view.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/needs-action.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-card.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-event.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-list.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-task.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/next.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/non_sorted.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/offline-settings.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/plus.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/previous.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/properties.png
sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/prototype.js sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/prototype.js
sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/jquery.js sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/jquery.js
sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/jquery-ui.js sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/jquery-ui.js
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level-alert.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level-ok.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level-warn.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/read-messages.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remote-addrbook.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remove-addressbook.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remove-calendar.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remove-contact.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/search-messages.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/slider_handle.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/sogo-logo.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/submenu-active.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/submenu-disabled.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/submenu.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_left_active.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_left_inactive.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_right_active.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_right_inactive.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-ab-properties-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-attach-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-contacts-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-save-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-security-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-send-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-addressbook-flat-16x16.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-addressbook-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-delete-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-file-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-forward-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-getmail-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-junk-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-print-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-reply-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-replyall-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-stop-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-write-flat-24x24.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_account_17x17.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_corner_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_corner_minus_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_corner_plus_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_drafts_17x17.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_inbox_17x17.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_junction_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_leaf_corner_17x17.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_line_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_minus_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_plus_17x17.gif
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_sent_17x17.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_trash_17x17.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tentative.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_attachment_14x14.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_read_14x14.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_sortdown_12x12.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_sortup_12x12.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/week-view.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/write-message.png
sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/write.png
sogo: package-name-doesnt-match-sonames libGDLContentStore4.9 libNGCards4.9 libOGoContentStore0.9 libSOGoUI1.0 sogo: package-name-doesnt-match-sonames libGDLContentStore4.9 libNGCards4.9 libOGoContentStore0.9 libSOGoUI1.0

1
debian/source/format vendored 100644
View File

@ -0,0 +1 @@
3.0 (quilt)