samr: Fix bug 9541, make use of posix_openpt
authorVolker Lendecke <vl@samba.org>
Fri, 11 Jan 2013 09:36:04 +0000 (10:36 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 21 Jan 2013 12:00:07 +0000 (13:00 +0100)
Autobuild-User(v4-0-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-0-test): Mon Jan 21 13:00:07 CET 2013 on sn-devel-104

source3/configure.in
source3/rpc_server/samr/srv_samr_chgpasswd.c
source3/wscript

index e719b538f71331be87c32b470adc2f6bb40ab147..d0c2a482e28eff2008fa627d0855c2a7fe4e788b 100644 (file)
@@ -971,7 +971,7 @@ AC_CHECK_FUNCS(sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetg
 AC_CHECK_FUNCS(initgroups select rdchk getgrnam getgrent pathconf)
 AC_CHECK_FUNCS(getgrset)
 AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups syscall sysconf)
-AC_CHECK_FUNCS(atexit grantpt posix_fallocate)
+AC_CHECK_FUNCS(atexit grantpt posix_openpt posix_fallocate)
 AC_CHECK_FUNCS(fallocate)
 AC_CHECK_FUNCS(fseeko setluid getpwanam)
 AC_CHECK_FUNCS(fdopendir)
index 3d04899a53473ece7819f2d22afc8bc6b5707377..db1f459c8d4e3db638840038144dc5fc062dfad4 100644 (file)
@@ -73,8 +73,12 @@ static int findpty(char **slave)
        *slave = NULL;
 
 #if defined(HAVE_GRANTPT)
+#if defined(HAVE_POSIX_OPENPT)
+       master = posix_openpt(O_RDWR|O_NOCTTY);
+#else
        /* Try to open /dev/ptmx. If that fails, fall through to old method. */
        master = open("/dev/ptmx", O_RDWR, 0);
+#endif
        if (master >= 0) {
                grantpt(master);
                unlockpt(master);
index 5ee2cca1e999ac40c3dec640afac3a27decd2c10..097cd8392896e6103a10ac391262d85edf292391 100644 (file)
@@ -81,7 +81,7 @@ def configure(conf):
     conf.CHECK_FUNCS('sigprocmask sigblock sigaction sigset innetgr')
     conf.CHECK_FUNCS('initgroups select poll rdchk getgrnam getgrent pathconf')
     conf.CHECK_FUNCS('setpriv setgidx setuidx setgroups syscall sysconf')
-    conf.CHECK_FUNCS('atexit grantpt fallocate posix_fallocate')
+    conf.CHECK_FUNCS('atexit grantpt posix_openpt fallocate posix_fallocate')
     conf.CHECK_FUNCS('fseeko setluid')
     conf.CHECK_FUNCS('getpwnam', headers='sys/types.h pwd.h')
     conf.CHECK_FUNCS('fdopendir')