Commit graph

608 commits

Author SHA1 Message Date
Maximilian Wilhelm
f51c976b52 dict: Add lif_dict_add_once()
Add a function to add a key/value pair to the dict only if it doesn't exist
  within the dict already.

  As the dict is type agnostic this requires a comparator function to be given.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:44:22 +02:00
Maximilian Wilhelm
b1dfa609f9 dict: Add lif_dict_find_all().
As a dict can have multiple values for any given key we add a function to
  query all occurences of a given key and return them as a (new) list.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:41:41 +02:00
Ariadne Conill
cf59f6af4c tests: add ifup/ifdown tests for learned dependencies (close #5) 2020-07-28 14:04:27 -06:00
Ariadne Conill
21bcbe1017 execute: fix memory leak in lif_execute_fmt_with_result() 2020-07-28 13:53:21 -06:00
Ariadne Conill
c97594b89b tests: add test for mock dependency generator 2020-07-28 13:49:08 -06:00
Ariadne Conill
fb5ff4eac2 lifecycle: add support for learning dependents from executors (ref #5) 2020-07-28 13:46:25 -06:00
Ariadne Conill
3a75de9f8c execute: add lif_execute_buf_with_result() to collect a result buffer 2020-07-28 13:01:15 -06:00
Ariadne Conill
3302089d4b tests: add mock-dependency-generator (ref #5) 2020-07-28 12:07:09 -06:00
Ariadne Conill
cb9d347c8a ifupdown-ng 0.4.2. 2020-07-28 10:40:46 -06:00
Ariadne Conill
ef586a6b94 build: allow the packager to configure the executor scripts installed 2020-07-28 09:04:06 -06:00
Ariadne Conill
5b9ade9db8 executors: port @ncopa's bridge scripts to run as a native executor 2020-07-28 08:34:20 -06:00
Ariadne Conill
e1918f3fd5 ifupdown: add --force for compatibility with busybox ifupdown 2020-07-28 08:23:58 -06:00
Ariadne Conill
7af585e738 ifupdown-ng 0.4.1. 2020-07-26 09:33:43 -06:00
Ariadne Conill
8ef2815ef3 link executor: fix pre-up/post-down bug 2020-07-26 07:41:27 -06:00
Ariadne Conill
d88d9b7de4 ifupdown-ng 0.4. 2020-07-26 04:20:47 -06:00
Ariadne Conill
8fb2a0571d make sure VERBOSE is respected in executors 2020-07-26 04:18:57 -06:00
Ariadne Conill
326e27cdb4 executors: static: bring down routes before addresses 2020-07-26 04:13:25 -06:00
Ariadne Conill
83440e3f88 tests: add static executor tests 2020-07-26 04:11:17 -06:00
Ariadne Conill
e3a6e08e40 tests: add dhcp executor tests 2020-07-26 04:00:56 -06:00
Ariadne Conill
d35a3e3b38 tests: add tests for ipv6-ra executor 2020-07-26 03:54:06 -06:00
Ariadne Conill
5f078537bf tests: add tests for link executor 2020-07-26 03:48:37 -06:00
Ariadne Conill
08805f7de3 lifecycle: handle_commands_for_phase(): drop unused lifname variable 2020-07-26 03:39:58 -06:00
Ariadne Conill
be00984946 lifecycle: stop bringing up links, use link executor instead 2020-07-26 03:38:55 -06:00
Ariadne Conill
83ccb4f81d add link executor 2020-07-26 03:36:31 -06:00
Ariadne Conill
e046ea6a24 tests: migrate to mock link executor 2020-07-26 03:34:04 -06:00
Ariadne Conill
52d2bad3b8 interface: always attach "use link" executor 2020-07-26 03:29:16 -06:00
Ariadne Conill
05e8f9bbb5 make all executor scripts testable/mockable 2020-07-26 03:26:11 -06:00
Ariadne Conill
12307aeb9d lifecycle: remove static address configuration (replaced with static executor) 2020-07-26 03:20:35 -06:00
Ariadne Conill
43c147c6cf build: allow for non-linux executors 2020-07-26 03:16:52 -06:00
Ariadne Conill
c1e1d30a58 tests: convert ifup/ifdown tests to test with mock executors 2020-07-26 03:12:02 -06:00
Ariadne Conill
e29e552cc2 port iproute2 configuration from C to shell 2020-07-26 03:05:46 -06:00
Ariadne Conill
cae16c5758 simplify loopback 2020-07-26 02:59:15 -06:00
Ariadne Conill
9e4e17707f lifecycle: expose INTERFACES_FILE env var to executors 2020-07-26 02:50:01 -06:00
Ariadne Conill
0669e897fd tests: add mock static executor 2020-07-26 02:37:39 -06:00
Ariadne Conill
987e6399de libifupdown: interface: add support for automatic "use static" insertion 2020-07-26 02:32:00 -06:00
Ariadne Conill
052156ac09 ifquery: add --property (ref #4) 2020-07-26 02:28:29 -06:00
Ariadne Conill
f06ee76d41 implement ipv6-ra executor for controlling ipv6 RA setting on a per-NIC basis 2020-07-26 01:24:06 -06:00
Ariadne Conill
690190a0b9 libifupdown: interface-file: do not process use directives unless in an interface context 2020-07-25 08:49:37 -06:00
Ariadne Conill
4e452c5fec multicall: mark multicall_usage() as noreturn
this is needed to shut up coverity
2020-07-25 08:47:21 -06:00
Ariadne Conill
ea1c39ff5a ifupdown-ng 0.3. 2020-07-25 03:18:51 -06:00
Ariadne Conill
3e2d447a44 build: make distcheck work 2020-07-25 03:18:15 -06:00
Ariadne Conill
38af1ce2d2 dhcp: failing to find a supported impl should be a fatal error 2020-07-25 03:09:41 -06:00
Ariadne Conill
00c1d0f58c dhcp: react to $PHASE not legacy $MODE 2020-07-25 03:08:32 -06:00
Ariadne Conill
96392f0dd1 dhcp: add dhclient support 2020-07-25 03:06:47 -06:00
Ariadne Conill
201e00bbac dhcp: add support for dhcpcd 2020-07-25 03:04:02 -06:00
Ariadne Conill
c51c9f7103 build: install executor scripts 2020-07-25 02:55:09 -06:00
Ariadne Conill
7eeb7c98b5 libifupdown: lifecycle: remove built-in dhcp implementation 2020-07-25 02:50:45 -06:00
Ariadne Conill
cd8fbb64fb tests: use mock executors 2020-07-25 02:50:24 -06:00
Ariadne Conill
559bf2d1a4 libifupdown: execute: fix behavior of lif_file_is_executable() 2020-07-25 02:49:44 -06:00
Ariadne Conill
fa0a0d7f79 tests: add mock executor 2020-07-25 02:38:42 -06:00