]> err.no Git - scalable-opengroupware.org/commitdiff
Added new 'X-mineqProvenance' functionality to WOContext. This MUST be used by certai...
authorznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Fri, 8 Jul 2005 10:03:07 +0000 (10:03 +0000)
committerznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Fri, 8 Jul 2005 10:03:07 +0000 (10:03 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@696 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/Main/ChangeLog
SOGo/Main/README
SOGo/SoObjects/SOGo/ChangeLog
SOGo/SoObjects/SOGo/GNUmakefile
SOGo/SoObjects/SOGo/Version
SOGo/SoObjects/SOGo/WOContext+Agenor.h [new file with mode: 0644]
SOGo/SoObjects/SOGo/WOContext+Agenor.m [new file with mode: 0644]

index 560b1bba6c6795481414abfc411fa8e3f8df0870..e11f6fd3fd7e4ee8a78b6572a2c23c6cca553733 100644 (file)
@@ -1,7 +1,15 @@
+2005-07-08  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * README: updated for new default 'SOGoAllowsUnrestrictedAccess'
+
 2005-07-05  Marcus Mueller  <znek@mulle-kybernetik.com>
 
+       * v0.9.29
+
+       * README: updated defaults documentation
+
        * SOGo.m: added new default 'SOGoEnableDoubleReleaseCheck' for
-         debugging of NSAutoreleasePool issues (v0.9.29)
+         debugging of NSAutoreleasePool issues
 
 2005-03-28  Helge Hess  <helge.hess@opengroupware.org>
 
index 82a80b355814543b43c1b25b9d433e5cc1c90fc9..501226bb51dd7325e32ef0cdbac5406008e55126 100644 (file)
@@ -18,6 +18,9 @@ Defaults
   SOGoEnableDoubleReleaseCheck - bool - call
   +[NSAutoreleasePool enableDoubleReleaseCheck:YES] upon start
   => useful for debugging
+  SOGoAllowsUnrestrictedAccess - bool - allow or disallow unrestricted access
+  in the absence of a proxy inserting the X-mineqProvenance header field
+  => useful for testing
 
 What it does
 ============
index c868afe2bd1e9a7e22c7ac65eb606ec619bb55ff..ed0dd7bfe38e95463dc09c6f676c9c841dead55f 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-08  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * WOContext+Agenor.[hm]: new category for discovering if the current
+         context is via access from the intranet. (v0.9.40)
+
 2005-07-07  Helge Hess  <helge.hess@opengroupware.org>
        
        * added agenor_shares4uid tool to check whether the uid=>shared mailbox
index e60ad52ce855a08f83fd9541d35b542f72bae16e..e6b00c7c75f8e0cf16842be6105daaf0a0224213 100644 (file)
@@ -27,6 +27,7 @@ libSOGo_HEADER_FILES = \
        SOGoLRUCache.h                  \
        NSString+iCal.h                 \
        NSObject+AptComparison.h        \
+       WOContext+Agenor.h              \
 
 libSOGo_OBJC_FILES = \
        SOGoObject.m                    \
@@ -42,6 +43,7 @@ libSOGo_OBJC_FILES = \
        SOGoLRUCache.m                  \
        AgenorUserManager.m             \
        NSObject+AptComparison.m        \
+       WOContext+Agenor.m              \
 
 # tools
 
index 7638e7833552695acc3afde7cbdc84df08899f7a..b5f44a7a68894a9b78de49f1ef5f3badb009f61f 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=39
+SUBMINOR_VERSION:=40
 
 # v0.9.34 requires libGDLContentStore v4.5.26
 # v0.9.26 requires libOGoContentStore v0.9.13
diff --git a/SOGo/SoObjects/SOGo/WOContext+Agenor.h b/SOGo/SoObjects/SOGo/WOContext+Agenor.h
new file mode 100644 (file)
index 0000000..759e3fc
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+  Copyright (C) 2000-2005 SKYRIX Software AG
+
+  This file is part of OpenGroupware.org.
+
+  OGo is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  OGo 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 Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with OGo; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#ifndef        __SOGo_WOContext_Agenor_H_
+#define        __SOGo_WOContext_Agenor_H_
+
+#include <NGObjWeb/WOContext.h>
+
+@interface WOContext (Agenor)
+
+- (BOOL)isAccessFromIntranet;
+
+@end
+
+#endif /* __SOGo_WOContext_Agenor_H_ */
diff --git a/SOGo/SoObjects/SOGo/WOContext+Agenor.m b/SOGo/SoObjects/SOGo/WOContext+Agenor.m
new file mode 100644 (file)
index 0000000..81bb393
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+  Copyright (C) 2000-2005 SKYRIX Software AG
+
+  This file is part of OpenGroupware.org.
+
+  OGo is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  OGo 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 Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with OGo; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#include "WOContext+Agenor.h"
+#include "common.h"
+
+@implementation WOContext (Agenor)
+
+- (BOOL)isAccessFromIntranet {
+  NSNumber *bv;
+
+  bv = [self valueForKey:@"_agenorUnrestricedAccess"];
+  if (!bv) {
+    NSString       *mineqProvenance;
+
+    /* See Agenor technical specification, Section 2 */
+    mineqProvenance = [[self request] formValueForKey:@"X-mineqProvenance"];
+    if ([mineqProvenance hasPrefix:@"intranet"]) {
+      bv = [NSNumber numberWithBool:YES];
+    }
+    else {
+      /* fallback for testing */
+      NSUserDefaults *ud;
+      BOOL           allowed;
+
+      ud      = [NSUserDefaults standardUserDefaults];
+      allowed = [ud boolForKey:@"SOGoAllowsUnrestrictedAccess"];
+      bv      = [NSNumber numberWithBool:allowed];
+    }
+    [self takeValue:bv forKey:@"_agenorUnrestricedAccess"];
+  }
+  return [bv boolValue];
+}
+
+@end