History log of /openbsd-current/usr.sbin/snmpd/util.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.14 21-Dec-2023 martijn

Clean up snmpd's header situation.

With the help of tb@ and include-what-you-use.

OK tb@


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.13 06-Oct-2022 martijn

Remove a lot of old (dead) code that's either been superseded, or moved to
snmpd_metrics.

OK benno@ sthen@


Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.12 09-Aug-2021 martijn

Allow setting the engineid.

The previous engineid was based aronud the engine boottime and a random
value, which gives problems when sending/receiving unacknowledged PDUs
(trapv2) over SNMPv3 with authentication enabled, which need a consistent
engineid across restarts to determine the correct user from the sender.

The new default engineid takes a sha256 hash (chosen for its longer output)
of gethostname(3) and places the first 27 bytes after the new format number
129. This should give us a very low probability of collisions, assuming
all machines have a unique name.

The other formats as specified in SNMP-FRAMEWORK-MIB (RFC3411) are also
supported as well as arbitrary formats in the range 128-255 for other
private enterprise numbers in hex format.

OK jmatthew@


Revision tags: OPENBSD_6_9_BASE
# 1.11 28-Jan-2021 martijn

Remove print_{debug,verbose} since they're currently unused and I see no
reason to start using them in the future.

OK tb@


Revision tags: OPENBSD_6_8_BASE
# 1.10 30-Jun-2020 martijn

Remove agentx and control socket support.

snmpctl has been removed two releases ago, which makes the control
interface obsolete.

agentx support has always been quirky at best, but got completely broken
with the BER_MAX_OID_LEN increase in ber.h. This change resulted in the
oid length on the snmp side being left uninitialized because of size
difference, resulting in weird behaviour. No one reported the breakage,
even after 6.7 was released.

This change requires users to remove the socket keyword from their
snmpd.conf.

OK denis@


Revision tags: OPENBSD_6_7_BASE
# 1.9 24-Oct-2019 tb

The ber_* namespace is used by liblber since time immemorial,
so move our BER API to the unused ober_* prefix to avoid some
breakage in ports.

Problem diagnosed by jmatthew with ber_free() in samba, but
there are many others as pointed out by sthen.

tests & ok rob
ok sthen (who had an almost identical diff for libutil)
"go head hit it" deraadt


Revision tags: OPENBSD_6_6_BASE
# 1.8 11-May-2019 rob

branches: 1.8.2;
The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


# 1.13 06-Oct-2022 martijn

Remove a lot of old (dead) code that's either been superseded, or moved to
snmpd_metrics.

OK benno@ sthen@


Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.12 09-Aug-2021 martijn

Allow setting the engineid.

The previous engineid was based aronud the engine boottime and a random
value, which gives problems when sending/receiving unacknowledged PDUs
(trapv2) over SNMPv3 with authentication enabled, which need a consistent
engineid across restarts to determine the correct user from the sender.

The new default engineid takes a sha256 hash (chosen for its longer output)
of gethostname(3) and places the first 27 bytes after the new format number
129. This should give us a very low probability of collisions, assuming
all machines have a unique name.

The other formats as specified in SNMP-FRAMEWORK-MIB (RFC3411) are also
supported as well as arbitrary formats in the range 128-255 for other
private enterprise numbers in hex format.

OK jmatthew@


Revision tags: OPENBSD_6_9_BASE
# 1.11 28-Jan-2021 martijn

Remove print_{debug,verbose} since they're currently unused and I see no
reason to start using them in the future.

OK tb@


Revision tags: OPENBSD_6_8_BASE
# 1.10 30-Jun-2020 martijn

Remove agentx and control socket support.

snmpctl has been removed two releases ago, which makes the control
interface obsolete.

agentx support has always been quirky at best, but got completely broken
with the BER_MAX_OID_LEN increase in ber.h. This change resulted in the
oid length on the snmp side being left uninitialized because of size
difference, resulting in weird behaviour. No one reported the breakage,
even after 6.7 was released.

