Joachim Wiberg and Tobias Waldekranz
91148de095
confd: allow ipv6 address with global prefix in factory bridges
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-05 15:08:06 +02:00
Joachim Wiberg and Tobias Waldekranz
fe036049b8
Fix #473 : bridges never get IPv6 autoconf enabled
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-05 15:08:06 +02:00
Mattias Walström
d2d1562c8c
sysrepo-cpp: Change to kernelkit-url
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
eebba3b3cb
doc: initial RESTCONF scripting examples
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
310563abda
confd: background factory reset to allow time to respond to RPC
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
37506bcdd9
configs: enable rousette for RESTCONF support
...
Sync after `make update-defconfig`:
- avahi selected by mdns-alias package (all)
- iptables and ca-certs selected by other packages (r2s)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Mattias Walström
23585486de
test: Add backend to run tests with restconf
...
Very simple tests work (hostname.py), more complex
tests (static_routing.py) failes due to the lack of
model prefix, for example. infix-ip:ipv4 instead of just
ipv4.
We need to fix this before you send your configuration, run
it through libyang for example and get the full model-name.
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
78153e62cf
nginx: forward /yang and /.well-known as well to restconf agent
...
We skip /telemetry/optics for now since we don't support any telementry atm.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
a37dd412e1
netbrowse: add /netbrowse route and RESTCONF mDNS xlate
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
f9bbb86d49
confd: configurable support for RESTCONF using infix-services
...
This enables access to /restconf on port 443 over HTTP/1.1 and HTTP/2
via rousette when enabled.
Also, slight refactor to allow including /restconf and /netbrowse as
optional locations in the main servier directive.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Mattias Walström
59eb73bf24
confd: minor, whitespace fixes
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-04 13:38:03 +02:00
Mattias Walström
44465b679f
Add C.UTF-8 locale
...
Required by rousette
2024-06-04 13:38:03 +02:00
Mattias Walström
4f3ae3b9a4
Add new package: Rousette - a RESTConf server
2024-06-04 13:38:03 +02:00
Joachim Wiberg and Tobias Waldekranz
3339fc5738
doc: update ChangeLog for upcoming v24.06 release
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
90b35affe2
Drop augeas from system completely
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
ff10f4ee2f
confd: drop augeas from build requirements and clean up
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
96cdc7c628
confd: simplify, drop augeas for direct hostname update
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
189ecd8fb0
confd: clean up internal user mgmg functions from augeas
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
23dd84a690
confd: simplify, drop augeas also for add/del user to/from wheel
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
b5eb566c35
confd: replace malfunctioning augeas for setting password and shell
...
With increased use of augeas to manage users, groups, and permissions,
we seem to have reached peak complexity. Because when re-running the
same test[1] over and over, somtimes the aug_save() function fails to
actually save the changes to /etc/shadow to disk!
We have already experienced weird behavior with augeas, see comment in
deleted code, and these latest problems became the last straw. We have
decided to replace it with standard C APIs.
As a spin-off, thanks to the requried refactoring, the check_shell()
function, used by the change_nacm() callback, could be replaced with a
call to set_shell() for both "is-admin" and "non-admin" cases. This
means we now also restore Bash privileges (and not just take them away)
when modifying nacm group memberships.
Fixes #468
[1]: test/case/ietf_system/user_admin.py
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
21ef50ebfb
test: new test, verify handling of non-admin users
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
47ee01be96
test: minor, whitespace cleanup
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
eea5f77be9
confd: refactor nacm user shell check
...
reuse shells array from sys_find_usable_shell(), used elsewhere.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
5f07fc9d9f
confd: check if user has administrator rights for shell selection
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
43d68289b9
confd: refactor, break out user-in-group check to separate function
...
No logical changes made.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
50e068ef10
confd: fix check for group membership
...
Checking if a user is an administratr we cannot rely solely on the
return value of sr_get_items() but also ensure at least one group
matches the search criteria.
Fixes #469
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Joachim Wiberg and Tobias Waldekranz
2218901dc7
confd: fix invalid module prefix to legacy motd setting
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-06-03 23:05:04 +02:00
Tobias Waldekranz and Joachim Wiberg
8eb67c1d13
test: Fixup permissions of generated files when using docker
...
Since containers managed by docker runs as root, files created in bind
mounted volumes will be owned by root:root. This is a problem for
files generated during test execution, as the calling user does not
have permission to remove them.
Therefore, add a wrapper entrypoint that hooks up an exit handler that
will fixup the permissions before exiting the container.
2024-05-24 19:10:10 +02:00
Joachim Wiberg
8fdd147d1e
.github: ignore any existing output/ directory
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-05-24 17:40:36 +02:00
Joachim Wiberg
f29ad88b16
.github: set up build env. for 'make test'
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-05-24 17:00:15 +02:00
Joachim Wiberg
3f36c4541d
.github: drop make from configure step and fix test
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-05-24 15:41:05 +02:00
Joachim Wiberg
9f8b27ae4a
.github: split build and test in separate jobs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-05-24 14:43:05 +02:00
Joachim Wiberg
b5af266953
.github: simplify build and regression testing
...
Now that Reggie builds all supported archs there is no point in keeping
two separate (and now very similar) workflows. So we've decided to lay
off Reggie and let Bob, who has seniority, take over Reggie's tasks.
This simplification also means that jobs will no longer be started on
push to branches, only pull requests. For half-baked branches a draft
pull request can be used to auto-start builds, if needed.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2024-05-24 13:23:16 +02:00
Mattias Walström and Tobias Waldekranz
0b3816473d
setup.sh: Document the origin of this script.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
b9a8d65e61
libsrx: Remove srx_require_module API
...
Not needed anymore since all YANG modules should be loaded at
build.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
b1a6606728
confd: Add sysrepo and netopeer as a dependency.
...
And remove not needed environment variable
2024-05-24 11:58:47 +02:00
Joachim Wiberg and Tobias Waldekranz
453afeb2d7
confd: simplify sysrepo datastore makedev permissions
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
c3128c4080
Update Changelog regarding updated YANG models
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
6e07f5b6f8
test: ipv4_autoconf: Increace possible delay when waiting for link local
...
No reason to be that narrow (10s) change to 30s
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
d47cc76ab5
libyang: Add upstream segfault patch
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
a4b1d37763
confd: Update SHM path
...
Do not use netopeer-created shm-path
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
c4d567f994
infamy: route: ospf: Adopt to changes done in 2c88e1bdf5
...
Now there is no guarantee that the control-plane-protocol array
exist in operational.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
05a46475ed
yanger: Change behavior to always genereate a valid YANG
...
Before we generated an invalid YANG model but it was
still accepted by libyang, but now, since the upgrade
it is not.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
2096d93282
ospf-status: Return {} if no status can be retreived (ospfd is disabled)
...
This helps yanger to generate a valid configuration.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
dfe0a507fc
confd: Always use model prefix for intentityrefs
...
This is a hardened requirement i latest libyang(/sysrepo)
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
05f063d81b
test: Refactor ipv4 address
...
More robust and less code duplication
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
fe06bea056
netopeer2: Add a custom PAM configuration file
...
The one installed with netopeer2 includes files that exist on ubuntu
but not in buildroot.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
4975a16446
FRR: Fix compatibility with newer libyang
...
only minor.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
8022bd31dc
Refactor gen-key to generate SSH accepted keys.
2024-05-24 11:58:47 +02:00
Mattias Walström and Tobias Waldekranz
58541177aa
libnetconf: Add support for passwd accounts
...
This was removed when the new version of ietf-netconf-server was
introduced with the new version of libnetconf.
2024-05-24 11:58:47 +02:00