Age | Commit message (Collapse) | Author |
|
Add some tests to simulate the reception of LLDP frames and to verify
the correctness of the data in the MIB.
|
|
tlv_packet_read_bytes() and tlv_packet_read_string() returned the
wrong length when called after other functions which modify the offset
in the container.
In other words, if the TLV data length is X and we do a
tlv_packet_read_u8(), a subsequent tlv_packet_read_bytes() should
return a length of (X - 1).
|
|
In order to implement tests for the LLDP state machine, we need to
mock lldp_network_bind_raw_socket(). Move the other function
lldp_receive_packet() to another file so that we can replace the first
function with a custom one and keep the second one.
|
|
|
|
LLDP TLVs of type 127 are used to carry organizationally specific
information and include additional fields to specify the OUI and
subtype.
Add support for parsing such fields and functions to access the most
common IEEE 802.1 specific TLVs.
|
|
|
|
It can be useful to know the destination address of a LLDP frame
because it determines the scope of propagation of the frame and thus
this information be used to know whether the neighbor is connected to
the same physical link.
See clause 7.1 of IEEE Std 802.1AB-2009.
|
|
Add a public function to get a list of current LLDP neighbours' TLV
packets. The function populates an array of pointers to the opaque
type sd_lldp_packet and returns the number of elements found. Callers
must take care of freeing the array and decreasing the refcount of
elements when done.
|
|
Move some public functions from lldp-internal.c to lldp-tlv.c, as now
they are not internal functions anymore.
|
|
Export struct tlv_packet as a public opaque sd_lldp_packet type and
make its accessor functions public.
|
|
These functions are going to be exported, swap the 'data' and 'length'
arguments so that their signature is consistent with the rest of the
code.
|
|
Add a reference counter to the tlv_packet structure so that it can be
shared between multiple users and properly free'd when no longer in
use.
|
|
Coding style
|
|
The internal speaker is usually not available on modern latops that
support suspend, and even if it is available in the hardware, most
distributions turned support for it off in the kernel. And even if it is
enabled, it's probably still a bad idea to make use of it for the
suspend-failures. If anything a proper sound should be played.
Long story short, let's remove support of this anachronism.
|
|
Enhance matching of TAG keys
|
|
An rfkill rework among other things
|
|
journald: add syslog fields for driver messages
|
|
With this rework we introduce systemd-rfkill.service as singleton that
is activated via systemd-rfkill.socket that listens on /dev/rfkill. That
way, we get notified each time a new rfkill device shows up or changes
state, in which case we restore and save its current setting to disk.
This is nicer than the previous logic, as this means we save/restore
state even of rfkill devices that are around only intermittently, and
save/restore the state even if the system is shutdown abruptly instead
of cleanly.
This implements what I suggested in #1019 and obsoletes it.
|
|
Writable= is a new boolean setting. If ture, then ListenSpecial= will
open the specified path in O_RDWR mode, rather than just O_RDONLY.
This is useful for implementing services like rfkill, where /dev/rfkill
is more useful when opened in write mode, if we want to not only save
but also restore its state.
|
|
There was a bad memory access among other smaller issues.
|
|
systemctl: fix memory leak in systemctl_parse_argv
|
|
Use %m where previously %s was used together with strerrno().
Fixes: e53fc357a9b "tree-wide: remove a number of invocations of
strerror() and replace by %m"
|
|
Use %m where previously %s was used together with strerrno().
Fixes: e53fc357a9b "tree-wide: remove a number of invocations of
strerror() and replace by %m"
|
|
This commit fixes Coverity #1325228
|
|
A few of the recent conversions to log_*_errno() were missing the errno
value arguments.
Fixes: e53fc357a9b "tree-wide: remove a number of invocations of
strerror() and replace by %m"
|
|
DHCP and journal remoting fix, as well as NEWS update
|
|
sd-pppoe: use strna() instead of strempty()
|
|
logging fixes and more
|
|
|
|
This makes sure libmicrohttpd won't call shutdown() on our listening
sockets, which make sure socket activation and re-activation will work
cleanly.
See:
https://github.com/systemd/systemd/pull/1286
https://lists.gnu.org/archive/html/libmicrohttpd/2015-09/msg00014.html
Fixes #1286
|
|
Fixes #1337
|
|
In cases where we use for instance. log_debug() with a statement + string
it is better to output (Service-name: N/A) instead of (Service-name: )
|
|
The TAG key can be used in rules for event matching. At the moment, it
does not support inequality tests. This patch enhances the key test to
validate the rule if it does not contain a given TAG (by TAG!="value").
Signed-off-by: Felipe Franciosi <felipe@paradoxo.org>
|
|
gpt-auto-generator: check fstab for /boot entries
|
|
sd-daemon: fix return value for sd_is_mq
|
|
Shell completion tweaks
|
|
On the bus, stick to exposing the empty string as "no virtualization",
instead of none.
Fixes #1423
|
|
Let's clean up our tree a bit, and reduce invocations of the
thread-unsafe strerror() by replacing it with printf()'s %m specifier.
|
|
|
|
Let's unify more code.
Also, rework the macro to accept a trailing semicolon, to make the code
prettier.
|
|
extract_first() already skips trailing whitespace, hence no reason to
explicitly check for it.
|
|
It's pretty untypical for our parsing functions to log on their own.
Clarify in the name that this one does.
|
|
Also, make sure it follows the same scheme as log_syntax() does in its
behaviour.
|
|
- Rely everywhere that we use abs() on the error code passed in anyway,
thus don't need to explicitly negate what we pass in
- Never attach synthetic error number information to log messages. Only
log about errors we *receive* with the error number we got there,
don't log any synthetic error, that don#t even propagate, but just eat
up.
- Be more careful with attaching exactly the error we get, instead of
errno or unrelated errors randomly.
- Fix one occasion where the error number and line number got swapped.
- Make sure we never tape over OOM issues, or inability to resolve
specifiers
|
|
We need to prevent the creation of the gpt automount unit, which will not
get overridden by the fstab mount unit.
https://github.com/systemd/systemd/issues/1378
|
|
shortcut for `systemctl kill --kill-who main --signal SIGUSR2 systemd-journald`
|
|
mq_getattr returns -1/EBADF for file descriptors which are not mq.
But we should return 0 in this case.
We first check that fd is a valid fd, so we can assume that if
mq_getattr returns EBADF, it is simply a non-mq fd. There is a slight
race, but there doesn't seem to be a nice way to fix it.
|
|
logind: avoid a dot before parenthesis
|
|
|
|
systemd-logind[27]: System is rebooting. (Applied kernel updates.)
is changed to
systemd-logind[27]: System is rebooting (Applied kernel updates).
Users should not add a dot in the sentence in --message, i.e. the correct usage is now:
$ systemctl reboot --message "Applied kernel updates"
|