--- auth.c.orig	Fri Jun  4 09:20:35 1999
+++ auth.c	Sun Jun  6 11:42:35 1999
@@ -210,4 +210,20 @@
 		return -1;
 
+#ifdef ETC_SHELL
+	{
+	  char *shell;
+
+	  while ((shell = getusershell()) != NULL) {
+	    if (strcmp(shell, pwd->pw_shell) == 0) {
+	      endusershell();
+	      return 0;
+	    }
+	  }
+
+	  endusershell();
+	  return -1;
+	}
+#endif /* ETC_SHELL */
+
 	return 0;
 }
