View | Details | Raw Unified | Return to bug 2086 | Differences between
and this patch

Collapse All | Expand All

(-)auth.c (+2 lines)
Lines 721-727 Link Here
721
	fake.pw_name = "NOUSER";
721
	fake.pw_name = "NOUSER";
722
	fake.pw_passwd =
722
	fake.pw_passwd =
723
	    "$2a$06$r3.juUaHZDlIbQaO2dS9FuYxL1W9M81R1Tc92PoSNmzvpEqLkLGrK";
723
	    "$2a$06$r3.juUaHZDlIbQaO2dS9FuYxL1W9M81R1Tc92PoSNmzvpEqLkLGrK";
724
#ifdef HAVE_PW_GECOS_IN_PASSWD
724
	fake.pw_gecos = "NOUSER";
725
	fake.pw_gecos = "NOUSER";
726
#endif
725
	fake.pw_uid = privsep_pw == NULL ? (uid_t)-1 : privsep_pw->pw_uid;
727
	fake.pw_uid = privsep_pw == NULL ? (uid_t)-1 : privsep_pw->pw_uid;
726
	fake.pw_gid = privsep_pw == NULL ? (gid_t)-1 : privsep_pw->pw_gid;
728
	fake.pw_gid = privsep_pw == NULL ? (gid_t)-1 : privsep_pw->pw_gid;
727
#ifdef HAVE_PW_CLASS_IN_PASSWD
729
#ifdef HAVE_PW_CLASS_IN_PASSWD
(-)configure.ac (+13 lines)
Lines 3341-3346 Link Here
3341
		[Fields in struct sockaddr_storage])
3341
		[Fields in struct sockaddr_storage])
3342
fi
3342
fi
3343
3343
3344
AC_CACHE_CHECK([for pw_gecos field in struct passwd],
3345
		ac_cv_have_pw_gecos_in_struct_passwd, [
3346
	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]],
3347
	[[ struct passwd p; p.pw_gecos = 0; ]])],
3348
	[ ac_cv_have_pw_gecos_in_struct_passwd="yes" ],
3349
	[ ac_cv_have_pw_gecos_in_struct_passwd="no"
3350
	])
3351
])
3352
if test "x$ac_cv_have_pw_gecos_in_struct_passwd" = "xyes" ; then
3353
	AC_DEFINE([HAVE_PW_GECOS_IN_PASSWD], [1],
3354
		[Define if your password has a pw_gecos field])
3355
fi
3356
3344
AC_CACHE_CHECK([for pw_class field in struct passwd],
3357
AC_CACHE_CHECK([for pw_class field in struct passwd],
3345
		ac_cv_have_pw_class_in_struct_passwd, [
3358
		ac_cv_have_pw_class_in_struct_passwd, [
3346
	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]],
3359
	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]],
(-)misc.c (-1 / +3 lines)
Lines 206-214 Link Here
206
206
207
	copy->pw_name = xstrdup(pw->pw_name);
207
	copy->pw_name = xstrdup(pw->pw_name);
208
	copy->pw_passwd = xstrdup(pw->pw_passwd);
208
	copy->pw_passwd = xstrdup(pw->pw_passwd);
209
	copy->pw_gecos = xstrdup(pw->pw_gecos);
210
	copy->pw_uid = pw->pw_uid;
209
	copy->pw_uid = pw->pw_uid;
211
	copy->pw_gid = pw->pw_gid;
210
	copy->pw_gid = pw->pw_gid;
211
#ifdef HAVE_PW_GECOS_IN_PASSWD
212
	copy->pw_gecos = xstrdup(pw->pw_gecos);
213
#endif
212
#ifdef HAVE_PW_EXPIRE_IN_PASSWD
214
#ifdef HAVE_PW_EXPIRE_IN_PASSWD
213
	copy->pw_expire = pw->pw_expire;
215
	copy->pw_expire = pw->pw_expire;
214
#endif
216
#endif
(-)monitor.c (+2 lines)
Lines 778-784 Link Here
778
	buffer_put_string(m, pwent, sizeof(struct passwd));
778
	buffer_put_string(m, pwent, sizeof(struct passwd));
779
	buffer_put_cstring(m, pwent->pw_name);
779
	buffer_put_cstring(m, pwent->pw_name);
780
	buffer_put_cstring(m, "*");
780
	buffer_put_cstring(m, "*");
781
#ifdef HAVE_PW_GECOS_IN_PASSWD
781
	buffer_put_cstring(m, pwent->pw_gecos);
782
	buffer_put_cstring(m, pwent->pw_gecos);
783
#endif
782
#ifdef HAVE_PW_CLASS_IN_PASSWD
784
#ifdef HAVE_PW_CLASS_IN_PASSWD
783
	buffer_put_cstring(m, pwent->pw_class);
785
	buffer_put_cstring(m, pwent->pw_class);
784
#endif
786
#endif
(-)monitor_wrap.c (+2 lines)
Lines 259-265 Link Here
259
		fatal("%s: struct passwd size mismatch", __func__);
259
		fatal("%s: struct passwd size mismatch", __func__);
260
	pw->pw_name = buffer_get_string(&m, NULL);
260
	pw->pw_name = buffer_get_string(&m, NULL);
261
	pw->pw_passwd = buffer_get_string(&m, NULL);
261
	pw->pw_passwd = buffer_get_string(&m, NULL);
262
#ifdef HAVE_PW_GECOS_IN_PASSWD
262
	pw->pw_gecos = buffer_get_string(&m, NULL);
263
	pw->pw_gecos = buffer_get_string(&m, NULL);
264
#endif
263
#ifdef HAVE_PW_CLASS_IN_PASSWD
265
#ifdef HAVE_PW_CLASS_IN_PASSWD
264
	pw->pw_class = buffer_get_string(&m, NULL);
266
	pw->pw_class = buffer_get_string(&m, NULL);
265
#endif
267
#endif

Return to bug 2086