Commit Graph

199 Commits

Author SHA1 Message Date
Gleb Smirnoff
bc17db9558 Looks like support.h is really not needed here. 2012-10-18 13:46:26 +00:00
Maksim Yevmenkin
8651c115b8 put another bandaid on the build until i figure out bsnmp headers 2012-10-18 00:20:02 +00:00
Maksim Yevmenkin
aa21cf7851 fix build
MFC after:	1 week
2012-10-17 21:53:38 +00:00
Gleb Smirnoff
23cea7199b Re-do r240271:
- Set IP_RECVDSTADDR sockopt on the socket only in case if
  it is INADDR_ANY bound.
- Supply IP_SENDSRCADDR control message only if we did receive
  IP_RECVDSTADDR control message.

This fixes operation of snmpd bound to a specific local IP address.

PR:		bin/171279
2012-09-20 05:41:20 +00:00
Gleb Smirnoff
f2ddd22eac For UDP transport set IP_RECVDSTADDR sockopt on the socket, and provide
IP_SENDSRCADDR control with datagram message we reply with. This makes
bsnmpd reply from exactly same address that request was sent to, thus
successfully bypassing stateful firewalls or other kinds of strict checking.

PR:		bin/171279
2012-09-09 09:46:48 +00:00
Gleb Smirnoff
0cf0d912b7 The first part of check_priv() function, that attempts to obtain creds
from the control message, actually never worked. This means check_priv()
didn't work for local dgram sockets.

The SCM_CREDS control messages is received only in two cases:

1) If we did setsockopt(LOCAL_CREDS) on our socket, and in this case
   the message is struct sockcred.
2) If sender did supplied SCM_CREDS control message in his sendmsg()
   syscall. In this case the message is struct cmsgcred.

We can't rely on 2), so we will use 1) for dgram sockets. For stream
sockets it is more reliable to obtain accept-time credentials, since
SCM_CREDS control message is attached only on first read. Thus:

o Do setsockopt(LOCAL_CREDS) on local dgram sockets.
o Split check_priv() into check_priv_stream() and check_priv_dgram(),
  and call them from recv_stream() and recv_dgram() respectively.
o Don't provide space for SCM_CREDS control message in recv_stream().
o Provide space for SCM_CREDS control message in recv_dgram(), but there
  is no need to initialize anything in it.
o In recv_dgram() do not blindly expect that first message is SCM_CREDS,
  instead use correct search cycle through control messages.
2012-09-08 07:12:00 +00:00
Kevin Lo
31f7ba0295 Fully initialize the stack-allocated "struct sockaddr_in sa" structure. 2012-09-07 08:58:30 +00:00
Joel Dahl
bef04523e3 Remove end of line whitespace. 2012-06-17 11:36:28 +00:00
Joel Dahl
0aa9c2d892 Minor mdoc fixes. 2012-06-17 11:33:55 +00:00
Maksim Yevmenkin
6c9707c3b2 Count both IPv4 and IPv6 TCP connections in tcpCurrEstab
Timeout from:	current, syrinx
MFC after:	1 week
2012-06-06 18:00:38 +00:00
Glen Barber
a3fb6da9ba General mdoc(7) and typo fixes.
PR:		167734
Submitted by:	Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after:	3 days
2012-05-11 20:06:46 +00:00
Hartmut Brandt
9972acaa15 memset() wants the size of the structure to clear, not the size
of the pointer to it.

Submitted by:	Pawel Worach
2012-03-18 19:28:52 +00:00
Bjoern A. Zeeb
1e629ba90f Adter r228571 unbreak architectures with strict alignment rules
by copying rather than casting.
2011-12-17 11:06:22 +00:00
Mikolaj Golub
b2b91ddf9d Include sys/queue.h: snmpmod.h uses TAILQ.
PR:		bin/153153
MFC after:	2 weeks
2011-12-11 17:10:33 +00:00
Ulrich Spörlein
f0720ed5f8 Fix broken mdoc.
Found by:	manlint
Approved by:	re (kib)
2011-08-01 22:21:18 +00:00
Ruslan Ermilov
87a5818245 Properly detect interface's state in the LINK_STATE_UNKNOWN case.
MFC after:	1 week
2011-05-03 10:11:44 +00:00
Ruslan Ermilov
81b587f396 Don't spam syslog with "inet_ntop(): Address family not supported
by protocol family" when processing requests received from the
UNIX domain socket.

