Commit Graph

2135 Commits

Author SHA1 Message Date
Konstantin Demin
467b7c0dc6 uhttpd: bump PKG_RELEASE
improves ec62e87c0c "uhttpd: adjust with glibc and libcrypt-compat"

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19404
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 18:54:05 +02:00
Konstantin Demin
d03f65a8f2 ppp: bump PKG_RELEASE
improves ea6bcebc41 "ppp: adjust with glibc and libcrypt-compat"

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19404
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 18:54:05 +02:00
Konstantin Demin
c4064c55bd dropbear: bump PKG_RELEASE
improves eecc53cbe5 "dropbear: adjust with glibc and libcrypt-compat"

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19404
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 18:54:05 +02:00
Hauke Mehrtens
efb4200ba5 uhttpd: update to Git HEAD (2025-07-06)
b3e3c05 client: don't send stray EOF chunk on connection timeout
fad0d05 proc: inhibit chunked transfer encoding on existing TEs or known length
3d6f01b file: prevent writes beyond end of uh_buf on enumerating directories
c7294e7 client: reject requests with multiple content-lengths and/or TEs
7e64e8b client: Allow sending content in DONE state

uhttpd commit 3d6f01b fixes: CVE-2025-32108

Link: https://github.com/openwrt/openwrt/pull/19290
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-15 22:06:10 +02:00
Konstantin Demin
ec62e87c0c uhttpd: adjust with glibc and libcrypt-compat
glibc 2.39 has removed libcrypt completely.
solution: link against libxcrypt built with glibc compatibility.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19293
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-12 23:38:19 +02:00
Konstantin Demin
ea6bcebc41 ppp: adjust with glibc and libcrypt-compat
glibc 2.39 has removed libcrypt completely.
solution: link against libxcrypt built with glibc compatibility.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19293
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-12 23:38:19 +02:00
Konstantin Demin
eecc53cbe5 dropbear: adjust with glibc and libcrypt-compat
glibc 2.39 has removed libcrypt completely.
solution: link against libxcrypt built with glibc compatibility.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19293
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-12 23:38:19 +02:00
Konstantin Demin
5e0fbca9b9 dropbear: disable RSA-SHA1 by default
Upstream has disabled SHA-1 algorithms by default since version 2025.87.
SHA-1 has known weakness and most SSH implementations support alternatives.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
2025-07-11 11:23:50 +02:00
Konstantin Demin
3dc05213e0 dropbear: simplify rebuild on config changes
It's hard or even impossible to track affected sources
so it's safe to remove all built objects (if any).

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
2025-07-11 11:23:50 +02:00
Konstantin Demin
d8ff2d8cba dropbear: refactor configuration
This allows to fine-tune dropbear build options.

This change is heavily based on similar work done by Marius Dinu earlier
so I'd like to say many thanks to original author.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
2025-07-11 11:23:50 +02:00
Konstantin Demin
bbe4d6ddb2 dropbear: bump to 2025.88
- update dropbear to latest stable 2025.88;
  for the changes see https://matt.ucc.asn.au/dropbear/CHANGES
- rewrite 100-pubkey_path.patch
- refresh remaining patches

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
2025-07-11 11:23:49 +02:00
Felix Fietkau
bcf51747a2 unetd: update to Git HEAD (2025-07-05)
790b41b6b987 pex: indicate refused update requests
8b100a9e311a host: add support for defining per-host metadata

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-10 10:48:19 +02:00
Felix Fietkau
db763342af hostapd: ignore comment lines for hash comparison
Fixes spurious unnecessary bss restarts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-09 12:14:30 +02:00
Felix Fietkau
a7ab0d5bff hostapd: enable CONFIG_OCV when 802.11be support is enabled
The 802.11be supoort code unconditionally calls ocv related functions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-07 17:16:23 +02:00
Felix Fietkau
bb279e1a69 hostapd: revert a broken upstream patch that was breaking multi-band operation
nl80211 events were propagated to the wrong interfaces

Fixes: 2ac791e87d ("hostapd: update to version 2025-06-27")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-06 18:47:41 +02:00
Agustin Lorenzo
2ac791e87d hostapd: update to version 2025-06-27
Manually refreshed:

