Blame nss/compat-lookup.c

Packit 6c4009
/* Compatibility stubs of accidentally exported __nss_*_lookup functions.
Packit 6c4009
   Copyright (C) 2017-2018 Free Software Foundation, Inc.
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public
Packit 6c4009
   License as published by the Free Software Foundation; either
Packit 6c4009
   version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library; if not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit Service a66758
#include <nsswitch.h>
Packit Service a66758
Packit 6c4009
#include <shlib-compat.h>
Packit 6c4009
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_27)
Packit 6c4009
Packit 6c4009
# include <errno.h>
Packit 6c4009
Packit 6c4009
/* On i386, the function calling convention changed from the standard
Packit 6c4009
   ABI calling convention to three register parameters in glibc 2.8.
Packit 6c4009
   The following error-returning stub happens to be compatible with
Packit 6c4009
   glibc 2.7 and earlier and glibc 2.8 and later, even on i386.  */
Packit 6c4009
int
Packit 6c4009
attribute_compat_text_section
Packit 6c4009
__nss_passwd_lookup (service_user **ni, const char *fct_name, void **fctp)
Packit 6c4009
{
Packit 6c4009
  __set_errno (ENOSYS);
Packit 6c4009
  return -1;
Packit 6c4009
}
Packit 6c4009
compat_symbol (libc, __nss_passwd_lookup, __nss_passwd_lookup, GLIBC_2_0);
Packit 6c4009
strong_alias (__nss_passwd_lookup, __nss_group_lookup)
Packit 6c4009
compat_symbol (libc, __nss_group_lookup, __nss_group_lookup, GLIBC_2_0);
Packit 6c4009
strong_alias (__nss_passwd_lookup, __nss_hosts_lookup)
Packit 6c4009
compat_symbol (libc, __nss_hosts_lookup, __nss_hosts_lookup, GLIBC_2_0);
Packit 6c4009
Packit 6c4009
#endif /* SHLIB_COMPAT */
Packit Service a66758
Packit Service a66758
Packit Service a66758
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_30)
Packit Service a66758
Packit Service a66758
/* These functions were exported under a non-GLIBC_PRIVATE version,
Packit Service a66758
   even though it is not usable externally due to the service_user
Packit Service a66758
   type dependency.  */
Packit Service a66758
Packit Service a66758
int
Packit Service a66758
attribute_compat_text_section
Packit Service a66758
__nss_next (service_user **ni, const char *fct_name, void **fctp, int status,
Packit Service a66758
            int all_values)
Packit Service a66758
{
Packit Service a66758
  return -1;
Packit Service a66758
}
Packit Service a66758
compat_symbol (libc, __nss_next, __nss_next, GLIBC_2_0);
Packit Service a66758
Packit Service a66758
int
Packit Service a66758
attribute_compat_text_section
Packit Service a66758
__nss_database_lookup (const char *database, const char *alternate_name,
Packit Service a66758
                       const char *defconfig, service_user **ni)
Packit Service a66758
{
Packit Service a66758
  *ni = NULL;
Packit Service a66758
  return -1;
Packit Service a66758
}
Packit Service a66758
compat_symbol (libc, __nss_database_lookup, __nss_database_lookup, GLIBC_2_0);
Packit Service a66758
Packit Service a66758
#endif /* SHLIB_COMPAT */