This change requires users to remove the socket keyword from their
snmpd.conf.

OK denis@


Revision tags: OPENBSD_6_7_BASE
# 1.9 24-Oct-2019 tb

The ber_* namespace is used by liblber since time immemorial,
so move our BER API to the unused ober_* prefix to avoid some
breakage in ports.

Problem diagnosed by jmatthew with ber_free() in samba, but
there are many others as pointed out by sthen.

tests & ok rob
ok sthen (who had an almost identical diff for libutil)
"go head hit it" deraadt


Revision tags: OPENBSD_6_6_BASE
# 1.8 11-May-2019 rob

branches: 1.8.2;
The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


# 1.12 09-Aug-2021 martijn

Allow setting the engineid.

The previous engineid was based aronud the engine boottime and a random
value, which gives problems when sending/receiving unacknowledged PDUs
(trapv2) over SNMPv3 with authentication enabled, which need a consistent
engineid across restarts to determine the correct user from the sender.

The new default engineid takes a sha256 hash (chosen for its longer output)
of gethostname(3) and places the first 27 bytes after the new format number
129. This should give us a very low probability of collisions, assuming
all machines have a unique name.

The other formats as specified in SNMP-FRAMEWORK-MIB (RFC3411) are also
supported as well as arbitrary formats in the range 128-255 for other
private enterprise numbers in hex format.

OK jmatthew@


Revision tags: OPENBSD_6_9_BASE
# 1.11 28-Jan-2021 martijn

Remove print_{debug,verbose} since they're currently unused and I see no
reason to start using them in the future.

OK tb@


Revision tags: OPENBSD_6_8_BASE
# 1.10 30-Jun-2020 martijn

Remove agentx and control socket support.

snmpctl has been removed two releases ago, which makes the control
interface obsolete.

agentx support has always been quirky at best, but got completely broken
with the BER_MAX_OID_LEN increase in ber.h. This change resulted in the
oid length on the snmp side being left uninitialized because of size
difference, resulting in weird behaviour. No one reported the breakage,
even after 6.7 was released.

This change requires users to remove the socket keyword from their
snmpd.conf.

OK denis@


Revision tags: OPENBSD_6_7_BASE
# 1.9 24-Oct-2019 tb

The ber_* namespace is used by liblber since time immemorial,
so move our BER API to the unused ober_* prefix to avoid some
breakage in ports.

Problem diagnosed by jmatthew with ber_free() in samba, but
there are many others as pointed out by sthen.

tests & ok rob
ok sthen (who had an almost identical diff for libutil)
"go head hit it" deraadt


Revision tags: OPENBSD_6_6_BASE
# 1.8 11-May-2019 rob

branches: 1.8.2;
The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


# 1.11 28-Jan-2021 martijn

Remove print_{debug,verbose} since they're currently unused and I see no
reason to start using them in the future.

OK tb@


Revision tags: OPENBSD_6_8_BASE
# 1.10 30-Jun-2020 martijn

Remove agentx and control socket support.

snmpctl has been removed two releases ago, which makes the control
interface obsolete.

agentx support has always been quirky at best, but got completely broken
with the BER_MAX_OID_LEN increase in ber.h. This change resulted in the
oid length on the snmp side being left uninitialized because of size
difference, resulting in weird behaviour. No one reported the breakage,
even after 6.7 was released.

This change requires users to remove the socket keyword from their
snmpd.conf.

OK denis@


Revision tags: OPENBSD_6_7_BASE
# 1.9 24-Oct-2019 tb

The ber_* namespace is used by liblber since time immemorial,
so move our BER API to the unused ober_* prefix to avoid some
breakage in ports.

Problem diagnosed by jmatthew with ber_free() in samba, but
there are many others as pointed out by sthen.

tests & ok rob
ok sthen (who had an almost identical diff for libutil)
"go head hit it" deraadt


Revision tags: OPENBSD_6_6_BASE
# 1.8 11-May-2019 rob

