mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-04 06:43:00 +02:00
Merge pull request #972 from kernelkit/update-buildroot
Update buildroot to new LTS base (2025.02)
This commit is contained in:
+1
-1
Submodule buildroot updated: 3592f7d3e1...06a983c964
@@ -6,9 +6,11 @@ All notable changes to the project are documented in this file.
|
||||
|
||||
[v25.03.0][UNRELEASED] -
|
||||
-------------------------
|
||||
**News:** this release is the first with the new Buildroot LTS (2025.02)
|
||||
|
||||
### Changes
|
||||
- Upgrade Linux kernel to 6.12.19 (LTS)
|
||||
- Upgrade Buildroot to 2025.02.0 (LTS)
|
||||
|
||||
### Fixes
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 9d9d33b873917ca5d0bdcc47a36d2fd385971ab0c045d1472fcadf95ee5bcf5b LICENCE
|
||||
sha256 f8725f39b9d9d45c8ad6fd2cfc3c1c834a80c32b4217a3d07dd8ed7fe4b6e352 faux-df1d569287bc45d8fd880287c00e3874c5627c19-br1.tar.gz
|
||||
sha256 b385d30b88cab31bf910436ceb1262947bf34a19ca85098c28510e639dc4b37d faux-df1d569287bc45d8fd880287c00e3874c5627c19-git4.tar.gz
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 9d9d33b873917ca5d0bdcc47a36d2fd385971ab0c045d1472fcadf95ee5bcf5b LICENCE
|
||||
sha256 b579d0028c8c88ddea27282f03c8c23fa9a758ad47918aeffb048456cf204375 klish-plugin-sysrepo-b693714a1ff5f8021651d7619556afb19945e5e6-br1.tar.gz
|
||||
sha256 598089ad964594bbbaf2b7d7214d8761c828174eef53b7cfb1cd98517f407d01 klish-plugin-sysrepo-b693714a1ff5f8021651d7619556afb19945e5e6-git4.tar.gz
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 9d9d33b873917ca5d0bdcc47a36d2fd385971ab0c045d1472fcadf95ee5bcf5b LICENCE
|
||||
sha256 0305355dd29dc276f7957d51e2406907e0c862dfd46f496c8a921df4f3d72a8d klish-019ebd2704e322b5d500f5687d526431e535eec8-br1.tar.gz
|
||||
sha256 79c9b16b227320fea358114738933ea25be33f8f263d3eec1f83fb603c0c0b22 klish-019ebd2704e322b5d500f5687d526431e535eec8-git4.tar.gz
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally calculated
|
||||
sha256 6b94f3abc1aabd0c72a7c7d92a77f79dda7c8a0cb3df839a97890b4116a2de2a COPYING
|
||||
sha256 6bd96a33f41f73d6ca524efa946b5e592227a5dd6dd21f193fadf4be3583552d nghttp2-asio-e877868abe06a83ed0a6ac6e245c07f6f20866b5-br1.tar.gz
|
||||
sha256 d971c538a31eae5714d2434d90f86794f267615e85e8d2bb0c383e83c300e1ce nghttp2-asio-e877868abe06a83ed0a6ac6e245c07f6f20866b5-git4.tar.gz
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 830a633630bf6e61f2b8d4ca00efdd9a173ef25cdd49d4a4364c293e088561df podman-4.5.0.tar.gz
|
||||
sha256 830a633630bf6e61f2b8d4ca00efdd9a173ef25cdd49d4a4364c293e088561df podman-4.5.0-go2.tar.gz
|
||||
sha256 62fb8a3a9621dc2388174caaabe9c2317b694bb9a1d46c98bcf5655b68f51be3 LICENSE
|
||||
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
From 7e93dca4dab6bdbb39fd7f7c0f436839a1eb626e Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Wed, 5 Jul 2023 22:38:56 +0200
|
||||
Subject: [PATCH 1/2] adduser: clarify adduser -D behavior and add -d for SSH
|
||||
key login
|
||||
Organization: Addiva Elektronik
|
||||
|
||||
Clarify that -D locks the account (!), then add -d to create an account
|
||||
for which password login is disabled (*) but the user can log in with
|
||||
SSH keys.
|
||||
|
||||
This also adjusts the long option --disabled-password, which was mapped
|
||||
to -D, probably mistakenly. With this change BusyBox adduser behaves
|
||||
the same as Debian's --disabled-login and --disabled-password.
|
||||
|
||||
Fixes #10981
|
||||
|
||||
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
---
|
||||
loginutils/adduser.c | 24 ++++++++++++++----------
|
||||
1 file changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/loginutils/adduser.c b/loginutils/adduser.c
|
||||
index d3c795afa..cf6a0264a 100644
|
||||
--- a/loginutils/adduser.c
|
||||
+++ b/loginutils/adduser.c
|
||||
@@ -62,7 +62,8 @@
|
||||
//usage: "\n -s SHELL Login shell"
|
||||
//usage: "\n -G GRP Group"
|
||||
//usage: "\n -S Create a system user"
|
||||
-//usage: "\n -D Don't assign a password"
|
||||
+//usage: "\n -D Don't assign a password (locked account)"
|
||||
+//usage: "\n -d Like -D but allow login using SSH keys"
|
||||
//usage: "\n -H Don't create home directory"
|
||||
//usage: "\n -u UID User id"
|
||||
//usage: "\n -k SKEL Skeleton directory (/etc/skel)"
|
||||
@@ -82,10 +83,11 @@
|
||||
#define OPT_SHELL (1 << 2)
|
||||
#define OPT_GID (1 << 3)
|
||||
#define OPT_DONT_SET_PASS (1 << 4)
|
||||
-#define OPT_SYSTEM_ACCOUNT (1 << 5)
|
||||
-#define OPT_DONT_MAKE_HOME (1 << 6)
|
||||
-#define OPT_UID (1 << 7)
|
||||
-#define OPT_SKEL (1 << 8)
|
||||
+#define OPT_DISABLED_PASS (1 << 5)
|
||||
+#define OPT_SYSTEM_ACCOUNT (1 << 6)
|
||||
+#define OPT_DONT_MAKE_HOME (1 << 7)
|
||||
+#define OPT_UID (1 << 8)
|
||||
+#define OPT_SKEL (1 << 9)
|
||||
|
||||
/* remix */
|
||||
/* recoded such that the uid may be passed in *p */
|
||||
@@ -168,7 +170,8 @@ static const char adduser_longopts[] ALIGN1 =
|
||||
"gecos\0" Required_argument "g"
|
||||
"shell\0" Required_argument "s"
|
||||
"ingroup\0" Required_argument "G"
|
||||
- "disabled-password\0" No_argument "D"
|
||||
+ "disabled-password\0" No_argument "d"
|
||||
+ "disabled-login\0" No_argument "D"
|
||||
"empty-password\0" No_argument "D"
|
||||
"system\0" No_argument "S"
|
||||
"no-create-home\0" No_argument "H"
|
||||
@@ -202,10 +205,10 @@ int adduser_main(int argc UNUSED_PARAM, char **argv)
|
||||
pw.pw_dir = NULL;
|
||||
|
||||
opts = getopt32long(argv, "^"
|
||||
- "h:g:s:G:DSHu:k:"
|
||||
+ "h:g:s:G:DdSHu:k:"
|
||||
/* at least one and at most two non-option args */
|
||||
/* disable interactive passwd for system accounts */
|
||||
- "\0" "-1:?2:SD",
|
||||
+ "\0" "-1:?2:SDd",
|
||||
adduser_longopts,
|
||||
&pw.pw_dir, &pw.pw_gecos, &pw.pw_shell,
|
||||
&usegroup, &uid, &skel
|
||||
@@ -263,7 +266,8 @@ int adduser_main(int argc UNUSED_PARAM, char **argv)
|
||||
* 8. unix date when login expires (i.e. when it may no longer be used)
|
||||
*/
|
||||
/* fields: 2 3 4 5 6 78 */
|
||||
- p = xasprintf("!:%u:0:99999:7:::", (unsigned)(time(NULL)) / (24*60*60));
|
||||
+ p = xasprintf("%c:%u:0:99999:7:::", (opts & OPT_DISABLED_PASS) ? '*' : '!',
|
||||
+ (unsigned)(time(NULL)) / (24*60*60));
|
||||
/* ignore errors: if file is missing we suppose admin doesn't want it */
|
||||
update_passwd(bb_path_shadow_file, pw.pw_name, p, NULL);
|
||||
if (ENABLE_FEATURE_CLEAN_UP)
|
||||
@@ -305,7 +309,7 @@ int adduser_main(int argc UNUSED_PARAM, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
- if (!(opts & OPT_DONT_SET_PASS)) {
|
||||
+ if (!(opts & (OPT_DONT_SET_PASS | OPT_DISABLED_PASS))) {
|
||||
/* interactively set passwd */
|
||||
passwd_wrapper(pw.pw_name);
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From 2a1462d9f6a117cf1a5ae531d36143bd0a55d533 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Wed, 5 Jul 2023 23:48:14 +0200
|
||||
Subject: [PATCH 2/2] login: add support for shadow passwords
|
||||
Organization: Addiva Elektronik
|
||||
|
||||
login, on fallback from PAM, or when PAM support is not enabled, checks
|
||||
pw->pw_passwd for locked ("!") or passwordless ("*") accounts. However,
|
||||
on systems with shadow passwords the first character will always be "x".
|
||||
|
||||
This patch adds shadow password support from the passwd tool, letting
|
||||
the user end up in "Login incorrect" rather than the "login: bad salt"
|
||||
case, which could be used by an attacker to guess the state of accounts.
|
||||
|
||||
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
---
|
||||
loginutils/login.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/loginutils/login.c b/loginutils/login.c
|
||||
index b02be2176..0e7f20844 100644
|
||||
--- a/loginutils/login.c
|
||||
+++ b/loginutils/login.c
|
||||
@@ -345,6 +345,11 @@ int login_main(int argc UNUSED_PARAM, char **argv)
|
||||
#endif
|
||||
#if ENABLE_LOGIN_SESSION_AS_CHILD
|
||||
pid_t child_pid;
|
||||
+#endif
|
||||
+#if ENABLE_FEATURE_SHADOWPASSWDS
|
||||
+ /* Using _r function to avoid pulling in static buffers */
|
||||
+ struct spwd spw, *result = NULL;
|
||||
+ char buffer[256];
|
||||
#endif
|
||||
IF_FEATURE_UTMP(pid_t my_pid;)
|
||||
|
||||
@@ -493,6 +498,16 @@ int login_main(int argc UNUSED_PARAM, char **argv)
|
||||
goto fake_it;
|
||||
}
|
||||
|
||||
+#if ENABLE_FEATURE_SHADOWPASSWDS
|
||||
+ if (getspnam_r(pw->pw_name, &spw, buffer, sizeof(buffer), &result)
|
||||
+ || !result || strcmp(result->sp_namp, pw->pw_name)) {
|
||||
+ strcpy(username, "UNKNOWN");
|
||||
+ goto fake_it;
|
||||
+ } else {
|
||||
+ pw->pw_passwd = result->sp_pwdp;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (pw->pw_passwd[0] == '!' || pw->pw_passwd[0] == '*')
|
||||
goto auth_failed;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
commit 9ae2b2a466871d936ab79b15c95ba85cbc7d5cd6
|
||||
Author: Stefan Schlosser <sgs@grmmbl.org>
|
||||
Date: Fri Aug 23 10:52:17 2024 +0200
|
||||
|
||||
dnsmasq: add support for option 82
|
||||
|
||||
This patch adds support to insert Option 82 Relay Agent Information (see RFC3046)
|
||||
into relayed DHCP requests.
|
||||
|
||||
When relay has been turned on with --dhcp-relay, the suboptions circuit-id and remote-id
|
||||
can be configured using directives --dhcp-circuitid and --dhcp-remoteid with a maximum of
|
||||
4 bytes denoted in hex format:
|
||||
|
||||
dhcp-circuitid=set:enterprise,00:11:22:33
|
||||
dhcp-remoteid=set:enterprise,cc:dd:ee:ff
|
||||
|
||||
If circuit-id is not set, dnsmasq will use the interface index instead.
|
||||
|
||||
These options usually provide a way to map requests to --dhcp-host and --dhcp-range directives
|
||||
but dhcp-proxy function uses them already for similar purposes.
|
||||
|
||||
The existing option space will be used (no re-negotiation). If it doesn't fit to a packet a warning
|
||||
|
||||
"Not enough space to add relay agent information"
|
||||
|
||||
will be dropped.
|
||||
|
||||
Signed-off-by: Stefan Schlosser <sgs@grmmbl.org>
|
||||
|
||||
diff --git dnsmasq-2.90/src/dhcp.c dnsmasq-2.90/src/dhcp.c
|
||||
index b65facd..4c399eb 100644
|
||||
--- dnsmasq-2.90/src/dhcp.c
|
||||
+++ dnsmasq-2.90/src/dhcp.c
|
||||
@@ -1117,7 +1117,10 @@ static int relay_upstream4(int iface_index, struct dhcp_packet *mess, size_t sz)
|
||||
/* plug in our address */
|
||||
mess->giaddr.s_addr = relay->local.addr4.s_addr;
|
||||
}
|
||||
-
|
||||
+
|
||||
+ /* add relay agent information */
|
||||
+ add_relay_agent_info(relay, mess, sz);
|
||||
+
|
||||
to.sa.sa_family = AF_INET;
|
||||
to.in.sin_addr = relay->server.addr4;
|
||||
to.in.sin_port = htons(relay->port);
|
||||
diff --git dnsmasq-2.90/src/dnsmasq.h dnsmasq-2.90/src/dnsmasq.h
|
||||
index e455c3f..73cb94e 100644
|
||||
--- dnsmasq-2.90/src/dnsmasq.h
|
||||
+++ dnsmasq-2.90/src/dnsmasq.h
|
||||
@@ -1902,3 +1902,6 @@ int add_update_server(int flags,
|
||||
const char *interface,
|
||||
const char *domain,
|
||||
union all_addr *local_addr);
|
||||
+
|
||||
+
|
||||
+int add_relay_agent_info(struct dhcp_relay *relay, struct dhcp_packet *mess, size_t sz);
|
||||
diff --git dnsmasq-2.90/src/rfc2131.c dnsmasq-2.90/src/rfc2131.c
|
||||
index 68834ea..05a4faa 100644
|
||||
--- dnsmasq-2.90/src/rfc2131.c
|
||||
+++ dnsmasq-2.90/src/rfc2131.c
|
||||
@@ -2812,4 +2812,129 @@ static void apply_delay(u32 xid, time_t recvtime, struct dhcp_netid *netid)
|
||||
}
|
||||
}
|
||||
|
||||
+struct relay_info {
|
||||
+ struct {
|
||||
+ unsigned char *data;
|
||||
+ int len;
|
||||
+ } circuit;
|
||||
+ struct {
|
||||
+ unsigned char *data;
|
||||
+ int len;
|
||||
+ } remote;
|
||||
+};
|
||||
+
|
||||
+static inline int subopt_add(unsigned char *ptr, size_t size,
|
||||
+ int subopt, unsigned char *buf, int len)
|
||||
+{
|
||||
+ if ((len + 2) > size)
|
||||
+ {
|
||||
+ my_syslog(MS_DHCP | LOG_WARNING, "No space for relay sub option %d", subopt);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ *(ptr++) = subopt;
|
||||
+ *(ptr++) = len;
|
||||
+ memcpy(ptr, buf, len);
|
||||
+
|
||||
+ return (len + 2);
|
||||
+}
|
||||
+
|
||||
+static int option_add(struct dhcp_packet *mess, size_t sz,
|
||||
+ struct relay_info *info)
|
||||
+{
|
||||
+ unsigned char *start = &mess->options[0] + sizeof(u32);
|
||||
+ unsigned char *end = (unsigned char *)mess + sz;
|
||||
+ unsigned char *optend = NULL;
|
||||
+ unsigned char opt[64], *sub, *p;
|
||||
+ int size, len = 0;
|
||||
+ int ret = -1;
|
||||
+
|
||||
+ sub = &opt[2];
|
||||
+ size = sizeof(opt) - 2;
|
||||
+
|
||||
+ if (info->circuit.len > 0)
|
||||
+ len += subopt_add(sub+len, size-len,
|
||||
+ SUBOPT_CIRCUIT_ID,
|
||||
+ info->circuit.data,
|
||||
+ info->circuit.len);
|
||||
+
|
||||
+ if (info->remote.len > 0)
|
||||
+ len += subopt_add(sub+len, size-len,
|
||||
+ SUBOPT_REMOTE_ID,
|
||||
+ info->remote.data,
|
||||
+ info->remote.len);
|
||||
+
|
||||
+ if (len == 0)
|
||||
+ return 0; /* Nothing to add */
|
||||
+
|
||||
+ opt[0] = OPTION_AGENT_ID;
|
||||
+ opt[1] = len;
|
||||
+ len += 2;
|
||||
+
|
||||
+ /* find option end */
|
||||
+ optend = option_find1(start, end, OPTION_END, 1);
|
||||
+ if (!optend)
|
||||
+ return -1;
|
||||
+
|
||||
+ *optend = 0;
|
||||
+
|
||||
+ p = dhcp_skip_opts(start);
|
||||
+ if ((p + len + 1) >= end)
|
||||
+ {
|
||||
+ my_syslog(MS_DHCP | LOG_WARNING, "Not enough space to add relay agent information");
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(p, opt, len);
|
||||
+ optend = p + len;
|
||||
+
|
||||
+ ret = 0;
|
||||
+out:
|
||||
+ *optend = OPTION_END;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+int add_relay_agent_info(struct dhcp_relay *relay, struct dhcp_packet *mess, size_t sz)
|
||||
+{
|
||||
+ struct dhcp_vendor *vendor;
|
||||
+ struct relay_info info;
|
||||
+ int ifindex;
|
||||
+
|
||||
+ if (option_find(mess, sz, OPTION_AGENT_ID, 1))
|
||||
+ return 0; /* don't alter any existing relay agent info */
|
||||
+
|
||||
+ /* lookup circuit-id and remote-id */
|
||||
+ info.circuit.len = info.remote.len = 0;
|
||||
+
|
||||
+ for (vendor = daemon->dhcp_vendors; vendor; vendor = vendor->next)
|
||||
+ {
|
||||
+ if (vendor->match_type == MATCH_CIRCUIT)
|
||||
+ {
|
||||
+ if (info.circuit.len == 0)
|
||||
+ {
|
||||
+ info.circuit.data = vendor->data;
|
||||
+ info.circuit.len = vendor->len;
|
||||
+ }
|
||||
+ }
|
||||
+ else if (vendor->match_type == MATCH_REMOTE)
|
||||
+ {
|
||||
+ if (info.remote.len == 0)
|
||||
+ {
|
||||
+ info.remote.data = vendor->data;
|
||||
+ info.remote.len = vendor->len;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* use interface index as circuit-id if not specified */
|
||||
+ if (info.circuit.len == 0)
|
||||
+ {
|
||||
+ ifindex = htonl(relay->iface_index);
|
||||
+ info.circuit.data = &ifindex;
|
||||
+ info.circuit.len = sizeof(ifindex);
|
||||
+ }
|
||||
+
|
||||
+ return option_add(mess, sz, &info);
|
||||
+}
|
||||
+
|
||||
#endif /* HAVE_DHCP */
|
||||
@@ -1,29 +0,0 @@
|
||||
From 9b2f6b94132d14b1d2d2a7d3b65bac4f3a056aac Mon Sep 17 00:00:00 2001
|
||||
From: Mohan Prasad J <mohan.prasad@microchip.com>
|
||||
Date: Mon, 4 Nov 2024 04:04:07 +0530
|
||||
Subject: netlink: settings: Fix for wrong auto-negotiation state
|
||||
|
||||
Auto-negotiation state in json format showed the
|
||||
opposite state due to wrong comparison.
|
||||
Fix for returning the correct auto-neg state implemented.
|
||||
|
||||
Signed-off-by: Mohan Prasad J <mohan.prasad@microchip.com>
|
||||
---
|
||||
netlink/settings.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/netlink/settings.c b/netlink/settings.c
|
||||
index dbfb520..b9b3ba9 100644
|
||||
--- a/netlink/settings.c
|
||||
+++ b/netlink/settings.c
|
||||
@@ -546,7 +546,7 @@ int linkmodes_reply_cb(const struct nlmsghdr *nlhdr, void *data)
|
||||
(autoneg == AUTONEG_DISABLE) ? "off" : "on");
|
||||
else
|
||||
print_bool(PRINT_JSON, "auto-negotiation", NULL,
|
||||
- autoneg == AUTONEG_DISABLE);
|
||||
+ autoneg != AUTONEG_DISABLE);
|
||||
}
|
||||
if (tb[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG]) {
|
||||
uint8_t val;
|
||||
--
|
||||
cgit 1.2.3-korg
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/lib/yang.c b/lib/yang.c
|
||||
index ef1cf898a..c780b8e8c 100644
|
||||
--- a/lib/yang.c
|
||||
+++ b/lib/yang.c
|
||||
@@ -647,7 +647,7 @@ struct yang_data *yang_data_list_find(const struct list *list,
|
||||
}
|
||||
|
||||
/* Make libyang log its errors using FRR logging infrastructure. */
|
||||
-static void ly_log_cb(LY_LOG_LEVEL level, const char *msg, const char *path)
|
||||
+static void ly_log_cb(LY_LOG_LEVEL level, const char *msg, const char *path, uint64_t line)
|
||||
{
|
||||
int priority = LOG_ERR;
|
||||
|
||||
@@ -742,7 +742,7 @@ struct ly_ctx *yang_ctx_new_setup(bool embedded_modules, bool explicit_compile)
|
||||
void yang_init(bool embedded_modules, bool defer_compile)
|
||||
{
|
||||
/* Initialize libyang global parameters that affect all containers. */
|
||||
- ly_set_log_clb(ly_log_cb, 1);
|
||||
+ ly_set_log_clb(ly_log_cb);
|
||||
ly_log_options(LY_LOLOG | LY_LOSTORE);
|
||||
|
||||
/* Initialize libyang container for native models. */
|
||||
@@ -0,0 +1,67 @@
|
||||
diff -urN frr-9.1.3.orig/lib/yang.c frr-9.1.3/lib/yang.c
|
||||
--- frr-9.1.3.orig/lib/yang.c 2024-12-27 22:06:42.000000000 +0100
|
||||
+++ frr-9.1.3/lib/yang.c 2025-03-04 12:23:06.723640114 +0100
|
||||
@@ -10,11 +10,23 @@
|
||||
#include "lib_errors.h"
|
||||
#include "yang.h"
|
||||
#include "yang_translator.h"
|
||||
+#include <libyang/version.h>
|
||||
#include "northbound.h"
|
||||
|
||||
DEFINE_MTYPE_STATIC(LIB, YANG_MODULE, "YANG module");
|
||||
DEFINE_MTYPE_STATIC(LIB, YANG_DATA, "YANG data structure");
|
||||
|
||||
+/* Safe to remove after libyang 2.2.8 */
|
||||
+#if (LY_VERSION_MAJOR < 3)
|
||||
+#define yang_lyd_find_xpath3(ctx_node, tree, xpath, format, prefix_data, vars, \
|
||||
+ set) \
|
||||
+ lyd_find_xpath3(ctx_node, tree, xpath, vars, set)
|
||||
+#else
|
||||
+#define yang_lyd_find_xpath3(ctx_node, tree, xpath, format, prefix_data, vars, \
|
||||
+ set) \
|
||||
+ lyd_find_xpath3(ctx_node, tree, xpath, LY_VALUE_JSON, NULL, vars, set)
|
||||
+#endif
|
||||
+
|
||||
/* libyang container. */
|
||||
struct ly_ctx *ly_native_ctx;
|
||||
|
||||
@@ -657,7 +669,12 @@
|
||||
}
|
||||
|
||||
/* Make libyang log its errors using FRR logging infrastructure. */
|
||||
-static void ly_log_cb(LY_LOG_LEVEL level, const char *msg, const char *path)
|
||||
+static void ly_zlog_cb(LY_LOG_LEVEL level, const char *msg, const char *data_path
|
||||
+#if !(LY_VERSION_MAJOR < 3)
|
||||
+ ,
|
||||
+ const char *schema_path, uint64_t line
|
||||
+#endif
|
||||
+)
|
||||
{
|
||||
int priority = LOG_ERR;
|
||||
|
||||
@@ -674,8 +691,14 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if (path)
|
||||
- zlog(priority, "libyang: %s (%s)", msg, path);
|
||||
+ if (data_path)
|
||||
+ zlog(priority, "libyang: %s (%s)", msg, data_path);
|
||||
+#if !(LY_VERSION_MAJOR < 3)
|
||||
+ else if (schema_path)
|
||||
+ zlog(priority, "libyang %s (%s)\n", msg, schema_path);
|
||||
+ else if (line)
|
||||
+ zlog(priority, "libyang %s (line %" PRIu64 ")\n", msg, line);
|
||||
+#endif
|
||||
else
|
||||
zlog(priority, "libyang: %s", msg);
|
||||
}
|
||||
@@ -752,7 +775,7 @@
|
||||
void yang_init(bool embedded_modules, bool defer_compile)
|
||||
{
|
||||
/* Initialize libyang global parameters that affect all containers. */
|
||||
- ly_set_log_clb(ly_log_cb, 1);
|
||||
+ ly_set_log_clb(ly_zlog_cb);
|
||||
ly_log_options(LY_LOLOG | LY_LOSTORE);
|
||||
|
||||
/* Initialize libyang container for native models. */
|
||||
@@ -0,0 +1,30 @@
|
||||
From 5f37809521acda432d77aa4028b74c5713c2d988 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 20 Nov 2024 15:53:21 +0100
|
||||
Subject: [PATCH 2/2] staticd: Re-enable split config support
|
||||
Organization: Addiva Elektronik
|
||||
|
||||
Because we can.
|
||||
|
||||
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
---
|
||||
staticd/static_main.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/staticd/static_main.c b/staticd/static_main.c
|
||||
index 165fb4d65..59e924c83 100644
|
||||
--- a/staticd/static_main.c
|
||||
+++ b/staticd/static_main.c
|
||||
@@ -128,8 +128,7 @@ FRR_DAEMON_INFO(staticd, STATIC, .vty_port = STATIC_VTY_PORT,
|
||||
|
||||
.privs = &static_privs, .yang_modules = staticd_yang_modules,
|
||||
.n_yang_modules = array_size(staticd_yang_modules),
|
||||
-
|
||||
- .flags = FRR_NO_SPLIT_CONFIG);
|
||||
+ );
|
||||
|
||||
int main(int argc, char **argv, char **envp)
|
||||
{
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
--- a/agent/snmpd.c 2023-11-10 08:51:59.539942616 +0100
|
||||
+++ b/agent/snmpd.c 2023-11-10 08:56:27.719112830 +0100
|
||||
diff -urN netsnmp-5.9.3.orig/agent/snmpd.c netsnmp-5.9.3/agent/snmpd.c
|
||||
--- netsnmp-5.9.3.orig/agent/snmpd.c 2025-03-04 18:09:48.420162455 +0100
|
||||
+++ netsnmp-5.9.3/agent/snmpd.c 2025-03-04 18:13:48.149281606 +0100
|
||||
@@ -123,7 +123,7 @@
|
||||
# define PATH_MAX 255
|
||||
# endif
|
||||
#endif
|
||||
-
|
||||
+#include <sys/stat.h>
|
||||
#include <net-snmp/net-snmp-includes.h>
|
||||
#include <net-snmp/agent/net-snmp-agent-includes.h>
|
||||
#include "agent_global_vars.h"
|
||||
@@ -179,6 +179,7 @@
|
||||
#define TIMETICK 500000L
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 1aed761c6e4148d2800b73500df769dfee4fea6e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= <lazzer@gmail.com>
|
||||
Date: Wed, 5 Mar 2025 08:38:22 +0100
|
||||
Subject: [PATCH] Remove pip-tools as a requirement
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Organization: Wires
|
||||
|
||||
It is not used.
|
||||
|
||||
Signed-off-by: Mattias Walström <lazzer@gmail.com>
|
||||
---
|
||||
pyproject.toml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 5b4eb3e..66b735b 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -1,5 +1,5 @@
|
||||
[build-system]
|
||||
-requires = ["setuptools", "wheel", "pip-tools"]
|
||||
+requires = ["setuptools", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
--
|
||||
2.43.0
|
||||
|
||||
+13
-16
@@ -17,11 +17,11 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
src/main.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 44 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 70bb7b5..cfc8607 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
diff -urN rauc-1.13.orig/src/main.c rauc-1.13/src/main.c
|
||||
--- rauc-1.13.orig/src/main.c 2025-03-04 14:55:59.671534612 +0100
|
||||
+++ rauc-1.13/src/main.c 2025-03-04 14:57:13.022772424 +0100
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -29,7 +29,7 @@ index 70bb7b5..cfc8607 100644
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -1961,6 +1962,38 @@ static gboolean unknown_start(int argc, char **argv)
|
||||
@@ -2460,6 +2461,38 @@
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -68,25 +68,25 @@ index 70bb7b5..cfc8607 100644
|
||||
typedef enum {
|
||||
UNKNOWN = 0,
|
||||
INSTALL,
|
||||
@@ -2142,7 +2175,7 @@ static void create_option_groups(void)
|
||||
@@ -2676,7 +2709,7 @@
|
||||
|
||||
static void cmdline_handler(int argc, char **argv)
|
||||
{
|
||||
- gboolean help = FALSE, debug = FALSE, version = FALSE;
|
||||
+ gboolean help = FALSE, debug = FALSE, use_syslog = FALSE, version = FALSE;
|
||||
gchar *confpath = NULL, *keyring = NULL, **intermediate = NULL, *mount = NULL;
|
||||
g_autofree gchar *confpath = NULL, *keyring = NULL, *mount = NULL;
|
||||
char *cmdarg = NULL;
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
@@ -2155,6 +2188,7 @@ static void cmdline_handler(int argc, char **argv)
|
||||
{"intermediate", '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &intermediate, "intermediate CA file name", "PEMFILE"},
|
||||
@@ -2690,6 +2723,7 @@
|
||||
{"intermediate", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_FILENAME_ARRAY, &intermediate, "intermediate CA file or PKCS#11 URL", "PEMFILE|PKCS11-URL"},
|
||||
{"mount", '\0', 0, G_OPTION_ARG_FILENAME, &mount, "mount prefix", "PATH"},
|
||||
{"debug", 'd', 0, G_OPTION_ARG_NONE, &debug, "enable debug output", NULL},
|
||||
+ {"syslog", 's', 0, G_OPTION_ARG_NONE, &use_syslog, "use syslog instead of stdout", NULL},
|
||||
{"version", '\0', 0, G_OPTION_ARG_NONE, &version, "display version", NULL},
|
||||
{"help", 'h', 0, G_OPTION_ARG_NONE, &help, NULL, NULL},
|
||||
{"help", 'h', 0, G_OPTION_ARG_NONE, &help, "display help and exit", NULL},
|
||||
{0}
|
||||
@@ -2269,6 +2303,15 @@ static void cmdline_handler(int argc, char **argv)
|
||||
g_message("Debug log domains: '%s'", domains);
|
||||
@@ -2816,6 +2850,15 @@
|
||||
);
|
||||
}
|
||||
|
||||
+ if (use_syslog) {
|
||||
@@ -101,6 +101,3 @@ index 70bb7b5..cfc8607 100644
|
||||
/* get first parameter without dashes */
|
||||
for (gint i = 1; i <= argc; i++) {
|
||||
if (argv[i] && !g_str_has_prefix(argv[i], "-")) {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 6d1d38458c911b281fa7da59ce01cec590bc1c64 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Thu, 23 Nov 2023 17:16:16 +0100
|
||||
Subject: [PATCH 1/2] src/bundle: enable tftp protocol
|
||||
Organization: Addiva Elektronik
|
||||
|
||||
Despite its age, TFTP still reigns strong in some sectors. Enable it
|
||||
for KernelKit//Infix.
|
||||
|
||||
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
---
|
||||
src/bundle.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/bundle.c b/src/bundle.c
|
||||
index 05d4e72..b70e191 100644
|
||||
--- a/src/bundle.c
|
||||
+++ b/src/bundle.c
|
||||
@@ -1322,6 +1322,7 @@ static gboolean is_remote_scheme(const gchar *scheme)
|
||||
{
|
||||
return (g_strcmp0(scheme, "http") == 0) ||
|
||||
(g_strcmp0(scheme, "https") == 0) ||
|
||||
+ (g_strcmp0(scheme, "tftp") == 0) ||
|
||||
(g_strcmp0(scheme, "sftp") == 0) ||
|
||||
(g_strcmp0(scheme, "ftp") == 0);
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
Reference in New Issue
Block a user