]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Don't send the intro until we receive the connect signal.
authorTed Lemon <source@isc.org>
Mon, 15 May 2000 15:44:31 +0000 (15:44 +0000)
committerTed Lemon <source@isc.org>
Mon, 15 May 2000 15:44:31 +0000 (15:44 +0000)
omapip/protocol.c

index 65d1ce8cbd739d148ee4c216ee87a3e0d82a149b..d33ab76fe5007338b73a1981573467027ff549ba 100644 (file)
@@ -76,15 +76,6 @@ isc_result_t omapi_protocol_connect (omapi_object_t *h,
                return status;
        }
 
-       /* Send the introductory message. */
-       status = omapi_protocol_send_intro ((omapi_object_t *)obj,
-                                           OMAPI_PROTOCOL_VERSION,
-                                           sizeof (omapi_protocol_header_t));
-       if (status != ISC_R_SUCCESS) {
-               omapi_object_dereference ((omapi_object_t **)&obj, MDL);
-               return status;
-       }
-
        if (authinfo)
                omapi_object_reference (&obj -> authinfo, authinfo, MDL);
        omapi_object_dereference ((omapi_object_t **)&obj, MDL);
@@ -253,6 +244,19 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
        }
        p = (omapi_protocol_object_t *)h;
 
+       if (!strcmp (name, "connect")) {
+               /* Send the introductory message. */
+               status = omapi_protocol_send_intro
+                       ((omapi_object_t *)obj,
+                        OMAPI_PROTOCOL_VERSION,
+                        sizeof (omapi_protocol_header_t));
+               if (status != ISC_R_SUCCESS) {
+                       omapi_disconnect (p -> outer, 1);
+                       return status;
+               }
+               return ISC_R_SUCCESS;
+       }
+
        /* Not a signal we recognize? */
        if (strcmp (name, "ready")) {
                if (p -> inner && p -> inner -> type -> signal_handler)