__set_errno (EINVAL);
*errnop = EINVAL;
_nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,		       int *errnop){  enum nss_status retval;  char buf[1024];  char *domain, *result;  int len;  skey[0] = 0;  if (netname == NULL || passwd == NULL)    {      __set_errno (EINVAL);      return NSS_STATUS_UNAVAIL;    }  domain = strchr (netname, '@');  if (!domain)    return NSS_STATUS_UNAVAIL;  domain++;  retval = yperr2nss (yp_match (domain, "publickey.byname", netname,				strlen (netname), &result, &len));  if (retval != NSS_STATUS_SUCCESS)    {      if (retval == NSS_STATUS_TRYAGAIN)	*errnop = errno;      return retval;    }  if (result != NULL)    {      char *p = strchr (result, ':');      if (p == NULL)	return NSS_STATUS_SUCCESS;      p++;      strcpy (buf, p);      if (!xdecrypt (buf, passwd))	return NSS_STATUS_SUCCESS;      if (memcmp (buf, &(buf[HEXKEYBYTES]), KEYCHECKSUMSIZE) != 0)	return NSS_STATUS_SUCCESS;      buf[HEXKEYBYTES] = 0;      strcpy (skey, buf);    }  return NSS_STATUS_SUCCESS;}