make[1]: Entering directory '/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot' Configure arguments: --without-Java Use `make CONFIGUREARGS="..." ...' to change them. They will be retained in the build directory. Making valgrind_verify in build/sunos-5.8-sun4u make testsuite if test "$PIKE_PATH_TRANSLATE" = ""; then \ /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mktestsuite /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/src/testsuite.in >testsuite \ -DSRCDIR="`echo /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/src|./posix_to_native.sh`"; \ else \ /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mktestsuite /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/src/testsuite.in >testsuite \ -DSRCDIR="`echo /net/myst/export/d1/xenofarm/pike-7.8/megalon.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/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 recipe for target 'depend' Makefile:339: warning: ignoring old recipe for target 'depend' Making testsuite in post_modules/GTK2 Makefile:584: warning: overriding recipe for target 'depend' Makefile:340: warning: ignoring old recipe 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 /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u && /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mklibtests.sh \ --srcdir=/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/lib \ --destdir=tlib --bindir=/net/myst/export/d1/xenofarm/pike-7.8/megalon.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 "/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/extra_tests" ; then \ (cd "/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u" && /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/bin/mklibtests.sh \ --srcdir="/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/extra_tests" \ --destdir=extra_tests --bindir=/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/bin ) ; fi; rm -rf test-install /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/master.pike /net/myst/export/d1/xenofarm/pike-7.8/megalon.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="/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/lib" LIBDIR_SRC="/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/lib" \ SRCDIR="/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/src" DOCDIR_SRC="/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/refdoc" \ MANDIR_SRC="/net/myst/export/d1/xenofarm/pike-7.8/megalon.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 /net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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 10300. Begin tests at Fri Jun 9 02:24:26 2023 (pid 10299) Doing tests in modules/Gdbm/testsuite (66 tests, pid 10301) Doing tests in modules/Gz/testsuite (67 tests, pid 10302) Doing tests in modules/DVB/testsuite (0 tests, pid 10307) Doing tests in modules/Kerberos/testsuite (0 tests, pid 10308) Doing tests in modules/Odbc/testsuite (0 tests, pid 10309) Doing tests in modules/CommonLog/testsuite (4 tests, pid 10310) Doing tests in modules/sprintf/testsuite (225 tests, pid 10311) Doing tests in modules/_Image_TIFF/testsuite (0 tests, pid 10312) Doing tests in modules/Regexp/testsuite (43 tests, pid 10313) Doing tests in modules/_Charset/testsuite (1512 tests, pid 10314) Doing tests in modules/Gmp/testsuite (3490 tests, pid 10340) /net/myst/export/d1/xenofarm/pike-7.8/megalon.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/_Image_JPEG/testsuite (0 tests, pid 10341) Doing tests in modules/HTTPLoop/testsuite (0 tests, pid 10342) Doing tests in modules/sybase/testsuite (0 tests, pid 10343) Doing tests in modules/PDF/testsuite (0 tests, pid 10344) Doing tests in modules/Yp/testsuite (0 tests, pid 10345) Doing tests in modules/_Image_GIF/testsuite (30 tests, pid 10346) Doing tests in modules/files/testsuite (109 tests, pid 10347) Doing tests in modules/Gettext/testsuite (40 tests, pid 10368) Doing tests in modules/MIME/testsuite (71 tests, pid 10369) Doing tests in modules/Mysql/testsuite (0 tests, pid 10370) Doing tests in modules/_Ffmpeg/testsuite (0 tests, pid 10371) Doing tests in modules/SANE/testsuite (0 tests, pid 10372) Doing tests in modules/system/testsuite (30 tests, pid 10373) Doing tests in modules/_Protocols_DNS_SD/testsuite (0 tests, pid 10374) Doing tests in modules/Oracle/testsuite (0 tests, pid 10375) Doing tests in modules/JSON/testsuite (343 tests, pid 10376) Doing tests in modules/Image/testsuite (1480 tests, pid 10377) Doing tests in modules/Parser/testsuite (505 tests, pid 10378) Doing tests in modules/Pipe/testsuite (0 tests, pid 10379) Doing tests in modules/_Regexp_PCRE/testsuite (17 tests, pid 10380) Doing tests in modules/_Image_TTF/testsuite (0 tests, pid 10381) Doing tests in modules/_math/testsuite (190 tests, pid 10382) Doing tests in modules/_Roxen/testsuite (53 tests, pid 10383) Doing tests in modules/spider/testsuite (31 tests, pid 10384) Doing tests in modules/_Image_FreeType/testsuite (0 tests, pid 10385) Doing tests in modules/Fuse/testsuite (0 tests, pid 10386) Doing tests in modules/_Image_XFace/testsuite (0 tests, pid 10387) Doing tests in modules/Postgres/testsuite (0 tests, pid 10388) Doing tests in modules/Math/testsuite (68 tests, pid 10389) Doing tests in modules/_PGsql/testsuite (0 tests, pid 10390) Doing tests in modules/Msql/testsuite (0 tests, pid 10391) Doing tests in tlib/7.6/modules/Calendar.pmod/testsuite in 7.6 compat mode (511 tests, pid 10392) Doing tests in tlib/7.6/modules/testsuite in 7.6 compat mode (28 tests, pid 10393) Doing tests in tlib/modules/Stdio.pmod/testsuite (27 tests, pid 10394) Doing tests in tlib/modules/ADT.pmod/Relation.pmod/testsuite (1 tests, pid 10395) Doing tests in tlib/modules/ADT.pmod/testsuite (163 tests, pid 10396) Doing tests in tlib/modules/SSL.pmod/testsuite (110 tests, pid 10397) 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("óÞ?ÏYe\0å\1\aؤù´Ø`¸\37Ú3y7eH\220\233\a\227ôVèÎÏ\b4M6Î\17µ3}\2\a\200Y% \230~\30°\205î\al\f\24u}Ø\23]4ïû{¿µ·#5\25ð%ë\212©ÕI¯íä\227«ð,\230á[kìR)¬JÒD¶~\4ý\207\1ñ\237º6 )rù\4YÈ\217%Í#\204\235¾c©ÙÛö\u00882(®X\207ðá*_\6-\248\206\20í\31)"+[3904]+"÷¼_o)á¨gÓ\200üC;ìÛáXk7f¨CÛ#\236\212\213G$(\37*,OíWW jÃð¨w.ð\226") tlib/modules/SSL.pmod/testsuite:100: testsuite()->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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/test-install/pike/7.8.955/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,,,0})) [00:06:24] 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:06:24] Cipher_suite: SSL_rsa_with_3des_ede_cbc_sha [00:06:24] Unexpected exit state: -1. /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.1 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.1 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.1 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.1 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.1 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.1 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.2 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.2 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.2 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.2 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.2 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.2 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.2 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.2 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.2..3.2 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.2..3.2 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.2..3.2 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.2..3.2 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.3 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.3 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.3 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.0..3.3 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.3 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:24] Testing SSL 3.1..3.3 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.1..3.3 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.1..3.3 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.2..3.3 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.2..3.3 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.2..3.3 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.2..3.3 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.3..3.3 client with SSL 3.0..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.3..3.3 client with SSL 3.1..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.3..3.3 client with SSL 3.2..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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:06:25] Testing SSL 3.3..3.3 client with SSL 3.3..3.3 RSA server... /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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/Yabu.pmod/testsuite (37 tests, pid 10423) Doing tests in tlib/modules/_Image.pmod/testsuite (3 tests, pid 10424) Doing tests in tlib/modules/Protocols.pmod/XMLRPC.pmod/testsuite (7 tests, pid 10425) Doing tests in tlib/modules/Protocols.pmod/Bittorrent.pmod/testsuite (19 tests, pid 10426) Doing tests in tlib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/testsuite (38 tests, pid 10427) Doing tests in tlib/modules/Calendar.pmod/testsuite (595 tests, pid 10428) Doing tests in tlib/modules/Crypto.pmod/testsuite (358 tests, pid 10429) /net/myst/export/d1/xenofarm/pike-7.8/megalon.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 /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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: /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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 10430) Doing tests in tlib/modules/Graphics.pmod/Graph.pmod/testsuite (6 tests, pid 10431) Doing tests in tlib/modules/Parser.pmod/XML.pmod/testsuite (105 tests, pid 10432) Doing tests in tlib/modules/Parser.pmod/LR.pmod/testsuite (1 tests, pid 10433) Doing tests in tlib/modules/Parser.pmod/testsuite (140 tests, pid 10434) Doing tests in tlib/modules/Standards.pmod/ASN1.pmod/testsuite (22 tests, pid 10435) Doing tests in tlib/modules/Standards.pmod/testsuite (94 tests, pid 10436) Doing tests in tlib/modules/String.pmod/testsuite (147 tests, pid 10437) Doing tests in tlib/modules/Pike.pmod/testsuite (38 tests, pid 10438) Doing tests in tlib/modules/Tools.pmod/testsuite (210 tests, pid 10439) Doing tests in tlib/modules/Sql.pmod/testsuite (21 tests, pid 10440) Doing tests in tlib/modules/testsuite (374 tests, pid 10441) Doing tests in tlib/modules/Web.pmod/testsuite (107 tests, pid 27994) Doing tests in tlib/7.0/modules/testsuite in 7.0 compat mode (2 tests, pid 27995) Doing tests in tlib/7.4/modules/Crypto.pmod/testsuite in 7.4 compat mode (206 tests, pid 27996) /net/myst/export/d1/xenofarm/pike-7.8/megalon.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 /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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: /net/myst/export/d1/xenofarm/pike-7.8/megalon.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,({"/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot/build/sunos-5.8-sun4u/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 27997) Doing tests in tlib/7.2/modules/testsuite in 7.2 compat mode (8 tests, pid 27998) Doing tests in tlib/testsuite (30 tests, pid 27999) Doing tests in post_modules/GTK2/testsuite (1 tests, pid 28010) Doing tests in post_modules/Bz2/testsuite (14 tests, pid 28011) Doing tests in post_modules/Unicode/testsuite (8 tests, pid 28012) Doing tests in post_modules/ZXID/testsuite (0 tests, pid 28013) Doing tests in post_modules/GSSAPI/testsuite (0 tests, pid 28014) Doing tests in post_modules/Nettle/testsuite (60 tests, pid 28015) Doing tests in post_modules/GL/testsuite (0 tests, pid 28018) Doing tests in post_modules/_Image_SVG/testsuite (4 tests, pid 28019) Doing tests in post_modules/SQLite/testsuite (35 tests, pid 28020) Doing tests in post_modules/GLUT/testsuite (0 tests, pid 28021) Doing tests in post_modules/GTK/testsuite (0 tests, pid 28022) Doing tests in post_modules/Shuffler/testsuite (1 tests, pid 28023) Doing tests in post_modules/SDL/testsuite (0 tests, pid 28024) Doing tests in post_modules/_ADT/testsuite (324 tests, pid 28025) Doing tests in testsuite (11325 tests, pid 28026) Failed tests: 42. Total tests: 159891 (230 tests skipped) Makefile:826: recipe for target 'valgrind_verify' failed make[3]: *** [valgrind_verify] Error 42 Makefile:151: recipe for target '_make_in_builddir' failed make[2]: *** [_make_in_builddir] Error 2 Makefile:68: recipe for target 'compile' failed make[1]: *** [compile] Error 2 make[1]: Leaving directory '/net/myst/export/d1/xenofarm/pike-7.8/megalon.roxen.com/buildtmp/Pike-v7.8-snapshot'