branches: 1.8.2;
The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


# 1.10 30-Jun-2020 martijn

Remove agentx and control socket support.

snmpctl has been removed two releases ago, which makes the control
interface obsolete.

agentx support has always been quirky at best, but got completely broken
with the BER_MAX_OID_LEN increase in ber.h. This change resulted in the
oid length on the snmp side being left uninitialized because of size
difference, resulting in weird behaviour. No one reported the breakage,
even after 6.7 was released.

This change requires users to remove the socket keyword from their
snmpd.conf.

OK denis@


Revision tags: OPENBSD_6_7_BASE
# 1.9 24-Oct-2019 tb

The ber_* namespace is used by liblber since time immemorial,
so move our BER API to the unused ober_* prefix to avoid some
breakage in ports.

Problem diagnosed by jmatthew with ber_free() in samba, but
there are many others as pointed out by sthen.

tests & ok rob
ok sthen (who had an almost identical diff for libutil)
"go head hit it" deraadt


Revision tags: OPENBSD_6_6_BASE
# 1.8 11-May-2019 rob

branches: 1.8.2;
The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


# 1.9 24-Oct-2019 tb

The ber_* namespace is used by liblber since time immemorial,
so move our BER API to the unused ober_* prefix to avoid some
breakage in ports.

Problem diagnosed by jmatthew with ber_free() in samba, but
there are many others as pointed out by sthen.

tests & ok rob
ok sthen (who had an almost identical diff for libutil)
"go head hit it" deraadt


Revision tags: OPENBSD_6_6_BASE
# 1.8 11-May-2019 rob

The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


# 1.8 11-May-2019 rob

The BER API is currently used by ldap, ldapd, ldapctl, ypldap, snmpd, and
snmpctl. Separate copies of ber.[ch] have existed and been maintained in sync
in ldap, ldapd, ypldap and snmpd.

This commit moves the BER API into /usr/lib/libutil. All current consumers
already link libutil. ldapd and snmpd regress passes, and release builds.

With help from tb@ and guenther@.

ok deraadt@, tb@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.7 09-Jan-2017 reyk

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)


# 1.6 09-Nov-2016 jca

Improve source IP address handling.

- send replies using a source address equal to the destination address
of queries, using IP_SENDSRCADDR. This help in multihomed setups and
can remove the need to explicitely configure a bind address.
- config knob to set the source address of packets sent to trap
receivers. "trap receiver" gains an optional "source-address"
setting.

Source address issues reported by Andy Lemin. ok benno@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.5 21-Nov-2015 reyk

Move local logging functions to util.c and copy log.c from iked. Now
a copy of the same log.c file is shared by relayd, httpd, iked, and
snmpd. No functional changes.


Revision tags: OPENBSD_5_8_BASE
# 1.4 20-Jul-2015 blambert

properly encode IpAddress, Gauge32, and Counter32
varbinds received from subagents

ok reyk@


Revision tags: OPENBSD_5_7_BASE
# 1.3 22-Jan-2015 krw

Replace some obvious '$OpenBSD' and '$OpenBSD:' typos with '$OpenBSD$'.

Pointed out by dickman@.

ok sthen@ phessler@


# 1.2 16-Jan-2015 deraadt

first batch of cleanup to programs based upon the namespace cleanups
in net/pfvar.h sys/proc.h sys/ucred.h arpa/nameser.h
change to PATH_MAX, reduce use of MIN() and MAX(), HOST_NAME_MAX+1,
LOGIN_NAME_MAX, etc etc
ok millert guenther, some review by doug


# 1.1 19-Nov-2014 blambert

add support for AgentX subagents in snmpd

snmp requests are now packaged into pseudo-continuations
to allow for being dispatched to seperate processes;
lightly tested for interoperability with NetSNMP, but
doesn't implement the complete set of AgentX messages

while here, clean up return types of mps_get* functions,
and make smi_insert refuse to insert duplicate OIDs

okay benno@ reyk@