Changes since 4.2.0b1
-- Prohibit including lease time information in a response to a DHCP INFORM
- Bug ticket 21092.
+- Prohibit including lease time information in a response to a DHCP INFORM.
+ [ISC-Bugs #21092]
! Accept a client id of length 0 while hashing. Previously the server would
exit if it attempted to hash a zero length client id, providing attackers
- with a simple denial of service attack. Bug ticket 21253.
+ with a simple denial of service attack. [ISC-Bugs #21253]
- A memory leak in ddns processing was closed. [ISC-Bugs #21377]
+- Modify the exception handling for initial context creation. Previously
+ we would try and clean up before exiting. This could present problems
+ when the cleanup required part of the context that wasn't available. It
+ also didn't do much as we exited afterwards anyway. Now we simply log
+ the error and exit. [ISC-Bugs #21093]
+
Changes since 4.2.0a2
- Update the fsync code to work with the changes to the DDNS code. It now
- When constructing the DNS name structure from a text string append
the root to relative names. This satisfies a requirement in the DNS
library that names be absolute instead of relative and prevents DHCP
- from crashing. Bug ticket 21054.
+ from crashing. [ISC-Bugs #21054]
- "The LDAP Patch" that has been circulating for some time, written by
Brian Masney and S.Kalyanasundraram and maintained for application to
Network input dispatcher... */
/*
- * 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
status = isc_app_ctxrun(dhcp_gbl_ctx.actx);
- isclib_cleanup();
-
log_fatal ("Dispatch routine failed: %s -- exiting",
isc_result_totext (status));
}
ddns_interlude,
(void *)ddns_cb,
&ddns_cb->transaction);
+ if (result == ISC_R_FAMILYNOSUPPORT) {
+ log_info("Unable to perform DDNS update, "
+ "address family not supported");
+ }
cleanup:
if (dataspace != NULL) {
dhcp_gbl_ctx.task,
ddns_interlude, (void *)ddns_cb,
&ddns_cb->transaction);
+ if (result == ISC_R_FAMILYNOSUPPORT) {
+ log_info("Unable to perform DDNS update, "
+ "address family not supported");
+ }
cleanup:
if (dataspace != NULL) {
/*
- * Copyright(c) 2009 by Internet Systems Consortium, Inc.("ISC")
+ * Copyright(c) 2009-2010 by Internet Systems Consortium, Inc.("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
#endif
if (dhcp_gbl_ctx.task != NULL) {
-// isc_task_destroy(&dhcp_gbl_ctx.task);
isc_task_shutdown(dhcp_gbl_ctx.task);
isc_task_detach(&dhcp_gbl_ctx.task);
}
return(ISC_R_SUCCESS);
cleanup:
- isclib_cleanup();
+ /*
+ * Currently we don't try and cleanup, just return an error
+ * expecting that our caller will log the error and exit.
+ */
return(result);
}
Test code for omapip... */
/*
- * Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2009-2010 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004 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
omapi_object_t *connection = (omapi_object_t*)0;
isc_result_t status;
- dhcp_context_create();
+ status = dhcp_context_create();
+ if (status != ISC_R_SUCCESS) {
+ fprintf(stderr, "Can't initialize context: %s\n",
+ isc_result_totext(status));
+ exit(1);
+ }
omapi_init ();