Bug 60151
| Summary: | SSSD перестал корректно работать после обновления libcares | ||
|---|---|---|---|
| Product: | Branch p11 | Reporter: | landonpma <landonpma> |
| Component: | libcares | Assignee: | Anton Farygin <rider> |
| Status: | ASSIGNED --- | QA Contact: | qa-p11 <qa-p11> |
| Severity: | major | ||
| Priority: | P5 | CC: | amakeenk, kolesnikovaj, landonpma, rider, vsu |
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
Аналогичную проблему поймали в Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=2510945 https://github.com/cockpit-project/bots/pull/9280#issuecomment-5168472448 Первопричиной является изменение в апстриме c-ares (https://github.com/c-ares/c-ares/commit/5d2d2d2884b491d274be8d1c487578744e56f0a4 в стабильной ветке) — c-ares теперь считает ответы на запросы типа SRV, где используется сжатие в поле TARGET, ошибочными (формально в RFC 2782 это действительно запрещено), однако DNS-сервер в samba использует сжатие в своих ответах в том числе и на запросы типа SRV (со стороны samba запрет сжатия реализован только для типов TKEY и TSIG). Аналогичную проверку на соответствие RFC 2782 ранее отключали в golang как раз из-за несовместимостей с samba: https://github.com/golang/go/issues/36718 Кроме того, в RFC 3597 рекомендуется с принимающей стороны поддерживать сжатие для SRV, так что с этой точки зрения новая проверка в c-ares избыточно строгая: Receiving servers MUST decompress domain names in RRs of well-known type, and SHOULD also decompress RRs of type RP, AFSDB, RT, SIG, PX, NXT, NAPTR, and SRV (although the current specification of the SRV RR in [RFC2782] prohibits compression, [RFC2052] mandated it, and some servers following that earlier specification are still in use). Стенды:
Alt Server 11.1
Alt Workstation 11.2
Версии:
libcares-1.34.8-alt1.x86_64
sssd-2.9.8-alt3.x86_64
Шаги воспроизведения:
1. Развернуть Samba домен и подключить клиента
На клиенте:
2. # systemctl restart sssd
3. # sssctl domain-status SAMBA.TESTDOMAIN
4.Очистить лог backend SSSD
# truncate -s 0 /var/log/sssd/sssd_SAMBA.TESTDOMAIN.log
5. Выполнить LDAP-запрос через NSS/SSSD
# id testuser@samba.testdomain
6. # grep -iE 'AD_GC|No available|Server \[NULL\]|resolution failed|Inserted primary|Marking SRV' /var/log/sssd/sssd_SAMBA.TESTDOMAIN.log
Ожидаемый результат:
3. Online status: Online
Active servers:
AD Global Catalog: dc.samba.testdomain
AD Domain Controller: dc.samba.testdomain
Discovered AD Global Catalog servers:
- dc.samba.testdomain
Discovered AD Domain Controller servers:
- dc.samba.testdomain
6. Ошибок нет
Фактический результат:
3. Online status: Online (через 15-20 минут статус меняется на Offline)
Active servers:
AD Global Catalog: not connected
AD Domain Controller: dc.samba.testdomain
Discovered AD Global Catalog servers:
None so far.
Discovered AD Domain Controller servers:
- dc.samba.testdomain
6. No available servers for service 'AD_GC'
Server [NULL] resolution failed: [5]: Ошибка ввода/вывода
Доп. инфо:
Билеты при этом выдаются успешно.
В Сизиф - не воспроизводится
Проверил со старой версией libcares 1.34.6-alt1 - не воспроизводится.
Upstreamed: https://github.com/c-ares/c-ares/issues/1287 пока в c-ares будут чинить, ревертим коммит. |

Description
landonpma 2026-08-13 14:15:11 MSK