diff -rc libc-linux-4.4.4/grp/Makefile libc-linux/grp/Makefile
*** libc-linux-4.4.4/grp/Makefile	Fri Aug 27 19:27:18 1993
--- libc-linux/grp/Makefile	Sun Nov 21 18:42:52 1993
***************
*** 21,27 ****
  
  DIRS:=
  SRCS= fgetgrent.c getgrent.c getgrgid.c getgrnam.c grpopen.c \
! 	grpread.c initgroups.c
  SMS= $(SRCS:.c=.s)
  OBJS= $(SRCS:.c=.o)
  
--- 21,27 ----
  
  DIRS:=
  SRCS= fgetgrent.c getgrent.c getgrgid.c getgrnam.c grpopen.c \
! 	grpread.c initgroups.c gshadow.c
  SMS= $(SRCS:.c=.s)
  OBJS= $(SRCS:.c=.o)
  
diff -rc libc-linux-4.4.4/pwd/Makefile libc-linux/pwd/Makefile
*** libc-linux-4.4.4/pwd/Makefile	Mon Aug 23 22:20:48 1993
--- libc-linux/pwd/Makefile	Sun Nov 21 18:41:56 1993
***************
*** 20,26 ****
  
  DIRS:=
  SRCS  = fgetpwent.c getpw.c getpwent.c getpwnam.c getpwuid.c \
! 	putpwent.c pwdopen.c pwdread.c
  ASMS= $(SRCS:.c=.s)
  OBJS= $(SRCS:.c=.o)
  
--- 20,26 ----
  
  DIRS:=
  SRCS  = fgetpwent.c getpw.c getpwent.c getpwnam.c getpwuid.c \
! 	putpwent.c pwdopen.c pwdread.c shadow.c
  ASMS= $(SRCS:.c=.s)
  OBJS= $(SRCS:.c=.o)
  
diff -rc libc-linux-4.4.4/pwd/pwdread.c libc-linux/pwd/pwdread.c
*** libc-linux-4.4.4/pwd/pwdread.c	Sun Jul 25 16:18:38 1993
--- libc-linux/pwd/pwdread.c	Sun Nov 21 18:57:30 1993
***************
*** 26,31 ****
--- 26,36 ----
  #include <string.h>
  #include <pwd.h>
  #include <sys/types.h>
+ 
+ #ifndef NO_SHADOW
+ #include "shadow.h"
+ #endif
+ 
  #ifdef YP
  #include <rpc/rpc.h>
  #include <rpcsvc/yp_prot.h>
***************
*** 278,283 ****
--- 283,297 ----
      return NULL;
    *end = '\0';
    info->p.pw_passwd = start;
+ 
+ #ifndef NO_SHADOW
+   {
+     struct spwd *spw = getspnam (info->p.pw_name);
+ 
+     if (spw)
+       info->p.pw_passwd = spw->sp_pwdp;
+   }
+ #endif
  
    info->p.pw_uid = (uid_t) strtol (end + 1, &end, 10);
    if (*end != ':')
