(feat) now possible to log EAS commands using the SOGoEASDebugEnabled system defaults
parent
fbf5c4f6c2
commit
5412599832
|
@ -113,6 +113,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#import <Foundation/NSObject.h>
|
#import <Foundation/NSObject.h>
|
||||||
#import <Foundation/NSString.h>
|
#import <Foundation/NSString.h>
|
||||||
|
#import <Foundation/NSUserDefaults.h>
|
||||||
|
|
||||||
#include "iCalEvent+ActiveSync.h"
|
#include "iCalEvent+ActiveSync.h"
|
||||||
#include "iCalToDo+ActiveSync.h"
|
#include "iCalToDo+ActiveSync.h"
|
||||||
|
@ -138,10 +139,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
@implementation SOGoActiveSyncDispatcher
|
@implementation SOGoActiveSyncDispatcher
|
||||||
|
|
||||||
|
static BOOL debugOn = NO;
|
||||||
|
|
||||||
- (id) init
|
- (id) init
|
||||||
{
|
{
|
||||||
[super init];
|
[super init];
|
||||||
|
|
||||||
|
debugOn = [[SOGoSystemDefaults sharedSystemDefaults] easDebugEnabled];
|
||||||
folderTableURL = nil;
|
folderTableURL = nil;
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -2607,7 +2611,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
pool = [[NSAutoreleasePool alloc] init];
|
pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
ASSIGN(context, theContext);
|
ASSIGN(context, theContext);
|
||||||
|
|
||||||
// Get the device ID, device type and "stash" them
|
// Get the device ID, device type and "stash" them
|
||||||
deviceId = [[theRequest uri] deviceId];
|
deviceId = [[theRequest uri] deviceId];
|
||||||
[context setObject: deviceId forKey: @"DeviceId"];
|
[context setObject: deviceId forKey: @"DeviceId"];
|
||||||
|
@ -2670,6 +2674,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
if (d)
|
if (d)
|
||||||
{
|
{
|
||||||
|
if (debugOn)
|
||||||
|
[self logWithFormat: @"EAS - request for device %@: %@", [context objectForKey: @"DeviceId"], [[[NSString alloc] initWithData: d encoding: NSUTF8StringEncoding] autorelease]];
|
||||||
|
|
||||||
builder = [[[NSClassFromString(@"DOMSaxBuilder") alloc] init] autorelease];
|
builder = [[[NSClassFromString(@"DOMSaxBuilder") alloc] init] autorelease];
|
||||||
dom = [builder buildFromData: d];
|
dom = [builder buildFromData: d];
|
||||||
documentElement = [dom documentElement];
|
documentElement = [dom documentElement];
|
||||||
|
@ -2699,6 +2706,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
[theResponse setHeader: @"Sync,SendMail,SmartForward,SmartReply,GetAttachment,GetHierarchy,CreateCollection,DeleteCollection,MoveCollection,FolderSync,FolderCreate,FolderDelete,FolderUpdate,MoveItems,GetItemEstimate,MeetingResponse,Search,Settings,Ping,ItemOperations,ResolveRecipients,ValidateCert" forKey: @"MS-ASProtocolCommands"];
|
[theResponse setHeader: @"Sync,SendMail,SmartForward,SmartReply,GetAttachment,GetHierarchy,CreateCollection,DeleteCollection,MoveCollection,FolderSync,FolderCreate,FolderDelete,FolderUpdate,MoveItems,GetItemEstimate,MeetingResponse,Search,Settings,Ping,ItemOperations,ResolveRecipients,ValidateCert" forKey: @"MS-ASProtocolCommands"];
|
||||||
[theResponse setHeader: @"2.5,12.0,12.1,14.0,14.1" forKey: @"MS-ASProtocolVersions"];
|
[theResponse setHeader: @"2.5,12.0,12.1,14.0,14.1" forKey: @"MS-ASProtocolVersions"];
|
||||||
|
|
||||||
|
if (debugOn && [[theResponse content] length])
|
||||||
|
[self logWithFormat: @"EAS - response for device %@: %@", [context objectForKey: @"DeviceId"], [[[NSString alloc] initWithData: [[theResponse content] wbxml2xml] encoding: NSUTF8StringEncoding] autorelease]];
|
||||||
|
|
||||||
RELEASE(context);
|
RELEASE(context);
|
||||||
RELEASE(pool);
|
RELEASE(pool);
|
||||||
|
|
||||||
|
|
|
@ -2439,6 +2439,11 @@ Defaults to `0`, which means no overwrite is performed.
|
||||||
|
|
||||||
Setting this parameter to a value greater than `512` will
|
Setting this parameter to a value greater than `512` will
|
||||||
have unexpected behaviour with various ActiveSync clients.
|
have unexpected behaviour with various ActiveSync clients.
|
||||||
|
|S |SOGoEASDebugEnabled
|
||||||
|
|Parameter used to log the complete request and response of every single
|
||||||
|
EAS command.
|
||||||
|
|
||||||
|
Defaults to `NO`, which means no logging is performed.
|
||||||
|=======================================================================
|
|=======================================================================
|
||||||
|
|
||||||
Please be aware of the following limitations:
|
Please be aware of the following limitations:
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -18,6 +18,7 @@ Enhancements
|
||||||
- during login, we now extract the domain from the user to accelerate authentication requests on sources
|
- during login, we now extract the domain from the user to accelerate authentication requests on sources
|
||||||
- make sure sure email invitations can always be read by EAS clients
|
- make sure sure email invitations can always be read by EAS clients
|
||||||
- now able to print event/task's description (new components only) in the list view (#2881)
|
- now able to print event/task's description (new components only) in the list view (#2881)
|
||||||
|
- now possible to log EAS commands using the SOGoEASDebugEnabled system defaults
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
- now keep the BodyPreference for future EAS use and default to MIME if none set (#3146)
|
- now keep the BodyPreference for future EAS use and default to MIME if none set (#3146)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SOGoSystemDefaults.h - this file is part of SOGo
|
/* SOGoSystemDefaults.h - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009-2014 Inverse inc.
|
* Copyright (C) 2009-2015 Inverse inc.
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -64,6 +64,8 @@
|
||||||
- (BOOL) uixAdditionalPreferences;
|
- (BOOL) uixAdditionalPreferences;
|
||||||
|
|
||||||
- (BOOL) uixDebugEnabled;
|
- (BOOL) uixDebugEnabled;
|
||||||
|
- (BOOL) easDebugEnabled;
|
||||||
|
|
||||||
- (NSString *) pageTitle;
|
- (NSString *) pageTitle;
|
||||||
|
|
||||||
- (NSArray *) supportedLanguages;
|
- (NSArray *) supportedLanguages;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SOGoSystemDefaults.m - this file is part of SOGo
|
/* SOGoSystemDefaults.m - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009-2014 Inverse inc.
|
* Copyright (C) 2009-2015 Inverse inc.
|
||||||
* Copyright (C) 2012 Jeroen Dekkers <jeroen@dekkers.ch>
|
* Copyright (C) 2012 Jeroen Dekkers <jeroen@dekkers.ch>
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* This file is free software; you can redistribute it and/or modify
|
||||||
|
@ -427,6 +427,11 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict,
|
||||||
return [self boolForKey: @"SOGoUIxDebugEnabled"];
|
return [self boolForKey: @"SOGoUIxDebugEnabled"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (BOOL) easDebugEnabled
|
||||||
|
{
|
||||||
|
return [self boolForKey: @"SOGoEASDebugEnabled"];
|
||||||
|
}
|
||||||
|
|
||||||
- (NSString *) pageTitle
|
- (NSString *) pageTitle
|
||||||
{
|
{
|
||||||
return [self stringForKey: @"SOGoPageTitle"];
|
return [self stringForKey: @"SOGoPageTitle"];
|
||||||
|
|
Loading…
Reference in New Issue