slight re-org of unknown client handling
authorerickson <erickson@9efc2488-bf62-4759-914b-345cdb29e865>
Mon, 15 Dec 2008 21:42:50 +0000 (21:42 +0000)
committererickson <erickson@9efc2488-bf62-4759-914b-345cdb29e865>
Mon, 15 Dec 2008 21:42:50 +0000 (21:42 +0000)
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1529 9efc2488-bf62-4759-914b-345cdb29e865

src/libopensrf/osrf_stack.c

index 6f2fe09..8cc257b 100644 (file)
@@ -66,24 +66,24 @@ osrfAppSession* osrf_stack_transport_handler( transport_message* msg,
 
        osrfAppSession* session = osrf_app_session_find_session( msg->thread );
 
-    if(my_service) {
-
-        if(session) {
-            if(strcmp(msg->sender, session->remote_id) != 0) {
-                /* unexpected client connection.  See if we are running in "migratable" mode */
-                char* mable = osrf_settings_host_value("/apps/%s/migratable", my_service);
-                if(!mable) {
-                    osrfLogError("Connection to service %s from unknown client %s", my_service, msg->sender);
-                    return NULL;
-                }
-                free(mable);
-            }
-
+    if( session && 
+        session->type == OSRF_SESSION_SERVER &&
+        (strcmp(msg->sender, session->remote_id) != 0) ) {
+
+        /* unexpected client connection.  See if we are running in "migratable" mode */
+        char* mable = osrf_settings_host_value("/apps/%s/migratable", session->remote_service);
+        if(mable) {
+            // free to migrate
+            free(mable);
         } else {
-                   session = osrf_app_server_session_init(msg->thread, my_service, msg->sender);
+            osrfLogError("Connection to service %s from unknown client %s", session->remote_service, msg->sender);
+            return NULL;
         }
     }
 
+    if( !session && my_service )  
+        session = osrf_app_server_session_init( msg->thread, my_service, msg->sender); 
+
        if( !session ) {
                message_free( msg );
                return NULL;