diff options
author | Pavel Reichl <preichl@redhat.com> | 2015-07-23 05:30:34 -0400 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-08-14 23:54:44 +0200 |
commit | 4f2a07c422fa357ef6651bca8c48b8005280fa1d (patch) | |
tree | d2dcb2a619c5898f70fa508df8571b7a2d6e23e6 | |
parent | e4d6e9ccac14044d6bcd5a0dce7f45fdfab6bf3d (diff) | |
download | sssd-4f2a07c422fa357ef6651bca8c48b8005280fa1d.tar.gz sssd-4f2a07c422fa357ef6651bca8c48b8005280fa1d.tar.xz sssd-4f2a07c422fa357ef6651bca8c48b8005280fa1d.zip |
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>
-rw-r--r-- | src/providers/ad/ad_dyndns.c | 1 | ||||
-rw-r--r-- | src/providers/dp_dyndns.c | 12 | ||||
-rw-r--r-- | src/providers/dp_dyndns.h | 2 | ||||
-rw-r--r-- | src/providers/ipa/ipa_dyndns.c | 16 | ||||
-rw-r--r-- | src/providers/ldap/sdap_dyndns.c | 13 | ||||
-rw-r--r-- | src/providers/ldap/sdap_dyndns.h | 1 |
6 files changed, 3 insertions, 42 deletions
diff --git a/src/providers/ad/ad_dyndns.c b/src/providers/ad/ad_dyndns.c index aac7d8b0..5f863812 100644 --- a/src/providers/ad/ad_dyndns.c +++ b/src/providers/ad/ad_dyndns.c @@ -233,7 +233,6 @@ ad_dyndns_update_send(struct ad_options *ctx) DP_OPT_DYNDNS_IFACE), dp_opt_get_string(ctx->basic, AD_HOSTNAME), - NULL, dp_opt_get_string(ctx->basic, AD_KRB5_REALM), state->servername, diff --git a/src/providers/dp_dyndns.c b/src/providers/dp_dyndns.c index 3171e690..ae3f913e 100644 --- a/src/providers/dp_dyndns.c +++ b/src/providers/dp_dyndns.c @@ -436,7 +436,7 @@ fail: errno_t be_nsupdate_create_fwd_msg(TALLOC_CTX *mem_ctx, const char *realm, - const char *zone, const char *servername, + const char *servername, const char *hostname, const unsigned int ttl, uint8_t remove_af, struct sss_iface_addr *addresses, char **_update_msg) @@ -459,16 +459,6 @@ be_nsupdate_create_fwd_msg(TALLOC_CTX *mem_ctx, const char *realm, goto done; } - if (zone) { - DEBUG(SSSDBG_FUNC_DATA, - "Setting the zone explicitly to [%s].\n", zone); - update_msg = talloc_asprintf_append(update_msg, "zone %s.\n", zone); - if (update_msg == NULL) { - ret = ENOMEM; - goto done; - } - } - update_msg = nsupdate_msg_add_fwd(update_msg, addresses, hostname, ttl, remove_af); if (update_msg == NULL) { diff --git a/src/providers/dp_dyndns.h b/src/providers/dp_dyndns.h index 3cc8d122..9f72331b 100644 --- a/src/providers/dp_dyndns.h +++ b/src/providers/dp_dyndns.h @@ -89,7 +89,7 @@ sss_iface_addr_list_as_str_list(TALLOC_CTX *mem_ctx, errno_t be_nsupdate_create_fwd_msg(TALLOC_CTX *mem_ctx, const char *realm, - const char *zone, const char *servername, + const char *servername, const char *hostname, const unsigned int ttl, uint8_t remove_af, struct sss_iface_addr *addresses, char **_update_msg); diff --git a/src/providers/ipa/ipa_dyndns.c b/src/providers/ipa/ipa_dyndns.c index 83009ff2..e7026eb2 100644 --- a/src/providers/ipa/ipa_dyndns.c +++ b/src/providers/ipa/ipa_dyndns.c @@ -153,9 +153,7 @@ ipa_dyndns_update_send(struct ipa_options *ctx) struct ipa_dyndns_update_state *state; struct tevent_req *req, *subreq; struct sdap_id_ctx *sdap_ctx = ctx->id_ctx->sdap_id_ctx; - char *dns_zone; const char *servername; - int i; DEBUG(SSSDBG_TRACE_FUNC, "Performing update\n"); @@ -175,19 +173,6 @@ ipa_dyndns_update_send(struct ipa_options *ctx) } state->ipa_ctx->dyndns_ctx->last_refresh = time(NULL); - dns_zone = dp_opt_get_string(ctx->basic, IPA_DOMAIN); - if (!dns_zone) { - ret = EIO; - goto done; - } - - /* The DNS zone for IPA is the lower-case - * version of the IPA domain - */ - for (i = 0; dns_zone[i] != '\0'; i++) { - dns_zone[i] = tolower(dns_zone[i]); - } - if (strncmp(ctx->service->sdap->uri, "ldap://", 7) != 0) { DEBUG(SSSDBG_CRIT_FAILURE, "Unexpected format of LDAP URI.\n"); @@ -209,7 +194,6 @@ ipa_dyndns_update_send(struct ipa_options *ctx) DP_OPT_DYNDNS_IFACE), dp_opt_get_string(ctx->basic, IPA_HOSTNAME), - dns_zone, dp_opt_get_string(ctx->basic, IPA_KRB5_REALM), servername, diff --git a/src/providers/ldap/sdap_dyndns.c b/src/providers/ldap/sdap_dyndns.c index 0f0e63ee..f0e3dd85 100644 --- a/src/providers/ldap/sdap_dyndns.c +++ b/src/providers/ldap/sdap_dyndns.c @@ -47,7 +47,6 @@ struct sdap_dyndns_update_state { struct dp_option *opts; const char *hostname; - const char *dns_zone; const char *realm; const char *servername; int ttl; @@ -61,7 +60,6 @@ struct sdap_dyndns_update_state { enum be_nsupdate_auth auth_type; bool use_server_with_nsupdate; char *update_msg; - size_t pass_num; }; static void sdap_dyndns_update_addrs_done(struct tevent_req *subreq); @@ -82,7 +80,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx, enum be_nsupdate_auth auth_type, const char *ifname, const char *hostname, - const char *dns_zone, const char *realm, const char *servername, const int ttl, @@ -101,7 +98,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx, state->check_diff = check_diff; state->update_ptr = dp_opt_get_bool(opts, DP_OPT_DYNDNS_UPDATE_PTR); state->hostname = hostname; - state->dns_zone = dns_zone; state->realm = realm; state->servername = servername; state->use_server_with_nsupdate = false; @@ -110,7 +106,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx, state->ev = ev; state->opts = opts; state->auth_type = auth_type; - state->pass_num = 0; /* fallback servername is overriden by user option */ conf_servername = dp_opt_get_string(opts, DP_OPT_DYNDNS_SERVER); @@ -317,7 +312,6 @@ sdap_dyndns_update_step(struct tevent_req *req) struct sdap_dyndns_update_state *state; const char *servername; struct tevent_req *subreq; - const char *dns_zone = NULL; state = tevent_req_data(req, struct sdap_dyndns_update_state); @@ -327,11 +321,7 @@ sdap_dyndns_update_step(struct tevent_req *req) servername = state->servername; } - if (state->pass_num > 0) { - dns_zone = state->dns_zone; - } - - ret = be_nsupdate_create_fwd_msg(state, state->realm, dns_zone, + ret = be_nsupdate_create_fwd_msg(state, state->realm, servername, state->hostname, state->ttl, state->remove_af, state->addresses, @@ -340,7 +330,6 @@ sdap_dyndns_update_step(struct tevent_req *req) DEBUG(SSSDBG_OP_FAILURE, "Can't get addresses for DNS update\n"); return ret; } - state->pass_num++; /* Fork a child process to perform the DNS update */ subreq = be_nsupdate_send(state, state->ev, state->auth_type, diff --git a/src/providers/ldap/sdap_dyndns.h b/src/providers/ldap/sdap_dyndns.h index 7aaff5d2..a9481b79 100644 --- a/src/providers/ldap/sdap_dyndns.h +++ b/src/providers/ldap/sdap_dyndns.h @@ -39,7 +39,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx, enum be_nsupdate_auth auth_type, const char *ifname, const char *hostname, - const char *dns_zone, const char *realm, const char *servername, const int ttl, |