make[1]: Entering directory `/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot' Configure arguments: Use `make CONFIGUREARGS="..." ...' to change them. They will be retained in the build directory. Making valgrind_verify in build/sunos-5.10-i86pc make testsuite if test "$PIKE_PATH_TRANSLATE" = ""; then \ /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mktestsuite /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/src/testsuite.in >testsuite \ -DSRCDIR="`echo /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/src|./posix_to_native.sh`"; \ else \ /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mktestsuite /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/src/testsuite.in >testsuite \ -DSRCDIR="`echo /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/src|sed -e $PIKE_PATH_TRANSLATE|./posix_to_native.sh`"; \ fi ( cd modules && make testsuites ) Making testsuite in modules/CommonLog Making testsuite in modules/DVB Making testsuite in modules/Fuse Making testsuite in modules/Gdbm Making testsuite in modules/Gettext Making testsuite in modules/Gmp Making testsuite in modules/Gz Making testsuite in modules/HTTPLoop Making testsuite in modules/Image Making testsuite in modules/JSON Making testsuite in modules/Java Making testsuite in modules/Kerberos Making testsuite in modules/MIME Making testsuite in modules/Math Making testsuite in modules/Msql Making testsuite in modules/Mysql Making testsuite in modules/Odbc Making testsuite in modules/Oracle Making testsuite in modules/PDF Making testsuite in modules/Parser Making testsuite in modules/Pipe Making testsuite in modules/Postgres Making testsuite in modules/Regexp Making testsuite in modules/SANE Making testsuite in modules/Yp Making testsuite in modules/_Charset Making testsuite in modules/_Ffmpeg Making testsuite in modules/_Image_FreeType Making testsuite in modules/_Image_GIF Making testsuite in modules/_Image_JPEG Making testsuite in modules/_Image_TIFF Making testsuite in modules/_Image_TTF Making testsuite in modules/_Image_XFace Making testsuite in modules/_PGsql Making testsuite in modules/_Protocols_DNS_SD Making testsuite in modules/_Regexp_PCRE Making testsuite in modules/_Roxen Making testsuite in modules/_WhiteFish make[5]: `../../testsuite' is up to date. Making testsuite in modules/_math Making testsuite in modules/files Making testsuite in modules/spider Making testsuite in modules/sprintf Making testsuite in modules/sybase Making testsuite in modules/system ( cd post_modules && make testsuites ) Making testsuite in post_modules/Bz2 Making testsuite in post_modules/COM make[5]: `../../testsuite' is up to date. Making testsuite in post_modules/GL Making testsuite in post_modules/GLUT Making testsuite in post_modules/GSSAPI Making testsuite in post_modules/GTK Makefile:577: warning: overriding commands for target `depend' Makefile:339: warning: ignoring old commands for target `depend' Making testsuite in post_modules/GTK2 Makefile:584: warning: overriding commands for target `depend' Makefile:340: warning: ignoring old commands for target `depend' Making testsuite in post_modules/Nettle Making testsuite in post_modules/SDL Making testsuite in post_modules/SQLite Making testsuite in post_modules/Shuffler Making testsuite in post_modules/Unicode Making testsuite in post_modules/ZXID Making testsuite in post_modules/_ADT Making testsuite in post_modules/_Image_SVG ( cd /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc && /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mklibtests.sh \ --srcdir=/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib \ --destdir=tlib --bindir=/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin ) tlib/7.0/modules/testsuite updated. tlib/7.2/modules/testsuite updated. tlib/7.4/modules/Crypto.pmod/testsuite updated. tlib/7.4/modules/testsuite updated. tlib/7.6/modules/Calendar.pmod/testsuite updated. tlib/7.6/modules/testsuite updated. tlib/modules/ADT.pmod/Relation.pmod/testsuite updated. tlib/modules/ADT.pmod/testsuite updated. tlib/modules/Calendar.pmod/testsuite updated. tlib/modules/Crypto.pmod/testsuite updated. tlib/modules/Filesystem.pmod/testsuite updated. tlib/modules/Graphics.pmod/Graph.pmod/testsuite updated. tlib/modules/Parser.pmod/LR.pmod/testsuite updated. tlib/modules/Parser.pmod/XML.pmod/testsuite updated. tlib/modules/Parser.pmod/testsuite updated. tlib/modules/Pike.pmod/testsuite updated. tlib/modules/Protocols.pmod/Bittorrent.pmod/testsuite updated. tlib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/testsuite updated. tlib/modules/Protocols.pmod/XMLRPC.pmod/testsuite updated. tlib/modules/SSL.pmod/testsuite updated. tlib/modules/Sql.pmod/testsuite updated. tlib/modules/Standards.pmod/ASN1.pmod/testsuite updated. tlib/modules/Standards.pmod/testsuite updated. tlib/modules/Stdio.pmod/testsuite updated. tlib/modules/String.pmod/testsuite updated. tlib/modules/Tools.pmod/testsuite updated. tlib/modules/Web.pmod/testsuite updated. tlib/modules/Yabu.pmod/testsuite updated. tlib/modules/_Image.pmod/testsuite updated. tlib/modules/testsuite updated. tlib/testsuite updated. if test -d "/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/extra_tests" ; then \ (cd "/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc" && /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mklibtests.sh \ --srcdir="/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/extra_tests" \ --destdir=extra_tests --bindir=/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin ) ; fi; rm -rf test-install /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/master.pike /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/install.pike \ `test -f autodoc.xml || echo --no-autodoc` \ lib_prefix="/usr/local/lib/64/pike" \ TMP_LIBDIR="/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/lib" LIBDIR_SRC="/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib" \ SRCDIR="/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/src" DOCDIR_SRC="/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/refdoc" \ MANDIR_SRC="/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/man" \ man_prefix="/usr/local/share/man" fakeroot="" \ PIKE_MODULE_RELOC="" pike_name="test-pike" \ cflags="-DDYNAMIC_MODULE" ldflags="" \ prefix="./test-install" --new-style Installing Pike in /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955, please wait... Pike installation completed successfully. PIKE_MODULE_PATH=""; PIKE_INCLUDE_PATH=""; \ if test "-a -T -F" = "" ; then args="-a -v" ; else \ args="-a -T -F" ; fi; \ if test -f ./test-pike ; then \ ./test-pike -DNOT_INSTALLED -x test_pike --subproc-start=" " $args ; \ else \ sprsh `pwd`/test-install/pike/*/bin/pike.exe -DNOT_INSTALLED -x test_pike $args ; \ fi Forked watchdog pid 18774. Begin tests at Thu Jan 11 19:09:37 2024 (pid 18773) Doing tests in modules/DVB/testsuite (0 tests, pid 18775) Doing tests in modules/CommonLog/testsuite (4 tests, pid 18776) Doing tests in modules/Fuse/testsuite (0 tests, pid 18777) Doing tests in modules/Gdbm/testsuite (66 tests, pid 18778) Doing tests in modules/Gettext/testsuite (40 tests, pid 18779) Doing tests in modules/Gmp/testsuite (3490 tests, pid 18780) /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/src/modules/Gmp/testsuite.in:333: Test 3488 (shift 2) failed. 1: mixed a() { return Gmp.mpz(10)->small_factor(); } 2: mixed b() { return 2; } 3: o->a(): 0 o->b(): 2 Doing tests in modules/Gz/testsuite (67 tests, pid 18781) Doing tests in modules/HTTPLoop/testsuite (0 tests, pid 18786) Doing tests in modules/Image/testsuite (1480 tests, pid 18787) Doing tests in modules/JSON/testsuite (343 tests, pid 18788) Doing tests in modules/Java/testsuite (8 tests, pid 18789) Doing tests in modules/Kerberos/testsuite (0 tests, pid 18790) Doing tests in modules/MIME/testsuite (71 tests, pid 18791) Doing tests in modules/Math/testsuite (68 tests, pid 18792) Doing tests in modules/Msql/testsuite (0 tests, pid 18793) Doing tests in modules/PDF/testsuite (0 tests, pid 18794) Doing tests in modules/Mysql/testsuite (0 tests, pid 18795) Doing tests in modules/Odbc/testsuite (0 tests, pid 18796) Doing tests in modules/Oracle/testsuite (0 tests, pid 18797) Doing tests in modules/Parser/testsuite (505 tests, pid 18798) Doing tests in modules/Pipe/testsuite (0 tests, pid 18799) Doing tests in modules/Postgres/testsuite (0 tests, pid 18800) Doing tests in modules/Regexp/testsuite (43 tests, pid 18801) Doing tests in modules/SANE/testsuite (0 tests, pid 18802) Doing tests in modules/Yp/testsuite (0 tests, pid 18803) Doing tests in modules/_Charset/testsuite (1512 tests, pid 18804) Doing tests in modules/_Ffmpeg/testsuite (0 tests, pid 18805) Doing tests in modules/_Image_FreeType/testsuite (0 tests, pid 18806) Doing tests in modules/_Image_GIF/testsuite (30 tests, pid 18807) Doing tests in modules/_Image_JPEG/testsuite (0 tests, pid 18808) Doing tests in modules/_Image_TIFF/testsuite (0 tests, pid 18809) Doing tests in modules/_Image_TTF/testsuite (0 tests, pid 18810) Doing tests in modules/_Image_XFace/testsuite (0 tests, pid 18811) Doing tests in modules/_PGsql/testsuite (0 tests, pid 18812) Doing tests in modules/_Protocols_DNS_SD/testsuite (0 tests, pid 18813) Doing tests in modules/_Regexp_PCRE/testsuite (17 tests, pid 18814) Doing tests in modules/_Roxen/testsuite (53 tests, pid 18815) Doing tests in modules/_math/testsuite (190 tests, pid 18816) Doing tests in modules/files/testsuite (109 tests, pid 18817) Doing tests in modules/spider/testsuite (31 tests, pid 18862) Doing tests in modules/sprintf/testsuite (225 tests, pid 18863) Doing tests in modules/sybase/testsuite (0 tests, pid 18864) Doing tests in modules/system/testsuite (30 tests, pid 18865) Doing tests in post_modules/Bz2/testsuite (14 tests, pid 18866) Doing tests in post_modules/GL/testsuite (0 tests, pid 18867) Doing tests in post_modules/GLUT/testsuite (0 tests, pid 18868) Doing tests in post_modules/GSSAPI/testsuite (0 tests, pid 18869) Doing tests in post_modules/GTK/testsuite (0 tests, pid 18870) Doing tests in post_modules/GTK2/testsuite (1 tests, pid 18871) Doing tests in post_modules/Nettle/testsuite (60 tests, pid 18872) Doing tests in post_modules/SDL/testsuite (0 tests, pid 18875) Doing tests in post_modules/SQLite/testsuite (35 tests, pid 18876) Doing tests in post_modules/Shuffler/testsuite (1 tests, pid 18877) Doing tests in post_modules/Unicode/testsuite (8 tests, pid 18878) Doing tests in post_modules/ZXID/testsuite (0 tests, pid 18879) Doing tests in post_modules/_ADT/testsuite (324 tests, pid 18880) Doing tests in post_modules/_Image_SVG/testsuite (4 tests, pid 18881) Doing tests in testsuite (11325 tests, pid 18882) Doing tests in tlib/7.0/modules/testsuite in 7.0 compat mode (2 tests, pid 18896) Doing tests in tlib/7.2/modules/testsuite in 7.2 compat mode (8 tests, pid 18897) Doing tests in tlib/7.4/modules/Crypto.pmod/testsuite in 7.4 compat mode (206 tests, pid 18898) /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/7.4/modules/Crypto.pmod/testsuite.in:459: Test 184 (shift 1) (CRNL) failed. 1: #pike 7.4 2: mixed a() { return Crypto.pipe( Crypto.des(), Crypto.aes(), Crypto.idea(), 3: Crypto.cast(), Crypto.arcfour() )->query_block_size(); } 4: mixed b() { return 16; } 5: o->a(): 8192 o->b(): 16 /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/7.4/modules/Crypto.pmod/testsuite.in:459: Test 186 (shift 0) failed: Data size not integral number of blocks. test-install/pike/7.8.955/lib/modules/Crypto.pmod/Pipe.pike:107: 7.4::Crypto.pipe()->crypt("FFFFFFFFFFFFFFFF") test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: #pike 7.4 2: mixed a() { return Crypto.pipe( Crypto.des(), Crypto.aes(), Crypto.idea(), 3: Crypto.cast() )-> 4: set_encrypt_key( Crypto.des_parity("A"*8), "B"*32, "C"*16, 5: "D"*16 )->crypt_block("F"*16); } 6: mixed b() { return String.hex2string("fc222f3584addf1a5f974e104a3e2231") ; } 7: /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/7.4/modules/Crypto.pmod/testsuite.in:459: Test 187 (shift 1) failed: Data size not integral number of blocks. test-install/pike/7.8.955/lib/modules/Crypto.pmod/Pipe.pike:107: 7.4::Crypto.pipe()->crypt("ü\"/5\204­ß\32_\227N\20J>\"1") test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: #pike 7.4 2: mixed a() { return Crypto.pipe( Crypto.des(), Crypto.aes(), Crypto.idea(), 3: Crypto.cast() )-> 4: set_decrypt_key( Crypto.des_parity("A"*8), "B"*32, "C"*16, 5: "D"*16 )-> 6: crypt_block(String.hex2string("fc222f3584addf1a5f974e104a3e2231")); } 7: mixed b() { return "F"*16 ; } 8: Doing tests in tlib/7.4/modules/testsuite in 7.4 compat mode (7 tests, pid 18899) Doing tests in tlib/7.6/modules/Calendar.pmod/testsuite in 7.6 compat mode (511 tests, pid 18900) Doing tests in tlib/7.6/modules/testsuite in 7.6 compat mode (28 tests, pid 18901) Doing tests in tlib/modules/ADT.pmod/Relation.pmod/testsuite (1 tests, pid 18902) Doing tests in tlib/modules/ADT.pmod/testsuite (163 tests, pid 18903) Doing tests in tlib/modules/Calendar.pmod/testsuite (595 tests, pid 18904) Doing tests in tlib/modules/Crypto.pmod/testsuite (358 tests, pid 18905) /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/Crypto.pmod/testsuite.in:786: Test 352 (shift 1) failed. 1: mixed a() { return Crypto.Pipe( Crypto.DES, Crypto.AES, Crypto.IDEA, 2: Crypto.CAST, Crypto.Arcfour )->block_size(); } 3: mixed b() { return 16; } 4: o->a(): 8192 o->b(): 16 /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/Crypto.pmod/testsuite.in:786: Test 354 (shift 0) (CRNL) failed: Data size not integral number of blocks. test-install/pike/7.8.955/lib/modules/Crypto.pmod/Pipe.pike:107: Crypto.Pipe()->crypt("FFFFFFFFFFFFFFFF") tlib/modules/Crypto.pmod/testsuite:4: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: mixed a() { return S(Crypto.Pipe( Crypto.DES, Crypto.AES, Crypto.IDEA, 2: Crypto.CAST )-> 3: set_encrypt_key( Crypto.DES.fix_parity("A"*8), "B"*32, "C"*16, 4: "D"*16 )->crypt("F"*16)); } 5: mixed b() { return "fc222f3584addf1a5f974e104a3e2231" ; } 6: /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/Crypto.pmod/testsuite.in:786: Test 355 (shift 1) (CRNL) failed: Data size not integral number of blocks. test-install/pike/7.8.955/lib/modules/Crypto.pmod/Pipe.pike:107: Crypto.Pipe()->crypt("ü\"/5\204­ß\32_\227N\20J>\"1") test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: mixed a() { return Crypto.Pipe( Crypto.DES, Crypto.AES, Crypto.IDEA, 2: Crypto.CAST )-> 3: set_decrypt_key( Crypto.DES.fix_parity("A"*8), "B"*32, "C"*16, 4: "D"*16 )-> 5: crypt(H("fc222f3584addf1a5f974e104a3e2231")); } 6: mixed b() { return "F"*16 ; } 7: Doing tests in tlib/modules/Filesystem.pmod/testsuite (3 tests, pid 18906) Doing tests in tlib/modules/Graphics.pmod/Graph.pmod/testsuite (6 tests, pid 18907) Doing tests in tlib/modules/Parser.pmod/LR.pmod/testsuite (1 tests, pid 18908) Doing tests in tlib/modules/Parser.pmod/XML.pmod/testsuite (105 tests, pid 18909) Doing tests in tlib/modules/Parser.pmod/testsuite (140 tests, pid 18910) Doing tests in tlib/modules/Pike.pmod/testsuite (38 tests, pid 18911) Doing tests in tlib/modules/Protocols.pmod/Bittorrent.pmod/testsuite (19 tests, pid 18912) Doing tests in tlib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/testsuite (38 tests, pid 18913) Doing tests in tlib/modules/Protocols.pmod/XMLRPC.pmod/testsuite (7 tests, pid 18914) Doing tests in tlib/modules/SSL.pmod/testsuite (110 tests, pid 18915) Couldn't create backend wakeup pipe! errno=24. -:1: Pike.Backend(192)->create() test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:1588: SSL.sslfile(Fd(251))->direct_write() test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:939: SSL.sslfile(Fd(251))->write("#F@(\bI'043­\26çLË \r\212´ÝͳYN!ôñÞç\214Uì¯\32È´¢\n\202ÕIÃ\2159`|ä\vÅùó\37¿Îý(ÅÔôîXÑA3&¼ï¸Ë¿yÜvS\20þO\34­\32É®pÓ\bÉè%N&\3$\36$Ú1\234ø\211ìS\221gdÍ\32\207\1J\t[:~\35Ò²«ð7\217\34a\226\213p×Å\34±\2058æ\27¢\t¼ãÃ\37 ó;\212>ÀI"+[3904]+"M¡h\t\220\206v\31O-;client_send_data() -:1: Pike.Backend(0)->`()(0.005) tlib/modules/SSL.pmod/testsuite:128: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) [00:02:54] Testing SSL 3.0..3.1 client with SSL 3.1..3.3 RSA server...SSL 3.768..3.769 client with SSL 3.769..3.771 server failed. [00:02:54] Cipher_suite: SSL_rsa_with_3des_ede_cbc_sha [00:02:54] Unexpected exit state: -1. /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:369: Test 75 (shift 0) (CRNL) failed: Couldn't create backend wakeup pipe! errno=24. -:1: Pike.Backend(193)->create() test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:1588: SSL.sslfile(Fd(251))->direct_write() test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:629: SSL.sslfile(Fd(251))->close(UNDEFINED,UNDEFINED,UNDEFINED) tlib/modules/SSL.pmod/testsuite:143: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x301&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x301&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x301,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x301,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.1 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:370: Test 76 (shift 1) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x301&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x301&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x301,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x301,0x302,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.1 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:371: Test 77 (shift 2) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x301&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x301&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x301,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x301,0x303,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.1 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:372: Test 78 (shift 0) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x301&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x301&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x301,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x301,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.1 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:373: Test 79 (shift 1) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x301&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x301&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x301,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x301,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.1 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:374: Test 80 (shift 2) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x301&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x301&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x301,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x301,0x302,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.1 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:375: Test 81 (shift 0) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x301, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x301&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x301&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x301,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x301; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x301,0x303,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.2 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:376: Test 82 (shift 1) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x302&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x302&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x302,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x302,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.2 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:377: Test 83 (shift 2) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x302&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x302&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x302,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x302,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.2 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:378: Test 84 (shift 0) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x302&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x302&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x302,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x302,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.2 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:379: Test 85 (shift 1) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x302&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x302&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x302,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x302,0x303,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.2 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:380: Test 86 (shift 2) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x302&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x302&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x302,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x302,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.2 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:381: Test 87 (shift 0) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x302&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x302&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x302,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x302,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.2 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:382: Test 88 (shift 1) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x302&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x302&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x302,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x302,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.2 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:383: Test 89 (shift 2) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x302&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x302&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x302,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x302,0x303,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.2 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:384: Test 90 (shift 0) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x302&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x302&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x302,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x302,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.2 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:385: Test 91 (shift 1) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x302&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x302&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x302,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x302,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.2 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:386: Test 92 (shift 2) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x302&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x302&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x302,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x302,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.2 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:387: Test 93 (shift 0) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x302, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x302&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x302&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x302,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x302; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!0 || ((state == 3) && (client_recv_buf == 0))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x302,0x303,0x303,0,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.3 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:388: Test 94 (shift 1) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x303,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x303,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.3 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:389: Test 95 (shift 2) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x303,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x303,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.3 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:390: Test 96 (shift 0) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x303,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x303,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.0..3.3 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:391: Test 97 (shift 1) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x300&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x300&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x300,0x303,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x300; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x300,0x303,0x303,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.3 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:392: Test 98 (shift 2) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x303,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x303,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.3 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:393: Test 99 (shift 0) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x303,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x303,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.3 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:394: Test 100 (shift 1) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x303,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x303,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.1..3.3 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:395: Test 101 (shift 2) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x301&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x301&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x301,0x303,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x301; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x301,0x303,0x303,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.3 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:396: Test 102 (shift 0) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x303,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x303,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.3 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:397: Test 103 (shift 1) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x303,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x303,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.3 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:398: Test 104 (shift 2) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x303,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x303,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.2..3.3 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:399: Test 105 (shift 0) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x302&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x302&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x302,0x303,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x302; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x302,0x303,0x303,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.3..3.3 client with SSL 3.0..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:400: Test 106 (shift 1) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x303&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x303&0xff, 0x303&0xff, 0x300&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x303,0x303,0x300,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x300; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x303; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x303,0x303,0x300,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.3..3.3 client with SSL 3.1..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:401: Test 107 (shift 2) (CRNL) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x303&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x303&0xff, 0x303&0xff, 0x301&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x303,0x303,0x301,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x301; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x303; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x303,0x303,0x301,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.3..3.3 client with SSL 3.2..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:402: Test 108 (shift 0) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x303&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x303&0xff, 0x303&0xff, 0x302&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x303,0x303,0x302,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x302; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x303; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x303,0x303,0x302,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: [00:02:54] Testing SSL 3.3..3.3 client with SSL 3.3..3.3 RSA server... /export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/lib/modules/SSL.pmod/testsuite.in:403: Test 109 (shift 1) failed: Indexing the NULL value with "query_backend". test-install/pike/7.8.955/lib/modules/SSL.pmod/sslfile.pike:494: SSL.sslfile(0)->create(0,server_rsa_ctx,UNDEFINED,0) tlib/modules/SSL.pmod/testsuite:46: testsuite()->a() test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1033: /main()->main(4,({"/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.10-i86pc/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) 1: array(int) a() { 2: 3: int expected_protocol = min(0x303, 0x303); 4: int successes; 5: int failures; 6: 7: foreach( ({ 8: SSL.Constants.SIGNATURE_rsa, 9: // SSL.Constants.SIGNATURE_dsa, 10: }), int mode) { 11: 12: object server_ctx; 13: array(int) suites; 14: 15: if( mode == SSL.Constants.SIGNATURE_rsa ) 16: { 17: server_ctx = server_rsa_ctx; 18: suites = ({ 19: SSL.Constants.SSL_rsa_with_3des_ede_cbc_sha 20: }); 21: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d RSA server...", 22: 0x303&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 23: } 24: else 25: { 26: server_ctx = server_dss_ctx; 27: suites = ({ 28: SSL.Constants.SSL_dhe_dss_with_3des_ede_cbc_sha 29: }); 30: write("Testing SSL 3.%d..3.%d client with SSL 3.%d..3.%d DSS server...", 31: 0x303&0xff, 0x303&0xff, 0x303&0xff, 0x303&0xff); 32: } 33: 34: if( `==(0x303,0x303,0x303,0x303) ) 35: suites = server_ctx->get_suites(mode, 0, 0x303) - 36: (invalid_suites[expected_protocol] || ({})); 37: 38: foreach(suites, int suite) { 39: Stdio.File client_con = Stdio.File(); 40: Stdio.File server_con = 41: client_con->pipe(Stdio.PROP_NONBLOCK | Stdio.PROP_BIDIRECTIONAL); 42: 43: server_ctx->min_version = 0x303; 44: server_ctx->max_version = 0x303; 45: 46: SSL.sslfile server = SSL.sslfile(server_con, server_ctx, UNDEFINED, 47: 0); 48: 49: SSL.context client_ctx = SSL.context(); 50: client_ctx->random = random_string; 51: client_ctx->min_version = 0x303; 52: client_ctx->max_version = 0x303; 53: client_ctx->preferred_suites = ({ suite }); 54: SSL.sslfile client = SSL.sslfile(client_con, client_ctx, 1, 0); 55: 56: int state; 57: 58: int trigged = 10; 59: 60: string server_buf = ""; 61: void server_send_data() 62: { 63: trigged = 2; 64: int bytes = server->write(server_buf); 65: server_buf = server_buf[bytes..]; 66: if (!sizeof(server_buf)) { 67: server->set_write_callback(UNDEFINED); 68: if (state) { 69: server->close(); 70: state = 2; 71: } 72: } 73: }; 74: void server_got_data(mixed ignored, string data) 75: { 76: trigged = 2; 77: if (!sizeof(server_buf)) server->set_write_callback(server_send_data); 78: server_buf += data; 79: }; 80: void server_got_close() 81: { 82: trigged = 2; 83: }; 84: void server_alert() 85: { 86: trigged = 0; 87: // server->close(); 88: }; 89: 90: string client_recv_buf = ""; 91: string client_send_buf = client_msg; 92: void client_got_data(mixed ignored, string data) 93: { 94: trigged = 2; 95: client_recv_buf += data; 96: }; 97: void client_send_data() 98: { 99: trigged = 2; 100: int bytes = client->write(client_send_buf[..4095]); 101: client_send_buf = client_send_buf[bytes..]; 102: if (!sizeof(client_send_buf)) { 103: client->set_write_callback(UNDEFINED); 104: state = 1; 105: } 106: }; 107: void client_got_close() 108: { 109: trigged = 2; 110: if (state == 2) state = 3; 111: client->close(); 112: }; 113: void client_alert() 114: { 115: trigged = 0; 116: // client->close(); 117: }; 118: 119: server->set_nonblocking(server_got_data, 0, server_got_close); 120: server->set_alert_callback(server_alert); 121: client->set_nonblocking(client_got_data, client_send_data, 122: client_got_close); 123: client->set_alert_callback(client_alert); 124: 125: // We loop the backend while something happens... 126: while (trigged--) { 127: mixed err = catch { 128: Pike.DefaultBackend(0.005); 129: }; 130: if (err) { 131: state = -1; 132: master()->handle_error(err); 133: break; 134: } 135: } 136: if (!client_msg || ((state == 3) && (client_recv_buf == client_msg))) { 137: // log_status("OK: %s\n", fmt_cipher_suite(suite)); 138: successes++; 139: } else { 140: log_ssl_failure(0x303,0x303,0x303,0x303,client_msg,suite,state,client_recv_buf); 141: failures++; 142: } 143: client->close(); 144: server->close(); 145: } 146: } 147: return ({ successes, failures }); 148: } 149: Doing tests in tlib/modules/Sql.pmod/testsuite (21 tests, pid 18916) Doing tests in tlib/modules/Standards.pmod/ASN1.pmod/testsuite (22 tests, pid 18917) Doing tests in tlib/modules/Standards.pmod/testsuite (94 tests, pid 18918) Doing tests in tlib/modules/Stdio.pmod/testsuite (27 tests, pid 18919) Doing tests in tlib/modules/String.pmod/testsuite (147 tests, pid 18920) Doing tests in tlib/modules/Tools.pmod/testsuite (210 tests, pid 18921) Doing tests in tlib/modules/Web.pmod/testsuite (107 tests, pid 18922) Doing tests in tlib/modules/Yabu.pmod/testsuite (37 tests, pid 18923) Doing tests in tlib/modules/_Image.pmod/testsuite (3 tests, pid 18924) Doing tests in tlib/modules/testsuite (374 tests, pid 18925) Doing tests in tlib/testsuite (30 tests, pid 6508) Failed tests: 42. Total tests: 159910 (195 tests skipped) make[3]: *** [valgrind_verify] Error 42 make[2]: *** [_make_in_builddir] Error 2 make[1]: *** [compile] Error 2 make[1]: Leaving directory `/export/d1/xenofarm/xenoclient/pike-7.8/motoko.roxen.com/buildtmp/Pike-v7.8-snapshot'