140-tests-Makefile-make-run-tests-with-CONFIG_TLS.patch
601-ucode_support.patch

Fixed in upstream:

804-hostapd-revert-ACS-Validate-6-GHz-AP-criteria-before.patch [1]

Automatically rebased all other patches.

[1] https://w1.fi/cgit/hostap/commit/?id=0b60826a66885bffa2fd709ed5e48cd5fe241b6b

Signed-off-by: Agustin Lorenzo <agustin.lorenzo@thinco.es>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-05 14:41:57 +02:00
Felix Fietkau
39580b1d7b hostapd: disable 802.11be support in the mini variant
802.11be capable platforms are big enough to not need the mini variant,
and removing it here saves space for other other devices.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-05 14:41:00 +02:00
Felix Fietkau
6e1d4afa86 hostapd: fix potential double free in ubus code
Ensure that the object name is never freed twice

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-05 14:41:00 +02:00
Felix Fietkau
f940f7c1ac hostapd: preserve vif radio mask for extra bss interfaces
Fixes status information and scanning on extra BSS interfaces when operating
on multi-radio devices.

Reported-by: Chad Monroe <chad.monroe@adtran.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-23 11:23:12 +02:00
Felix Fietkau
91a50b27bc unetmsg: make remote connection TCP timeout more aggressive
It is meant for reliable network connections, so requests should fail
early if a node goes down.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-21 17:12:46 +02:00
Felix Fietkau
9850052190 hostapd: fix generating own neighbor report for dynamically added/changed interfaces
hostapd_neighbor_set_own_report is normally called from interface setup only.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-20 14:57:35 +02:00
Felix Fietkau
3ebf110711 hostapd: fix dealing with mac address changes for the primary BSS
Ensure that hapd->own_addr is set properly, since hostapd_setup_bss
only handles it for secondary BSS interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-20 14:57:35 +02:00
Rui Salvaterra
cc80fbb0aa ppp: fix building with GCC 15.1
Backport two patches in order to fix it.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18600
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-08 12:20:15 +02:00
Felix Fietkau
ed26185bf6 hostapd: tweak ACS retry behavior
When running ACS on multi-radio devices, ACS on one band can block another.
Increase the number of retries and prevent bouncing interfaces between AP
and STA mode during attempts.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-31 16:22:48 +02:00
Felix Fietkau
e29669dae1 unetmsg: set TCP timeout for outgoing connections
Avoid running into long timeouts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-31 16:22:39 +02:00
Florian Eckert
ae198c6ba0 dnsmasq: fix start if dhcp-range is not correct
If the uci 'dhcp' configuration for the dhcp leases is incorrect then
the call to 'ipclac' fails. However, the problem is that the dnsmasq
configuration option 'dhcp-range' is still written for this uci section
even though the information generated by ipcalc is incorrect or not set.

Due to the incorrectly generated configuration for dnsmasq, the service
cannot start.

To prevent an incorrect configuration from being written to the configuration,
a check is now made beforehand to ensure that the required variables are
present and valid. If the configuration is incorrect, a message is emitted
to the log that this configuration section is incorrect and this uci
configuration section is omitted.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/18641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-29 23:54:18 +02:00
Felix Fietkau
0937098512 umdns: update to Git HEAD (2025-05-29)
263a0cb87b50 udebug: use proper libudebug API
ca9b8765aea3 dns: rework packet API
ea40cfdf7eb0 cache: send multiple queries in a single packet
d62813727e53 cache: add explicit lookup for host addresses
0ce73d80dc0c dns: add cache/queue for outgoing queries
083be33749b1 cache: improve service refresh behavior
55d0c1bc1ac5 interface: ask for unicast responses by default
ce508467a533 service: add support for setting service specific hostname
632953a1582d interface: when interface properties change, reinitialise
695ac3708aa0 ubus: fix ubus announcements txt fields
cecbe1c0caae Make mdns responder case-insensitive.
2b28094d31ca dns: add support for reverse address mapping queries

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-29 13:32:16 +02:00
Felix Fietkau
3174182366 umdns: fix udebug with jail
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-29 13:32:06 +02:00
Agustin Lorenzo
93e944648b hostapd: revert "ACS: Validate 6 GHz AP criteria before ACS"
By OpenWrt's design, hostapd runs in a single global instance for all radios supported by the device, rather than one instance per radio like hostapd usually does.

