summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-02-17 21:14:10 +1100
committerStefan Metzmacher <metze@samba.org>2010-02-23 13:48:20 +0100
commitae209d488ec00b0527057331f84b7d0d99305b4c (patch)
tree5b9499089b6192fb7d88f0b0b8fea10ac9f1d777
parent95ee01bb3047eb65de2a6812e003450d068e677e (diff)
downloadsamba-ae209d488ec00b0527057331f84b7d0d99305b4c.tar.gz
samba-ae209d488ec00b0527057331f84b7d0d99305b4c.tar.bz2
samba-ae209d488ec00b0527057331f84b7d0d99305b4c.zip
s4-param: added "dns update command" smb.conf option
defaults to SBINDIR/samba_dnsupdate This command will do periodic dynamic DNS updates using TSIG-GSS
-rw-r--r--source4/param/loadparm.c4
-rw-r--r--source4/param/param.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c
index bcd31888d7..8bb56c764a 100644
--- a/source4/param/loadparm.c
+++ b/source4/param/loadparm.c
@@ -187,6 +187,7 @@ struct loadparm_global
int bRpcBigEndian;
char *szNTPSignDSocketDirectory;
char *szRNDCCommand;
+ char *szDNSUpdateCommand;
struct parmlist_entry *param_opt;
};
@@ -505,6 +506,7 @@ static struct parm_struct parm_table[] = {
{"ntp signd socket directory", P_STRING, P_GLOBAL, GLOBAL_VAR(szNTPSignDSocketDirectory), NULL, NULL },
{"rndc command", P_STRING, P_GLOBAL, GLOBAL_VAR(szRNDCCommand), NULL, NULL },
+ {"dns update command", P_STRING, P_GLOBAL, GLOBAL_VAR(szDNSUpdateCommand), NULL, NULL },
{NULL, P_BOOL, P_NONE, 0, NULL, NULL}
};
@@ -657,6 +659,7 @@ _PUBLIC_ FN_GLOBAL_STRING(lp_unix_charset, unix_charset)
_PUBLIC_ FN_GLOBAL_STRING(lp_display_charset, display_charset)
_PUBLIC_ FN_GLOBAL_STRING(lp_piddir, szPidDir)
_PUBLIC_ FN_GLOBAL_STRING(lp_rndc_command, szRNDCCommand)
+_PUBLIC_ FN_GLOBAL_STRING(lp_dns_update_command, szDNSUpdateCommand)
_PUBLIC_ FN_GLOBAL_LIST(lp_dcerpc_endpoint_servers, dcerpc_ep_servers)
_PUBLIC_ FN_GLOBAL_LIST(lp_server_services, server_services)
_PUBLIC_ FN_GLOBAL_STRING(lp_ntptr_providor, ntptr_providor)
@@ -2451,6 +2454,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
lp_do_global_parameter(lp_ctx, "ntp signd socket directory", dyn_NTP_SIGND_SOCKET_DIR);
lp_do_global_parameter(lp_ctx, "rndc command", "/usr/sbin/rndc");
+ lp_do_global_parameter_var(lp_ctx, "dns update command", "%s/samba_dnsupdate", dyn_SBINDIR);
for (i = 0; parm_table[i].label; i++) {
if (!(lp_ctx->flags[i] & FLAG_CMDLINE)) {
diff --git a/source4/param/param.h b/source4/param/param.h
index 05b3939a48..4ac7eef0f1 100644
--- a/source4/param/param.h
+++ b/source4/param/param.h
@@ -131,6 +131,7 @@ const char **lp_interfaces(struct loadparm_context *);
const char *lp_socket_address(struct loadparm_context *);
const char **lp_netbios_aliases(struct loadparm_context *);
const char *lp_rndc_command(struct loadparm_context *);
+const char *lp_dns_update_command(struct loadparm_context *);
bool lp_disable_netbios(struct loadparm_context *);
bool lp_wins_support(struct loadparm_context *);
bool lp_wins_dns_proxy(struct loadparm_context *);