6380111 kadmind should try to provide iprop service even if it can't provide kadmin or changepw services.
authormp153739
Thu, 16 Feb 2006 07:40:57 -0800
changeset 1446 a2129b6a7098
parent 1445 cb460666989c
child 1447 4b37e9d491a0
6380111 kadmind should try to provide iprop service even if it can't provide kadmin or changepw services.
usr/src/cmd/krb5/kadmin/server/ovsec_kadmd.c
--- a/usr/src/cmd/krb5/kadmin/server/ovsec_kadmd.c	Thu Feb 16 07:32:26 2006 -0800
+++ b/usr/src/cmd/krb5/kadmin/server/ovsec_kadmd.c	Thu Feb 16 07:40:57 2006 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -771,16 +771,6 @@
 	if (rpc_gss_set_svc_name(names[1].name,
 				"kerberos_v5", 0, KADM, KADMVERS))
 		oldnames++;
-	if (!oldnames) {
-		krb5_klog_syslog(LOG_ERR,
-		    gettext("Cannot initialize GSS-API authentication, "
-			"failing."));
-		fprintf(stderr,
-		    gettext("%s:Cannot initialize GSS-API authentication.\n"),
-		    whoami);
-		krb5_klog_close(context);
-		exit(1);
-	}
 
 	retdn = getdomnames(context, params.realm, &dnames);
 	if (retdn == 0 && dnames) {
@@ -922,6 +912,23 @@
 					KRB5_IPROP_PROG, KRB5_IPROP_VERS);
 		}
 
+	} else {
+		if (!oldnames) {
+		/* rpc_gss_set_svc_name failed for both kadmin/<fqdn> and
+		 * changepw/<fqdn>.
+		 */
+			krb5_klog_syslog(LOG_ERR,
+					gettext("Unable to set RPCSEC_GSS service names "
+						"('%s, %s')"),
+					names[0].name, names[1].name);
+			fprintf(stderr,
+					gettext("%s: Unable to set RPCSEC_GSS service names "
+						"('%s, %s')\n"),
+					whoami,
+					names[0].name, names[1].name);
+			krb5_klog_close(context);
+			exit(1);
+		}
 	}
 
 	if (dnames)