summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2014-03-10 15:11:18 +0100
committerGünther Deschner <gd@samba.org>2014-03-12 10:13:20 +0100
commit9725a86e60bb6ef6e912621e81acc955ae2f70a8 (patch)
treee4ee67fc171ced037df4b0a003359675afb5a506
parentbaed403983a5bb2e728249443fdfc9167a87f526 (diff)
downloadsamba-9725a86e60bb6ef6e912621e81acc955ae2f70a8.tar.gz
samba-9725a86e60bb6ef6e912621e81acc955ae2f70a8.tar.xz
samba-9725a86e60bb6ef6e912621e81acc955ae2f70a8.zip
s3-net: change the way impersonation principals are used in "net ads kerberos pac".
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r--source3/utils/net_ads.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c
index 5a073b1cc7..ac6346f5b1 100644
--- a/source3/utils/net_ads.c
+++ b/source3/utils/net_ads.c
@@ -2605,6 +2605,7 @@ static int net_ads_kerberos_pac(struct net_context *c, int argc, const char **ar
int ret = -1;
const char *impersonate_princ_s = NULL;
const char *local_service = NULL;
+ int i;
if (c->display_usage) {
d_printf( "%s\n"
@@ -2615,15 +2616,20 @@ static int net_ads_kerberos_pac(struct net_context *c, int argc, const char **ar
return 0;
}
+ for (i=0; i<argc; i++) {
+ if (strnequal(argv[i], "impersonate", strlen("impersonate"))) {
+ impersonate_princ_s = get_string_param(argv[i]);
+ if (impersonate_princ_s == NULL) {
+ return -1;
+ }
+ }
+ }
+
mem_ctx = talloc_init("net_ads_kerberos_pac");
if (!mem_ctx) {
goto out;
}
- if (argc > 0) {
- impersonate_princ_s = argv[0];
- }
-
local_service = talloc_asprintf(mem_ctx, "%s$@%s",
lp_netbios_name(), lp_realm());
if (local_service == NULL) {