]>
git.ipfire.org Git - thirdparty/lldpd.git/log
Vincent Bernat [Tue, 29 Dec 2015 08:41:40 +0000 (09:41 +0100)]
client: fix segfault when displaying some information
Due to
5ed4156c02b0ba801feb9bf383d9b7772dc990e5 , we were incorrectly
hiding information when it was present and displaying it when it was
absent (leading to a segfault).
Closes #152
Vincent Bernat [Tue, 29 Dec 2015 08:34:15 +0000 (09:34 +0100)]
client: gracefully handle NULL data in writers
Vincent Bernat [Tue, 29 Dec 2015 08:30:20 +0000 (09:30 +0100)]
client: remove incomplete commented examples
Vincent Bernat [Tue, 29 Dec 2015 06:28:48 +0000 (07:28 +0100)]
osx: move /var/run/lldpd creation in postinstall
This way, it works for binary packages too.
Vincent Bernat [Mon, 28 Dec 2015 20:27:41 +0000 (21:27 +0100)]
build: don't check for pkg-config several times
Just check the first time.
Vincent Bernat [Mon, 28 Dec 2015 19:32:13 +0000 (20:32 +0100)]
osx: ensure creation of var/run/lldpd
There is no guarantee that /usr/local/var/run already exists.
Vincent Bernat [Mon, 28 Dec 2015 19:29:47 +0000 (20:29 +0100)]
osx: reduce distance with official HomeBrew formula
We still want to use a dedicated user as it is safer.
Vincent Bernat [Mon, 28 Dec 2015 19:28:54 +0000 (20:28 +0100)]
osx: update Homebrew formula
Vincent Bernat [Mon, 28 Dec 2015 08:12:30 +0000 (09:12 +0100)]
libnl: update to 3.2.27
Vincent Bernat [Sun, 27 Dec 2015 17:37:59 +0000 (18:37 +0100)]
redhat: add a note about the spec file being tied to OBS
Vincent Bernat [Sun, 27 Dec 2015 17:34:11 +0000 (18:34 +0100)]
redhat: don't use %elseif
For some reason, it just doesn't work.
Vincent Bernat [Sun, 27 Dec 2015 15:48:26 +0000 (16:48 +0100)]
redhat: drop support for RHEL 4
It's unlikely we are able to compile correctly on it.
Vincent Bernat [Sun, 27 Dec 2015 09:59:56 +0000 (10:59 +0100)]
build: prepare for release
Vincent Bernat [Wed, 16 Dec 2015 22:22:07 +0000 (23:22 +0100)]
build: .git can be a file (worktree)
Vincent Bernat [Wed, 16 Dec 2015 22:12:24 +0000 (23:12 +0100)]
build: check for configure before trying to configure a subproject
Vincent Bernat [Wed, 16 Dec 2015 21:52:51 +0000 (22:52 +0100)]
build: don't do a submodule update if not a git checkout
This can happen if it's just a tarball created from a git tree, but not
a checkout.
Vincent Bernat [Tue, 15 Dec 2015 09:38:34 +0000 (10:38 +0100)]
client: avoid -Waddress warning by comparing to NULL
Vincent Bernat [Tue, 15 Dec 2015 08:50:35 +0000 (09:50 +0100)]
client: update LLDP-MED policy L2 priority values to match 802.1Q-2005
Vincent Bernat [Tue, 15 Dec 2015 08:46:29 +0000 (09:46 +0100)]
client: display numeric PCP
Since the string value for network policy priority can change depending
on the used standard, it seems better to also provide a numeric
value. We name it PCP.
Vincent Bernat [Sun, 13 Dec 2015 09:08:00 +0000 (10:08 +0100)]
build: bison and flex are needed to configure libnl3
This is just a safety. Those packages are normally part of the default
build group.
Vincent Bernat [Sun, 13 Dec 2015 08:52:43 +0000 (09:52 +0100)]
build: let AC_SEARCH_LIBS modify LIBS
Users is expected to be able to modify CFLAGS and LDFLAGS. We don't care
about other variables like LIBS.
Vincent Bernat [Sun, 13 Dec 2015 08:49:53 +0000 (09:49 +0100)]
travis: enable PIE
Vincent Bernat [Sun, 13 Dec 2015 08:46:10 +0000 (09:46 +0100)]
build: don't enable PIE by default
PIE needs support from compiler, linker and dynamic linker. Even
when everything seems in place, it can be unreliable. On many ARM
toolchains, compiler and linker support is here but the dynamic
linker doesn't know how to handle that. It is also reported that
NetBSD/ppc or Solaris/x86 doesn't work correctly. Therefore, it is
too difficult to detect proper support at configure time (notably
with cross-compilation). Some OS (like OpenBSD, or Gentoo) come
with automatic PIE support. No need to do anyhing special for
them.
People wanting to enable PIE should now use --enable-pie.
Vincent Bernat [Sun, 13 Dec 2015 08:03:13 +0000 (09:03 +0100)]
build: don't use getopt from libbsd
The GNU one is perfectly fine.
Vincent Bernat [Sun, 13 Dec 2015 07:57:05 +0000 (08:57 +0100)]
build: make use of libbsd work even if a user override CFLAGS
`make CFLAGS=...` should work as expected.
Vincent Bernat [Sat, 12 Dec 2015 21:47:41 +0000 (22:47 +0100)]
compat: use getline() instead of fgetln()
getline() is POSIX.1-2008 while fgetln() is BSD. Write a simple
implementation from the NetBSD one for too old OSes.
Vincent Bernat [Sat, 12 Dec 2015 20:37:52 +0000 (21:37 +0100)]
build: use libbsd overlay
This enables more portable code. We check for the presence of libbsd and
use it if it is here. All the remaining should work with/without libbsd
on Linux or on other OSes.
Vincent Bernat [Tue, 1 Dec 2015 11:42:11 +0000 (12:42 +0100)]
interfaces: use /proc/net/bonding as primary method
Vincent Bernat [Tue, 1 Dec 2015 11:36:14 +0000 (12:36 +0100)]
interfaces: fallback to old method to get original MAC on bond
The new method may be unsucessful when the lower layer is a veth
interface.
Vincent Bernat [Tue, 1 Dec 2015 08:27:34 +0000 (09:27 +0100)]
interfaces: handle the case where the provided MAC address is incorrect
Some drivers, like veth are unable to provide an appropriate MAC
address. Warn the user, keep the one we have.
Vincent Bernat [Tue, 1 Dec 2015 08:01:17 +0000 (09:01 +0100)]
interfaces: query permanent MAC address through ethtool
This is possible since 2.6.14. No need to parse a file. We still need to
do that as root as this is only allowed for mere mortals since
2.6.19 (and we would like to support 2.6.18). As a side note, it's
possible to query settings since 2.6.36 (so priv_ethtool is still
needed).
Vincent Bernat [Tue, 1 Dec 2015 07:15:04 +0000 (08:15 +0100)]
lldpmed: fix numeric values for L2 priority
"Best effort" is the default priority and is 0. Other priorities are
then ordered from 1 to 7 (from the lowest to the highest). Add a note in
the manual page about the fact that the labels are not enforceable and
more recent standards may change them and their meaning.
Vincent Bernat [Sat, 28 Nov 2015 13:49:45 +0000 (14:49 +0100)]
log: rework the way -d work
Now:
- `-d` means to stay in foreground, log to syslog
- `-dd` means to stay in foreground, log warnings to console
- `-ddd` means to stay in foreground, log warnings and info to console
- `-dddd` means to stay in foreground, log all to console
Fix #146
Vincent Bernat [Fri, 27 Nov 2015 06:58:37 +0000 (07:58 +0100)]
osx: also use /sbin/nologin as default shell
Vincent Bernat [Fri, 27 Nov 2015 06:57:14 +0000 (07:57 +0100)]
redhat: use /sbin/nologin as a shell for lldpd
Fix #147
Vincent Bernat [Mon, 23 Nov 2015 07:42:04 +0000 (08:42 +0100)]
debian: don't try to support older distributions
They are not supported due to the dependency on libnl3. Either we fix
the dependency to be optional or we don't need that stuff in
debian/rules.
Vincent Bernat [Mon, 23 Nov 2015 07:35:33 +0000 (08:35 +0100)]
debian: express minimal version needed for libnl3
Wheezy comes with a too old version.
Vincent Bernat [Mon, 23 Nov 2015 07:33:05 +0000 (08:33 +0100)]
redhat: use system libnl3 when possible
Vincent Bernat [Mon, 23 Nov 2015 07:31:35 +0000 (08:31 +0100)]
redhat: use embedded libevent on older distributions
Vincent Bernat [Mon, 23 Nov 2015 07:24:45 +0000 (08:24 +0100)]
redhat: correctly handle SLES too
Vincent Bernat [Sun, 22 Nov 2015 17:53:40 +0000 (18:53 +0100)]
debian/redhat: update packaging
We prepare for release of 0.8.0. libnl3 will be embedded but we now use
libevent from the system.
Vincent Bernat [Sat, 14 Nov 2015 16:30:29 +0000 (17:30 +0100)]
debian: also requires libnl-route-3-dev as a dependency
Vincent Bernat [Sat, 14 Nov 2015 06:50:36 +0000 (07:50 +0100)]
build: allow an embedded subdir to be absent
This will break some stuff, but it was already the case when we were
using AC_CONFIG_SUBDIR.
Vincent Bernat [Tue, 20 Oct 2015 16:38:05 +0000 (18:38 +0200)]
event: check if timer is present before trying to activate it
A timer should always be present, but some previous error conditions may
make it absent. Don't just crash in this condition. See #135.
Vincent Bernat [Sat, 17 Oct 2015 17:30:39 +0000 (19:30 +0200)]
build: ignore untracked files in submodule for version
We can't update the .gitignore of a submodule and we don't want the
version to be "dirty" just for that.
Vincent Bernat [Wed, 7 Oct 2015 18:54:24 +0000 (20:54 +0200)]
Merge pull request #142 from matsimon/master
Tiny typo in lldpd's manpage
Mathieu Simon [Wed, 7 Oct 2015 16:23:20 +0000 (18:23 +0200)]
Tiny typo in lldpd's manpage
Vincent Bernat [Tue, 6 Oct 2015 05:55:46 +0000 (07:55 +0200)]
build: check runtime support of constructor/destructor
With some libc, we may have a compile-time support (through GCC), but
not a runtime support. For example, with uclibc, support for
constructors/destructors is optional. They can be enabled with
`CFLAGS=--uclibc-ctors` on some versions. On some others, they need to
be builtin by compiling uclibc with UCLIBC_CTOR_DTOR.
Unfortunately, cannot be tested when cross-compilation is in effect.
Vincent Bernat [Mon, 5 Oct 2015 13:47:59 +0000 (15:47 +0200)]
build: check for support for constructor/destructor function attributes
Vincent Bernat [Sun, 4 Oct 2015 06:58:53 +0000 (08:58 +0200)]
README: add a word about `--enable-oldies`
Vincent Bernat [Sun, 4 Oct 2015 06:52:12 +0000 (08:52 +0200)]
tests: add missing include for `read()`
Vincent Bernat [Sun, 4 Oct 2015 00:32:19 +0000 (02:32 +0200)]
tests: fix SNMP tests
Restore the `tohex()` function in `check_snmp.c`. Use a simpler version
in `decode.c`.
Vincent Bernat [Sun, 4 Oct 2015 00:24:29 +0000 (02:24 +0200)]
protocols: don't use assert on paths that can be reached
Malformed packets should not make lldpd crash. Ensure we can handle them
by not using assert() in this part.
Vincent Bernat [Sun, 4 Oct 2015 00:11:24 +0000 (02:11 +0200)]
lldp: fix small indentation issue
Vincent Bernat [Sun, 4 Oct 2015 00:03:57 +0000 (02:03 +0200)]
NEWS: add entry for last commit
Vincent Bernat [Sat, 3 Oct 2015 23:50:38 +0000 (01:50 +0200)]
lldp: fix a buffer overflow when handling management address TLV
When a remote device was advertising a too large management address
while still respecting TLV boundaries, lldpd would crash due to a buffer
overflow. However, the buffer being a static one, this buffer overflow
is not exploitable if hardening was not disabled. This bug exists since
version 0.5.6.
Vincent Bernat [Sat, 3 Oct 2015 23:28:30 +0000 (01:28 +0200)]
tests: add instructions on how to use afl for fuzzing
Vincent Bernat [Sat, 3 Oct 2015 23:21:45 +0000 (01:21 +0200)]
tests: add a simple program to test frame decoding
Vincent Bernat [Sat, 3 Oct 2015 23:11:03 +0000 (01:11 +0200)]
lldpd: remove outdated comment about custom TLV
Vincent Bernat [Fri, 25 Sep 2015 11:52:36 +0000 (13:52 +0200)]
debian: only enable systemd unit file on system recent enough
Vincent Bernat [Fri, 25 Sep 2015 09:38:52 +0000 (11:38 +0200)]
interfaces: remove spurious #ifdef directive
Vincent Bernat [Fri, 25 Sep 2015 09:04:02 +0000 (11:04 +0200)]
interfaces: remove old bridge code
It has been ages since sysfs contains the interface for querying a
bridge (2.6.7). And nowadays, sysfs is always enabled.
Vincent Bernat [Thu, 24 Sep 2015 13:54:07 +0000 (15:54 +0200)]
Merge pull request #138 from commodo/copy-paste-fix
client: fix copy+paste for some vars
Alexandru Ardelean [Thu, 24 Sep 2015 13:40:40 +0000 (16:40 +0300)]
client: fix copy+paste for some vars
Only affects logging.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Vincent Bernat [Wed, 23 Sep 2015 21:24:05 +0000 (23:24 +0200)]
debian: on old Debian releases, enable "oldies"
Vincent Bernat [Wed, 23 Sep 2015 18:08:22 +0000 (20:08 +0200)]
doc: add a NEWS entry for latest commit
Vincent Bernat [Wed, 23 Sep 2015 18:07:08 +0000 (20:07 +0200)]
lldpd: add a warning if the kernel seems to be too old
Vincent Bernat [Wed, 23 Sep 2015 16:25:34 +0000 (18:25 +0200)]
redhat: on RHEL 6, enable oldies support
Vincent Bernat [Wed, 23 Sep 2015 16:05:07 +0000 (18:05 +0200)]
build: declare kernels before 2.6.39 "too old"
Unfortunately, netlink support for bond devices has been introduced in
2.6.33 (commit
88ead977109da926a03068e277869ea8fedd170d ). For bridge
devices, this is an addition of Linux 2.6.39 (commit
bb900b27a2f49b37bc38c08e656ea13048fee13b ).
Vincent Bernat [Wed, 23 Sep 2015 08:25:02 +0000 (10:25 +0200)]
cdp: fix log message spelling
Vincent Bernat [Sat, 19 Sep 2015 19:30:30 +0000 (21:30 +0200)]
redhat: for RHEL 7 and CentOS 7, install systemd unit file
Vincent Bernat [Wed, 16 Sep 2015 20:15:25 +0000 (22:15 +0200)]
build: fool autoreconf to do a recursive reconfiguration
We just redefine AC_CONFIG_SUBDIRS to our own empty version. autoreconf
will see this during the tracing step and will automatically reconfigure
libevent and libnl as well. This may unbreak people relying on tool
trying to regen configure without using the "autogen.sh" script.
Fix #133 (with a bit of luck)
Vincent Bernat [Wed, 9 Sep 2015 15:15:51 +0000 (17:15 +0200)]
release: 0.7.17 released
Vincent Bernat [Wed, 9 Sep 2015 15:06:34 +0000 (17:06 +0200)]
build: .git may be a file
It happens when using a worktree.
Vincent Bernat [Wed, 9 Sep 2015 14:58:26 +0000 (16:58 +0200)]
build: tell seccomp is experimental
I don't think many people are using it and the risk for lldpd to not
work is therefore increased.
Vincent Bernat [Sun, 30 Aug 2015 15:11:54 +0000 (17:11 +0200)]
apparmor: fix profile so that it works on Ubuntu 15.04
Vincent Bernat [Sun, 30 Aug 2015 14:41:27 +0000 (16:41 +0200)]
apparmor: provide an apparmor profile
Currently, lldpd has to be installed in /usr/sbin/lldpd. Will change
that later.
Vincent Bernat [Tue, 25 Aug 2015 12:20:39 +0000 (14:20 +0200)]
priv: no need to access bridge files unless "oldies"
However, bonding stuff is still needed because we get the permanence MAC
address this way.
Vincent Bernat [Sun, 23 Aug 2015 15:08:23 +0000 (17:08 +0200)]
lib: map_reverse_lookup needs to be always available
Vincent Bernat [Sun, 23 Aug 2015 14:01:48 +0000 (16:01 +0200)]
Ability to enable/disable RX/TX individually on each port
Vincent Bernat [Sun, 23 Aug 2015 13:28:58 +0000 (15:28 +0200)]
lldpcli: fix per-port occurrences of "conf lldp"
Some commands were documented as not accepting a per-port setting while
they accepted it (without any effect). On the other hand, some other
commands were accepting and used per-port setting while not
documented. Fix all that.
Vincent Bernat [Sat, 22 Aug 2015 21:27:14 +0000 (23:27 +0200)]
lldpd: ensure retransmit is triggered when a port goes up
Vincent Bernat [Sat, 22 Aug 2015 21:13:54 +0000 (23:13 +0200)]
lldpd: fix a memory leak in the way interfaces were cloned
Vincent Bernat [Sat, 22 Aug 2015 21:09:42 +0000 (23:09 +0200)]
interfaces: clean neighbors if an interface goes down
As we don't delete down interfaces anymore, we must at least clear
neighbors correctly.
Vincent Bernat [Sat, 22 Aug 2015 21:03:27 +0000 (23:03 +0200)]
interfaces: don't discard down interfaces
This is an easy way to keep the configuration associated to those
interfaces. However, we still need to discard any neighbors in this
case.
Vincent Bernat [Sat, 22 Aug 2015 14:39:13 +0000 (16:39 +0200)]
lib/atom: only allow custom TLV modification for local ports
Vincent Bernat [Sat, 22 Aug 2015 14:34:24 +0000 (16:34 +0200)]
Add a default local port as a template for any future local port.
This default local port can be modified through the library and any
future ports will use it as a template.
Vincent Bernat [Sat, 22 Aug 2015 08:45:46 +0000 (10:45 +0200)]
client: factor port modification in a dedicated function
Vincent Bernat [Sat, 22 Aug 2015 07:58:48 +0000 (09:58 +0200)]
marshal: add a macro to repair TQ lists
Vincent Bernat [Wed, 19 Aug 2015 16:40:18 +0000 (18:40 +0200)]
NEWS: add some entries for 0.7.17
Vincent Bernat [Wed, 19 Aug 2015 15:11:26 +0000 (17:11 +0200)]
lldpcli: display a warning when a configuration file is not found
Otherwise, the output of lldpcli would look pretty empty.
Vincent Bernat [Tue, 18 Aug 2015 08:58:15 +0000 (10:58 +0200)]
netlink: make error message more explicit
But there is some other reason behind it. This needs to be investigated
at some point.
Vincent Bernat [Tue, 18 Aug 2015 08:34:04 +0000 (10:34 +0200)]
snmp: make use of newer snmp_select_info2() function
When available, it allows to not hit the 1024 FD limit of
snmp_select_info().
Vincent Bernat [Mon, 17 Aug 2015 12:22:06 +0000 (14:22 +0200)]
interfaces: fix incomplete declaration of interfaces_cleanup
For BSD and Solaris, the declaration was incomplete.
Vincent Bernat [Mon, 17 Aug 2015 12:15:21 +0000 (14:15 +0200)]
build: ignore libnl documentation errors
Vincent Bernat [Mon, 17 Aug 2015 12:07:34 +0000 (14:07 +0200)]
build: fix test building with libnl dependency
Vincent Bernat [Mon, 17 Aug 2015 12:05:43 +0000 (14:05 +0200)]
build: better find system libnl3
Vincent Bernat [Mon, 17 Aug 2015 12:00:19 +0000 (14:00 +0200)]
build: don't limit dist tarball files to 99 characters
Otherwise, some files from libnl will be missing.
Vincent Bernat [Mon, 17 Aug 2015 11:44:16 +0000 (13:44 +0200)]
build: don't forget to ship libnl directory too
At least, on Linux. Therefore, dist tarballs should now be released on
Linux (otherwise, libnl won't be shipped).
Vincent Bernat [Mon, 17 Aug 2015 11:43:44 +0000 (13:43 +0200)]
build: ensure we can build libnl with -Wall -Werror
We need to silence out unused variables, in this case.