MFC after:	3 days
2011-04-20 08:38:25 +00:00
Hartmut Brandt
5a0bba9007 Bring the list of OIDs up-to-date to prevent conflicts. 2011-02-03 15:19:18 +00:00
Shteryana Shopova
cf90ea94a0 Unbreak the build by temprorarily not using include directives in
bsnmpd(1)' def files, until bsd.snmpmod.mk & Makefiles are fixed to
pass proper include path flags to gensnmptree.
2010-12-20 22:56:50 +00:00
Shteryana Shopova
72cd7a520d Bring in a SNMP module that allows configuration of SNMPv3 Notification targets.
Sponsored by:	The FreeBSD Foundation
Reviewed by:	philip
Approved by:	philip
2010-12-20 17:13:14 +00:00
Shteryana Shopova
2b8026620c Silence the compiler warnings in libbsnmp by removing several (now)
unsed parameters.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	philip@
2010-12-16 11:20:37 +00:00
Shteryana Shopova
e9a4946830 Add a forgotten file from r216294 and unbreak the build.
Sponsored by:	The FreeBSD Foundation
Reviewed by:	philip@ (mostly)
Approved by:	philip@
2010-12-08 15:52:06 +00:00
Shteryana Shopova
135f7de5dd In bsnmpd(1) add support for SNMPv3 message processing model, including message authentication, packet encryption & view-based access control (RFC 3412, 3414, 3415).
Sponsored by:	The FreeBSD Foundation
Reviewed by:	philip@ (mostly)
Approved by:	philip@
2010-12-08 13:51:38 +00:00
Ulrich Spörlein
d9962dc588 Remove mention of non-existant -o flag for debugging options.
MFC after:	3 days
2010-10-23 12:27:39 +00:00
Ulrich Spörlein
7cc1fde083 mdoc: drop even more redundant .Pp calls
No change in rendered output, less mandoc lint warnings.

Tool provided by:	Nobuyuki Koganemaru n-kogane at syd.odn.ne.jp
2010-10-19 12:35:40 +00:00
Joel Dahl
54be88c948 Fix two minor typos. 2010-08-16 21:12:26 +00:00
Ulrich Spörlein
f239d44ec1 Bump document date after content changes.
Pointy hat to:	uqs
2010-08-16 19:05:10 +00:00
Ulrich Spörlein
e5cce4162a Wordsmithing of bsnmpd.1
PR:		docs/149157
Submitted by:	Warren Block <wblock@wonkity.com>
MFC after:	1 week
2010-08-16 18:47:35 +00:00
Pyun YongHyeon
869ae66dfc Fix a typo introduced in r210936 which broke build. 2010-08-06 18:44:07 +00:00
John Baldwin
d99d8e2e38 Ethernet vlan(4) interfaces have valid Ethernet link layer addresses but
use a different interface type (IFT_L2VLAN vs IFT_ETHER).  Treat IFT_L2VLAN
interfaces like IFT_ETHER interfaces when handling link layer addresses.

Reviewed by:	syrinx (bsnmpd)
MFC after:	1 week
2010-08-06 15:09:21 +00:00
Ulrich Spörlein
4f13bbb691 mdoc: consistently spell our email addresses <foo@FreeBSD.org>
Reviewed by:	ru
Approved by:	harti
2010-05-24 06:26:38 +00:00
Antoine Brodin
5a64472b2a (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument.
Fix some wrong usages.
Note: this does not affect generated binaries as this argument is not used.

Approved by:	harti@
2010-03-27 13:43:18 +00:00
Ulrich Spörlein
ddedd8277a Fix typo in macro name and macro usage.
Found by:	make manlint
Reviewed by:	ru
Approved by:	harti, philip (mentor)
2010-03-12 11:05:37 +00:00
Shteryana Shopova
bd96183d5e Fix a problem with high CPU consumption (up to 30%) by bsnmpd on a loaded system.
Instead of constantly calling the mibII_idle function when the server is not busy
call the function only once every 10 seconds to avoid bsnmpd constantly doing
gettimeofday syscalls. Make the idle polling interval confugurable via
begemotIfDataPoll.

Reported and tested by: misho (at) aitbg (dot) com
Oked by: harti
MFC after:	1 week
2009-12-03 16:08:00 +00:00
Warner Losh
26ea346865 Add an extra (void *) cast. The struct if_msghdr has an 8 byte
alignment requirement, while rt_msghdr has a 4 byte alignment
requirement.  The root cause is that if_msghdr has an struct if_data
which has an 8-byte alignment requirement due to a time_t that's
embedded in it.  On MIPS, time_t is a 64-bit number, so must be 64-bit
aligned.

Since we don't access ifm_data.ifi_epoch, a simple cast is all that's
necessary here.  It is likely the case that ifi_epoch should *NOT* be
a time_t because it is an uptime (time delta) an not an absolute time
since 1970.  u_long is likely sufficient there since that gives an
uptime of 136 years will suffice for the foreseeable future.
2009-02-18 19:59:27 +00:00
Qing Li
6e6b3f7cbc This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
   possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
  the last piece of the puzzle, Kip has also been conducting
  active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
  provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
  me maintaining that branch before the svn conversion
2008-12-15 06:10:57 +00:00
Shteryana Shopova
02f27f1cfa This commit was generated by cvs2svn to compensate for changes in r176892,
which included commits to RCS files with non-trunk default branches.
2008-03-07 09:33:29 +00:00
Shteryana Shopova
691f8568ea Vendor patch: Prevent bsnmpd from dumping core when a module's init hook
returns an error.

Approved by:	bz (mentor), harti
2008-03-07 09:33:29 +00:00
Hartmut Brandt
cab70e0247 Vendor patch: synthesize the initial value for sysObjectId from the value
of uname -r in FreeBSD. This value can be overwritten in the configuration
file.

Suggested by:	phk
2006-10-31 09:00:35 +00:00
Hartmut Brandt
f56ce4bd26 This commit was generated by cvs2svn to compensate for changes in r163820,
which included commits to RCS files with non-trunk default branches.
2006-10-31 09:00:35 +00:00
Hartmut Brandt
f929683df1 Vendor patch: improve readability by using the IF_Mbps macro.
Submitted by:	glebius
2006-10-30 16:56:38 +00:00
Hartmut Brandt
91c878a693 This commit was generated by cvs2svn to compensate for changes in r163799,
which included commits to RCS files with non-trunk default branches.
2006-10-30 16:56:38 +00:00
Hartmut Brandt
6f557cf7be Vendor patch: add support for the BITS construct and enumerations in both
gensnmpdef and gensnmptree. Add include and typedef directives to gensnmptree.

Submitted by:	soc-sheryana (partly)
2006-05-30 07:46:52 +00:00
Hartmut Brandt
1164383c76 This commit was generated by cvs2svn to compensate for changes in r159063,
which included commits to RCS files with non-trunk default branches.
2006-05-30 07:46:52 +00:00
Hartmut Brandt
ef52b4dc88 Don't import tree.h from the distribution - we have our own one in sys. 2006-03-13 09:30:26 +00:00
Hartmut Brandt
748b5b1ebd Virgin import of bsnmpd 1.12 2006-02-27 16:16:18 +00:00
Hartmut Brandt
568d256aa1 This commit was generated by cvs2svn to compensate for changes in r156066,
which included commits to RCS files with non-trunk default branches.
2006-02-27 16:16:18 +00:00
Hartmut Brandt
c6a4e65805 Vendor fix: make mibII HC counters really 64-bit on 32-bit platforms by polling
the kernel periodically.

Submitted by:	glebius (partly)
2006-02-13 14:11:18 +00:00
Hartmut Brandt
4232b8b134 This commit was generated by cvs2svn to compensate for changes in r155602,
which included commits to RCS files with non-trunk default branches.
2006-02-13 14:11:18 +00:00
Hartmut Brandt
e6ef6163fd Vendor patch: Make the link traps more RFC-conform.
Submitted by:	glebius
2006-02-10 16:49:49 +00:00
Hartmut Brandt
141508eb20 This commit was generated by cvs2svn to compensate for changes in r155506,
which included commits to RCS files with non-trunk default branches.
2006-02-10 16:49:49 +00:00
Hartmut Brandt
fa122c2038 Vendor patch: string_get_max() function to return strings with a maximum
SNMP string length.
2006-02-07 15:48:37 +00:00
Hartmut Brandt
74b07c5412 This commit was generated by cvs2svn to compensate for changes in r155429,
which included commits to RCS files with non-trunk default branches.
2006-02-07 15:48:37 +00:00
Hartmut Brandt
5105400329 Vendor patch: prevent a core dump when the trace option is not followed
by an option value.

Submitted by:	Shteryana Shopova <shteryana@yahoo.com>
2006-01-31 14:59:07 +00:00
Hartmut Brandt
3dc7424242 This commit was generated by cvs2svn to compensate for changes in r155094,
which included commits to RCS files with non-trunk default branches.
2006-01-31 14:59:07 +00:00
Hartmut Brandt
9d165d9f13 Vendor fix: the routing table can change while we are fetching it from
the kernel. Instead of complaining if we get an ENOMEM (meaning it got
larger than our buffer is) reallocate the buffer and loop.

Submitted by: maxim
2006-01-10 11:59:31 +00:00
Hartmut Brandt
1d6d1f6fa8 This commit was generated by cvs2svn to compensate for changes in r154184,
which included commits to RCS files with non-trunk default branches.
2006-01-10 11:59:31 +00:00
Hartmut Brandt
2a9284a7c0 Vendor fix: initialize the flag field of a newly created node to be 0.
Submitted by:	jasone
2006-01-10 11:52:51 +00:00
Hartmut Brandt
d96dd77460 This commit was generated by cvs2svn to compensate for changes in r154182,
which included commits to RCS files with non-trunk default branches.
2006-01-10 11:52:51 +00:00
Hartmut Brandt
d4199d75a1 Vendor fix: make the default read and write communities NULL. This
basically disables any access unless other strings are set in the config
file. Note, that there is no way to set the communities back to NULL once
they're set to something not NULL.
2006-01-10 11:49:26 +00:00
Hartmut Brandt
5b1d3a5c13 This commit was generated by cvs2svn to compensate for changes in r154180,
which included commits to RCS files with non-trunk default branches.
2006-01-10 11:49:26 +00:00
Hartmut Brandt
e9d4cb69e2 Vendor patch: fix a bug when parsing the include path. 2006-01-10 11:47:56 +00:00
Hartmut Brandt
2bc6540439 This commit was generated by cvs2svn to compensate for changes in r154178,
which included commits to RCS files with non-trunk default branches.
2006-01-10 11:47:56 +00:00
Hartmut Brandt
361b40a30d Vendor patch: fix the reporting of ifOperStatus. We now consider an
interface up when it is running AND the link is not down (that is, it is
up or unknown). If the interface is running but the link is down, we return
state 'dormant', because we're waiting for an external event. Otherwise
the interface is 'down'.

Submitted by:	csjp
Reviewed by:	glebius
2005-11-02 14:05:49 +00:00
Hartmut Brandt
1f467eaaf8 This commit was generated by cvs2svn to compensate for changes in r151970,
which included commits to RCS files with non-trunk default branches.
2005-11-02 14:05:49 +00:00
Hartmut Brandt
4c0a7af955 Vendor fix for the build problem of snmp_pf. Move the fallback definitions
for U?INT32_{MAX,MIN} from asn1.h into the .c files that actually require
them (the .h file doesn't refer to these macros).
2005-10-05 15:19:56 +00:00
Hartmut Brandt
bb5e059e0d This commit was generated by cvs2svn to compensate for changes in r150974,
which included commits to RCS files with non-trunk default branches.
2005-10-05 15:19:56 +00:00
Hartmut Brandt
86c5d92d71 Add snmp_ntp/Makefile.in to the exclude list. 2005-10-04 14:53:06 +00:00
Hartmut Brandt
e50dd7e071 These files are not needed and were imported by accident in the
previous import.
2005-10-04 14:51:55 +00:00
Hartmut Brandt
165c5d31cb Virgin import of bsnmpd 1.11 2005-10-04 14:41:06 +00:00
Hartmut Brandt
28bd1fdc0b This commit was generated by cvs2svn to compensate for changes in r150920,
which included commits to RCS files with non-trunk default branches.
2005-10-04 14:41:06 +00:00
Hartmut Brandt
9ed6112d51 Apply a vendor patch: silence gcc on arm (alignent when casting pointer).
Submitted by:	Olivier Houchard <cognet@ci0.org>
2005-05-25 12:00:03 +00:00
Hartmut Brandt
92fd12db24 This commit was generated by cvs2svn to compensate for changes in r146609,
which included commits to RCS files with non-trunk default branches.
2005-05-25 12:00:03 +00:00
Hartmut Brandt
69292ced51 Virgin import of bsnmpd 1.10 2005-05-23 11:19:11 +00:00
Hartmut Brandt
fbe4316a67 This commit was generated by cvs2svn to compensate for changes in r146525,
which included commits to RCS files with non-trunk default branches.
2005-05-23 11:19:11 +00:00
Hartmut Brandt
a9bfedb789 Vendor patch: fix a bug that was introduced when moving from libisc to
libbegemot: the rpoll_start_timer function needs the timeout value in
milli-seconds, not the absolute time when the timer should tick.
2005-04-29 11:02:18 +00:00
Hartmut Brandt
5710486746 This commit was generated by cvs2svn to compensate for changes in r145673,
which included commits to RCS files with non-trunk default branches.
2005-04-29 11:02:18 +00:00
Hartmut Brandt
d7eb6b4714 Virgin import of bsnmp 1.9 2005-04-26 16:43:22 +00:00
Hartmut Brandt
646c481fe6 This commit was generated by cvs2svn to compensate for changes in r145557,
which included commits to RCS files with non-trunk default branches.
2005-04-26 16:43:22 +00:00
Hartmut Brandt
966fd1ea2f Don't extract the .gdbinit file from the distribution. 2005-02-28 17:29:10 +00:00
Hartmut Brandt
94caccb357 Virgin import of bsnmpd 1.8 2005-02-28 17:27:11 +00:00
Hartmut Brandt
71651a2743 This commit was generated by cvs2svn to compensate for changes in r142810,
which included commits to RCS files with non-trunk default branches.
2005-02-28 17:27:11 +00:00
Hartmut Brandt
e0fd476003 Vendor patch: don't dump core when the config file cannot be opened.
Submitted by:	Maxim Konovalov <maxim@macomnet.ru>
2004-08-12 19:17:29 +00:00
Hartmut Brandt
181fd12f6c This commit was generated by cvs2svn to compensate for changes in r133594,
which included commits to RCS files with non-trunk default branches.
2004-08-12 19:17:29 +00:00
Hartmut Brandt
0a9d66ca0d Fix the 4.X -> 5.X upgrade path by include <inttypes.h> instead of
stdint.h.
2004-08-10 11:05:25 +00:00
Hartmut Brandt
11eb5b4589 This commit was generated by cvs2svn to compensate for changes in r133429,
which included commits to RCS files with non-trunk default branches.
2004-08-10 11:05:25 +00:00
Hartmut Brandt
4cba8c6ddf List some more files to be excluded from the original distribution. 2004-08-06 13:41:55 +00:00
Hartmut Brandt
896052c10f Virgin import of bsnmpd 1.7 2004-08-06 13:38:30 +00:00
Hartmut Brandt
495190c602 This commit was generated by cvs2svn to compensate for changes in r133211,
which included commits to RCS files with non-trunk default branches.
2004-08-06 13:38:30 +00:00
Hartmut Brandt
8eecd77ad5 Import of bsnmpd 1.6 2004-04-14 16:20:14 +00:00
Hartmut Brandt
6ccbb635d7 This commit was generated by cvs2svn to compensate for changes in r128237,
which included commits to RCS files with non-trunk default branches.
2004-04-14 16:20:14 +00:00
Hartmut Brandt
5ae50c8085 Add an exclusion list that lists all the files from the original
distribution that we don't need.
2004-01-28 16:14:49 +00:00
Hartmut Brandt
8615b04cff Update the upgrade instructions to account for the fact, that
there is no need anymore to re-create files. Also give a hint to
look for changes needed to the Makefiles.
2004-01-26 10:28:31 +00:00
Hartmut Brandt
f8a0b913e2 Remove these files from the vendor branch where they accidentally
where put by my wrong import.
2004-01-26 10:22:04 +00:00
Hartmut Brandt
70af00a124 Virgin import of bsnmpd 1.5a 2004-01-23 10:44:47 +00:00
Hartmut Brandt
2172a5cbc5 This commit was generated by cvs2svn to compensate for changes in r124861,
which included commits to RCS files with non-trunk default branches.
2004-01-23 10:44:47 +00:00
cvs2svn
393c598a9c This commit was manufactured by cvs2svn to create branch 'VENDOR-bsnmp'. 2003-11-10 08:56:57 +00:00
Hartmut Brandt
e46836f5a1 Add update instructions for bsnmp. Bsnmp is the base for the NgATM
ILMI daemon.
2003-11-10 08:56:56 +00:00
Hartmut Brandt
f06ca4af18 Virgin import of bsnmp 1.4 2003-11-10 08:53:38 +00:00