]> err.no Git - sope/commitdiff
cleaned up WOPort processing
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 23 Sep 2004 15:33:04 +0000 (15:33 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 23 Sep 2004 15:33:04 +0000 (15:33 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@166 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/Defaults.plist
sope-appserver/NGObjWeb/NGHttp/NGHttpMessage.h
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WOCoreApplication.m
sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpAdaptor.m
sope-appserver/NGObjWeb/WOSimpleHTTPParser.m

index 161bd92aecb5fbf4d8ecd86acbf1828750d4b271..19af8e53777b1dc3231644fbc52fe52a52257c1d 100644 (file)
@@ -1,5 +1,16 @@
 2004-09-23  Helge Hess  <helge.hess@skyrix.com>
+
+       * v4.3.43
        
+       * WOCoreApplication.m: improved handling of WOPort default (detect
+         numeric ports)
+
+       * Defaults.plist: changed default WOPort value from '"*:20000"' to
+         just 20000 (which is the same like *:20000' but compatible to WO)
+
+       * WOHttpAdaptor/WOHttpAdaptor.m: for numberic WOPort's, retrieve the
+         port from the WOApplication object
+
        * WOCoreApplication.m: use NGResourceLocator to determine search pathes
          (v4.3.42)
        
index 9ec5f0c23345cb2d0f2c4baf286c17f7960fbd59..e06361c4f09566485e4b6e56a8ada17da645f81c 100644 (file)
@@ -75,7 +75,7 @@
   WOPageRequestHandlerDebugEnabled      = NO;
   WOParsersUseUTF8                      = NO;
   WOPermanentPageCacheSize              = 30;
-  WOPort                                = "*:20000";
+  WOPort                                = 20000;
   WOProfileApplication                  = NO;
   WOProfileComponents                   = NO;
   WOProfileDirectActionRequestHandler   = NO;
index 96b783a5d3765e4a71956c9cf8ee344d255103ef..e27219da8b14ef62ef5d2e1d9952858399512bf3 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2003 SKYRIX Software AG
+  Copyright (C) 2000-2004 SKYRIX Software AG
 
-  This file is part of OGo
+  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
@@ -18,7 +18,6 @@
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #ifndef __NGHttp_NGHttpMessage_H__
 #define __NGHttp_NGHttpMessage_H__
index d3b8ad7c19db96581b75540b3d0aaded78dafc24..1920b68b62444cee547855e665e391dad434bcee 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=42
+SUBMINOR_VERSION:=43
 
 # v4.3.42  requires libNGExtensions v4.3.116
 # v4.3.40  requires libNGExtensions v4.3.115
index 145fe2f39896ccd4a91c6232ce6691e4dfada1c0..7bac89fdb99753852dece2df17177e7f82c89edc 100644 (file)
@@ -732,6 +732,10 @@ static NSMutableArray *activeApps = nil; // THREAD
   apath = [self findNGObjWebResource:@"Defaults" ofType:@"plist"];
   if (apath == nil)
     NSLog(@"ERROR: cannot find Defaults.plist resource of NGObjWeb library!");
+#if HEAVY_DEBUG
+  else
+    NSLog(@"Note: loading default defaults: %@", apath);
+#endif
   
   owDefaults = [NSDictionary dictionaryWithContentsOfFile:apath];
   if (owDefaults) {
@@ -779,13 +783,16 @@ static NSMutableArray *activeApps = nil; // THREAD
   woport = [[self userDefaults] objectForKey:@"WOPort"];
   if ([woport isKindOfClass:[NSNumber class]])
     return woport;
-  
   woport = [woport stringValue];
+  if ([woport length] > 0 && isdigit([woport characterAtIndex:0]))
+    return [NSNumber numberWithInt:[woport intValue]];
+  
   addr   = NGSocketAddressFromString(woport);
   
   if ([addr isKindOfClass:[NGInternetSocketAddress class]])
     return [NSNumber numberWithInt:[(NGInternetSocketAddress *)addr port]];
-  
+
+  NSLog(@"GOT NO PORT FOR ADDR: %@ (%@)", addr, woport);
   return nil;
 }
 
index e5e3cb6e5b5a1eaf59f8f85ee5792f5b4940038a..b3ebf70926a3da49c8dd1965101d326cfa2e3b7e 100644 (file)
@@ -68,6 +68,10 @@ static BOOL HTTP_PERFLOG = NO;
 
 @end
 
+@interface WOCoreApplication(Port)
+- (NSNumber *)port;
+@end
+
 @implementation WOHttpAdaptor
 
 static BOOL     WOHttpAdaptor_LogStream      = NO;
@@ -160,25 +164,26 @@ static BOOL     debugOn = NO;
 #endif
     
     if ([_args count] < 1) {
-      NSString   *arg;
       const char *cstr;
       
-      arg = WOPort;
-      
       self->address = nil;
       
-      if ([arg isEqualToString:@"auto"]) {
+      if ([WOPort isEqualToString:@"auto"])
         self->address = [self autoBindAddress];
-      }
       
-      if ((self->address == nil) && (cstr = [arg cString])) {
+      if ((self->address == nil) && ((cstr = [WOPort cString]) != NULL)) {
         if (isdigit(*cstr)) {
+          NSNumber *p;
+          
+          p = [(WOCoreApplication *)[_application class] port];
+          if (p == nil) p = (id)WOPort;
+          
           self->address =
-            [NGInternetSocketAddress wildcardAddressWithPort:[arg intValue]];
+            [NGInternetSocketAddress wildcardAddressWithPort:[p intValue]];
         }
       }
       if (self->address == nil)
-        self->address = NGSocketAddressFromString(arg);
+        self->address = NGSocketAddressFromString(WOPort);
     }
     else {
       NSString *arg = nil;
index 25471b1fd9b0a029581c88243f9e2a423eba7ec3..1336f2d963237d082851059d491953d2fd5ad681 100644 (file)
@@ -18,7 +18,6 @@
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #include "WOSimpleHTTPParser.h"
 #include <NGObjWeb/WOResponse.h>