summaryrefslogtreecommitdiff
path: root/common/execute.c
diff options
context:
space:
mode:
authorDavid Hankins <dhankins@isc.org>2005-03-17 20:15:29 +0000
committerDavid Hankins <dhankins@isc.org>2005-03-17 20:15:29 +0000
commit98311e4ba99c21b71079481caccdd5a977f22c78 (patch)
treeed84e5ed5556d5f447ef9ef8417a62275ed443cf /common/execute.c
parentc570dfe68e7144bf6565b5d94121bd26d8f9f004 (diff)
downloadisc-dhcp-98311e4ba99c21b71079481caccdd5a977f22c78.tar.gz
MASSIVE merge from V3-RELEASE-BRANCH into HEAD. HEAD and V3-RELEASE are
now synced as of tag V3-0-3-BETA-1.
Diffstat (limited to 'common/execute.c')
-rw-r--r--common/execute.c65
1 files changed, 29 insertions, 36 deletions
diff --git a/common/execute.c b/common/execute.c
index 1287e9e5..cc5a6ba6 100644
--- a/common/execute.c
+++ b/common/execute.c
@@ -3,39 +3,30 @@
Support for executable statements. */
/*
- * Copyright (c) 1998-2001 Internet Software Consortium.
- * All rights reserved.
+ * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 1998-2003 by Internet Software Consortium
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
*
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of The Internet Software Consortium nor the names
- * of its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
- * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
+ * Internet Systems Consortium, Inc.
+ * 950 Charter Street
+ * Redwood City, CA 94063
+ * <info@isc.org>
+ * http://www.isc.org/
*
- * This software has been written for the Internet Software Consortium
+ * This software has been written for Internet Systems Consortium
* by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
- * To learn more about the Internet Software Consortium, see
+ * To learn more about Internet Systems Consortium, see
* ``http://www.isc.org/''. To learn more about Vixie Enterprises,
* see ``http://www.vix.com''. To learn more about Nominum, Inc., see
* ``http://www.nominum.com''.
@@ -43,7 +34,7 @@
#ifndef lint
static char copyright[] =
-"$Id: execute.c,v 1.46 2001/08/10 10:48:58 mellon Exp $ Copyright (c) 1998-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: execute.c,v 1.47 2005/03/17 20:14:58 dhankins Exp $ Copyright (c) 2004 Internet Systems Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -379,7 +370,9 @@ int execute_statements (result, packet, lease, client_state,
goto blb;
}
}
- }
+ } else
+ binding = NULL;
+
if (ns && binding) {
status = (evaluate_expression
(&binding -> value, packet, lease,
@@ -429,19 +422,19 @@ int execute_statements (result, packet, lease, client_state,
switch (r -> data.log.priority) {
case log_priority_fatal:
log_fatal ("%.*s", (int)ds.len,
- ds.buffer -> data);
+ ds.data);
break;
case log_priority_error:
log_error ("%.*s", (int)ds.len,
- ds.buffer -> data);
+ ds.data);
break;
case log_priority_debug:
log_debug ("%.*s", (int)ds.len,
- ds.buffer -> data);
+ ds.data);
break;
case log_priority_info:
log_info ("%.*s", (int)ds.len,
- ds.buffer -> data);
+ ds.data);
break;
}
data_string_forget (&ds, MDL);
@@ -545,7 +538,7 @@ int executable_statement_dereference (ptr, file, line)
}
(*ptr) -> refcnt--;
- rc_register (file, line, ptr, *ptr, (*ptr) -> refcnt, 1);
+ rc_register (file, line, ptr, *ptr, (*ptr) -> refcnt, 1, RC_MISC);
if ((*ptr) -> refcnt > 0) {
*ptr = (struct executable_statement *)0;
return 1;
@@ -859,7 +852,7 @@ void write_statements (file, statements, indent)
case log_statement:
indent_spaces (file, indent);
fprintf (file, "log ");
- col = token_print_indent (file, col, indent + 4,
+ col = token_print_indent (file, indent + 4, indent + 4,
"", "", "(");
switch (r -> data.log.priority) {
case log_priority_fatal: