#include <libintl.h>
#include <ss/ss.h>
#include "k5-int.h"
#define gettext(s) s
#ifndef __STDC__
#define const
#endif
static char const * const ssu00001[] = {
"clear_list",
"clear",
(char const *)0
};
extern void ktutil_clear_list __SS_PROTO;
static char const * const ssu00002[] = {
"read_kt",
"rkt",
(char const *)0
};
extern void ktutil_read_v5 __SS_PROTO;
static char const * const ssu00003[] = {
"read_st",
"rst",
(char const *)0
};
extern void ktutil_read_v4 __SS_PROTO;
static char const * const ssu00004[] = {
"write_kt",
"wkt",
(char const *)0
};
extern void ktutil_write_v5 __SS_PROTO;
static char const * const ssu00005[] = {
"write_st",
"wst",
(char const *)0
};
extern void ktutil_write_v4 __SS_PROTO;
static char const * const ssu00006[] = {
"add_entry",
"addent",
(char const *)0
};
extern void ktutil_add_entry __SS_PROTO;
static char const * const ssu00007[] = {
"delete_entry",
"delent",
(char const *)0
};
extern void ktutil_delete_entry __SS_PROTO;
static char const * const ssu00008[] = {
"list",
"l",
(char const *)0
};
extern void ktutil_list __SS_PROTO;
static char const * const ssu00009[] = {
"list_requests",
"lr",
"?",
(char const *)0
};
extern void ss_list_requests __SS_PROTO;
static char const * const ssu00010[] = {
"quit",
"exit",
"q",
(char const *)0
};
extern void ss_quit __SS_PROTO;
static ss_request_entry ssu00011[] = {
{ ssu00001,
ktutil_clear_list,
gettext("Clear the current keylist."),
0 },
{ ssu00002,
ktutil_read_v5,
gettext("Read a krb5 keytab into the current keylist."),
0 },
{ ssu00003,
ktutil_read_v4,
gettext("Read a krb4 srvtab into the current keylist."),
0 },
{ ssu00004,
ktutil_write_v5,
gettext("Write the current keylist to a krb5 keytab."),
0 },
{ ssu00005,
ktutil_write_v4,
gettext("Write the current keylist to a krb4 srvtab."),
0 },
{ ssu00006,
ktutil_add_entry,
gettext("Add an entry to the current keylist."),
0 },
{ ssu00007,
ktutil_delete_entry,
gettext("Delete an entry from the current keylist."),
0 },
{ ssu00008,
ktutil_list,
gettext("List the current keylist."),
0 },
{ ssu00009,
ss_list_requests,
gettext("List available requests."),
0 },
{ ssu00010,
ss_quit,
gettext("Exit program."),
0 },
{ 0, 0, 0, 0 }
};
ss_request_table ktutil_cmds = { 2, ssu00011 };
#undef gettext
krb5_error_code
ktutil_initialize_cmds_table(ss_request_table *ktutil_cmds)
{
char *localized_text;
ss_request_entry *ss_cmd;
krb5_error_code retval = 0;
if (ktutil_cmds) {
for (ss_cmd = ktutil_cmds->requests;
ss_cmd->info_string && *(ss_cmd->info_string) != '\0';
++ss_cmd) {
localized_text = gettext(ss_cmd->info_string);
if ((strcmp(localized_text, ss_cmd->info_string))
!= 0) {
ss_cmd->info_string = strdup(localized_text);
}
}
}
else
retval = EINVAL;
return (retval);
}