Commit Graph
23012 Commits
Author SHA1 Message Date
Tom Gundersen 1e2527a6fe hashmap: hash_funcs - make inputs unambiguous
Make sure all variable-length inputs are properly terminated or that
their length is encoded in some way. This avoids ambiguity of
adjacent inputs.

E.g., in case of a hash function taking two strings, compressing "ab"
followed by "c" is now distinct from "a" followed by "bc".
2015-10-05 19:21:02 +02:00
Tom Gundersen b826ab586c hashmap: refactor hash_func
All our hash functions are based on siphash24(), factor out
siphash_init() and siphash24_finalize() and pass the siphash
state to the hash functions rather than the hash key.

This simplifies the hash functions, and in particular makes
composition simpler as calling siphash24_compress() repeatedly
on separate chunks of input has the same effect as first
concatenating the input and then calling siphash23_compress()
on the result.
2015-10-05 18:22:10 +02:00
Tom Gundersen 57217c8f2a test: hashmap - cripple the hash function by truncating the input rather than the output
The reason for the crippled hash function is to reduce the distribution
of the hash function, do this by truncating the domain rather than the
range. This does introduce a change in behavoir as the range is no longer
contiguous, which greatly reduces collisions.

This is needed as a follow-up patch will no longer allow individual hash
functions to alter the output directly.
2015-10-05 18:19:18 +02:00
Tom Gundersen 1283d70417 test: siphash24 - verify internal state and composability
Verify the state of the hash-function according to the reference paper,
also verify that we can decompose the input and hash the chunks one
by one and still get the same result.
2015-10-05 17:33:58 +02:00
Tom Gundersen 7c57f504c9 siphash24: expose the internal helper functions 2015-10-05 17:33:58 +02:00
Tom Gundersen 2c4cc3bdcd siphash24: make siphash24_compress decomposable
This allows the input to siphash24_compress to be decomposed into
smaller chunks and the function to be called on each individual
chunk.
2015-10-05 17:33:58 +02:00
Tom Gundersen f2936011c5 siphash24: move last compression iteration from compression step to finalization step
The last compression is special as it deals with the length byte, and padding. Move
it to the finalization step in preparation for making compression decomposable.
2015-10-05 17:33:58 +02:00
Tom Gundersen c7b68d84e4 siphash24: split out the compression step 2015-10-05 17:33:58 +02:00
Tom Gundersen 9e77e048d4 siphash24: split out the finalization step 2015-10-05 17:33:58 +02:00
Tom Gundersen 708684ef22 siphash24: introduce state struct
Encapsulate the four state variables in a struct so we can more easily pass
them around.
2015-10-05 17:33:58 +02:00
Tom Gundersen a245d90a89 test: siphash24 - add regression test 2015-10-05 17:33:58 +02:00
Lukas Nykryn 62b29f83cd man: LEVEL in systemd-analyze set-log level is not optional
rhbz#1268336
2015-10-05 12:19:13 +02:00
Daniel Mack f4e5a03ed7 Merge pull request #1461 from Danielmachon/patch-1
Update NEWS
2015-10-05 11:31:21 +02:00
Daniel Machon efce0ffeac Update NEWS
Fixed spelling error: seriban -> serbian
2015-10-05 11:15:16 +02:00
Daniel Mack 62211cfe6e NEWS update 2015-10-05 09:47:58 +02:00
Susant Sahani 3428fe07f0 man: add man for bridge params 2015-10-05 09:43:29 +05:30
Susant Sahani 540eb5f037 networkd: add bridge properties
ForwardDelaySec:   forward delay
HelloTimeSec:      hello time
MaxAgeSec:         maximum message age

for more information see
http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/set-up-the-bridge.html

In kernel
br_dev_newlink: does not have the this functionality to set while
creation.
br_changelink: after creation we can change the parameters.

we need to first create then set it the parameters.

Introduce new callback post_create .This should
set the properties after the creation.
2015-10-05 09:43:29 +05:30
Susant Sahani c06cb593eb sd-rtnl: introduce new API to set the NL header flags
By default we set as NLM_F_CREATE | NLM_F_EXCL in
sd_rtnl_message_new_link
But incase of bridge we need to set NLM_F_REQUEST | NLM_F_ACK.

If NLM_F_EXCL is set then we are unable to set the parameters. As bridge
supports setting properties after creation not during creation.
2015-10-05 09:43:29 +05:30
Susant Sahani ced671e105 sd-rtnl: sd-netlink: add support for bridge NL parametrs
Rename rtnl_link_info_data_bridge_types to
rtnl_link_bridge_management_types
as they are of nested types of IFLA_AF_SPEC.
2015-10-05 09:43:29 +05:30
Susant Sahani c3eae485bb missing.h : add bridge params 2015-10-05 09:43:29 +05:30
Kay Sievers 1f31211da9 Merge pull request #1457 from martinpitt/master
keymap: Add Thinkpad Yoga 12 (2015)
2015-10-04 20:25:44 +02:00
Lennart Poettering ca6f900cd8 Merge pull request #1454 from kostich/master
po, catalog: added Serbian translation.
2015-10-04 18:34:44 +03:00
Martin Pitt e1fd199580 keymap: Add Thinkpad Yoga 12 (2015)
Fixes #1440
2015-10-04 14:31:00 +02:00
Марко М. Костић (Marko M. Kostić) bd3be92f83 po, catalog: added Serbian translation. 2015-10-03 22:07:29 +02:00
Lennart Poettering 95c906ae07 core: don't unset reload result, unless we begin a start or reload operation
Much like the result of the service itself we should not reset the
reload result unless we actually start from the beginning, so that
clients can query it at any time.

