-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
*: fix a pile of directory and/or state retention related issues #15243
*: fix a pile of directory and/or state retention related issues #15243
Commits on Jan 27, 2024
-
build: add ax_recursive_eval.m4
As found in the GNU autoconf archive https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f8eb388 - Browse repository at this point
Copy the full SHA f8eb388View commit details -
build: add recursion limit for AX_RECURSIVE_EVAL
The autoconf version can just loop forever, abort instead. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b052b18 - Browse repository at this point
Copy the full SHA b052b18View commit details -
Replace inline expansion loop. (Also correctly handles prefix=NONE and exec_prefix=NONE inside the macro.) Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 27f6171 - Browse repository at this point
Copy the full SHA 27f6171View commit details -
build: untangle sysconfdir & localstatedir
`--sysconfdir` should be `/etc` and `--localstatedir` should be `/var`. The package-specific subdirectory should be added by configure, not given by the user, to match established behavior by other packages. Note that `--bindir`, `--sbindir`, `--libdir` and `--libexecdir` have different established/expected behavior due to distro specific multi-arch support. That's why these are left unchanged. The reason this is getting fixed now is that we need to use `--localstatedir` for its actual value to put things in `/var/lib`. As it is now, being overloaded for `/run`, the configured `/var` path becomes inaccessible. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ff62df2 - Browse repository at this point
Copy the full SHA ff62df2View commit details -
build: update packaging & docs for dir changes
`--sysconfdir` and `--localstatedir` now align with general autoconf practices. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 444bc5e - Browse repository at this point
Copy the full SHA 444bc5eView commit details -
*: rename
frr_vtydir
tofrr_runstatedir
Also remove frr_init_vtydir(), just initialize to default. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 42eeea0 - Browse repository at this point
Copy the full SHA 42eeea0View commit details -
lib, mgmtd: fix wrong mgmtd socket paths
These paths were ignoring the `-N` namespacing option. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0d5a249 - Browse repository at this point
Copy the full SHA 0d5a249View commit details -
build: nuke
BFDD_CONTROL_SOCKET
This just unnecessarily complicates things by involving autoconf. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 80b6787 - Browse repository at this point
Copy the full SHA 80b6787View commit details -
This just unnecessarily complicates things by involving autoconf. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72783ec - Browse repository at this point
Copy the full SHA 72783ecView commit details -
This just unnecessarily complicates things by involving autoconf. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0f79e6b - Browse repository at this point
Copy the full SHA 0f79e6bView commit details -
This needs to be used for persistent state, which currently is misplaced into `/var/run` / `/run` where it gets deleted across reboots. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a97d0c5 - Browse repository at this point
Copy the full SHA a97d0c5View commit details -
lib: create
frr_daemon_state_{load,save}
These functions load daemon-specific persistent state from `/var/lib/frr` and supersede open-coded variants of similar calls in ospfd, ospf6d and isisd to save GR state and/or sequence numbers. Unlike the open-coded variants, the save call correctly `fsync()`s the saved data to ensure disk contents are consistent. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cd35ecc - Browse repository at this point
Copy the full SHA cd35eccView commit details -
*: fix
frr_daemon_info
indentationclang-format doesn't understand FRR_DAEMON_INFO is a long macro where laying out items semantically makes sense. (Also use only one `FRR_DAEMON_INFO(` in isisd so editors don't get confused with the mismatching `( ( )`. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 634f481 - Browse repository at this point
Copy the full SHA 634f481View commit details -
isisd: fix overload state location
This belongs in `/var/lib`, not `/var/run`. Also the filename was typo'd (`isid-restart.json`). Change to proper location and fall back to previous in case it's the first restart after an FRR update from a version with the bugged path. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e354c6e - Browse repository at this point
Copy the full SHA e354c6eView commit details -
This belongs in `/var/lib`, not `/var/run`. Use library facility to load/save, support previous path as fallback, and do proper fsync(). Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 110945b - Browse repository at this point
Copy the full SHA 110945bView commit details -
ospf6d: fix GR & auth seqno state location
Unfortunately, `ospf6d` is much worse than `ospfd` and `isisd` regarding its state saving, due to the existence of the auth trailer code. Again, this belongs in `/var/lib`, not `/var/run`. Merge both state files into one, and add reconciliation code for the auth seqno. I'm gonna save my comment on the fact that `ospf6_auth_seqno_nvm_delete` is not in fact used anywhere. Which is now a warning because it's `static`. Well. It probably should be used somewhere, so leave it in. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 567f570 - Browse repository at this point
Copy the full SHA 567f570View commit details -
lib, mgmtd: fix commit history location
Both of these belong in `/var/lib`, not `/var/run`. Rather hilariously, the history read in `mgmt_history_read_cmt_record_index` was always failing, because it was doing a `file_exists(MGMTD_COMMIT_FILE_PATH)` check. Which is the wrong macro - it's `.../commit-%s.json`, including the unprocessed `%s`, which would never exist. I guess noone ever tried if this actually works. Cool. On the plus side, this means I don't have to implement legacy compatibility for this, since it never worked to begin with. (SQLite3 DB location is also changed in this commit since it also uses `DAEMON_DB_DIR`.) Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bfd6d8e - Browse repository at this point
Copy the full SHA bfd6d8eView commit details -
babeld: remove bogus config path print
This doesn't align with what the code actually loads, remove it. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f1ad2c4 - Browse repository at this point
Copy the full SHA f1ad2c4View commit details -
build: homologize path handling
Use consistent `e_somepath` names for expanded versions of `somepath`. Also remove all paths from `config.h` and put them into `lib/config_paths.h` - this is to make more obvious when someone is doing something probably not quite properly structured. Signed-off-by: David Lamparter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbd8589 - Browse repository at this point
Copy the full SHA bbd8589View commit details