summaryrefslogtreecommitdiff
path: root/source3/utils/net_rpc_samsync.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2008-11-10 09:51:39 +0100
committerMichael Adam <obnox@samba.org>2008-11-11 00:32:42 +0100
commit39d42378b260240544b5649ff373fc15fbddaed8 (patch)
tree00253a572c4ee7e4531cf45a44515a2d757fb7d2 /source3/utils/net_rpc_samsync.c
parent853909bf94871156002d609f35312f034315182e (diff)
downloadsamba-39d42378b260240544b5649ff373fc15fbddaed8.tar.gz
samba-39d42378b260240544b5649ff373fc15fbddaed8.tar.bz2
samba-39d42378b260240544b5649ff373fc15fbddaed8.zip
[s3]make keytab filename argument mandatory to "net rpc vampire keytab"
This prevents unintended overwriting of the default path /etc/krb5.keytab (e.g.). Michael
Diffstat (limited to 'source3/utils/net_rpc_samsync.c')
-rw-r--r--source3/utils/net_rpc_samsync.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/source3/utils/net_rpc_samsync.c b/source3/utils/net_rpc_samsync.c
index c0922efe6b..73e6dd03cb 100644
--- a/source3/utils/net_rpc_samsync.c
+++ b/source3/utils/net_rpc_samsync.c
@@ -249,7 +249,10 @@ NTSTATUS rpc_vampire_keytab_internals(struct net_context *c,
return status;
}
- if (argc >= 1) {
+ if (argc < 1) {
+ /* the caller should ensure that a filename is provided */
+ return NT_STATUS_INVALID_PARAMETER;
+ } else {
ctx->output_filename = argv[0];
}
@@ -299,9 +302,13 @@ static NTSTATUS rpc_vampire_keytab_ds_internals(struct net_context *c,
ctx->force_full_replication = c->opt_force_full_repl ? true : false;
ctx->clean_old_entries = c->opt_clean_old_entries ? true : false;
- if (argc >= 1) {
+ if (argc < 1) {
+ /* the caller should ensure that a filename is provided */
+ return NT_STATUS_INVALID_PARAMETER;
+ } else {
ctx->output_filename = argv[0];
}
+
if (argc >= 2) {
ctx->object_dns = &argv[1];
ctx->object_count = argc - 1;
@@ -342,9 +349,9 @@ int rpc_vampire_keytab(struct net_context *c, int argc, const char **argv)
{
int ret = 0;
- if (c->display_usage) {
+ if (c->display_usage || (argc < 1)) {
d_printf("Usage:\n"
- "net rpc vampire keytab\n"
+ "net rpc vampire keytab <keytabfile>\n"
" Dump remote SAM database to Kerberos keytab file\n");
return 0;
}