]> err.no Git - scalable-opengroupware.org/commitdiff
moved class security declarations from MainUI/product.plist to their classes
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 1 Aug 2005 12:54:00 +0000 (12:54 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 1 Aug 2005 12:54:00 +0000 (12:54 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@930 d1b88da0-ebda-0310-925b-ed51d893ca5b

Main/ChangeLog
Main/SOGo.m
Main/Version
SoObjects/SOGo/ChangeLog
SoObjects/SOGo/SOGoObject.m
SoObjects/SOGo/Version
UI/MainUI/ChangeLog
UI/MainUI/Version
UI/MainUI/product.plist

index 1f7fa7b60c11729f0ccab99a25a68dbe92c2e046..601b58254965f73a6f60636dc8f26590b9df8278 100644 (file)
@@ -1,5 +1,9 @@
 2005-08-01  Helge Hess  <helge.hess@skyrix.com>
 
+       * SOGo.m: added class security declarations (previously in
+         product.plist of MainUI), ensure that core SOGo SoClasses are loaded
+         (v0.9.40)
+
        * v0.9.39
 
        * moved MainUI product bundle to UI/MainUI
index 3d78f6ab48269c91ad4b50bbfc814a09592e82fd..4274d8385567114d39f2f0d73e3203bcfd76ea72 100644 (file)
@@ -62,15 +62,38 @@ static BOOL doCrashOnSessionCreate = NO;
   if ([ud boolForKey:@"SOGoEnableDoubleReleaseCheck"])
     [NSAutoreleasePool enableDoubleReleaseCheck:YES];
 #endif
+
+  /* SoClass security declarations */
+  
+  /* require View permission to access the root (bound to authenticated ...) */
+  [[self soClassSecurityInfo] declareObjectProtected:SoPerm_View];
+  
+  /* to allow public access to all contained objects (subkeys) */
+  [[self soClassSecurityInfo] setDefaultAccess:@"allow"];
+  
+  /* require Authenticated role for View and WebDAV */
+  [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+                              asDefaultForPermission:SoPerm_View];
+  [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+                              asDefaultForPermission:SoPerm_WebDAVAccess];
 }
 
 - (id)init {
   if ((self = [super init])) {
     WOResourceManager *rm;
     
+    /* ensure core SoClass'es are setup */
+    [NSClassFromString(@"SOGoObject")        soClass];
+    [NSClassFromString(@"SOGoContentObject") soClass];
+    [NSClassFromString(@"SOGoFolder")        soClass];
+    
+    /* setup locale cache */
     self->localeLUT = [[NSMutableDictionary alloc] initWithCapacity:2];
+    
+    /* load products */
     [[SOGoProductLoader productLoader] loadProducts];
     
+    /* setup resource manager */
     rm = [[WEResourceManager alloc] init];
     [self setResourceManager:rm];
   }
index 95f9a975b8742d6b7043e20208fe14e4788ba61f..7e0fcfa620d50b96d6135912702c321f66985015 100644 (file)
@@ -1,6 +1,6 @@
 # Version file
 
-SUBMINOR_VERSION:=39
+SUBMINOR_VERSION:=40
 
 # v0.9.32 requires libSOGo         v0.9.57
 # v0.9.24 requires libWEExtensions v4.5.67
index ba069600e3069fecf2d8c8d670446bdd6e17cf3e..04a4b2e10cb1508cc5500127507d8b7d06bff162 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-01  Helge Hess  <helge.hess@skyrix.com>
+
+       * SOGoObject.m: added class security declarations (previously in
+         product.plist of MainUI) (v0.9.69)
+
 2005-07-21  Helge Hess  <helge.hess@opengroupware.org>
 
        * SOGoUser.m: added a method to fetch share/emitter address pairs from
index ac1e4fe1023c59c8a454fc45ed7b4e2c7b4f2a58..9863d36ff2df5ba3dcfcfc360b6d2d59d0631b4d 100644 (file)
@@ -42,8 +42,24 @@ static BOOL kontactGroupDAV = YES;
   
   kontactGroupDAV = 
     [ud boolForKey:@"SOGoDisableKontact34GroupDAVHack"] ? NO : YES;
+
+  /* SoClass security declarations */
+  
+  /* require View permission to access the root (bound to authenticated ...) */
+  [[self soClassSecurityInfo] declareObjectProtected:SoPerm_View];
+  
+  /* to allow public access to all contained objects (subkeys) */
+  [[self soClassSecurityInfo] setDefaultAccess:@"allow"];
+  
+  /* require Authenticated role for View and WebDAV */
+  [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+                              asDefaultForPermission:SoPerm_View];
+  [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+                              asDefaultForPermission:SoPerm_WebDAVAccess];
 }
 
+/* containment */
+
 - (BOOL)doesRetainContainer {
   return YES;
 }
index 7a496da885011e8af4974ff63f2f44c53138d6ae..6741596789ebe542625e7cbd4ca12f554e68c007 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=68
+SUBMINOR_VERSION:=69
 
 # v0.9.63 requires libNGiCal          v4.5.54
 # v0.9.60 requires libNGiCal          v4.5.49
index 4eb7034474b195372d098cec23c36bc6a664993f..16cf5ae85b85c87b143d16d666eca8eed9e60610 100644 (file)
@@ -1,4 +1,9 @@
 2005-08-01  Helge Hess  <helge.hess@skyrix.com>
 
+       * product.plist: moved security declarations of core classes to the
+         +initialize method of the classes,
+         add SOGo application object methods in a category (was a class)
+         (v0.9.2)
+
        * created UI/MainUI product bundle from sources in Main (v0.9.1)
 
index 5768c75df59e92b719f617248d5965c51c5ed208..73946baab57d1a128510d18ddf2454bd605909e2 100644 (file)
@@ -1,5 +1,5 @@
 # Version file
 
-SUBMINOR_VERSION:=1
+SUBMINOR_VERSION:=2
 
 # v0.9.1 requires Main v0.9.59
index 6defc0eba61135ac24c24c4adc8011f9c5de1bd1..19da3a97bb0e04b8e9911ad97b0e0a5f3811917d 100644 (file)
@@ -4,15 +4,8 @@
   publicResources = (
   );
 
-  classes = {
+  categories = {
     SOGo = { // TODO: move decls to class
-      superclass    = "SoApplication";
-      protectedBy   = "View";
-      defaultAccess = "allow";
-      defaultRoles = {
-        "View"          = "Authenticated";
-        "WebDAV Access" = "Authenticated";
-      };
       methods = {
         index = { 
           protectedBy = "View";
@@ -29,7 +22,9 @@
         };
       };
     };
+  };
 
+  classes = {
     SOGoRootPage = {
       superclass    = "SoComponent";
       protectedBy   = "View";
       };
     };
 
-    SOGoObject = { // TODO: move decls to class
-      protectedBy   = "View";
-      defaultAccess = "allow";
-      defaultRoles = {
-        "View"          = "Authenticated";
-        "WebDAV Access" = "Authenticated";
-      };
-    };
-    SOGoContentObject = {
-      superclass    = "SOGoObject";
-    };
-    SOGoFolder = { // TODO: move decls to class
-      superclass    = "SOGoObject";
-    };
-
     SOGoUserFolder = {
       superclass    = "SOGoFolder";