Bug 55608 - samba-tool dns query: resolve_lmhosts: 'Failed to connect host fe80::<dc-link-local-ipv6> on port 135/49153 - NT_STATUS_INVALID_PARAMETER' при указании полного имени сервера
Summary: samba-tool dns query: resolve_lmhosts: 'Failed to connect host fe80::<dc-link...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: samba-dc-client (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-08-14 13:24 MSK by Artem Varaksa
Modified: 2025-08-20 13:33 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Artem Varaksa 2025-08-14 13:24:03 MSK
Шаги
====

1. Развернуть Samba DC (ALT Server 11.0 x86_64 minimal).
2. Ввести клиента, например с именем client.
3. # diff --unified --color \
  <(samba-tool dns query dc                  samba.testdomain client A -U "Administrator%Pa##word" 2>&1) \
  <(samba-tool dns query dc.samba.testdomain samba.testdomain client A -U "Administrator%Pa##word" 2>&1)


Фактический результат
=====================

Запись в обоих случаях выводится успешно (если она существует; иначе, конечно, WERR_DNS_ERROR_NAME_DOES_NOT_EXIST), но появляется ошибка:

> --- /dev/fd/62
> +++ /dev/fd/61
> @@ -13,8 +13,12 @@
>  GENSEC backend 'http_negotiate' registered
>  GENSEC backend 'krb5' registered
>  GENSEC backend 'fake_gssapi_krb5' registered
> -Using binding ncacn_ip_tcp:dc[,sign]
> -resolve_lmhosts: Attempting lmhosts lookup for name dc<0x20>
> -resolve_lmhosts: Attempting lmhosts lookup for name dc<0x20>
> +Using binding ncacn_ip_tcp:dc.samba.testdomain[,sign]
> +resolve_lmhosts: Attempting lmhosts lookup for name dc.samba.testdomain<0x20>
> +continue_socket_connect: Failed to connect host fe80::<dc-link-local-ipv6> on port 135 - NT_STATUS_INVALID_PARAMETER
> +continue_ip_open_socket: Failed to connect host fe80::<dc-link-local-ipv6> (dc.samba.testdomain) on port 135 - NT_STATUS_INVALID_PARAMETER.
> +resolve_lmhosts: Attempting lmhosts lookup for name dc.samba.testdomain<0x20>
> +continue_socket_connect: Failed to connect host fe80::<dc-link-local-ipv6> on port 49153 - NT_STATUS_INVALID_PARAMETER
> +continue_ip_open_socket: Failed to connect host fe80::<dc-link-local-ipv6> (dc.samba.testdomain) on port 49153 - NT_STATUS_INVALID_PARAMETER.
>    Name=, Records=1, Children=0
>      A: <ipv4> (flags=f0, serial=110, ttl=3600)


Ожидаемый результат
===================

Не должно быть ошибок 'Failed to connect host fe80::<dc-link-local-ipv6> on port 135/49153 - NT_STATUS_INVALID_PARAMETER'.


Дополнительно
=============

Если DC недоступен по IPv6 (например, в связи с workaround https://bugzilla.altlinux.org/show_bug.cgi?id=43863#c6), то аналогичные сообщения возникают и для не-link-local адресов после сообщений о link-local, и тогда записи не возвращаются. Возможно, что samba-tool пытается подключиться сначала к link-local IPv6 (чего, вероятно, не стоит делать)?


Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[sisyphus]
samba-4.21.7-alt3.x86_64
alterator-auth-0.47-alt1.x86_64

[p11+387440.7]
samba-4.21.7-alt3.x86_64
alterator-auth-0.46-alt1.x86_64

[p11]
samba-4.20.8-alt2.x86_64
alterator-auth-0.45-alt1.x86_64
Comment 1 Artem Varaksa 2025-08-20 13:33:47 MSK
> Если DC недоступен по IPv6 (например, в связи с workaround https://bugzilla.altlinux.org/show_bug.cgi?id=43863#c6), то аналогичные сообщения возникают и для не-link-local адресов после сообщений о link-local, и тогда записи не возвращаются.

Уточнение: записи тоже возвращаются. Т. е. перебирает по очереди:

- IPv6 link-local
- IPv6 global
- IPv4

где IPv6 link-local, наверное, точно лишний.