]> 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 21:59:44 +0000 (21:59 +0000)
committerShawn Routhier <sar@isc.org>
Tue, 14 Dec 2010 21:59:44 +0000 (21:59 +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 af906bf279ff319762a3be014ce0420e840a7c32..e205bde8628292bec0b046f7c0083cdd05375ddc 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -156,6 +156,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.0b2
 
 - Add declaration for variable in debug code in alloc.c.  [ISC-Bugs #21472]
index 20ee8912446b0e2650178f09c981e13efd49c1ea..27a96e1d515ed0e52f97f95ef02de57efca51263 100644 (file)
@@ -3,7 +3,7 @@
    Lexical scanner for dhcpd config file... */
 
 /*
- * Copyright (c) 2004-2009 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 1995-2003 by Internet Software Consortium
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -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;
 }