summaryrefslogtreecommitdiff
path: root/omapip
diff options
context:
space:
mode:
authorShawn Routhier <sar@isc.org>2010-12-14 21:59:44 +0000
committerShawn Routhier <sar@isc.org>2010-12-14 21:59:44 +0000
commit23d39ae2d8e310f143a2a566f838920fe7ba7926 (patch)
tree0e6868a8171ebc96f2e712ddea29248b40587090 /omapip
parent9d97e6445e193df48ed8704de858210a033088a5 (diff)
downloadisc-dhcp-23d39ae2d8e310f143a2a566f838920fe7ba7926.tar.gz
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]
Diffstat (limited to 'omapip')
-rw-r--r--omapip/connection.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/omapip/connection.c b/omapip/connection.c
index 4948070a..bb244c2e 100644
--- a/omapip/connection.c
+++ b/omapip/connection.c
@@ -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;
}