Changes since 4.3.0
+- Tidy up several small tickets
+ Correct parsing of DUID from config file, previously the LL type
+ was put in the wrong place in the DUID string.
+ [ISC-Bugs #20962]
+ Add code to parse "do-forward-updates" as well as "do-forward-update"
+ Thanks to Jiri Popelka at Red Hat.
+ [ISC-Bugs #31328]
+ Remove log_priority as it isn't currently used.
+ [ISC-Bugs #33397]
+ Increase the size of the buffer used for reading interface information.
+ [ISC-Bugs #34858]
Changes since 4.3.0rc1
if (!strcasecmp(atom + 7, "list"))
return DOMAIN_LIST;
}
+ if (!strcasecmp (atom + 1, "o-forward-updates"))
+ return DO_FORWARD_UPDATE;
+ /* do-forward-update is included for historical reasons */
if (!strcasecmp (atom + 1, "o-forward-update"))
return DO_FORWARD_UPDATE;
if (!strcasecmp (atom + 1, "ebug"))
#include "dhcpd.h"
+/* length of line we can read from the IF file, 256 is too small in some cases */
+#define IF_LINE_LENGTH 1024
+
#define BSD_COMP /* needed on Solaris for SIOCGLIFNUM */
#include <sys/ioctl.h>
#include <errno.h>
*/
int
begin_iface_scan(struct iface_conf_list *ifaces) {
- char buf[256];
+ char buf[IF_LINE_LENGTH];
int len;
int i;
*/
static int
next_iface4(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
- char buf[256];
+ char buf[IF_LINE_LENGTH];
int len;
char *p;
char *name;
*/
static int
next_iface6(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
- char buf[256];
+ char buf[IF_LINE_LENGTH];
int len;
char *p;
char *name;
lexbuf [lix] = 0;
#ifndef DEBUG
- syslog (log_priority | LOG_ERR, "%s", mbuf);
- syslog (log_priority | LOG_ERR, "%s", cfile -> token_line);
+ syslog (LOG_ERR, "%s", mbuf);
+ syslog (LOG_ERR, "%s", cfile -> token_line);
if (cfile -> lexchar < 81)
- syslog (log_priority | LOG_ERR, "%s^", lexbuf);
+ syslog (LOG_ERR, "%s^", lexbuf);
#endif
if (log_perror) {
isc_result_t omapi_handle_clear(omapi_handle_t);
-extern int log_priority;
extern int log_perror;
extern void (*log_cleanup) (void);
#else
int log_perror = 1;
#endif
-int log_priority;
void (*log_cleanup) (void);
#define CVT_BUF_MAX 1023
va_end (list);
#ifndef DEBUG
- syslog (log_priority | LOG_ERR, "%s", mbuf);
+ syslog (LOG_ERR, "%s", mbuf);
#endif
/* Also log it to stderr? */
va_end (list);
#ifndef DEBUG
- syslog (log_priority | LOG_ERR, "%s", mbuf);
+ syslog (LOG_ERR, "%s", mbuf);
#endif
if (log_perror) {
va_end (list);
#ifndef DEBUG
- syslog (log_priority | LOG_INFO, "%s", mbuf);
+ syslog (LOG_INFO, "%s", mbuf);
#endif
if (log_perror) {
va_end (list);
#ifndef DEBUG
- syslog (log_priority | LOG_DEBUG, "%s", mbuf);
+ syslog (LOG_DEBUG, "%s", mbuf);
#endif
if (log_perror) {
}
duid.data = (unsigned char *)duid.buffer->data;
putUShort(duid.buffer->data, DUID_LL);
- putULong(duid.buffer->data + 2, ll_type);
+ putUShort(duid.buffer->data + 2, ll_type);
memcpy(duid.buffer->data + 4,
ll_addr.data, ll_addr.len);
}
duid.data = (unsigned char *)duid.buffer->data;
putUShort(duid.buffer->data, DUID_LLT);
- putULong(duid.buffer->data + 2, ll_type);
+ putUShort(duid.buffer->data + 2, ll_type);
putULong(duid.buffer->data + 4, llt_time);
memcpy(duid.buffer->data + 8,
ll_addr.data, ll_addr.len);