complicated DHCP context logging.

This commit is contained in:
Simon Kelley
2012-12-16 22:04:50 +00:00
parent 6e3dba3fde
commit 72c9c3b11b

View File

@@ -679,6 +679,7 @@ void log_context(int family, struct dhcp_context *context)
void *start = &context->start; void *start = &context->start;
void *end = &context->end; void *end = &context->end;
char *n = "";
#ifdef HAVE_DHCP6 #ifdef HAVE_DHCP6
if (family == AF_INET6) if (family == AF_INET6)
@@ -693,18 +694,24 @@ void log_context(int family, struct dhcp_context *context)
#endif #endif
if (context->flags & CONTEXT_CONSTRUCTED) if (context->flags & CONTEXT_CONSTRUCTED)
sprintf(daemon->namebuff, "constructed for %s", context->template_interface); {
n = daemon->namebuff;
sprintf(daemon->namebuff, ", constructed for %s", context->template_interface);
}
else if (context->flags & CONTEXT_TEMPLATE) else if (context->flags & CONTEXT_TEMPLATE)
sprintf(daemon->namebuff, "template for %s", context->template_interface); {
n = daemon->namebuff;
sprintf(daemon->namebuff, ", template for %s", context->template_interface);
}
else else
{ {
if (family != AF_INET && (context->flags & CONTEXT_DEPRECATE)) if (family != AF_INET && (context->flags & CONTEXT_DEPRECATE))
strcpy(daemon->namebuff, _("prefix deprecated")); strcpy(daemon->namebuff, _(", prefix deprecated"));
else else
{ {
char *p = daemon->namebuff; char *p = daemon->namebuff;
p += sprintf(p, _("lease time ")); p += sprintf(p, _(", lease time "));
prettyprint_time(p, context->lease_time); prettyprint_time(p, context->lease_time);
} }
} }
@@ -717,17 +724,17 @@ void log_context(int family, struct dhcp_context *context)
(context->flags & CONTEXT_RA_STATELESS) ? (context->flags & CONTEXT_RA_STATELESS) ?
_("%s stateless on %s%.0s%.0s") : _("%s stateless on %s%.0s%.0s") :
(context->flags & CONTEXT_STATIC) ? (context->flags & CONTEXT_STATIC) ?
_("%s, static leases only on %.0s%s, %s") : _("%s, static leases only on %.0s%s%s") :
(context->flags & CONTEXT_PROXY) ? (context->flags & CONTEXT_PROXY) ?
_("%s, proxy on subnet %.0s%s%.0s") : _("%s, proxy on subnet %.0s%s%.0s") :
_("%s, IP range %s -- %s, %s"), _("%s, IP range %s -- %s%s"),
(family != AF_INET) ? "DHCPv6" : "DHCP", (family != AF_INET) ? "DHCPv6" : "DHCP",
daemon->dhcp_buff, daemon->dhcp_buff3, daemon->namebuff); daemon->dhcp_buff, daemon->dhcp_buff3, daemon->namebuff);
} }
if (context->flags & CONTEXT_RA_NAME) if (context->flags & CONTEXT_RA_NAME)
my_syslog(MS_DHCP | LOG_INFO, _("DHCPv4-derived IPv6 names on %s"), my_syslog(MS_DHCP | LOG_INFO, _("DHCPv4-derived IPv6 names on %s%s"),
daemon->addrbuff); daemon->addrbuff, n);
if (context->flags & (CONTEXT_RA_ONLY | CONTEXT_RA_NAME | CONTEXT_RA_STATELESS)) if (context->flags & (CONTEXT_RA_ONLY | CONTEXT_RA_NAME | CONTEXT_RA_STATELESS))
@@ -735,10 +742,10 @@ void log_context(int family, struct dhcp_context *context)
if (!(context->flags & (CONTEXT_DEPRECATE | CONTEXT_CONSTRUCTED | CONTEXT_TEMPLATE))) if (!(context->flags & (CONTEXT_DEPRECATE | CONTEXT_CONSTRUCTED | CONTEXT_TEMPLATE)))
{ {
char *p = daemon->namebuff; char *p = daemon->namebuff;
p += sprintf(p, _("prefix valid ")); p += sprintf(p, _(", prefix valid "));
prettyprint_time(p, context->lease_time > 7200 ? context->lease_time : 7200); prettyprint_time(p, context->lease_time > 7200 ? context->lease_time : 7200);
} }
my_syslog(MS_DHCP | LOG_INFO, _("router advertisement on %s %s"), my_syslog(MS_DHCP | LOG_INFO, _("router advertisement on %s%s"),
daemon->addrbuff, daemon->namebuff); daemon->addrbuff, daemon->namebuff);
} }
} }