size_t principal_length;
gss_buffer_desc s_princ_buffer;
- /* get all the required information from afpd */
+ /* get information from afpd */
if (uam_afpserver_option(obj, UAM_OPTION_FQDN, (void*) &fqdn, &fqdnlen) < 0)
return 1;
LOG(log_debug, logtype_uams, "get_afpd_principal: fqdn: %s", fqdn);
return 1;
LOG(log_debug, logtype_uams, "get_afpd_principal: service: %s", service);
- /* we need all the info, log error and return if one's missing */
+ /* if we don't have all the info, log that and return GSS_C_NO_NAME */
if (!service || !servicelen || !fqdn || !fqdnlen) {
- LOG(log_error, logtype_uams,
- "get_afpd_principal: could not retrieve required information from afpd.");
- return 1;
+ LOG(log_note, logtype_uams,
+ "get_afpd_principal: could not retrieve information from afpd, using default service principal(s)");
+
+ *server_name = GSS_C_NO_NAME;
+ return 0;
}
/* allocate memory to hold the temporary principal string */