Signed-off-by: Agustin Lorenzo <agustin.lorenzo@thinco.es>
Link: https://github.com/openwrt/openwrt/pull/18426
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-29 11:34:48 +02:00
Agustin Lorenzo
70505e0e51 hostapd: update to version 2025-05-23
Manually refreshed:

301-mesh-noscan.patch
601-ucode_support.patch
770-radius_server.patch

Automatically rebased all other patches.

Signed-off-by: Agustin Lorenzo <agustin.lorenzo@thinco.es>
Link: https://github.com/openwrt/openwrt/pull/18426
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-29 11:34:48 +02:00
Felix Fietkau
82cc7f56e3 unetmsg: fix host name in response messages
Avoid using loop iterator variable when generating the closure

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-20 18:38:39 +02:00
Felix Fietkau
12f4814c41 unetmsg: add support for sending requests/messages to specific hosts
Makes it possible to implement unetmsg APIs for host control

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-20 18:38:39 +02:00
Mieczyslaw Nalewaj
a238170e57 treewide: strip trailing whitespace
Strip trailing whitespace in all code:
find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//'

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18626
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-20 00:47:37 +02:00
Felix Fietkau
f60bbfa23f unetmsg: list remotely published ids via ubus call
Before this change, only locally published ids were listed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-16 13:01:41 +02:00
Felix Fietkau
a242cfb4e1 unetmsg: return the request data when issuing async requests
Makes it possible to track and cancel requests

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-16 13:01:41 +02:00
Felix Fietkau
7f1b9a4209 unetd: cli: add hook calls for invite/join status changes
Allows different frontends to interact without parsing human readable
messages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-14 11:23:09 +02:00
Felix Fietkau
6e60ce007b unetmsg: clean up remote data when replacing the incoming connection
Ensure that pub/sub state is in sync

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-12 12:47:20 +02:00
Felix Fietkau
9bdbe24176 unetmsg: ping on tx channel after new incoming connection
Ensure that stale connections are timed out faster

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-12 12:47:20 +02:00
Felix Fietkau
929702fdc5 unetmsg: reconnect on loss of tx connection
Avoids half-connected broken state

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-12 12:47:20 +02:00
Gustavo Bertoli
ba6aacd2b8 hostapd: Enable DPPv2 support for OpenSSL and mbedtls
Enable Device Provisioning Protocol (DPPv2) in hostapd
for the "full" build-variants.

DPPv2 currently does not compile with WolfSSL due to
missing PKCS7 and certificate support.

Link: https://github.com/openwrt/openwrt/pull/18485

Signed-off-by: Gustavo Bertoli <gubertoli@gmail.com>
2025-05-10 21:42:38 +02:00
Felix Fietkau
41728acc77 unetmsg: fix reconnecting outgoing socket
Due to a typo, the rx channel was deleted after disconnect instead of tx.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-09 10:12:03 +02:00
Felix Fietkau
06f44f69b6 unetmsg: add subscriber update callback to notify about publish events
When services start publishing on a topic, this can be used to allow
subscribers to query them.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-05 13:57:08 +02:00
Felix Fietkau
6fcaf3d589 unetmsg: fix issuing requests without previously subscribing
Perform ACL check if not subscribed. Helps with one-shot requests.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-05 13:57:08 +02:00
Robert Marko
9acd6e5e98 ead: fix compilation with GCC14
Trying to compile EAD with now default GCC14 will fail due to now erroring
out on implicit int type as well as implicit function declarations.

Due to this, the packaged configure script will fail on the simple compiler
test as the generated test uses main loop with an implicit int type.

So, instead of patching multiple test cases in the shipped configure script
for tinysrp lets run autoreconf on it so its regenerated.

We also need to pass -Wno-error=implicit-function-declaration as there are
multiple instances of tinysrp code relying on implicit function declarations.

Link: https://github.com/openwrt/openwrt/pull/18645
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-30 15:25:53 +02:00
Felix Fietkau
1b7c63beaf unetd: cli: allow skipping pretty printing of status data
Makes it more useful for services built around the CLI API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-04-30 11:04:14 +02:00
Rudy Andram
b0d43be2f3 dnsmasq: bump release to 2.91
updated 200-ubus_dns.patch
all remaining patches not required

