diff options
author | Shawn Routhier <sar@isc.org> | 2010-12-14 21:59:44 +0000 |
---|---|---|
committer | Shawn Routhier <sar@isc.org> | 2010-12-14 21:59:44 +0000 |
commit | 23d39ae2d8e310f143a2a566f838920fe7ba7926 (patch) | |
tree | 0e6868a8171ebc96f2e712ddea29248b40587090 /omapip | |
parent | 9d97e6445e193df48ed8704de858210a033088a5 (diff) | |
download | isc-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.c | 20 |
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; } |