Remove `--keytab' option.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4533 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -47,13 +47,11 @@ RCSID("$Id$");
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static char *srvtab = KEYFILE;
|
static char *srvtab = KEYFILE;
|
||||||
static char *keytab;
|
|
||||||
static int help_flag;
|
static int help_flag;
|
||||||
static int verbose;
|
static int verbose;
|
||||||
|
|
||||||
static struct getargs args[] = {
|
static struct getargs args[] = {
|
||||||
{ "srvtab", 's', arg_string, &srvtab, "Srvtab to convert", "file" },
|
{ "srvtab", 's', arg_string, &srvtab, "srvtab to convert", "file" },
|
||||||
{ "keytab", 'k', arg_string, &keytab, "Keytab to put result in", "keytab" },
|
|
||||||
{ "help", 'h', arg_flag, &help_flag },
|
{ "help", 'h', arg_flag, &help_flag },
|
||||||
{ "verbose", 'v', arg_flag, &verbose },
|
{ "verbose", 'v', arg_flag, &verbose },
|
||||||
};
|
};
|
||||||
@@ -65,10 +63,8 @@ srvconv(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
int optind = 0;
|
int optind = 0;
|
||||||
char keytab_name[256];
|
|
||||||
int fd;
|
int fd;
|
||||||
krb5_storage *sp;
|
krb5_storage *sp;
|
||||||
krb5_keytab id;
|
|
||||||
|
|
||||||
if(getarg(args, num_args, argc, argv, &optind)){
|
if(getarg(args, num_args, argc, argv, &optind)){
|
||||||
arg_printusage(args, num_args, "");
|
arg_printusage(args, num_args, "");
|
||||||
@@ -87,29 +83,14 @@ srvconv(int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(keytab == NULL){
|
|
||||||
ret = krb5_kt_default_name(context, keytab_name, sizeof(keytab_name));
|
|
||||||
if(ret) {
|
|
||||||
krb5_warn(context, ret, "krb5_kt_default_name");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
keytab = keytab_name;
|
|
||||||
}
|
|
||||||
ret = krb5_kt_resolve(context, keytab, &id);
|
|
||||||
if(ret) {
|
|
||||||
krb5_warn(context, ret, "krb5_kt_resolve");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
fd = open(srvtab, O_RDONLY);
|
fd = open(srvtab, O_RDONLY);
|
||||||
if(fd < 0){
|
if(fd < 0){
|
||||||
krb5_warn(context, errno, "%s", srvtab);
|
krb5_warn(context, errno, "%s", srvtab);
|
||||||
krb5_kt_close(context, id);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
sp = krb5_storage_from_fd(fd);
|
sp = krb5_storage_from_fd(fd);
|
||||||
if(sp == NULL){
|
if(sp == NULL){
|
||||||
close(fd);
|
close(fd);
|
||||||
krb5_kt_close(context, id);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
while(1){
|
while(1){
|
||||||
@@ -185,7 +166,7 @@ srvconv(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
ret = krb5_kt_add_entry(context, id, &entry);
|
ret = krb5_kt_add_entry(context, keytab, &entry);
|
||||||
krb5_free_principal(context, entry.principal);
|
krb5_free_principal(context, entry.principal);
|
||||||
if(ret) {
|
if(ret) {
|
||||||
krb5_warn(context, ret, "krb5_kt_add_entry");
|
krb5_warn(context, ret, "krb5_kt_add_entry");
|
||||||
@@ -194,6 +175,5 @@ srvconv(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
krb5_storage_free(sp);
|
krb5_storage_free(sp);
|
||||||
close(fd);
|
close(fd);
|
||||||
krb5_kt_close(context, id);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user