krb5 commit: Implement kpropd -A
Greg Hudson
ghudson at MIT.EDU
Thu Feb 20 21:25:35 EST 2014
https://github.com/krb5/krb5/commit/90c11ff42008a90a72ee71444b0ad799e38b7ff0
commit 90c11ff42008a90a72ee71444b0ad799e38b7ff0
Author: Greg Hudson <ghudson at mit.edu>
Date: Sun Jan 26 22:18:18 2014 -0500
Implement kpropd -A
The -A option causes kpropd to contact a specified admin server
(normally an intermediate slave running kadmind -proponly) instead of
the master admin server.
Based on code submitted by Richard Basch.
ticket: 7855
doc/admin/admin_commands/kpropd.rst | 5 +++++
src/slave/kpropd.c | 8 ++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/doc/admin/admin_commands/kpropd.rst b/doc/admin/admin_commands/kpropd.rst
index 0bd0a02..43b6db7 100644
--- a/doc/admin/admin_commands/kpropd.rst
+++ b/doc/admin/admin_commands/kpropd.rst
@@ -8,6 +8,7 @@ SYNOPSIS
**kpropd**
[**-r** *realm*]
+[**-A** *admin_server*]
[**-a** *acl_file*]
[**-f** *slave_dumpfile*]
[**-F** *principal_database*]
@@ -70,6 +71,10 @@ OPTIONS
**-r** *realm*
Specifies the realm of the master server.
+**-A** *admin_server*
+ Specifies the server to be contacted for incremental updates; by
+ default, the master admin server is contacted.
+
**-f** *file*
Specifies the filename where the dumped principal database file is
to be stored; by default the dumped database file is |kdcdir|\
diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c
index 3573a26..55ca511 100644
--- a/src/slave/kpropd.c
+++ b/src/slave/kpropd.c
@@ -174,6 +174,7 @@ usage()
progname);
fprintf(stderr, _("\t[-F kerberos_db_file ] [-p kdb5_util_pathname]\n"));
fprintf(stderr, _("\t[-x db_args]* [-P port] [-a acl_file]\n"));
+ fprintf(stderr, _("\t[-A admin_server]\n"));
exit(1);
}
@@ -1056,6 +1057,13 @@ parse_args(char **argv)
word++;
while (word != NULL && (ch = *word++) != '\0') {
switch (ch) {
+ case 'A':
+ params.mask |= KADM5_CONFIG_ADMIN_SERVER;
+ params.admin_server = (*word != '\0') ? word : *argv++;
+ if (params.admin_server == NULL)
+ usage();
+ word = NULL;
+ break;
case 'f':
file = (*word != '\0') ? word : *argv++;
if (file == NULL)
More information about the cvs-krb5
mailing list