From 700f1a41b55ca28df0b28b6d04130ff6426977cb Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sun, 18 May 2008 22:24:55 -0500 Subject: [PATCH] Fix sttring overrun issue --- extra/io/unix/sockets/secure/secure-tests.factor | 2 +- extra/openssl/openssl-tests.factor | 4 ++-- extra/openssl/openssl.factor | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/extra/io/unix/sockets/secure/secure-tests.factor b/extra/io/unix/sockets/secure/secure-tests.factor index f05b4edbde..c68b497493 100644 --- a/extra/io/unix/sockets/secure/secure-tests.factor +++ b/extra/io/unix/sockets/secure/secure-tests.factor @@ -72,7 +72,7 @@ concurrency.promises byte-arrays ; "resource:extra/openssl/test/server.pem" >>key-file "resource:extra/openssl/test/root.pem" >>ca-file "resource:extra/openssl/test/dh1024.pem" >>dh-file - "password" >byte-array >>password + "password" >>password [ "127.0.0.1" 0 ascii [ dup addr>> addrspec>> port>> "port" get fulfill diff --git a/extra/openssl/openssl-tests.factor b/extra/openssl/openssl-tests.factor index 0ef48bd433..5990153073 100755 --- a/extra/openssl/openssl-tests.factor +++ b/extra/openssl/openssl-tests.factor @@ -7,7 +7,7 @@ openssl secure-socket-backend [ "resource:extra/openssl/test/server.pem" >>key-file "resource:extra/openssl/test/root.pem" >>ca-file "resource:extra/openssl/test/dh1024.pem" >>dh-file - "password" ascii string>alien >>password + "password" >>password [ ] with-secure-context ] unit-test @@ -15,7 +15,7 @@ openssl secure-socket-backend [ "resource:extra/openssl/test/server.pem" >>key-file "resource:extra/openssl/test/root.pem" >>ca-file - "wrong password" ascii string>alien >>password + "wrong password" >>password [ ] with-secure-context ] must-fail ] with-variable diff --git a/extra/openssl/openssl.factor b/extra/openssl/openssl.factor index 9bfec98b64..a7ba2eab0f 100755 --- a/extra/openssl/openssl.factor +++ b/extra/openssl/openssl.factor @@ -5,7 +5,7 @@ math.order combinators init alien alien.c-types alien.strings libc continuations destructors debugger inspector locals unicode.case openssl.libcrypto openssl.libssl -io.backend io.ports io.files io.encodings.ascii io.sockets.secure ; +io.backend io.ports io.files io.encodings.8-bit io.sockets.secure ; IN: openssl ! This code is based on http://www.rtfm.com/openssl-examples/ @@ -68,7 +68,7 @@ TUPLE: openssl-context < secure-context aliens ; ] alien-callback ; : default-pasword ( ctx -- alien ) - [ config>> password>> malloc-byte-array ] [ aliens>> ] bi + [ config>> password>> latin1 malloc-string ] [ aliens>> ] bi [ push ] [ drop ] 2bi ; : set-default-password ( ctx -- ) @@ -181,7 +181,7 @@ M: ssl-handle dispose* X509_get_subject_name NID_commonName 256 [ 256 X509_NAME_get_text_by_NID ] keep - swap -1 = [ drop f ] [ ascii alien>string ] if ; + swap -1 = [ drop f ] [ latin1 alien>string ] if ; : check-common-name ( host ssl-handle -- ) SSL_get_peer_certificate common-name 2dup [ >lower ] bi@ =