History log of /sssd/src/providers/ipa/ipa_dyndns.c
Revision Date Author Comments Expand
b5f61f8963300c9ba011436f234e9e10224aff6d 13-Jul-2016 Michal Židek <mzidek@redhat.com>

dyndns: Add checks for NULL Fixes: https://fedorahosted.org/sssd/ticket/3076 We segfaulted in this area once. This patch makes the code more defensive and adds some DEBUG messages. Normally the structures are filled in online and/or resolve callbacks. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

892ddeb5190dd5c1ffa26a95142a10a0034fc5e3 20-Jun-2016 Pavel Březina <pbrezina@redhat.com>

Rename dp_dyndns.h to be_dyndns.h Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

12a1c64105ff56b39e197264fec2d9aba6b84185 05-Oct-2015 Pavel Reichl <preichl@redhat.com>

DYNDNS: use realm and server commands only as fallback Resolves: https://fedorahosted.org/sssd/ticket/2495 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

4f2a07c422fa357ef6651bca8c48b8005280fa1d 14-Aug-2015 Pavel Reichl <preichl@redhat.com>

DYNDNS: remove zone command Remove zone command from message to nsupsate. This command is generally used to hint nsupdate. In correctly configured environment such information should be obtained via DNS. If DNS does not provide necessary information we give other hints. For more details see: https://fedorahosted.org/sssd/wiki/DesignDocs/DDNSMessagesUpdate Resolves: https://fedorahosted.org/sssd/ticket/2495 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

4d69d511ee4843cbdacde2f73ed378182ead83f6 25-Feb-2014 Jakub Hrozek <jhrozek@redhat.com>

Fix DEBUG message formatting

a3c8390d19593b1e5277d95bfb4ab206d4785150 12-Feb-2014 Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>

Make DEBUG macro invocations variadic Use a script to update DEBUG macro invocations to use it as a variadic macro, supplying format string and its arguments directly, instead of wrapping them in parens. This script was used to update the code: grep -rwl --include '*.[hc]' DEBUG . | while read f; do mv "$f"{,.orig} perl -e \ 'use strict; use File::Slurp; my $text=read_file(\*STDIN); $text=~s#(\bDEBUG\s*\([^(]+)\((.*?)\)\s*\)\s*;#$1$2);#gs; print $text;' < "$f.orig" > "$f" rm "$f.orig" done Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Stephen Gallagher <sgallagh@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

