]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolve: add missing ServiceNotProvided error to Varlink IDL (#40858)
authorAnton Tiurin <atiurin@proton.me>
Mon, 2 Mar 2026 04:22:14 +0000 (04:22 +0000)
committerGitHub <noreply@github.com>
Mon, 2 Mar 2026 04:22:14 +0000 (13:22 +0900)
The error is emitted by `vl_method_resolve_service_complete()` when an
SRV record with a root domain hostname is found, indicating the service
is explicitly not offered on the queried domain (RFC 2782 Usage Rules),

but was not declared in the `io.systemd.Resolve` interface definition.

Follow-up for 3d8f2c14641f840e0ad6380ec3e773bbb40e67df.

src/shared/varlink-io.systemd.Resolve.c

index 33398a62f7c2774ebe177b89ff1ca4775415e298..e8de8b39f8197ecb68bc99c4135852f265096a75 100644 (file)
@@ -345,6 +345,7 @@ static SD_VARLINK_DEFINE_ERROR(ResourceRecordTypeInvalidForQuery);
 static SD_VARLINK_DEFINE_ERROR(ZoneTransfersNotPermitted);
 static SD_VARLINK_DEFINE_ERROR(ResourceRecordTypeObsolete);
 static SD_VARLINK_DEFINE_ERROR(InconsistentServiceRecords);
+static SD_VARLINK_DEFINE_ERROR(ServiceNotProvided);
 
 SD_VARLINK_DEFINE_INTERFACE(
                 io_systemd_Resolve,
@@ -415,4 +416,6 @@ SD_VARLINK_DEFINE_INTERFACE(
                 &vl_error_ZoneTransfersNotPermitted,
                 &vl_error_ResourceRecordTypeObsolete,
                 SD_VARLINK_SYMBOL_COMMENT("The DNS resource records of the specified service are not consistent (e.g. lacks a DNS-SD service type when resolved)."),
-                &vl_error_InconsistentServiceRecords);
+                &vl_error_InconsistentServiceRecords,
+                SD_VARLINK_SYMBOL_COMMENT("The service is explicitly not provided on the queried domain (RFC 2782 root domain SRV record)."),
+                &vl_error_ServiceNotProvided);