]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Don't pass the ISC_R_INPROGRESS status to the omapi signal handlers.
authorShawn Routhier <sar@isc.org>
Tue, 14 Dec 2010 22:07:47 +0000 (22:07 +0000)
committerShawn Routhier <sar@isc.org>
Tue, 14 Dec 2010 22:07:47 +0000 (22:07 +0000)
Passing it through to the handlers caused the omshell program to fail
to connect to the server.  [ISC-Bugs #21839]

Fix the paranthesis in the code to process configuration statements
beginning with "auth".  The previous arrangement caused
"auto-partner-down" to be processed incorrectly.  [ISC-Bugs #21854]

RELNOTES
common/conflex.c
omapip/connection.c

index e43a2ffcba8b31ba855f3112471b2bc4ce3d3f94..5df03f3b4bccf9fd93f473e0781737faf813d647 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -146,6 +146,14 @@ work on other platforms. Please report any problems and suggested fixes to
   non-responsive.  [ISC-Bugs #22679]
   CERT: VU#159528 CVE: CVE-2010-3616 
 
+- Don't pass the ISC_R_INPROGRESS status to the omapi signal handlers.
+  Passing it through to the handlers caused the omshell program to fail
+  to connect to the server.  [ISC-Bugs #21839]
+
+- Fix the paranthesis in the code to process configuration statements
+  beginning with "auth".  The previous arrangement caused
+  "auto-partner-down" to be processed incorrectly.  [ISC-Bugs #21854]
+
                        Changes since 4.2.0rc1
 
 - Documentation cleanup covering multiple tickets
index 661c8c3ed62a1d3887910f47b85b95aa9d49421c..27a96e1d515ed0e52f97f95ef02de57efca51263 100644 (file)
@@ -765,8 +765,8 @@ intern(char *atom, enum dhcp_token dfv) {
                        break;
                }
                if (!strncasecmp(atom + 1, "ut", 2)) {
-                       if (isascii(atom[3] &&
-                           (tolower((unsigned char)atom[3]) == 'h'))) {
+                       if (isascii(atom[3]) &&
+                           (tolower((unsigned char)atom[3]) == 'h')) {
                                if (!strncasecmp(atom + 4, "enticat", 7)) {
                                        if (!strcasecmp(atom + 11, "ed"))
                                                return AUTHENTICATED;
index 4948070a9c57ba3f027f274e57b68ec948719d1f..bb244c2ece72644325dc5bb27790c5d7cb31a3d7 100644 (file)
@@ -3,7 +3,8 @@
    Subroutines for dealing with connections. */
 
 /*
- * Copyright (c) 2004,2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2009-2010 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 1999-2003 by Internet Software Consortium
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -597,18 +598,21 @@ isc_result_t omapi_connection_connect (omapi_object_t *h)
 {
        isc_result_t status;
 
-       status = omapi_connection_connect_internal (h);
-       if (status != ISC_R_SUCCESS)
-               omapi_signal (h, "status", status);
-
        /*
-        * Currently we use the INPROGRESS error to indicate that
-        * we want more from the socket.  In this case we have now connected
-        * and are trying to write to the socket for the first time.
+        * We use the INPROGRESS status to indicate that
+        * we want more from the socket.  In this case we
+        * have now connected and are trying to write to
+        * the socket for the first time.  For the signaling
+        * code this is the same as a SUCCESS so we don't
+        * pass it on as a signal.
         */
+       status = omapi_connection_connect_internal (h);
        if (status == ISC_R_INPROGRESS) 
                return ISC_R_INPROGRESS;
 
+       if (status != ISC_R_SUCCESS)
+               omapi_signal (h, "status", status);
+
        return ISC_R_SUCCESS;
 }