/sssd/src/confdb/confdb.c /sssd/src/confdb/confdb_setup.c /sssd/src/db/sysdb.c /sssd/src/db/sysdb_autofs.c /sssd/src/db/sysdb_idmap.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_ranges.c /sssd/src/db/sysdb_search.c /sssd/src/db/sysdb_selinux.c /sssd/src/db/sysdb_services.c /sssd/src/db/sysdb_ssh.c /sssd/src/db/sysdb_subdomains.c /sssd/src/db/sysdb_sudo.c /sssd/src/db/sysdb_upgrade.c /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_netlink.c /sssd/src/monitor/monitor_sbus.c /sssd/src/providers/ad/ad_access.c /sssd/src/providers/ad/ad_common.c /sssd/src/providers/ad/ad_domain_info.c /sssd/src/providers/ad/ad_dyndns.c /sssd/src/providers/ad/ad_id.c /sssd/src/providers/ad/ad_init.c /sssd/src/providers/ad/ad_srv.c /sssd/src/providers/ad/ad_subdomains.c /sssd/src/providers/data_provider_be.c /sssd/src/providers/data_provider_callbacks.c /sssd/src/providers/data_provider_fo.c /sssd/src/providers/data_provider_opts.c /sssd/src/providers/dp_auth_util.c /sssd/src/providers/dp_dyndns.c /sssd/src/providers/dp_pam_data_util.c /sssd/src/providers/dp_ptask.c /sssd/src/providers/dp_refresh.c /sssd/src/providers/fail_over.c /sssd/src/providers/fail_over_srv.c ipa_access.c ipa_auth.c ipa_autofs.c ipa_common.c ipa_config.c ipa_dyndns.c ipa_hbac_common.c ipa_hbac_hosts.c ipa_hbac_rules.c ipa_hbac_services.c ipa_hbac_users.c ipa_hostid.c ipa_hosts.c ipa_id.c ipa_idmap.c ipa_init.c ipa_netgroups.c ipa_s2n_exop.c ipa_selinux.c ipa_selinux_maps.c ipa_srv.c ipa_subdomains.c ipa_subdomains_ext_groups.c ipa_subdomains_id.c ipa_sudo.c /sssd/src/providers/krb5/krb5_access.c /sssd/src/providers/krb5/krb5_auth.c /sssd/src/providers/krb5/krb5_become_user.c /sssd/src/providers/krb5/krb5_child.c /sssd/src/providers/krb5/krb5_child_handler.c /sssd/src/providers/krb5/krb5_common.c /sssd/src/providers/krb5/krb5_delayed_online_authentication.c /sssd/src/providers/krb5/krb5_init.c /sssd/src/providers/krb5/krb5_init_shared.c /sssd/src/providers/krb5/krb5_renew_tgt.c /sssd/src/providers/krb5/krb5_utils.c /sssd/src/providers/krb5/krb5_wait_queue.c /sssd/src/providers/ldap/ldap_access.c /sssd/src/providers/ldap/ldap_auth.c /sssd/src/providers/ldap/ldap_child.c /sssd/src/providers/ldap/ldap_common.c /sssd/src/providers/ldap/ldap_id.c /sssd/src/providers/ldap/ldap_id_cleanup.c /sssd/src/providers/ldap/ldap_id_enum.c /sssd/src/providers/ldap/ldap_id_netgroup.c /sssd/src/providers/ldap/ldap_id_services.c /sssd/src/providers/ldap/ldap_init.c /sssd/src/providers/ldap/sdap.c /sssd/src/providers/ldap/sdap_access.c /sssd/src/providers/ldap/sdap_async.c /sssd/src/providers/ldap/sdap_async_autofs.c /sssd/src/providers/ldap/sdap_async_connection.c /sssd/src/providers/ldap/sdap_async_enum.c /sssd/src/providers/ldap/sdap_async_groups.c /sssd/src/providers/ldap/sdap_async_groups_ad.c /sssd/src/providers/ldap/sdap_async_initgroups.c /sssd/src/providers/ldap/sdap_async_initgroups_ad.c /sssd/src/providers/ldap/sdap_async_nested_groups.c /sssd/src/providers/ldap/sdap_async_netgroups.c /sssd/src/providers/ldap/sdap_async_services.c /sssd/src/providers/ldap/sdap_async_sudo.c /sssd/src/providers/ldap/sdap_async_sudo_hostinfo.c /sssd/src/providers/ldap/sdap_async_sudo_timer.c /sssd/src/providers/ldap/sdap_async_users.c /sssd/src/providers/ldap/sdap_autofs.c /sssd/src/providers/ldap/sdap_child_helpers.c /sssd/src/providers/ldap/sdap_dyndns.c /sssd/src/providers/ldap/sdap_fd_events.c /sssd/src/providers/ldap/sdap_id_op.c /sssd/src/providers/ldap/sdap_idmap.c /sssd/src/providers/ldap/sdap_range.c /sssd/src/providers/ldap/sdap_refresh.c /sssd/src/providers/ldap/sdap_reinit.c /sssd/src/providers/ldap/sdap_sudo.c /sssd/src/providers/ldap/sdap_sudo_cache.c /sssd/src/providers/proxy/proxy_auth.c /sssd/src/providers/proxy/proxy_child.c /sssd/src/providers/proxy/proxy_id.c /sssd/src/providers/proxy/proxy_init.c /sssd/src/providers/proxy/proxy_netgroup.c /sssd/src/providers/proxy/proxy_services.c /sssd/src/providers/simple/simple_access.c /sssd/src/providers/simple/simple_access_check.c /sssd/src/resolv/async_resolv.c /sssd/src/resolv/async_resolv_utils.c /sssd/src/responder/autofs/autofssrv.c /sssd/src/responder/autofs/autofssrv_cmd.c /sssd/src/responder/autofs/autofssrv_dp.c /sssd/src/responder/common/negcache.c /sssd/src/responder/common/responder_cmd.c /sssd/src/responder/common/responder_common.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/common/responder_get_domains.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_mmap_cache.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/nss/nsssrv_private.h /sssd/src/responder/nss/nsssrv_services.c /sssd/src/responder/pac/pacsrv.c /sssd/src/responder/pac/pacsrv_cmd.c /sssd/src/responder/pac/pacsrv_utils.c /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pam_helpers.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/pam/pamsrv_dp.c /sssd/src/responder/ssh/sshsrv.c /sssd/src/responder/ssh/sshsrv_cmd.c /sssd/src/responder/ssh/sshsrv_dp.c /sssd/src/responder/sudo/sudosrv.c /sssd/src/responder/sudo/sudosrv_cmd.c /sssd/src/responder/sudo/sudosrv_dp.c /sssd/src/responder/sudo/sudosrv_get_sudorules.c /sssd/src/responder/sudo/sudosrv_query.c /sssd/src/sbus/sbus_client.c /sssd/src/sbus/sssd_dbus_common.c /sssd/src/sbus/sssd_dbus_connection.c /sssd/src/sbus/sssd_dbus_server.c /sssd/src/sss_client/ssh/sss_ssh_authorizedkeys.c /sssd/src/sss_client/ssh/sss_ssh_knownhostsproxy.c /sssd/src/tests/auth-tests.c /sssd/src/tests/cmocka/test_dyndns.c /sssd/src/tests/cmocka/test_fqnames.c /sssd/src/tests/cmocka/test_nss_srv.c /sssd/src/tests/cmocka/test_utils.c /sssd/src/tests/common_dom.c /sssd/src/tests/common_tev.c /sssd/src/tests/debug-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/krb5_child-test.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/sysdb_ssh-tests.c /sssd/src/tools/files.c /sssd/src/tools/selinux.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_debuglevel.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_seed.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_mc_util.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/authtok.c /sssd/src/util/backup_file.c /sssd/src/util/check_and_open.c /sssd/src/util/child_common.c /sssd/src/util/crypto/libcrypto/crypto_base64.c /sssd/src/util/crypto/libcrypto/crypto_obfuscate.c /sssd/src/util/crypto/nss/nss_obfuscate.c /sssd/src/util/crypto/nss/nss_util.c /sssd/src/util/debug.c /sssd/src/util/domain_info_utils.c /sssd/src/util/find_uid.c /sssd/src/util/nscd.c /sssd/src/util/server.c /sssd/src/util/signal.c /sssd/src/util/sss_ini.c /sssd/src/util/sss_krb5.c /sssd/src/util/sss_krb5.h /sssd/src/util/sss_ldap.c /sssd/src/util/sss_nss.c /sssd/src/util/sss_selinux.c /sssd/src/util/sss_ssh.c /sssd/src/util/sss_tc_utf8.c /sssd/src/util/user_info_msg.c /sssd/src/util/usertools.c /sssd/src/util/util.c /sssd/src/util/util.h /sssd/src/util/util_lock.c /sssd/src/util/well_known_sids.c
5170a8cc500e8e1c872e259bc7bc804d84f7610d 19-Aug-2013 Lukas Slebodnik <lslebodn@redhat.com>

