--- source3/rpc_server/samr/srv_samr_chgpasswd.c.orig Thu Dec 6 20:28:00 2012 +++ source3/rpc_server/samr/srv_samr_chgpasswd.c Mon Jan 7 10:47:49 2013 @@ -73,8 +73,12 @@ *slave = NULL; #if defined(HAVE_GRANTPT) +#if defined(HAVE_POSIX_OPENPT) + if ((master = posix_openpt(O_RDWR|O_NOCTTY)) >= 0) { +#else /* Try to open /dev/ptmx. If that fails, fall through to old method. */ if ((master = sys_open("/dev/ptmx", O_RDWR, 0)) >= 0) { +#endif grantpt(master); unlockpt(master); line = (char *)ptsname(master); --- source3/configure.in.orig Mon Jan 7 10:55:46 2013 +++ source3/configure.in Mon Jan 7 10:56:32 2013 @@ -1112,7 +1112,7 @@ AC_CHECK_FUNCS(initgroups select rdchk getgrnam getgrent pathconf) AC_CHECK_FUNCS(getgrset) AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf stat64 fstat64) -AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt lseek64 ftruncate64 posix_fallocate posix_fallocate64) +AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt posix_openpt lseek64 ftruncate64 posix_fallocate posix_fallocate64) AC_CHECK_FUNCS(fallocate fallocate64) AC_CHECK_FUNCS(fseeko fseek64 fseeko64 ftell64 ftello64 setluid getpwanam) AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64)