Re: [cups-devel] [UNKN] STR #4750: usersys.c:_cupsGetPassword() on various sysV systems AIX, HPUX.. not doing single char IO for password prompts
Mark Garrett <[email protected]>
| Newsgroups | gmane.comp.printing.cups.devel |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW. [STR New] mark@zed> cat 0001-MG20160102-fix-getpass-for-hpux-aix-sun.patch - From 4613e0c59f5af46d05066d1e9b6bdffba3bea1af Mon Sep 17 00:00:00 2001 From: Mark Garrett <[email protected]> Date: Sat, 2 Jan 2016 20:17:50 +1100 Subject: [PATCH] MG20160102 fix getpass for hpux,aix,sun - --- cups/usersys.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/cups/usersys.c b/cups/usersys.c index acf82db..b55415a 100644 - --- a/cups/usersys.c +++ b/cups/usersys.c @@ -711,6 +711,43 @@ _cupsGetPassword(const char *prompt) /* I - Prompt string */ noecho = original; noecho.c_lflag &= (tcflag_t)~(ICANON | ECHO | ECHOE | ISIG); + noecho.c_cc[VMIN] = 1; + noecho.c_cc[VTIME] = 0; + + /* MacOSX and Linux have these set as 1,0 from get getattr above but for some OS which seem to be the sysV guys + * these are defaulted to various other values + * AIX 6.1.0.0 + * ./getpass_aix + * original.c_cc[VMIN(4)]=4 original.c_cc[VTIME(5)]=255 + * noecho.c_cc[VMIN(4)]=4 noecho.c_cc[VTIME(5)]=255 + * + * + * MacOSX 10.9.1 + * ./getpass_aix + * original.c_cc[VMIN(16)]=1 original.c_cc[VTIME(17)]=0 + * noecho.c_cc[VMIN(16)]=1 noecho.c_cc[VTIME(17)]=0 + * Password please: + * + * HP-UX 11i v3 + * ./getpass_aix + * original.c_cc[VMIN(11)]=4 original.c_cc[VTIME(12)]=0 + * noecho.c_cc[VMIN(11)]=4 noecho.c_cc[VTIME(12)]=0 + * + * CentOS release 6.4 + * ./getpass_aix + * original.c_cc[VMIN(6)]=1 original.c_cc[VTIME(5)]=0 + * noecho.c_cc[VMIN(6)]=1 noecho.c_cc[VTIME(5)]=0 + * + * Solaris SunOS vboxsol00 5.11 11.1 i86pc i386 i86pc + * ./getpass_aix + * original.c_cc[VMIN(4)]=4 original.c_cc[VTIME(5)]=255 + * noecho.c_cc[VMIN(4)]=4 noecho.c_cc[VTIME(5)]=255 + * + * Interesting Solaris is bug compatible with AIX ;), HPUX is half bug compatible ;) + * so just force them to 1,0 even when they are already correct its just not worth the if + */ + + if (tcsetattr(tty, TCSAFLUSH, &noecho)) { close(tty); - -- 2.5.4 (Apple Git-61) Link: https://www.cups.org/str.php?L4750 Version: 2.2-current -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWh5l9AAoJENujp6sI12IjtdIP/iDNE3QLY6WJ/nxXYfE9Oph9 tJXl6KlzXPbUEuFTWGBTbl7Ca1r8pWg0qcgG91w/8joPmN2+htKSzpQELjpTdApJ 6LdcC29nvAqPMsh4xEKDv0Fe8yIXg5aODOpDfv0//Ko8toBDxnb6vcSptwUi7MgM ShMmXGpySByO7ZG9UiGknyZ+xEf1uTvIJIVpfYMla/tcLSwpp6AkuOH7eFdkJqvi nSBBjjxN4Q4FBhvZJ9fjkwL7hAQjaGzWSGhJeC6tZs2281menjMK5PX6EXPD5RDO 13OItKLjM3YbzOS8r/Ub2DH4j0z4ZA3bxIwyL4smxs+ZA7V8bSQVnButc7BD+X9L cyG3IDMtKPRwodT+DRonLlKT+zInoxKYrLhzu8KECLVMqr0irXAutG7MCme7hXxW vghTzzymz2Jx5IBrTjAOm2yIG/eAHbOWg9pHgj/rGOxbL+hiOwA5b59dwCzLxhaw JG8U7JS2JL85udNN5OKQSvdz5PwdBfNyPk5eK3HVDZQXQDPRnd5vzE/vtrPc/cgo Hg1uq++alm+wB4rHVULOQ/8ZOAL4owppUmmMgHdUfzQc0USEzUQZk6woz9Kxir5Z jAZTWxwnnWtXNpc8bd0cDo4pVgp6iER5DcQV2Nrq053S3VpSn85+qP0i32moK1gn mopnan6zFD1BZ0hXkh6O =3OF3 -----END PGP SIGNATURE-----