Check whether servername is not empty string. Previous check was wrong, servername cannot be NULL.

3bd78eb2faf09635b8d307e4440ccb1420f80716 27-May-2013 Jakub Hrozek <jhrozek@redhat.com>

Fix dyndns timer initialization The dyndns init function was starting the timer even if the updates were set to False. This patch splits the init of dynamic updates and the timer into two functions so that the back end can start the updates separately from reading the options.

33df734b39538eeb870b118b7feea76f90bb004b 03-May-2013 Jakub Hrozek <jhrozek@redhat.com>

Split out the common code from timed DNS updates

e15a9f81eb33066937710d7dee6976a3646d119c 03-May-2013 Jakub Hrozek <jhrozek@redhat.com>

dyndns: new option dyndns_auth This options is mostly provided for future expansion. Currently it is undocumented and both IPA and AD dynamic DNS updates default to GSS-TSIG. Allowed values are GSS-TSIG and none.

38ebc764eeb7693e0c4f0894d6687e54fbba871b 03-May-2013 Jakub Hrozek <jhrozek@redhat.com>

dyndns: New option dyndns_update_ptr https://fedorahosted.org/sssd/ticket/1832 While some servers, such as FreeIPA allow the PTR record to be synchronized when the forward record is updated, other servers, including Active Directory, require that the PTR record is synchronized manually. This patch adds a new option, dyndns_update_ptr that automatically generates appropriate DNS update message for updating the reverse zone. This option is off by default in the IPA provider. Also renames be_nsupdate_create_msg to be_nsupdate_create_fwd_msg

5a4239490c7fb7d732180a9d40f27f0247c56631 03-May-2013 Jakub Hrozek <jhrozek@redhat.com>

dyndns: new option dyndns_refresh_interval This new options adds the possibility of updating the DNS entries periodically regardless if they have changed or not. This feature will be useful mainly in AD environments where the Windows clients periodically update their DNS records.

04868f1573f4b26ef34610b6d7069172f93bd8ab 03-May-2013 Jakub Hrozek <jhrozek@redhat.com>

Convert IPA-specific options to be back-end agnostic This patch introduces new options for dynamic DNS updates that are not specific to any back end. The current ipa dyndns options are still usable, just with a deprecation warning.

