(kt_copy): default to modify key name. re-organise
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9886 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
21
admin/copy.c
21
admin/copy.c
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997 - 2001 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -57,20 +57,23 @@ kt_copy_int (const char *from, const char *to)
|
|||||||
ret = krb5_kt_resolve (context, from, &src_keytab);
|
ret = krb5_kt_resolve (context, from, &src_keytab);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
krb5_warn (context, ret, "resolving src keytab `%s'", from);
|
krb5_warn (context, ret, "resolving src keytab `%s'", from);
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = krb5_kt_resolve (context, to, &dst_keytab);
|
ret = krb5_kt_resolve (context, to, &dst_keytab);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
krb5_kt_close (context, src_keytab);
|
krb5_kt_close (context, src_keytab);
|
||||||
krb5_warn (context, ret, "resolving dst keytab `%s'", to);
|
krb5_warn (context, ret, "resolving dst keytab `%s'", to);
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (verbose_flag)
|
||||||
|
fprintf(stderr, "copying %s to %s\n", from, to);
|
||||||
|
|
||||||
ret = krb5_kt_start_seq_get (context, src_keytab, &cursor);
|
ret = krb5_kt_start_seq_get (context, src_keytab, &cursor);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
krb5_warn (context, ret, "krb5_kt_start_seq_get %s", keytab_string);
|
krb5_warn (context, ret, "krb5_kt_start_seq_get %s", keytab_string);
|
||||||
goto fail;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
while((ret = krb5_kt_next_entry(context, src_keytab,
|
while((ret = krb5_kt_next_entry(context, src_keytab,
|
||||||
@@ -121,7 +124,7 @@ kt_copy_int (const char *from, const char *to)
|
|||||||
}
|
}
|
||||||
krb5_kt_end_seq_get (context, src_keytab, &cursor);
|
krb5_kt_end_seq_get (context, src_keytab, &cursor);
|
||||||
|
|
||||||
fail:
|
out:
|
||||||
krb5_kt_close (context, src_keytab);
|
krb5_kt_close (context, src_keytab);
|
||||||
krb5_kt_close (context, dst_keytab);
|
krb5_kt_close (context, dst_keytab);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -146,12 +149,12 @@ kt_copy (int argc, char **argv)
|
|||||||
if(getarg(args, num_args, argc, argv, &optind)) {
|
if(getarg(args, num_args, argc, argv, &optind)) {
|
||||||
arg_printusage(args, num_args, "ktutil copy",
|
arg_printusage(args, num_args, "ktutil copy",
|
||||||
"keytab-src keytab-dest");
|
"keytab-src keytab-dest");
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
if (help_flag) {
|
if (help_flag) {
|
||||||
arg_printusage(args, num_args, "ktutil copy",
|
arg_printusage(args, num_args, "ktutil copy",
|
||||||
"keytab-src keytab-dest");
|
"keytab-src keytab-dest");
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
argv += optind;
|
argv += optind;
|
||||||
@@ -160,7 +163,7 @@ kt_copy (int argc, char **argv)
|
|||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
arg_printusage(args, num_args, "ktutil copy",
|
arg_printusage(args, num_args, "ktutil copy",
|
||||||
"keytab-src keytab-dest");
|
"keytab-src keytab-dest");
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return kt_copy_int(argv[0], argv[1]);
|
return kt_copy_int(argv[0], argv[1]);
|
||||||
@@ -220,7 +223,7 @@ conv(int srvconv, int argc, char **argv)
|
|||||||
if(keytab_string != NULL)
|
if(keytab_string != NULL)
|
||||||
return kt_copy_int(kt4, keytab_string);
|
return kt_copy_int(kt4, keytab_string);
|
||||||
else {
|
else {
|
||||||
krb5_kt_default_name(context, kt5, sizeof(kt5));
|
krb5_kt_default_modify_name(context, kt5, sizeof(kt5));
|
||||||
return kt_copy_int(kt4, kt5);
|
return kt_copy_int(kt4, kt5);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user