Changelog for version 2.91 - https://thekelleys.org.uk/dnsmasq/CHANGELOG

version 2.91
	Fix spurious "resource limit exceeded messages". Thanks to
	Dominik Derigs for the bug report.

	Fix out-of-bounds heap read in order_qsort().
	We only need to order two server records on the ->serial field.
	Literal address records are smaller and don't have
	this field and don't need to be ordered on it.
	To actually provoke this bug seems to need the same server-literal
	to be repeated twice, e.g., --address=/a/1.1.1.1 --address-/a/1.1.1.1
	which is clearly rare in the wild, but if it did exist it could
	provoke a SIGSEGV. Thanks to Daniel Rhea for fuzzing this one.

	Fix buffer overflow when configured lease-change script name
	is too long.
	Thanks to Daniel Rhea for finding this one.

	Improve behaviour in the face of non-responsive upstream TCP DNS
	servers. Without shorter timeouts, clients are blocked for too long
	and fail with their own timeouts.

	Set --fast-dns-retries by default when doing DNSSEC. A single
	downstream query can trigger many upstream queries. On an
	unreliable network, there may not be enough downstream retries
	to ensure that all these queries complete.

	Improve behaviour in the face of truncated answers to queries
	for DNSSEC records. Getting these answers by TCP doesn't now
	involve a faked truncated answer to the downstream client to
	force it to move to TCP. This improves performance and robustness
	in the face of broken clients which can't fall back to TCP.

	No longer remove data from truncated upstream answers. If an
	upstream replies with a truncated answer, but the answer has some
	RRs included, return those RRs, rather than returning and
	empty answer.

	Fix handling of EDNS0 UDP packet sizes.
	When talking upstream we always add a pseudo header, and set the
        UDP packet size to --edns-packet-max. Answering queries from
	downstream, we get the answer (either from upstream or local
	data) If local data won't fit the advertised size (or 512 if
	there's not an EDNS0 header) return truncated. If upstream
        returns truncated, do likewise. If upstream is OK, but the
	answer is too big for downstream, truncate the answer.

	Modify the behaviour of --synth-domain for IPv6.
	When deriving a domain name from an IPv6 address, an address
	such as 1234:: would become 1234--.example.com, which is
	not legal in IDNA2008. Stop using the :: compression method,
	so 1234:: becomes
	1234-0000-0000-0000-0000-0000-0000-0000.example.com

	Fix broken dhcp-relay on *BSD. Thanks to Harold for finding
	this problem.

	Add --dhcp-option-pxe config. This acts almost exactly like
	--dhcp-option except that the defined option is only sent when
	replying to PXE clients. More importantly, these options are sent
	in reply PXE clients when dnsmasq in acting in PXE proxy mode. In
	PXE proxy mode, the set of options sent is defined by the PXE standard
	and the normal set of options is not sent. This config allows arbitrary
	options in PXE-proxy replies. A typical use-case is to send option
	175 to iPXE. Thanks to Jason Berry for finding the requirement for
	this.

	Support PXE proxy-DHCP and DHCP-relay at the same time.
        When using PXE proxy-DHCP, dnsmasq supplies PXE information to
        the client, which also talks to another "normal" DHCP server
        for address allocation and similar. The normal DHCP server may
        be on the local network, but it may also be remote, and accessed via
        a DHCP relay. This change allows dnsmasq to act as both a
        PXE proxy-DHCP server AND a DHCP relay for the same network.

	Fix erroneous "DNSSEC validated" state with non-DNSSEC
	upstream servers.  Thanks to Dominik Derigs for the bug report.

	Handle queries with EDNS client subnet fields better. If dnsmasq
	is configured to add an EDNS client subnet to a query, it is careful
	to suppress use of the cache, since a cached answer may not be valid
	for a query with a different client subnet. Extend this behaviour
	to queries which arrive a dnsmasq already carrying an EDNS client
	subnet.

	Handle DS queries to auth zones. When dnsmasq is configured to
	act as an authoritative server and has an authoritative zone
	configured, and receives a query for that zone _as_forwarder_
	it answers the query directly rather than forwarding it. This
	doesn't affect the answer, but it saves dnsmasq forwarding the
	query to the recursor upstream, which then bounces it back to dnsmasq
	in auth mode. The exception should be when the query is for the root
	of zone, for a DS RR. The answer to that has to come from the parent,
	via the recursor, and will typically be a proof-of-non-existence
	since dnsmasq doesn't support signed zones. This patch suppresses
	local answers and forces forwarding to the upstream recursor for such
	queries. It stops breakage when a DNSSEC validating client makes
	queries to dnsmasq acting as forwarder for a zone for which it is
	authoritative.

	Implement "DNS-0x20 encoding", for extra protection against
	reply-spoof attacks. Since DNS queries are case-insensitive,
	it's possible to randomly flip the case of letters in a query
	and still get the correct answer back.
	This adds an extra dimension for a cache-poisoning attacker
	to guess when sending replies in-the-blind since it's expected
	that the legitimate answer will have the same  pattern of upper
	and lower case as the query, so any replies which don't can be
	ignored as malicious. The amount of extra entropy clearly depends
	on the number of a-z and A-Z characters in the query, and this
	implementation puts a hard limit of 32 bits to make resource
	allocation easy. This about doubles entropy over the standard
	random ID and random port combination. This technique can interact
	badly with rare broken DNS servers which don't preserve the case
	of the query in their reply. The first time a reply is returned
	which matches the query in all respects except case, a warning
	will be logged. In this release, 0x020-encoding is default-off
	and must be explicitly enabled with --do-0x20-encoding. In future
	releases it may default on. You can avoid a future release
	changing the behaviour of an installation with --no-x20-encode.

	Fix a long-standing problem when two queries which are identical
	in every repect _except_ case, get combined by dnsmasq. If
	dnsmasq gets eg, two queries for example.com and Example.com
	in quick succession it will get the answer for example.com from
	upstream and send that answer to both requestors. This means that
	the query for Example.com will get an answer for example.com, and
	in the modern DNS, that answer may not be accepted.

