Learn more about these different git repos.
Other Git URLs
This ticket is a continuation of issue #3973
The write_krb5info_file receives a linked list of struct fo_server structures which contains the address, if already resolved, or at least a host name in the struct server_common member structure. Since the callback should already be synchronous and not do much work on its own, it would be best if the callback was already invoked with the data provided,
write_krb5info_file
struct fo_server
struct server_common
There are two kinds of servers in the fail over module - primary and backup. The backup servers are supposed to only be used temporarily and sssd periodically tries to connect to one of the primary servers. However, from the fail over code point of view, even adding a "backup" server still means the server is added to the same linked list, just with a flag denoting that the server is not primary, therfore iterating over a single list would iterate over both the primary and backup servers.
Before changing the online callbacks, it would be useful to implement and read the krb5_kdcinfo_lookahead option so that there is already an upper limit when the callbacks write the extra host names.
krb5_kdcinfo_lookahead
The next step of implementation could be extending the online callbacks that call the write_krb5info_file functions. There are several of them, ad_resolve_callback, ipa_resolve_callback and krb5_resolve_callback. The callbacks receive the current struct fo_server instance. The callbacks would then keep iterating over the linked list until either the list is exhausted or as many as krb5_kdcinfo_lookahead items are processed. The host name from the struct server_common structure would be read using fo_get_server_name and written to the array passed to write_krb5info_file
ad_resolve_callback
ipa_resolve_callback
krb5_resolve_callback
fo_get_server_name
Metadata Update from @jhrozek: - Issue assigned to thalman - Issue set to the milestone: SSSD 2.2 - Issue tagged with: RFE
Metadata Update from @jhrozek: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
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/4947
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Login to comment on this ticket.