summaryrefslogtreecommitdiff
path: root/src/libsystemd-network
AgeCommit message (Collapse)Author
2015-08-03sd-event: make sure sd_event_now() cannot failLennart Poettering
Previously, if the event loop never ran before sd_event_now() would fail. With this change it will instead fall back to invoking now(). This way, the function cannot fail anymore, except for programming error when invoking it with wrong parameters. This takes into account the fact that many callers did not handle the error condition correctly, and if the callers did, then they kept simply invoking now() as fall back on their own. Hence let's shorten the code using this call, and make things more robust, and let's just fall back to now() internally. Whether now() is used or the cache timestamp may still be detected via the return value of sd_event_now(). If > 0 is returned, then the fall back to now() was used, if == 0 is returned, then the cached value was returned. This patch also simplifies many of the invocations of sd_event_now(): the manual fall back to now() can be removed. Also, in cases where the call is invoked withing void functions we can now protect the invocation via assert_se(), acknowledging the fact that the call cannot fail anymore except for programming errors with the parameters. This change is inspired by #841.
2015-07-29tree-wide: port everything over to fflush_and_check()Lennart Poettering
Some places invoked fflush() directly with their own manual error checking, let's unify all that by using fflush_and_check(). This also unifies the general error paths of fflush()+rename() file writers.
2015-07-14Merge pull request #538 from mischief/multiple-routersTom Gundersen
sd-dhcp-lease: fix handling of multiple routers We only support one router, but in case more than one is given, we now ignore subsequent ones, rather than fall over.
2015-07-12dhcp: add support for vendor specific DHCP optionBeniamino Galvani
This adds support for option 43 (Vendor Specific Information) to libsystemd-network DHCP code. The option carries an opaque object of n octets, interpreted by vendor-specific code on the clients and servers. [@zonque: adopted to new unhexmem() API]
2015-07-12basic: util - fix errorhandling in unhexmem()Tom Gundersen
We were ignoring failures from unhexchar, which meant that invalid hex characters were being turned into garbage rather than the string rejected. Fix this by making unhexmem return an error code, also change the API slightly, to return the size of the returned memory, reflecting the fact that the memory is a binary blob,and not a string. For convenience, still append a trailing NULL byte to the returned memory (not included in the returned size), allowing callers to treat it as a string without doing a second copy.
2015-07-11sd-dhcp-lease: fix handling of multiple routersNick Owens
currently if a dhcp server sends more than one router, sd-dhcp-lease does not copy the ip because it assumes it will only ever be 4 bytes. a dhcp server could send more than one ip in the router list, so we should copy the first one and ignore the rest of the bytes.
2015-07-02lldp: set correct state for processingSusant Sahani
ldp_receive_frame after correct processing of the packet the state should be LLDP_AGENT_RX_WAIT_FOR_FRAME not LLDP_AGENT_RX_UPDATE_INFO.
2015-06-17sd-dhcp-client: readd deleted error checkThomas Hindoe Paaboel Andersen
Seems to have been removed by mistake in: 9021bb9f935c93b516b10c88db2a212a9e3a8140
2015-06-13sd-netlink: rename from sd-rtnlTom Gundersen
2015-06-11sd-rtnl: make joining broadcast groups implicitTom Gundersen
2015-06-10libsystemd-network: use domain validation instead of hostname validation for ↵Nick Owens
dhcp domain option previously hostname_is_valid was used to validate domain names, which would silently drop perfectly valid dns names that were longer than a single dns label.
2015-06-10util: introduce CMSG_FOREACH() macro and make use of it everywhereLennart Poettering
It's only marginally shorter then the usual for() loop, but certainly more readable.
2015-06-08tree-wide: remove spurious spaceThomas Hindoe Paaboel Andersen
2015-05-21json: minor style fixessystemd/v220Lennart Poettering
2015-05-19dhcp-identifier: fix for unaligned writeTom Gundersen
Reported by Michael Olbrich.
2015-05-18util: split all hostname related calls into hostname-util.cLennart Poettering
2015-04-21dhcp6: remove unnecessary if checkLennart Poettering
2015-04-14test-dhcp6-client: don't unref the event twiceThomas Hindoe Paaboel Andersen
2015-04-14sd-dhcp6-client: unref lease when freeing the clientThomas Hindoe Paaboel Andersen
2015-04-13test-ipv4ll: clean up the eventThomas Hindoe Paaboel Andersen
shuts up valgrind/sanitizers
2015-04-12dhcp: yes, infiniband has the larger MAC address length, but let the ↵Lennart Poettering
compuler figure that out...
2015-04-11shared: add random-util.[ch]Ronny Chevalier
2015-04-10shared: add process-util.[ch]Ronny Chevalier
2015-04-10Revert "sd-dhcp-client: fix strict aliasing issue"Lennart Poettering
This reverts commit 6ec8e7c763b7dfa82e25e31f6938122748d1608f. This doesn't fix any issues, just makes the code harder to read.
2015-03-27fix gcc warnings about uninitialized variablesHarald Hoyer
like: src/shared/install.c: In function ‘unit_file_lookup_state’: src/shared/install.c:1861:16: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized] return r < 0 ? r : state; ^ src/shared/install.c:1796:13: note: ‘r’ was declared here int r; ^
2015-03-14sd-dhcp-client: fix strict aliasing issueShawn Landden
2015-03-13test-dhcp-option: conform to usual coding styleZbigniew Jędrzejewski-Szmek
2015-03-13test-dhcp-option: add assert to check index is nonnegativeZbigniew Jędrzejewski-Szmek
CID #1237623.
2015-03-13Use space after a silencing (void)Zbigniew Jędrzejewski-Szmek
We were using a space more often than not, and this way is codified in CODING_STYLE.
2015-03-13tree-wide: there is no ENOTSUP on linuxDavid Herrmann
Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses.
2015-03-12sd-pppoe: workaround for incomplete include in old kernelsZbigniew Jędrzejewski-Szmek
2015-03-04sd-dhcp6-client: delay setting the DUID and don't fail constructorThomas Haller
sd_dhcp6_client_new() tried to set the DUID based on the machine id. If the host has no /etc/machine-id, the constructor would fail making it impossible to create an sd_dhcp6_client instance. Relax this and create a DUID only later as needed. This way a caller caller can workaround a missing machine-id file and set a DUID of his choosing via sd_dhcp6_client_set_duid().
2015-02-23remove unused includesThomas Hindoe Paaboel Andersen
This patch removes includes that are not used. The removals were found with include-what-you-use which checks if any of the symbols from a header is in use.
2015-02-16Transpose args in strv_fnmatch() to be more ooZbigniew Jędrzejewski-Szmek
2015-02-16test-network: fix segfault with NULL dev_path/driver/type/nameZbigniew Jędrzejewski-Szmek
2015-02-16network-internal: chain matches with AND in net_match_config()Zbigniew Jędrzejewski-Szmek
The test would treat the first non-empty set of matches in match_paths, match_drivers, match_types, match_names as definitive (essentially chaining them with OR). Make those tests instead match like other tests and require all to pass if the set of patterns is nonempty.
2015-02-16Add helper for fnmatch over strvZbigniew Jędrzejewski-Szmek
2015-02-12Add missing includes in header filesThomas Hindoe Paaboel Andersen
This fixes various issues found by globally reordering the include sections of all .c files.
2015-02-12Revert "tree-wide: Always use recvmsg with MSG_CMSG_CLOEXEC"Lennart Poettering
This reverts commit d6d810fbf8071f8510450dbacd1d083f37603656. It's apparently not OK to pass MSG_CMSG_CLOEXEC to recvmsg() of raw sockets.
2015-02-11network-internal: fix inverted matchingTom Gundersen
This fixes the test-suite again.
2015-02-10net: support globbing and disjunction in Match logicTom Gundersen
Match{Name,OrginalName,Type,Driver,Path} can now take a space-separated glob of matches.
2015-02-10tree-wide: Always use recvmsg with MSG_CMSG_CLOEXECCristian Rodríguez
2015-02-10test-lldp: fix minor OOMLennart Poettering
2015-02-10test-lldp: initialize structs when we define themLennart Poettering
2015-02-10test-lldp: use strndup() where possibleLennart Poettering
2015-02-10libsystemd-network: Avoid potential NULL dereference in test-lldpPhilippe De Swert
As a malloc0 could fail, doing a strncpy without checking could cause issues. Adding an assert should be good enough and in line with other similar routines in the code. Found with Coverity Fixes: CID#1261402
2015-02-09treewide: correct typos and use consistent "MAC" spellingTorstein Husebø
2015-02-02test-dhcp-client: add a kludge to make valgrind happyZbigniew Jędrzejewski-Szmek
2015-02-02test-dhcp-client: open a real udp socket for test executionZbigniew Jędrzejewski-Szmek
./test-dhcp-client would attempt to operate fd 0, i.e. stdin. For example, './test-dhcp-client </dev/null' would fail with EPERM because /dev/null cannot be used with epoll. https://bugzilla.redhat.com/show_bug.cgi?id=1076119
2015-01-31test-dhcp-client: remove linebreakZbigniew Jędrzejewski-Szmek