#384 SSSD segfaults when c-ares is using tcp sockets
Closed: Fixed None Opened 14 years ago by mnagy.

When for some reasons, c-ares is using tcp for DNS queries, SSSD will crash. This is caused by the fact that c-ares calls our fd_event() callback when it is in the middle of processing of a query. The fd_event() function will then call ares_process_fd() which will again call the fd_event() callback. This recursion will then lead into a crash.


Fields changed

milestone: NEEDS_TRIAGE => SSSD 1.0.2
priority: critical => blocker
tests: 0 => 1

Fixed by 995d269

fixedin: => 1.0.2
resolution: => fixed
status: new => closed

Please add steps to reproduce this segfault. Thx.

Steps to reproduce:
1) Set up a DNS server with a hostname with many (100+) IP addresses. For example, I set up lotsaips.example.com pointing at 172.16.0.[1-255]
2) Edit the /etc/resolv.conf on the system so that this DNS server is the primary
3) Use this hostname for the ldap_uri.

This is because DNS responses over a certain size will return the TRUNCATED flags, and c-ares will then attempt to use TCP to complete the transaction.

Fields changed

tests: 1 => 0
testsupdated: 0 => 1

Fields changed

rhbz: => 0

Metadata Update from @mnagy:
- Issue assigned to mnagy
- Issue set to the milestone: SSSD 1.0.2

7 years ago

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/1426

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Login to comment on this ticket.

Metadata