s3-net: allow to provide custom local_service in "net ads kerberos pac".
authorGünther Deschner <gd@samba.org>
Tue, 11 Mar 2014 15:34:36 +0000 (16:34 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 12 Mar 2014 09:13:20 +0000 (10:13 +0100)
Guenther

Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/utils/net_ads.c

index ac6346f5b12d963f15dfa118630868cb69023996..c53c8c6ab6b1369c00dc8aadf9efd53dc2f42e04 100644 (file)
@@ -2623,6 +2623,12 @@ static int net_ads_kerberos_pac(struct net_context *c, int argc, const char **ar
                                return -1;
                        }
                }
+               if (strnequal(argv[i], "local_service", strlen("local_service"))) {
+                       local_service = get_string_param(argv[i]);
+                       if (local_service == NULL) {
+                               return -1;
+                       }
+               }
        }
 
        mem_ctx = talloc_init("net_ads_kerberos_pac");
@@ -2630,10 +2636,12 @@ static int net_ads_kerberos_pac(struct net_context *c, int argc, const char **ar
                goto out;
        }
 
-       local_service = talloc_asprintf(mem_ctx, "%s$@%s",
-                                       lp_netbios_name(), lp_realm());
        if (local_service == NULL) {
-               goto out;
+               local_service = talloc_asprintf(mem_ctx, "%s$@%s",
+                                               lp_netbios_name(), lp_realm());
+               if (local_service == NULL) {
+                       goto out;
+               }
        }
 
        c->opt_password = net_prompt_pass(c, c->opt_user_name);