Specifically, let's reset the result states only when we begin with a
start operation (for both the main result, and the reload result), when
we begin with a reload operation (only for the load result), or when the
use explicitly asks for that via "systemctl reset-failed".

This is a more generic fix for #1447.

Fixes #1447.
2015-10-03 13:37:21 +02:00
Lennart Poettering 3d8b1ef360 Merge pull request #1450 from evverx/man-journal-fields
man: systemd.journal-fields: add info about _TRANSPORT=audit
2015-10-03 12:04:47 +02:00
Lennart Poettering 6c1695be47 man: include numeric prefixes in example file names for .link, .netdev, .network files
In order to avoid confusion with the default files we ship, let's use a
low prefix number for all examples.

Fixes #1409.
2015-10-03 11:55:53 +02:00
Lennart Poettering fd8d05e9b8 man: fix journalctl --syslog-identifier= documentation
We don't actually accept patterns, hence don't claim so. This is a
fix-up for 730836403a.

Fixes #1256.
2015-10-03 11:40:16 +02:00
Lennart Poettering 3225266095 man: document that the automatic journal limits are capped to 4G by default
Fixes #1441.
2015-10-03 11:34:11 +02:00
Lennart Poettering 988a479642 nspawn: fix --image= when nspawn is run as service
nspawn needs access to /dev/loop to implement --image=, hence grant that
in the service file.

Fixes #1446.
2015-10-03 11:23:52 +02:00
Evgeny Vereshchagin 8983e16aac man: systemd.journal-fields: add info about _TRANSPORT=audit 2015-10-03 05:38:06 +03:00
Lennart Poettering 8580d1f73d journal: rework vacuuming logic
Implement a maximum limit on number of journal files to keep around.
Enforcing a limit is useful on this since our performance when viewing
pays a heavy penalty for each journal file to interleve. This setting is
turned on now by default, and set to 100.

Also, actully implement what 348ced9097
promised: use whatever we find on disk at startup as lower bound on how
much disk space we can use. That commit introduced some provisions to
implement this, but actually never did.

This also adds "journalctl --vacuum-files=" to vacuum files on disk by
their number explicitly.
2015-10-02 23:21:59 +02:00
Lennart Poettering 0fb398316c journal: use automatic clenup for ACL types 2015-10-02 23:20:51 +02:00
Lennart Poettering 65089b8240 journal: improve some messages
Indicate that we are ignoring errors, when we ignore them, and log that
at LOG_WARNING level.

Use the right error code for the log message.
2015-10-02 23:19:00 +02:00
Lennart Poettering 070052aba3 journal: simplify things by using the LESS_BY() macro 2015-10-02 22:42:13 +02:00
Lennart Poettering 7b5195e274 journal: don't affect atime of journal files when vacuuming
Let's try to use O_NOATIME if we can when vacuuming old journal files,
if we have the permissions for it, so that vacuuming doesn't count as
proper journal read access.
2015-10-02 22:39:24 +02:00
Lennart Poettering 84267e4043 journal: prefer stack allocation 2015-10-02 22:37:53 +02:00
Lennart Poettering 804ae586d4 journal: make journal_file_close() return NULL
The way it is customary everywhere else in our sources.
2015-10-02 22:36:33 +02:00
Lennart Poettering 2e14c544a9 journal: port over to fd_getcrtime_at()
Let's use fd_getcrtime_at(), since that *at() family of calls is how we
read the rest of the file metadata, too.
2015-10-02 22:31:35 +02:00
Beniamino Galvani 6fd255cfaa lldp: add reception tests
Add some tests to simulate the reception of LLDP frames and to verify
the correctness of the data in the MIB.
2015-10-02 17:39:22 +02:00
Beniamino Galvani 29eca2ff89 lldp: fix parsing of TLV length
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).
2015-10-02 17:39:22 +02:00
Beniamino Galvani 0037c2dc54 lldp: move lldp_receive_packet() to lldp-internal.c
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.
2015-10-02 17:39:22 +02:00
Beniamino Galvani 564cabd46c lldp: check return value of lldp_tlv_packet_exit_container() 2015-10-02 17:39:22 +02:00
Beniamino Galvani d8c89d6198 lldp: add support for organizationally specific TLVs
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.
2015-10-02 17:39:22 +02:00
Beniamino Galvani 11e8357164 lldp: factor out common code in lldp-tlv.c 2015-10-02 17:39:22 +02:00
Beniamino Galvani 4fc6de5df3 lldp: add sd_lldp_tlv_packet_get_destination_type()
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.
2015-10-02 17:39:22 +02:00
Beniamino Galvani 7434883c40 lldp: add public function to export LLDP TLV packets
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.
2015-10-02 17:39:22 +02:00
Beniamino Galvani b57003ecc3 lldp: move TLV related functions to lldp-tlv.c
Move some public functions from lldp-internal.c to lldp-tlv.c, as now
they are not internal functions anymore.
2015-10-02 17:39:22 +02:00
Beniamino Galvani 176c355b43 lldp: export opaque TLV type and accessor functions
Export struct tlv_packet as a public opaque sd_lldp_packet type and
make its accessor functions public.
2015-10-02 17:39:12 +02:00
Beniamino Galvani 97030a86f0 lldp: change order of arguments of lldp_read_*() functions
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.
2015-10-02 17:11:41 +02:00