[Bug 1113] Add Interix authentication support

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Sat Nov 5 16:11:59 EST 2005


http://bugzilla.mindrot.org/show_bug.cgi?id=1113





------- Comment #2 from dtucker at zip.com.au  2005-11-05 16:11 -------
(From update of attachment 1021)

>+#ifdef HAVE_INTERIX
>+        result = (!setuser(pw->pw_name, password, SU_CHECK);
>+#else
> 	result = sys_auth_passwd(authctxt, password);
>+#endif

This is exactly the kind of thing the sys_auth_passwd abstraction is designed
to avoid.  The correct way to do this is to implement your own
sys_auth_passwd() and define CUSTOM_SYS_AUTH_PASSWD.

>+#ifndef HAVE_INTERIX
> 			case ' ':
>+#endif

Why this change?

>+# if !defined(HAVE_INTERIX)
> 		/* Initialize the group list. */
> 		if (initgroups(pw->pw_name, pw->pw_gid) < 0) {
> 			perror("initgroups");
> 			exit(1);
> 		}
>+# endif /* !HAVE_INTERIX */

Does Interix have initgroups()?  If not, just implement initgroups() as a null
function that just returns zero.  Ditto setgroups.

>+#ifdef HAVE_INTERIX
>+		use_privsep = 0;
>+#else
> 		use_privsep = 1;
>+#endif

Why doesn't privsep work?  Does defining DISABLE_FD_PASSING make preauth
privsep work?  (That's what Cygwin and a number of other platforms do.)




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.




More information about the openssh-bugs mailing list