summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libads/kerberos_keytab.c4
-rw-r--r--source3/utils/net_ads.c13
2 files changed, 12 insertions, 5 deletions
diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c
index 95a3a37712..a1038e1f2d 100644
--- a/source3/libads/kerberos_keytab.c
+++ b/source3/libads/kerberos_keytab.c
@@ -801,7 +801,7 @@ done:
List system keytab.
***********************************************************************/
-int ads_keytab_list(void)
+int ads_keytab_list(const char *keytab_name)
{
krb5_error_code ret = 0;
krb5_context context = NULL;
@@ -819,7 +819,7 @@ int ads_keytab_list(void)
return ret;
}
- ret = smb_krb5_open_keytab(context, NULL, False, &keytab);
+ ret = smb_krb5_open_keytab(context, keytab_name, False, &keytab);
if (ret) {
DEBUG(1,("ads_keytab_list: smb_krb5_open_keytab failed (%s)\n", error_message(ret)));
goto out;
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c
index a1206bbd52..29d7e386d8 100644
--- a/source3/utils/net_ads.c
+++ b/source3/utils/net_ads.c
@@ -2423,12 +2423,13 @@ static int net_ads_keytab_usage(int argc, const char **argv)
" FLUSH Flushes out all keytab entries\n"\
" HELP Prints this help message\n"\
" LIST List the keytab\n"\
-"The ADD command will take arguments, the other commands\n"\
+"The ADD and LIST command will take arguments, the other commands\n"\
"will not take any arguments. The arguments given to ADD\n"\
"should be a list of principals to add. For example, \n"\
" net ads keytab add srv1 srv2\n"\
"will add principals for the services srv1 and srv2 to the\n"\
"system's keytab.\n"\
+"The LIST command takes a keytabname.\n"\
"\n"
);
return -1;
@@ -2479,15 +2480,21 @@ static int net_ads_keytab_create(int argc, const char **argv)
static int net_ads_keytab_list(int argc, const char **argv)
{
- return ads_keytab_list();
+ const char *keytab = NULL;
+
+ if (argc >= 1) {
+ keytab = argv[0];
+ }
+
+ return ads_keytab_list(keytab);
}
int net_ads_keytab(int argc, const char **argv)
{
struct functable func[] = {
- {"CREATE", net_ads_keytab_create},
{"ADD", net_ads_keytab_add},
+ {"CREATE", net_ads_keytab_create},
{"FLUSH", net_ads_keytab_flush},
{"HELP", net_ads_keytab_usage},
{"LIST", net_ads_keytab_list},