Signed-off-by: Rudy Andram <rmandrad@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18357
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-13 21:29:46 +02:00
Paul Donald
412c850f07 lldpd: enable hardware inventory information (TLV) management
lldpd can send several hardware inventory TLV fields. Extend the init
script to provide these when the existing flag 'lldpmed_no_inventory' is
disabled. Five new methods provide default values for some of them,
taken from /etc/os-release and /etc/board.json.

There is no homogeneous method to determine the hardware serial number,
so it can be provided manually, as can asset ID.

Note: properties >= 32 characters are truncated at send time (by lldpd),
and some (Cisco) equipment displays junk after strings >= 32 characters.
So truncate to 31.

Tested on: 24.10.0 (known compatible with 22 and 23 also)

===
Example
===

The following lldpd config lines:

 configure inventory hardware-revision "v0"
 configure inventory software-revision "r28427-6df0e3d02a"
 configure inventory firmware-revision "OpenWrt 24.10.0"
 configure inventory serial-number "ABCDEF-123456"
 configure inventory manufacturer "glinet"
 configure inventory model "GL.iNet GL-MT6000"
 # 32 characters:
 configure inventory asset "abcdefghijklmnopqrstuvwxyz 12345"

Produce the following TLV (decoded by Wireshark):

Telecommunications Industry Association TR-41 Committee - Inventory - Hardware Revision
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0000 0110 = TLV Length: 6
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Hardware Revision (0x05)
    Hardware Revision: v0
Telecommunications Industry Association TR-41 Committee - Inventory - Firmware Revision
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0011 = TLV Length: 19
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Firmware Revision (0x06)
    Firmware Revision: OpenWrt 24.10.0
Telecommunications Industry Association TR-41 Committee - Inventory - Software Revision
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0101 = TLV Length: 21
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Software Revision (0x07)
    Software Revision: r28427-6df0e3d02a
Telecommunications Industry Association TR-41 Committee - Inventory - Serial Number
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0100 = TLV Length: 20
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Serial Number (0x08)
    Serial Number: ABCDEF-123456
