Commit graph

32 commits

Author SHA1 Message Date
Ivailo Monev
ceaddee1dd kutils: check if the avahi client pointer is null before using it in KDNSSD
should fix crashes due to internal avahi asserts in some cases (e.g. when
the daemon is not running)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 23:05:13 +03:00
Ivailo Monev
bac4fbc947 kutils: do not lookup TXT records from KDNSSD
irrelevant to it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-06 16:52:45 +03:00
Ivailo Monev
75b9cfddd3 generic: const-ify private data pointers where copying is disabled
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-23 06:49:59 +02:00
Ivailo Monev
ed79c859b2 generic: merge KDELibs4ToolsTargets and KDELibs4LibraryTargets
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 23:57:38 +03:00
Ivailo Monev
5613e5483c generic: remove redundant build varibles
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 20:25:52 +03:00
Ivailo Monev
36c910c653 generic: move stuff from KDE4Internal module to KDELibs4Config
large-scale changes to the build system, nothing a user sees tho - it is
all under the hood

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 19:01:40 +03:00
Ivailo Monev
78933232a2 generic: remove build variable used to specify library type
only shared builds are supported now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-10 23:19:17 +03:00
Ivailo Monev
0c2fa57bdd kutils: group structs and typedefs documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 13:24:47 +02:00
Ivailo Monev
90928e8320 generic: store package found definitions in config header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 05:41:21 +02:00
Ivailo Monev
24a9ce64c2 kutils: implement KDNSSD::isSupported()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 01:35:08 +03:00
Ivailo Monev
bafbb328e9 kutils: return boolean from KDNSSD::startBrowse() indicating success or failure
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 01:34:47 +03:00
Ivailo Monev
00f95b629b generic: compiler warnings fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-05 02:20:16 +03:00
Ivailo Monev
78802289b0 kutils: better example as to why only IPv4 addresses are resolved and service addresses published
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-16 06:12:49 +03:00
Ivailo Monev
0ef2d46d95 kutils: set KDNSSD error string when built without Avahi
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 17:45:09 +03:00
Ivailo Monev
40f629c2eb kutils: set the error string to the error from group commit action when it fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 17:39:44 +03:00
Ivailo Monev
e04b64fe28 kutils: set the error string to the client error when DNS-SD service publishing fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 17:36:42 +03:00
Ivailo Monev
cf00906d21 kutils: do not decrement the poll counter on DNS-SD service browser failure
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 01:10:58 +03:00
Ivailo Monev
dc5b471bc3 kutils: resolve to and publish IPv4 addresses for DNS-SD services
hostname resolution is a maybe works kinda thing, IP addresses resolution
seems to work better

side note:
the host_name argument of AvahiServiceResolverCallback is not exactly what
I expect - it is debian.local or freebsd.local, "debian" and "freebsd"
being something different from the output of `hostname` and "local" is
domain?

side note2:
curl can resolve debian.local on Debian host but not freebsd.local on
FreeBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-10 23:11:25 +03:00
Ivailo Monev
7db8e19cfd kutils: keep polling for DNS-SD services in case of browser failure
fixes potential dead-lock on timeout

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-10 19:14:14 +03:00
Ivailo Monev
23af14f8ed kutils: implement KDNSSD::errorString()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-10 00:27:40 +03:00
Ivailo Monev
e1f0788f3e kutils: assign service port from the uint-typed variable
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-07 00:57:55 +00:00
Ivailo Monev
ec4492d1c5 kutils: compare the service type when filtering duplicate discoverable services
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 15:45:06 +03:00
Ivailo Monev
2d373d45ef kutils: document KDNSSDService and KDNSSD, mark them as stable
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 15:30:50 +03:00
Ivailo Monev
81f821da97 kutils: filter duplicate service entries based on domain, hostname and port
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 13:04:40 +03:00
Ivailo Monev
3ddff448d7 kutils: const-ify KDNSSD::services() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 02:04:00 +00:00
Ivailo Monev
9b96e3d7d8 kutils: do not link kdnssd library to network component
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 02:01:34 +00:00
Ivailo Monev
1e122b9a88 kutils: browse and publish only IPv6 addresses for now
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 01:59:07 +03:00
Ivailo Monev
1365570d56 kutils: set the URL host to the DNSSD service hostname
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-06 00:33:09 +03:00
Ivailo Monev
b1de153aaa kutils: reset poll counter before starting new poll loop
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-05 23:40:19 +03:00
Ivailo Monev
35ae3bb546 kutils: remove unused headers inclusions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-05 23:39:26 +03:00
Ivailo Monev
e2b208b277 kutils: build fix for the case when Avahi is not found or disabled
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-05 22:38:39 +03:00
Ivailo Monev
6af9b55738 generic: reimplement kdnssd library
works as expected, services queries include two for IPv4 and one for
the advertised IPv6 address which have to be filtered:
https://ibb.co/4VpJK9V

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-05 22:28:32 +03:00