9cb46bc62f22e0104f1b41a423b014c281ef5fc2 03-May-2013 Jakub Hrozek <jhrozek@redhat.com>

Refactor dynamic DNS updates Provides two new layers instead of the previous IPA specific layer: 1) dp_dyndns.c -- a very generic dyndns layer on the DP level. Its purpose it to make it possible for any back end to use dynamic DNS updates. 2) sdap_dyndns.c -- a wrapper around dp_dyndns.c that utilizes some LDAP-specific features like autodetecting the address from the LDAP connection. Also converts the dyndns code to new specific error codes.

e9c41ad5c89fc7e6c34434c4153753f0b11650ed 04-Apr-2013 Jakub Hrozek <jhrozek@redhat.com>

dyndns: Fix initializing sdap_id_ctx

44fc7e53b403d45576ab61d2dea4608e323ed332 03-Apr-2013 Jakub Hrozek <jhrozek@redhat.com>

Centralize resolv_init, remove resolv context list

584eda085e83a428f2c39dadf0d7adeaff5c87f4 03-Apr-2013 Jakub Hrozek <jhrozek@redhat.com>

Init failover with be_res options

27cf6c28bc02e7a54487d44c212a98b165a70c34 12-Feb-2013 Jakub Hrozek <jhrozek@redhat.com>

Filter out multicast addresses from IPA DNS updates https://fedorahosted.org/sssd/ticket/1804

ff5934cbe9c02ca3e3d2a851460339f3126202b7 02-Dec-2012 Stephen Gallagher <sgallagh@redhat.com>

IPA: Handle bad results from c-ares lookup In some situations, the c-ares lookup can return NULL instead of a list of addresses. In this situation, we need to avoid dereferencing NULL. This patch adds a log message and sets the count to zero so it is handled appropriately below.

4fb12db7504920d12ea7db71f312334c877bff7c 16-Oct-2012 James Hogarth <james.hogarth@gmail.com>

Make TTL configurable for dynamic dns updates

62826f0052c1d6b71f62c1149c894d40549828ad 10-May-2012 Jakub Hrozek <jhrozek@redhat.com>

Filter out IP addresses inappropriate for DNS forward records https://fedorahosted.org/sssd/ticket/949

c8a124ac1b03d83016bda02cad5a369ce6fb1cd7 01-May-2012 Stef Walter <stefw@gnome.org>

execv, excvp and exec_child never return EOK * So don't need to handle that case

64f398dca52df6313169f33cfc20a69d51c3bc2b 29-Mar-2012 Jakub Hrozek <jhrozek@redhat.com>

Return correct resolv_status on resolver timeout https://fedorahosted.org/sssd/ticket/1274

e8dd8c81dacbe4b9c0de3fc0f9777bfc6e13bc41 23-Feb-2012 Jakub Hrozek <jhrozek@redhat.com>

Save errno value before calling DEBUG

3bea01f01d76e1e95a8239c0d3f67073992136a1 22-Feb-2012 Jan Zeleny <jzeleny@redhat.com>

Don't give memory context in confdb where not needed

2be3039b8fc8ec07a323d15060123366da786dc5 17-Jan-2012 Stephen Gallagher <sgallagh@redhat.com>

IPA: Detect nsupdate support for the realm directive For older platforms, do not add the 'realm' line in the update message

87c07559af5cfcd2752295ef7c425bd3205f426f 19-Dec-2011 Stephen Gallagher <sgallagh@redhat.com>

Move child_common routines to util

46d41cf95d520a1aab48dad2d577c885e69ef9f8 23-Nov-2011 Jan Zeleny <jzeleny@redhat.com>

New IPA ID context

ac3a1f3da772cf101101c31675c63dc3549b21b5 22-Nov-2011 Jakub Hrozek <jhrozek@redhat.com>

Cleanup: Remove unused parameters

/sssd/src/providers/data_provider_fo.c ipa_access.c ipa_dyndns.c ipa_dyndns.h ipa_hbac_common.c ipa_hbac_hosts.c ipa_hbac_private.h ipa_hbac_rules.c ipa_hbac_services.c ipa_hbac_users.c ipa_init.c /sssd/src/providers/krb5/krb5_auth.c /sssd/src/providers/ldap/ldap_auth.c /sssd/src/providers/ldap/ldap_id_cleanup.c /sssd/src/providers/ldap/sdap.c /sssd/src/providers/ldap/sdap.h /sssd/src/providers/ldap/sdap_access.c /sssd/src/providers/ldap/sdap_async.c /sssd/src/providers/ldap/sdap_async_connection.c /sssd/src/providers/ldap/sdap_async_groups.c /sssd/src/providers/ldap/sdap_async_initgroups.c /sssd/src/providers/ldap/sdap_async_netgroups.c /sssd/src/providers/proxy/proxy.h /sssd/src/providers/proxy/proxy_id.c /sssd/src/providers/proxy/proxy_netgroup.c /sssd/src/python/pysss.c /sssd/src/responder/nss/nsssrv.c /sssd/src/sss_client/pam_sss.c /sssd/src/tools/nscd.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_sync_ops.h /sssd/src/tools/sss_useradd.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/crypto/nss/nss_obfuscate.c
db86e17493ceff0567a1b879f8e5ec5b1332a4d6 25-Aug-2011 Jakub Hrozek <jhrozek@redhat.com>