Telecommunications Industry Association TR-41 Committee - Inventory - Manufacturer Name
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0000 1010 = TLV Length: 10
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Manufacturer Name (0x09)
    Manufacturer Name: glinet
Telecommunications Industry Association TR-41 Committee - Inventory - Model Name
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0101 = TLV Length: 21
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Model Name (0x0a)
    Model Name: GL.iNet GL-MT6000
Telecommunications Industry Association TR-41 Committee - Inventory - Asset ID
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0010 0011 = TLV Length: 35
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Asset ID (0x0b)
    Asset ID: abcdefghijklmnopqrstuvwxyz 1234

The Cisco DUT displays:

Hardware Revision: 	v0
Firmware Revision: 	OpenWrt 24.10.0
Software Revision: 	r28427-6df0e3d02a
Serial Number:  ABCDEF-123456
Manufacturer Name: 	glinet
Model Name: 	GL.iNet GL-MT6000
Asset ID: 	abcdefghijklmnopqrstuvwxyz 1234

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18354
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-11 22:51:06 +02:00
Felix Fietkau
f8ed36f0d7 unetmsg: allow communication between hosts if no service is defined
Simplifies unet setup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-04-11 13:02:31 +02:00
Paul Donald
b180ed413f lldpd: bump to 1.0.19
Changes:
- Support of both Apple Silicon and Intel for macOS package.
- Add cvlan/svlan/tpmr capabilities.
- Disable LLDP in firmware for Intel X7xx cards on FreeBSD.
- Add lldpctl_watch_sync_unblock to liblldpctl.
- Add C++ wrapper for lldpctl.

Fix:
- Fix AppArmor policy for /run/lldpd/lldpd.socket.lock.
- Do not query stats for a down interface on Linux.

```
 # lldpd -vv
lldpd 1.0.19
  Built on 2025-03-24T17:43:44Z

Additional LLDP features:    LLDP-MED, Dot1, Dot3, Custom TLV
Additional protocols:        CDP, FDP, EDP, SONMP
SNMP support:                no
Old kernel support:          no (Linux 2.6.39+)
Privilege separation:        enabled
Privilege separation user:   lldp
Privilege separation group:  lldp
Privilege separation chroot: /var/run/lldp
Configuration directory:     /tmp

C compiler command: C compiler command is not available for reproducible builds
Linker command:     Linker compiler command is not available for reproducible builds
```

Tested on: 24.10.0

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18345
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-03-27 08:12:01 +01:00
Paul Donald
8d1fe32c2c lldpd: add custom-tlv handling
Do not verify the format of TLV. Leave that to lldpd.

These lldpd config entries:

config custom-tlv
	list ports 'eth0'
	option tlv 'replace oui 33,44,55 subtype 254 oui-info 55,55,55,55,55'

config custom-tlv
	option tlv 'oui 33,44,44 subtype 232'
	list ports 'br-lan'
	list ports 'eth0'

config custom-tlv # oui-info truncated
	option tlv 'add oui 33,44,33 subtype 66 oui-info 5555555555'

config custom-tlv
	option tlv 'add oui 33,44,31 subtype 44'

config custom-tlv # invalid oui
	option tlv 'add oui 3322 subtype 79'

config custom-tlv # invalid oui
	option tlv 'oui 3312 subtype 74'

Produce the following lldpd.conf content:

configure ports eth0 lldp custom-tlv replace oui 33,44,55 subtype 254 oui-info 55,55,55,55,55
configure ports br-lan,eth0 lldp custom-tlv oui 33,44,44 subtype 232
configure lldp custom-tlv add oui 33,44,33 subtype 66 oui-info 5555555555
configure lldp custom-tlv add oui 33,44,31 subtype 44
configure lldp custom-tlv add oui 3322 subtype 79
configure lldp custom-tlv oui 3312 subtype 74

And lldpd (v1.0.13 on v22) logs the following:

Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op replace oui 33:44:55 subtype fe
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:44 subtype e8
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3322'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3312'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: lldpd should resume operations

( The last two TLV are invalid: their oui must be three hex bytes, comma
separated. Only the first hex byte of oui-info 5555555555 is used )

Depends on #14867 and its release version bump

Tested on: 22.03.6

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14872
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-22 17:15:39 +01:00