mturk 2005/06/01 04:22:16
Modified: jni/native/src sslcontext.c sslutils.c
Log:
Do not set 'stdin' as default BIO for password promt. Use conio for
WIN32 (curses will be added for posix).
Revision Changes Path
1.8 +1 -11 jakarta-tomcat-connectors/jni/native/src/sslcontext.c
Index: sslcontext.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslcontext.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- sslcontext.c 1 Jun 2005 10:45:03 -0000 1.7
+++ sslcontext.c 1 Jun 2005 11:22:16 -0000 1.8
@@ -107,13 +107,8 @@
c->ctx = ctx;
c->pool = p;
c->bio_os = BIO_new(BIO_s_file());
- c->bio_is = BIO_new(BIO_s_file());
if (c->bio_os != NULL)
BIO_set_fp(c->bio_os, stderr, BIO_NOCLOSE | BIO_FP_TEXT);
- if (c->bio_is != NULL) {
- BIO_set_fp(c->bio_is, stdin, BIO_NOCLOSE | BIO_FP_TEXT);
- c->bio_is->flags = SSL_BIO_FLAG_RDONLY;
- }
SSL_CTX_set_options(c->ctx, SSL_OP_ALL);
if (!(protocol & SSL_PROTOCOL_SSLV2))
SSL_CTX_set_options(c->ctx, SSL_OP_NO_SSLv2);
@@ -184,13 +179,8 @@
c->ctx = ctx;
c->pool = p;
c->bio_os = BIO_new(BIO_s_file());
- c->bio_is = BIO_new(BIO_s_file());
if (c->bio_os != NULL)
BIO_set_fp(c->bio_os, stderr, BIO_NOCLOSE | BIO_FP_TEXT);
- if (c->bio_is != NULL) {
- BIO_set_fp(c->bio_is, stdin, BIO_NOCLOSE | BIO_FP_TEXT);
- c->bio_is->flags = SSL_BIO_FLAG_RDONLY;
- }
SSL_CTX_set_options(c->ctx, SSL_OP_ALL);
if (!(protocol & SSL_PROTOCOL_SSLV2))
SSL_CTX_set_options(c->ctx, SSL_OP_NO_SSLv2);
1.7 +23 -2 jakarta-tomcat-connectors/jni/native/src/sslutils.c
Index: sslutils.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslutils.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- sslutils.c 1 Jun 2005 10:45:03 -0000 1.6
+++ sslutils.c 1 Jun 2005 11:22:16 -0000 1.7
@@ -104,7 +104,8 @@
int SSL_password_prompt(tcn_ssl_ctxt_t *c, char *buf, int len)
{
int rv = 0;
- if (c && c->bio_is) {
+ *buf = '\0';
+ if (c->bio_is) {
if (c->bio_is->flags & SSL_BIO_FLAG_RDONLY) {
/* Use error BIO in case of stdin */
BIO_printf(c->bio_os, "Enter password: ");
@@ -125,6 +126,26 @@
}
}
}
+ else {
+#ifdef WIN32
+ #include <conio.h>
+ int ch;
+ BIO_printf(c->bio_os, "Enter password: ");
+ do {
+ ch = getch();
+ if (ch == '\r')
+ break;
+ fputc('*', stdout);
+ buf[rv++] = ch;
+ if (rv + 1 > len)
+ continue;
+ } while (ch != '\n');
+ buf[rv] = '\0';
+ fputc('\n', stdout);
+ fflush(stdout);
+#endif
+
+ }
return rv;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]