From 5a6e784e64c9e3d9b16b257f73cc6332771d9e18 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 2 Oct 2023 14:55:23 +0200 Subject: Move 'networks' routines from 'inet' into 'nss' The getnetby* and getnetent* routines are entry points for nss functionality. This commit moves them from the 'inet' subdirectory to 'nss'. Reviewed-by: Adhemerval Zanella --- inet/Makefile | 12 ------------ inet/Versions | 3 +-- inet/getnetbyad.c | 33 --------------------------------- inet/getnetbyad_r.c | 33 --------------------------------- inet/getnetbynm.c | 32 -------------------------------- inet/getnetbynm_r.c | 32 -------------------------------- inet/getnetent.c | 29 ----------------------------- inet/getnetent_r.c | 34 ---------------------------------- nss/Makefile | 19 +++++++++++++++++++ nss/Versions | 2 ++ nss/getnetbyad.c | 33 +++++++++++++++++++++++++++++++++ nss/getnetbyad_r.c | 33 +++++++++++++++++++++++++++++++++ nss/getnetbynm.c | 32 ++++++++++++++++++++++++++++++++ nss/getnetbynm_r.c | 32 ++++++++++++++++++++++++++++++++ nss/getnetent.c | 29 +++++++++++++++++++++++++++++ nss/getnetent_r.c | 34 ++++++++++++++++++++++++++++++++++ 16 files changed, 215 insertions(+), 207 deletions(-) delete mode 100644 inet/getnetbyad.c delete mode 100644 inet/getnetbyad_r.c delete mode 100644 inet/getnetbynm.c delete mode 100644 inet/getnetbynm_r.c delete mode 100644 inet/getnetent.c delete mode 100644 inet/getnetent_r.c create mode 100644 nss/getnetbyad.c create mode 100644 nss/getnetbyad_r.c create mode 100644 nss/getnetbynm.c create mode 100644 nss/getnetbynm_r.c create mode 100644 nss/getnetent.c create mode 100644 nss/getnetent_r.c diff --git a/inet/Makefile b/inet/Makefile index 9f39f7ff2b..776cbfa0fd 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -48,12 +48,6 @@ routines := \ ether_ntoa_r \ getipv4sourcefilter \ getnameinfo \ - getnetbyad \ - getnetbyad_r \ - getnetbynm \ - getnetbynm_r \ - getnetent \ - getnetent_r \ getproto \ getproto_r \ getprtent \ @@ -144,12 +138,6 @@ include ../gen-locales.mk ifeq ($(have-thread-library),yes) CFLAGS-rcmd.c += -fexceptions -CFLAGS-getnetbynm_r.c += -fexceptions -CFLAGS-getnetbynm.c += -fexceptions -CFLAGS-getnetbyad_r.c += -fexceptions -CFLAGS-getnetbyad.c += -fexceptions -CFLAGS-getnetent_r.c += -fexceptions -CFLAGS-getnetent.c += -fexceptions CFLAGS-getrpcent_r.c += -fexceptions CFLAGS-getrpcent.c += -fexceptions CFLAGS-getservent_r.c += -fexceptions diff --git a/inet/Versions b/inet/Versions index 1ffa444730..051b305e48 100644 --- a/inet/Versions +++ b/inet/Versions @@ -14,8 +14,7 @@ libc { ether_ntoa_r; # g* - getdomainname; getnetbyaddr; getnetbyaddr_r; getnetbyname; - getnetbyname_r; getnetent; getnetent_r; + getdomainname; getprotobyname; getprotobyname_r; getprotobynumber; getprotobynumber_r; getprotoent; getprotoent_r; getservbyname; getservbyname_r; getservbyport; diff --git a/inet/getnetbyad.c b/inet/getnetbyad.c deleted file mode 100644 index 8b4f387b74..0000000000 --- a/inet/getnetbyad.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include - - -#define LOOKUP_TYPE struct netent -#define FUNCTION_NAME getnetbyaddr -#define DATABASE_NAME networks -#define ADD_PARAMS uint32_t net, int type -#define ADD_VARIABLES net, type -#define BUFLEN 1024 -#define NEED_H_ERRNO 1 - -/* There is no nscd support for the networks file. */ -#undef USE_NSCD - -#include "../nss/getXXbyYY.c" diff --git a/inet/getnetbyad_r.c b/inet/getnetbyad_r.c deleted file mode 100644 index 9a06c5e40b..0000000000 --- a/inet/getnetbyad_r.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include - - -#define LOOKUP_TYPE struct netent -#define FUNCTION_NAME getnetbyaddr -#define DATABASE_NAME networks -#define ADD_PARAMS uint32_t net, int type -#define ADD_VARIABLES net, type -#define NEED__RES 1 -#define NEED_H_ERRNO 1 - -/* There is no nscd support for the networks file. */ -#undef USE_NSCD - -#include "../nss/getXXbyYY_r.c" diff --git a/inet/getnetbynm.c b/inet/getnetbynm.c deleted file mode 100644 index b763718873..0000000000 --- a/inet/getnetbynm.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - - -#define LOOKUP_TYPE struct netent -#define FUNCTION_NAME getnetbyname -#define DATABASE_NAME networks -#define ADD_PARAMS const char *name -#define ADD_VARIABLES name -#define BUFLEN 1024 -#define NEED_H_ERRNO 1 - -/* There is no nscd support for the networks file. */ -#undef USE_NSCD - -#include "../nss/getXXbyYY.c" diff --git a/inet/getnetbynm_r.c b/inet/getnetbynm_r.c deleted file mode 100644 index feb8b303a3..0000000000 --- a/inet/getnetbynm_r.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - - -#define LOOKUP_TYPE struct netent -#define FUNCTION_NAME getnetbyname -#define DATABASE_NAME networks -#define ADD_PARAMS const char *name -#define ADD_VARIABLES name -#define NEED__RES 1 -#define NEED_H_ERRNO 1 - -/* There is no nscd support for the networks file. */ -#undef USE_NSCD - -#include "../nss/getXXbyYY_r.c" diff --git a/inet/getnetent.c b/inet/getnetent.c deleted file mode 100644 index 69b4e399d6..0000000000 --- a/inet/getnetent.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - - -#define LOOKUP_TYPE struct netent -#define GETFUNC_NAME getnetent -#define BUFLEN 1024 -#define NEED_H_ERRNO 1 - -/* There is no nscd support for the networks file. */ -#undef USE_NSCD - -#include "../nss/getXXent.c" diff --git a/inet/getnetent_r.c b/inet/getnetent_r.c deleted file mode 100644 index d0a05993ab..0000000000 --- a/inet/getnetent_r.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - - -#define LOOKUP_TYPE struct netent -#define SETFUNC_NAME setnetent -#define GETFUNC_NAME getnetent -#define ENDFUNC_NAME endnetent -#define DATABASE_NAME networks -#define STAYOPEN int stayopen -#define STAYOPEN_VAR stayopen -#define NEED__RES 1 -#define NEED_H_ERRNO 1 - -/* There is no nscd support for the networks file. */ -#undef USE_NSCD - -#include "../nss/getXXent_r.c" diff --git a/nss/Makefile b/nss/Makefile index 2a451f68d9..023a11fa4b 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -159,6 +159,25 @@ CFLAGS-getnetgrent.c += -fexceptions CFLAGS-getnetgrent_r.c += -fexceptions endif +# networks routines: +routines += \ + getnetbyad \ + getnetbyad_r \ + getnetbynm \ + getnetbynm_r \ + getnetent \ + getnetent_r \ + # routines + +ifeq ($(have-thread-library),yes) +CFLAGS-getnetbyad.c += -fexceptions +CFLAGS-getnetbyad_r.c += -fexceptions +CFLAGS-getnetbynm.c += -fexceptions +CFLAGS-getnetbynm_r.c += -fexceptions +CFLAGS-getnetent.c += -fexceptions +CFLAGS-getnetent_r.c += -fexceptions +endif + # pwd routines: routines += \ fgetpwent \ diff --git a/nss/Versions b/nss/Versions index 4ddc018012..95219f0fc7 100644 --- a/nss/Versions +++ b/nss/Versions @@ -25,6 +25,8 @@ libc { gethostbyaddr; gethostbyaddr_r; gethostbyname; gethostbyname2; gethostbyname2_r; gethostbyname_r; gethostent; gethostent_r; getnetgrent; getnetgrent_r; + getnetbyaddr; getnetbyaddr_r; getnetbyname; getnetbyname_r; + getnetent; getnetent_r; getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r; getspent; getspent_r; getspnam; getspnam_r; diff --git a/nss/getnetbyad.c b/nss/getnetbyad.c new file mode 100644 index 0000000000..8b4f387b74 --- /dev/null +++ b/nss/getnetbyad.c @@ -0,0 +1,33 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + + +#define LOOKUP_TYPE struct netent +#define FUNCTION_NAME getnetbyaddr +#define DATABASE_NAME networks +#define ADD_PARAMS uint32_t net, int type +#define ADD_VARIABLES net, type +#define BUFLEN 1024 +#define NEED_H_ERRNO 1 + +/* There is no nscd support for the networks file. */ +#undef USE_NSCD + +#include "../nss/getXXbyYY.c" diff --git a/nss/getnetbyad_r.c b/nss/getnetbyad_r.c new file mode 100644 index 0000000000..9a06c5e40b --- /dev/null +++ b/nss/getnetbyad_r.c @@ -0,0 +1,33 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include + + +#define LOOKUP_TYPE struct netent +#define FUNCTION_NAME getnetbyaddr +#define DATABASE_NAME networks +#define ADD_PARAMS uint32_t net, int type +#define ADD_VARIABLES net, type +#define NEED__RES 1 +#define NEED_H_ERRNO 1 + +/* There is no nscd support for the networks file. */ +#undef USE_NSCD + +#include "../nss/getXXbyYY_r.c" diff --git a/nss/getnetbynm.c b/nss/getnetbynm.c new file mode 100644 index 0000000000..b763718873 --- /dev/null +++ b/nss/getnetbynm.c @@ -0,0 +1,32 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + + +#define LOOKUP_TYPE struct netent +#define FUNCTION_NAME getnetbyname +#define DATABASE_NAME networks +#define ADD_PARAMS const char *name +#define ADD_VARIABLES name +#define BUFLEN 1024 +#define NEED_H_ERRNO 1 + +/* There is no nscd support for the networks file. */ +#undef USE_NSCD + +#include "../nss/getXXbyYY.c" diff --git a/nss/getnetbynm_r.c b/nss/getnetbynm_r.c new file mode 100644 index 0000000000..feb8b303a3 --- /dev/null +++ b/nss/getnetbynm_r.c @@ -0,0 +1,32 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + + +#define LOOKUP_TYPE struct netent +#define FUNCTION_NAME getnetbyname +#define DATABASE_NAME networks +#define ADD_PARAMS const char *name +#define ADD_VARIABLES name +#define NEED__RES 1 +#define NEED_H_ERRNO 1 + +/* There is no nscd support for the networks file. */ +#undef USE_NSCD + +#include "../nss/getXXbyYY_r.c" diff --git a/nss/getnetent.c b/nss/getnetent.c new file mode 100644 index 0000000000..69b4e399d6 --- /dev/null +++ b/nss/getnetent.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + + +#define LOOKUP_TYPE struct netent +#define GETFUNC_NAME getnetent +#define BUFLEN 1024 +#define NEED_H_ERRNO 1 + +/* There is no nscd support for the networks file. */ +#undef USE_NSCD + +#include "../nss/getXXent.c" diff --git a/nss/getnetent_r.c b/nss/getnetent_r.c new file mode 100644 index 0000000000..d0a05993ab --- /dev/null +++ b/nss/getnetent_r.c @@ -0,0 +1,34 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + + +#define LOOKUP_TYPE struct netent +#define SETFUNC_NAME setnetent +#define GETFUNC_NAME getnetent +#define ENDFUNC_NAME endnetent +#define DATABASE_NAME networks +#define STAYOPEN int stayopen +#define STAYOPEN_VAR stayopen +#define NEED__RES 1 +#define NEED_H_ERRNO 1 + +/* There is no nscd support for the networks file. */ +#undef USE_NSCD + +#include "../nss/getXXent_r.c" -- cgit v1.2.3