Ariadne Conill
edfb91c05f
lifecycle: separate environment building into build_environment()
2020-07-29 02:24:10 -06:00
Ariadne Conill
81d0ebc3e8
remove unnecessary strcmp wrapper, use typecasting instead
2020-07-28 17:57:51 -04:00
Ariadne Conill
cfbfa07e85
list: refactor lif_list_free_nodes() a bit
2020-07-28 17:53:48 -04:00
Ariadne Conill
58816712c6
Merge pull request #7 from BarbarossaTM/deduce-use
...
Deduce which addons to 'use' from parameters names
2020-07-28 17:50:32 -04:00
Maximilian Wilhelm
8045081024
list: Set pointer to free()ed list to NULL.
...
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 23:30:09 +02:00
Maximilian Wilhelm
9d958892ed
Free nodes of a lif_dict_find_all() result.
...
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 23:25:01 +02:00
Maximilian Wilhelm
73f3690432
Deduce which addons to 'use' from parameters names ( closes #6 )
...
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:44:49 +02:00
Maximilian Wilhelm
2420023b74
Add comparator wrapper and type cast values properly.
...
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:44:42 +02:00
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
21bcbe1017
execute: fix memory leak in lif_execute_fmt_with_result()
2020-07-28 13:53:21 -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
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
52d2bad3b8
interface: always attach "use link" executor
2020-07-26 03:29:16 -06:00
Ariadne Conill
12307aeb9d
lifecycle: remove static address configuration (replaced with static executor)
2020-07-26 03:20:35 -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
987e6399de
libifupdown: interface: add support for automatic "use static" insertion
2020-07-26 02:32:00 -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
7eeb7c98b5
libifupdown: lifecycle: remove built-in dhcp implementation
2020-07-25 02:50:45 -06:00
Ariadne Conill
559bf2d1a4
libifupdown: execute: fix behavior of lif_file_is_executable()
2020-07-25 02:49:44 -06:00
Ariadne Conill
95a72b5663
libifupdown: lifecycle: implement native executor support
2020-07-25 02:19:15 -06:00
Ariadne Conill
f8c14fc233
libifupdown: lifecycle: if in verbose mode, export VERBOSE to executors
2020-07-25 02:18:53 -06:00
Ariadne Conill
83d64b0a69
libifupdown: lifecycle: IFACE env variable should be set to the logical ifname
2020-07-25 02:18:35 -06:00
Ariadne Conill
96112d5dc9
libifupdown: execute: add lif_maybe_try_executor()
2020-07-25 02:17:27 -06:00
Ariadne Conill
eb8f1938dc
libifupdown: add utility function to determine if a path is executable
2020-07-25 01:58:20 -06:00
Ariadne Conill
d582e405b6
lifecycle: simplify netmask fallback path
2020-07-25 01:02:05 -06:00
Ariadne Conill
60633e4acb
lifecycle: add backwards compat for netmask triples
2020-07-25 00:58:32 -06:00
Ariadne Conill
713d5071d5
state: don't consider missing state file to be a fatal error
2020-07-24 07:13:04 -06:00
Ariadne Conill
16af3755e0
use "use loopback" hint instead of "inet loopback", same with dhcp
2020-07-24 05:00:49 -06:00
Ariadne Conill
e0a7444640
state: add ability to sync a state to if_collection cache
2020-07-24 04:48:50 -06:00
Ariadne Conill
a3c138b9b2
interface-file: add some backwards compatibility hacks with use (ref #3 )
2020-07-24 04:39:41 -06:00
Ariadne Conill
5c75cdcab0
libifupdown: inline the tokenization functions
2020-07-24 04:12:42 -06:00
Ariadne Conill
101db509c1
lifecycle: note transient state changes when executing in verbose mode
2020-07-24 03:51:31 -06:00
Ariadne Conill
38537339ab
lifecycle: implement requires keyword
2020-07-24 03:42:34 -06:00
Ariadne Conill
b9f1ae8254
lifecycle: rewrite bond-xmit-hash-policy as IF_BOND_XMIT_HASH_POLICY when building env
2020-07-24 01:03:44 -06:00
Ariadne Conill
89f2110254
lifecycle: fix taking default routes down
2020-07-24 00:11:37 -06:00
Ariadne Conill
1824d05bd5
lifecycle: implement support for IF_ env vars based on triples
2020-07-23 11:56:20 -06:00
Ariadne Conill
546e6a5f3a
lifecycle: support gateway
2020-07-23 11:15:44 -06:00
Ariadne Conill
95d26df34c
lifecycle: refactor address handling a little
2020-07-23 11:08:35 -06:00
Ariadne Conill
933332a6cb
lifecycle: add pre-down/post-up to match debian ifupdown
2020-07-23 10:43:14 -06:00
Ariadne Conill
5013dcf6c9
lifecycle: kill dhcp client when called from ifdown
2020-07-23 09:45:52 -06:00
Ariadne Conill
2c556d8655
environment: fix up memory accesses when building envp
2020-07-23 09:43:09 -06:00
Ariadne Conill
a2f3169716
lifecycle: use /bin/run-parts instead of run-parts
2020-07-23 08:57:52 -06:00
Ariadne Conill
bc9dc32a38
lifecycle: support dhcp
2020-07-23 08:55:46 -06:00
Ariadne Conill
4542c8c32f
lifecycle: note dependency resolution todo
2020-07-23 08:52:18 -06:00
Ariadne Conill
da37e87290
add lifecycle management
2020-07-23 08:51:22 -06:00
Ariadne Conill
4006b38ffa
execute: add lif_execute_opts structure
2020-07-23 08:22:26 -06:00
Ariadne Conill
a567d5d0f5
libifupdown: add lif_execute_fmt()
2020-07-23 06:12:56 -06:00
Ariadne Conill
7f8f93a29b
libifupdown: add environment management routines
2020-07-23 05:30:25 -06:00
Ariadne Conill
aa1cc0815c
add a bunch more of the state stuff
2020-07-20 08:19:23 -06:00
Ariadne Conill
6fe4630f52
state: add interface alias support
2020-07-20 07:45:39 -06:00
Ariadne Conill
d4e1997486
add core state management
2020-07-20 07:42:16 -06:00
Ariadne Conill
c189467707
add ifquery --version
2020-07-18 19:09:08 -06:00
Ariadne Conill
86a83d9e95
implement /e/n/i parsing
2020-07-18 18:48:49 -06:00
Ariadne Conill
26106dff75
add fgetline(3) implementation
2020-07-18 18:13:54 -06:00
Ariadne Conill
32560de5ca
add stub lif_interface_file_parse()
2020-07-18 18:02:25 -06:00
Ariadne Conill
817963b586
cmd: start work on an ifquery command
2020-07-18 04:49:22 -06:00
Ariadne Conill
84a01ffdc4
libifupdown: add initial interface management code
2020-07-18 04:24:53 -06:00
Ariadne Conill
3f618d2a3b
libifupdown: add a simple key-value dictionary based on linked lists
2020-07-18 03:11:43 -06:00
Ariadne Conill
803f51efe8
list: fix LIF_LIST_FOREACH_SAFE
2020-07-18 03:01:15 -06:00
Ariadne Conill
a43f8b988d
list: remove #if 0 part
2020-07-18 01:59:33 -06:00
Ariadne Conill
e8d87d3d37
add linked list code
2020-07-18 01:58:24 -06:00