|
|
6cf099 |
From 17f136d85a5ce0e2a6fa71d32eb2b048853b4800 Mon Sep 17 00:00:00 2001
|
|
|
6cf099 |
From: Pavel Reichl <preichl@redhat.com>
|
|
|
6cf099 |
Date: Thu, 23 Jul 2015 05:30:34 -0400
|
|
|
6cf099 |
Subject: [PATCH 87/90] DYNDNS: remove zone command
|
|
|
6cf099 |
|
|
|
6cf099 |
Remove zone command from message to nsupsate. This command is generally
|
|
|
6cf099 |
used to hint nsupdate. In correctly configured environment such
|
|
|
6cf099 |
information should be obtained via DNS.
|
|
|
6cf099 |
|
|
|
6cf099 |
If DNS does not provide necessary information we give other hints.
|
|
|
6cf099 |
|
|
|
6cf099 |
For more details see:
|
|
|
6cf099 |
https://fedorahosted.org/sssd/wiki/DesignDocs/DDNSMessagesUpdate
|
|
|
6cf099 |
|
|
|
6cf099 |
Resolves:
|
|
|
6cf099 |
https://fedorahosted.org/sssd/ticket/2495
|
|
|
6cf099 |
|
|
|
6cf099 |
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
|
|
|
6cf099 |
(cherry picked from commit 4f2a07c422fa357ef6651bca8c48b8005280fa1d)
|
|
|
6cf099 |
---
|
|
|
6cf099 |
src/providers/ad/ad_dyndns.c | 1 -
|
|
|
6cf099 |
src/providers/dp_dyndns.c | 12 +-----------
|
|
|
6cf099 |
src/providers/dp_dyndns.h | 2 +-
|
|
|
6cf099 |
src/providers/ipa/ipa_dyndns.c | 16 ----------------
|
|
|
6cf099 |
src/providers/ldap/sdap_dyndns.c | 13 +------------
|
|
|
6cf099 |
src/providers/ldap/sdap_dyndns.h | 1 -
|
|
|
6cf099 |
6 files changed, 3 insertions(+), 42 deletions(-)
|
|
|
6cf099 |
|
|
|
6cf099 |
diff --git a/src/providers/ad/ad_dyndns.c b/src/providers/ad/ad_dyndns.c
|
|
|
6cf099 |
index aac7d8b0a170e07cba0cd150a6f19c538948d657..5f8638128b966f0981c85a44e50e3201c73d561e 100644
|
|
|
6cf099 |
--- a/src/providers/ad/ad_dyndns.c
|
|
|
6cf099 |
+++ b/src/providers/ad/ad_dyndns.c
|
|
|
6cf099 |
@@ -233,7 +233,6 @@ ad_dyndns_update_send(struct ad_options *ctx)
|
|
|
6cf099 |
DP_OPT_DYNDNS_IFACE),
|
|
|
6cf099 |
dp_opt_get_string(ctx->basic,
|
|
|
6cf099 |
AD_HOSTNAME),
|
|
|
6cf099 |
- NULL,
|
|
|
6cf099 |
dp_opt_get_string(ctx->basic,
|
|
|
6cf099 |
AD_KRB5_REALM),
|
|
|
6cf099 |
state->servername,
|
|
|
6cf099 |
diff --git a/src/providers/dp_dyndns.c b/src/providers/dp_dyndns.c
|
|
|
6cf099 |
index 3171e6909e5f92a98cd506278e6e8c3418b979fe..ae3f913ee392a6513f75aab497e7f2d784784748 100644
|
|
|
6cf099 |
--- a/src/providers/dp_dyndns.c
|
|
|
6cf099 |
+++ b/src/providers/dp_dyndns.c
|
|
|
6cf099 |
@@ -436,7 +436,7 @@ fail:
|
|
|
6cf099 |
|
|
|
6cf099 |
errno_t
|
|
|
6cf099 |
be_nsupdate_create_fwd_msg(TALLOC_CTX *mem_ctx, const char *realm,
|
|
|
6cf099 |
- const char *zone, const char *servername,
|
|
|
6cf099 |
+ const char *servername,
|
|
|
6cf099 |
const char *hostname, const unsigned int ttl,
|
|
|
6cf099 |
uint8_t remove_af, struct sss_iface_addr *addresses,
|
|
|
6cf099 |
char **_update_msg)
|
|
|
6cf099 |
@@ -459,16 +459,6 @@ be_nsupdate_create_fwd_msg(TALLOC_CTX *mem_ctx, const char *realm,
|
|
|
6cf099 |
goto done;
|
|
|
6cf099 |
}
|
|
|
6cf099 |
|
|
|
6cf099 |
- if (zone) {
|
|
|
6cf099 |
- DEBUG(SSSDBG_FUNC_DATA,
|
|
|
6cf099 |
- "Setting the zone explicitly to [%s].\n", zone);
|
|
|
6cf099 |
- update_msg = talloc_asprintf_append(update_msg, "zone %s.\n", zone);
|
|
|
6cf099 |
- if (update_msg == NULL) {
|
|
|
6cf099 |
- ret = ENOMEM;
|
|
|
6cf099 |
- goto done;
|
|
|
6cf099 |
- }
|
|
|
6cf099 |
- }
|
|
|
6cf099 |
-
|
|
|
6cf099 |
update_msg = nsupdate_msg_add_fwd(update_msg, addresses, hostname,
|
|
|
6cf099 |
ttl, remove_af);
|
|
|
6cf099 |
if (update_msg == NULL) {
|
|
|
6cf099 |
diff --git a/src/providers/dp_dyndns.h b/src/providers/dp_dyndns.h
|
|
|
6cf099 |
index 3cc8d122646590365a3fb6dafa6a0f699b620ad9..9f72331b6fd68e17e9eb91505a13fc839d3f54e1 100644
|
|
|
6cf099 |
--- a/src/providers/dp_dyndns.h
|
|
|
6cf099 |
+++ b/src/providers/dp_dyndns.h
|
|
|
6cf099 |
@@ -89,7 +89,7 @@ sss_iface_addr_list_as_str_list(TALLOC_CTX *mem_ctx,
|
|
|
6cf099 |
|
|
|
6cf099 |
errno_t
|
|
|
6cf099 |
be_nsupdate_create_fwd_msg(TALLOC_CTX *mem_ctx, const char *realm,
|
|
|
6cf099 |
- const char *zone, const char *servername,
|
|
|
6cf099 |
+ const char *servername,
|
|
|
6cf099 |
const char *hostname, const unsigned int ttl,
|
|
|
6cf099 |
uint8_t remove_af, struct sss_iface_addr *addresses,
|
|
|
6cf099 |
char **_update_msg);
|
|
|
6cf099 |
diff --git a/src/providers/ipa/ipa_dyndns.c b/src/providers/ipa/ipa_dyndns.c
|
|
|
6cf099 |
index 83009ff2a08cb8e4ae2b7a1e89039539b23b6d79..e7026eb275798f0ed21fb8490295b6e6d419d8ee 100644
|
|
|
6cf099 |
--- a/src/providers/ipa/ipa_dyndns.c
|
|
|
6cf099 |
+++ b/src/providers/ipa/ipa_dyndns.c
|
|
|
6cf099 |
@@ -153,9 +153,7 @@ ipa_dyndns_update_send(struct ipa_options *ctx)
|
|
|
6cf099 |
struct ipa_dyndns_update_state *state;
|
|
|
6cf099 |
struct tevent_req *req, *subreq;
|
|
|
6cf099 |
struct sdap_id_ctx *sdap_ctx = ctx->id_ctx->sdap_id_ctx;
|
|
|
6cf099 |
- char *dns_zone;
|
|
|
6cf099 |
const char *servername;
|
|
|
6cf099 |
- int i;
|
|
|
6cf099 |
|
|
|
6cf099 |
DEBUG(SSSDBG_TRACE_FUNC, "Performing update\n");
|
|
|
6cf099 |
|
|
|
6cf099 |
@@ -175,19 +173,6 @@ ipa_dyndns_update_send(struct ipa_options *ctx)
|
|
|
6cf099 |
}
|
|
|
6cf099 |
state->ipa_ctx->dyndns_ctx->last_refresh = time(NULL);
|
|
|
6cf099 |
|
|
|
6cf099 |
- dns_zone = dp_opt_get_string(ctx->basic, IPA_DOMAIN);
|
|
|
6cf099 |
- if (!dns_zone) {
|
|
|
6cf099 |
- ret = EIO;
|
|
|
6cf099 |
- goto done;
|
|
|
6cf099 |
- }
|
|
|
6cf099 |
-
|
|
|
6cf099 |
- /* The DNS zone for IPA is the lower-case
|
|
|
6cf099 |
- * version of the IPA domain
|
|
|
6cf099 |
- */
|
|
|
6cf099 |
- for (i = 0; dns_zone[i] != '\0'; i++) {
|
|
|
6cf099 |
- dns_zone[i] = tolower(dns_zone[i]);
|
|
|
6cf099 |
- }
|
|
|
6cf099 |
-
|
|
|
6cf099 |
if (strncmp(ctx->service->sdap->uri,
|
|
|
6cf099 |
"ldap://", 7) != 0) {
|
|
|
6cf099 |
DEBUG(SSSDBG_CRIT_FAILURE, "Unexpected format of LDAP URI.\n");
|
|
|
6cf099 |
@@ -209,7 +194,6 @@ ipa_dyndns_update_send(struct ipa_options *ctx)
|
|
|
6cf099 |
DP_OPT_DYNDNS_IFACE),
|
|
|
6cf099 |
dp_opt_get_string(ctx->basic,
|
|
|
6cf099 |
IPA_HOSTNAME),
|
|
|
6cf099 |
- dns_zone,
|
|
|
6cf099 |
dp_opt_get_string(ctx->basic,
|
|
|
6cf099 |
IPA_KRB5_REALM),
|
|
|
6cf099 |
servername,
|
|
|
6cf099 |
diff --git a/src/providers/ldap/sdap_dyndns.c b/src/providers/ldap/sdap_dyndns.c
|
|
|
6cf099 |
index 0f0e63ee2259d017c3e94afca5f3148f4fc2ce04..f0e3dd855005d00ea19cb5dc283375f58b0d2cca 100644
|
|
|
6cf099 |
--- a/src/providers/ldap/sdap_dyndns.c
|
|
|
6cf099 |
+++ b/src/providers/ldap/sdap_dyndns.c
|
|
|
6cf099 |
@@ -47,7 +47,6 @@ struct sdap_dyndns_update_state {
|
|
|
6cf099 |
struct dp_option *opts;
|
|
|
6cf099 |
|
|
|
6cf099 |
const char *hostname;
|
|
|
6cf099 |
- const char *dns_zone;
|
|
|
6cf099 |
const char *realm;
|
|
|
6cf099 |
const char *servername;
|
|
|
6cf099 |
int ttl;
|
|
|
6cf099 |
@@ -61,7 +60,6 @@ struct sdap_dyndns_update_state {
|
|
|
6cf099 |
enum be_nsupdate_auth auth_type;
|
|
|
6cf099 |
bool use_server_with_nsupdate;
|
|
|
6cf099 |
char *update_msg;
|
|
|
6cf099 |
- size_t pass_num;
|
|
|
6cf099 |
};
|
|
|
6cf099 |
|
|
|
6cf099 |
static void sdap_dyndns_update_addrs_done(struct tevent_req *subreq);
|
|
|
6cf099 |
@@ -82,7 +80,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx,
|
|
|
6cf099 |
enum be_nsupdate_auth auth_type,
|
|
|
6cf099 |
const char *ifname,
|
|
|
6cf099 |
const char *hostname,
|
|
|
6cf099 |
- const char *dns_zone,
|
|
|
6cf099 |
const char *realm,
|
|
|
6cf099 |
const char *servername,
|
|
|
6cf099 |
const int ttl,
|
|
|
6cf099 |
@@ -101,7 +98,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx,
|
|
|
6cf099 |
state->check_diff = check_diff;
|
|
|
6cf099 |
state->update_ptr = dp_opt_get_bool(opts, DP_OPT_DYNDNS_UPDATE_PTR);
|
|
|
6cf099 |
state->hostname = hostname;
|
|
|
6cf099 |
- state->dns_zone = dns_zone;
|
|
|
6cf099 |
state->realm = realm;
|
|
|
6cf099 |
state->servername = servername;
|
|
|
6cf099 |
state->use_server_with_nsupdate = false;
|
|
|
6cf099 |
@@ -110,7 +106,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx,
|
|
|
6cf099 |
state->ev = ev;
|
|
|
6cf099 |
state->opts = opts;
|
|
|
6cf099 |
state->auth_type = auth_type;
|
|
|
6cf099 |
- state->pass_num = 0;
|
|
|
6cf099 |
|
|
|
6cf099 |
/* fallback servername is overriden by user option */
|
|
|
6cf099 |
conf_servername = dp_opt_get_string(opts, DP_OPT_DYNDNS_SERVER);
|
|
|
6cf099 |
@@ -317,7 +312,6 @@ sdap_dyndns_update_step(struct tevent_req *req)
|
|
|
6cf099 |
struct sdap_dyndns_update_state *state;
|
|
|
6cf099 |
const char *servername;
|
|
|
6cf099 |
struct tevent_req *subreq;
|
|
|
6cf099 |
- const char *dns_zone = NULL;
|
|
|
6cf099 |
|
|
|
6cf099 |
state = tevent_req_data(req, struct sdap_dyndns_update_state);
|
|
|
6cf099 |
|
|
|
6cf099 |
@@ -327,11 +321,7 @@ sdap_dyndns_update_step(struct tevent_req *req)
|
|
|
6cf099 |
servername = state->servername;
|
|
|
6cf099 |
}
|
|
|
6cf099 |
|
|
|
6cf099 |
- if (state->pass_num > 0) {
|
|
|
6cf099 |
- dns_zone = state->dns_zone;
|
|
|
6cf099 |
- }
|
|
|
6cf099 |
-
|
|
|
6cf099 |
- ret = be_nsupdate_create_fwd_msg(state, state->realm, dns_zone,
|
|
|
6cf099 |
+ ret = be_nsupdate_create_fwd_msg(state, state->realm,
|
|
|
6cf099 |
servername, state->hostname,
|
|
|
6cf099 |
state->ttl, state->remove_af,
|
|
|
6cf099 |
state->addresses,
|
|
|
6cf099 |
@@ -340,7 +330,6 @@ sdap_dyndns_update_step(struct tevent_req *req)
|
|
|
6cf099 |
DEBUG(SSSDBG_OP_FAILURE, "Can't get addresses for DNS update\n");
|
|
|
6cf099 |
return ret;
|
|
|
6cf099 |
}
|
|
|
6cf099 |
- state->pass_num++;
|
|
|
6cf099 |
|
|
|
6cf099 |
/* Fork a child process to perform the DNS update */
|
|
|
6cf099 |
subreq = be_nsupdate_send(state, state->ev, state->auth_type,
|
|
|
6cf099 |
diff --git a/src/providers/ldap/sdap_dyndns.h b/src/providers/ldap/sdap_dyndns.h
|
|
|
6cf099 |
index 7aaff5d2c69fbda55fff5208c97b953b970c55cc..a9481b7941be6af0f172afce5f4d54f57ef85e48 100644
|
|
|
6cf099 |
--- a/src/providers/ldap/sdap_dyndns.h
|
|
|
6cf099 |
+++ b/src/providers/ldap/sdap_dyndns.h
|
|
|
6cf099 |
@@ -39,7 +39,6 @@ sdap_dyndns_update_send(TALLOC_CTX *mem_ctx,
|
|
|
6cf099 |
enum be_nsupdate_auth auth_type,
|
|
|
6cf099 |
const char *ifname,
|
|
|
6cf099 |
const char *hostname,
|
|
|
6cf099 |
- const char *dns_zone,
|
|
|
6cf099 |
const char *realm,
|
|
|
6cf099 |
const char *servername,
|
|
|
6cf099 |
const int ttl,
|
|
|
6cf099 |
--
|
|
|
6cf099 |
2.4.3
|
|
|
6cf099 |
|