summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-10-05hashmap: hash_funcs - make inputs unambiguousTom Gundersen
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-05hashmap: refactor hash_funcTom Gundersen
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-05test: hashmap - cripple the hash function by truncating the input rather ↵Tom Gundersen
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-05test: siphash24 - verify internal state and composabilityTom Gundersen
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-05siphash24: expose the internal helper functionsTom Gundersen
2015-10-05siphash24: make siphash24_compress decomposableTom Gundersen
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-05siphash24: move last compression iteration from compression step to ↵Tom Gundersen
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-05siphash24: split out the compression stepTom Gundersen
2015-10-05siphash24: split out the finalization stepTom Gundersen
2015-10-05siphash24: introduce state structTom Gundersen
Encapsulate the four state variables in a struct so we can more easily pass them around.
2015-10-05test: siphash24 - add regression testTom Gundersen
2015-10-05networkd: add bridge propertiesSusant Sahani
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-05sd-rtnl: introduce new API to set the NL header flagsSusant Sahani
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-05sd-rtnl: sd-netlink: add support for bridge NL parametrsSusant Sahani
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-05missing.h : add bridge paramsSusant Sahani
2015-10-03core: don't unset reload result, unless we begin a start or reload operationLennart Poettering
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-02journal: rework vacuuming logicLennart Poettering
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 348ced909724a1331b85d57aede80a102a00e428 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-02journal: use automatic clenup for ACL typesLennart Poettering
2015-10-02journal: improve some messagesLennart Poettering
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-02journal: simplify things by using the LESS_BY() macroLennart Poettering
2015-10-02journal: don't affect atime of journal files when vacuumingLennart Poettering
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-02journal: prefer stack allocationLennart Poettering
2015-10-02journal: make journal_file_close() return NULLLennart Poettering
The way it is customary everywhere else in our sources.
2015-10-02journal: port over to fd_getcrtime_at()Lennart Poettering
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-02lldp: add reception testsBeniamino Galvani
Add some tests to simulate the reception of LLDP frames and to verify the correctness of the data in the MIB.
2015-10-02lldp: fix parsing of TLV lengthBeniamino Galvani
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-02lldp: move lldp_receive_packet() to lldp-internal.cBeniamino Galvani
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-02lldp: check return value of lldp_tlv_packet_exit_container()Beniamino Galvani
2015-10-02lldp: add support for organizationally specific TLVsBeniamino Galvani
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-02lldp: factor out common code in lldp-tlv.cBeniamino Galvani
2015-10-02lldp: add sd_lldp_tlv_packet_get_destination_type()Beniamino Galvani
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-02lldp: add public function to export LLDP TLV packetsBeniamino Galvani
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-02lldp: move TLV related functions to lldp-tlv.cBeniamino Galvani
Move some public functions from lldp-internal.c to lldp-tlv.c, as now they are not internal functions anymore.
2015-10-02lldp: export opaque TLV type and accessor functionsBeniamino Galvani
Export struct tlv_packet as a public opaque sd_lldp_packet type and make its accessor functions public.
2015-10-02lldp: change order of arguments of lldp_read_*() functionsBeniamino Galvani
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-02lldp: add reference counter to struct tlv_packetBeniamino Galvani
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.
2015-10-02util: rework fgetxattrat_fake() to use O_PATHLennart Poettering
That way, we don't ever open the file, thus leave the atime untouched, and this works even when unprivileged.
2015-10-01Merge pull request #1439 from poettering/CODING_STYLEDaniel Mack
Coding style
2015-10-01logind: remove warn_melody() logicLennart Poettering
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.
2015-10-01Merge pull request #1428 from franciozzy/tagenhanceKay Sievers
Enhance matching of TAG keys
2015-10-01Merge pull request #1438 from poettering/rfkill-reworkDaniel Mack
An rfkill rework among other things
2015-10-01Merge pull request #1430 from evverx/driver-syslogLennart Poettering
journald: add syslog fields for driver messages
2015-10-01rfkill: rework and make it listen on /dev/rfkillLennart Poettering
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.
2015-10-01core: add new setting Writable= to ListenSpecial= socket unitsLennart Poettering
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.
2015-10-01systemctl: fix how we decode types and statesLennart Poettering
There was a bad memory access among other smaller issues.
2015-10-01Merge pull request #1434 from reverendhomer/patch-1Daniel Mack
systemctl: fix memory leak in systemctl_parse_argv
2015-10-01udev: fix format string after conversion to log_*_errno()Michal Schmidt
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"
2015-10-01sd-device: fix format strings after conversion to log_*_errno()Michal Schmidt
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"
2015-10-01systemctl: fix memory leak in systemctl_parse_argvreverendhomer
This commit fixes Coverity #1325228
2015-10-01tree-wide: add missing errno arguments to log_*_errno()Michal Schmidt
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"