IPA dyndns: do not segfault if the server cannot be resolved https://fedorahosted.org/sssd/ticket/963

f76725bbf87de0ac109a1a5b9898fc67ed2afa59 01-Aug-2011 Stephen Gallagher <sgallagh@redhat.com>

Remove incorrect private variable This caused no ill effects, since it wasn't used in the callback. However, it is a layering violation (especially since req is freed in the callback)

7e2de117961fe247d8aa16af2ab762990965c239 11-Jul-2011 Jakub Hrozek <jhrozek@redhat.com>

Check DNS records before updating https://fedorahosted.org/sssd/ticket/802

5dcaf08d0ae528318d2fb7dd9a6d37abbface6b8 05-Jul-2011 Jakub Hrozek <jhrozek@redhat.com>

ipa_dyndns: Use sockaddr_storage for storing IP addresses https://fedorahosted.org/sssd/ticket/915

fe8426ea00e7cf6194f0fab9606b3937c4ea3344 21-Jun-2011 Jakub Hrozek <jhrozek@redhat.com>

Log nsupdate message https://fedorahosted.org/sssd/ticket/893

ef2c477a605e2130be019d1a4bba6bdd02c54a9d 04-Mar-2011 Sumit Bose <sbose@redhat.com>

Fixes for dynamic DNS update The current code assumed that only one server is given in the ipa_server config option and fails if multiple servers were given. To fix this nsupdate is first called without a server name assuming that nsupdate is able to find the name of the master DNS server of the zone by reading the SOA record. If this fails the IP address of the currently active LDAP server is used and nsupdate is called again. If there is no default realm given in /etc/krb5.conf nsupdate start trying to find a realm based on the DNS domain which might lead to wrong results. To be on the safe side the realm was added to the message send to nsupdate.

1639954090616f9e868a083f358c87e381b3fb78 09-Jul-2010 eindenbom <eindenbom@gmail.com>

Use new LDAP connection framework in IPA dynamic DNS forwarder.

d66944d34d4969c2ba1ed1495e2dda91af665156 27-May-2010 Sumit Bose <sbose@redhat.com>

Remove signal event if child was terminated by a signal

48a038d077ed2de18a5211e010c18ab680107293 16-May-2010 Stephen Gallagher <sgallagh@redhat.com>

Add dynamic DNS updates to FreeIPA This adds two new options: ipa_dyndns_update: Boolean value to select whether this client should automatically update its IP address in FreeIPA DNS. ipa_dyndns_iface: Choose an interface manually to use for updating dynamic DNS. Default is to use the interface associated with the LDAP connection to FreeIPA. This patch supports A and AAAA records. It relies on the presence of the nsupdate tool from the bind-utils package to perform the actual update step. The location of this utility is set at build time, but its availability is determined at runtime (so clients that do not require dynamic update capability do not need to meet this dependency).

57614e56dd272db0f71abc442b1515d79fd16169 07-May-2010 Stephen Gallagher <sgallagh@redhat.com>

Revert "Add dynamic DNS updates to FreeIPA" This reverts commit 973b7c27c0b294b8b2f120296f64c6a3a36e44b7. While this patch applied cleanly, it was uncompilable. Reverting until it can be properly merged.

973b7c27c0b294b8b2f120296f64c6a3a36e44b7 07-May-2010 Stephen Gallagher <sgallagh@redhat.com>

Add dynamic DNS updates to FreeIPA This adds two new options: ipa_dyndns_update: Boolean value to select whether this client should automatically update its IP address in FreeIPA DNS. ipa_dyndns_iface: Choose an interface manually to use for updating dynamic DNS. Default is to use the interface associated with the LDAP connection to FreeIPA. This patch supports A and AAAA records. It relies on the presence of the nsupdate tool from the bind-utils package to perform the actual update step. The location of this utility is set at build time, but its availability is determined at runtime (so clients that do not require dynamic update capability do not need to meet this dependency).