From d5645bf76da55c056082a99593de1b5ef645bfa8 Mon Sep 17 00:00:00 2001 From: dmiller Date: Fri, 31 Jul 2026 20:57:28 +0000 Subject: [PATCH] ncat-test.pl: make reading stderr easier --- ncat/test/ncat-test.pl | 18 ++++----- ncat/test/test-cert.pem | 81 ++++++++++++++++++++--------------------- 2 files changed, 49 insertions(+), 50 deletions(-) diff --git a/ncat/test/ncat-test.pl b/ncat/test/ncat-test.pl index 0cf94712f..422767a92 100755 --- a/ncat/test/ncat-test.pl +++ b/ncat/test/ncat-test.pl @@ -210,7 +210,7 @@ sub test { } } -my ($s_pid, $s_out, $s_in, $c_pid, $c_out, $c_in, $p_pid, $p_out, $p_in); +my ($s_pid, $s_out, $s_in, $s_err, $c_pid, $c_out, $c_in, $c_err, $p_pid, $p_out, $p_in, $p_err); # Handle a common test situation. Start up a server and client with the given # arguments and call test on a code block. Within the code block the server's @@ -223,12 +223,12 @@ sub server_client_test { my $server_args = shift; my $client_args = shift; my $code = shift; - ($s_pid, $s_out, $s_in) = ncat_server(@$server_args); + ($s_pid, $s_out, $s_in, $s_err) = ncat_server(@$server_args); if (waitpid($s_pid, WNOHANG) != 0) { test($desc, sub {die "Server not running\n"}); return; } - ($c_pid, $c_out, $c_in) = ncat_client(@$client_args); + ($c_pid, $c_out, $c_in, $c_err) = ncat_client(@$client_args); test($desc, $code); kill_children; } @@ -297,9 +297,9 @@ sub proxy_test { my $server_args = shift; my $client_args = shift; my $code = shift; - ($p_pid, $p_out, $p_in) = ncat(host_for_args(@$proxy_args), ($PROXY_PORT, "-l", "--proxy-type", "http"), @$proxy_args); - ($s_pid, $s_out, $s_in) = ncat(host_for_args(@$server_args), ($PORT, "-l"), @$server_args); - ($c_pid, $c_out, $c_in) = ncat(host_for_args(@$client_args), ($PORT, "--proxy", "$HOST:$PROXY_PORT"), @$client_args); + ($p_pid, $p_out, $p_in, $p_err) = ncat(host_for_args(@$proxy_args), ($PROXY_PORT, "-l", "--proxy-type", "http"), @$proxy_args); + ($s_pid, $s_out, $s_in, $s_err) = ncat(host_for_args(@$server_args), ($PORT, "-l"), @$server_args); + ($c_pid, $c_out, $c_in, $c_err) = ncat(host_for_args(@$client_args), ($PORT, "--proxy", "$HOST:$PROXY_PORT"), @$client_args); test($desc, $code); kill_children; } @@ -312,9 +312,9 @@ sub proxy_test_raw { my $server_args = shift; my $client_args = shift; my $code = shift; - ($p_pid, $p_out, $p_in) = ncat(host_for_args(@$proxy_args), ($PROXY_PORT, "-l", "--proxy-type", "http"), @$proxy_args); - ($s_pid, $s_out, $s_in) = ncat(host_for_args(@$server_args), ($PORT, "-l"), @$server_args); - ($c_pid, $c_out, $c_in) = ncat(host_for_args(@$client_args), ($PROXY_PORT), @$client_args); + ($p_pid, $p_out, $p_in, $p_err) = ncat(host_for_args(@$proxy_args), ($PROXY_PORT, "-l", "--proxy-type", "http"), @$proxy_args); + ($s_pid, $s_out, $s_in, $s_err) = ncat(host_for_args(@$server_args), ($PORT, "-l"), @$server_args); + ($c_pid, $c_out, $c_in, $c_err) = ncat(host_for_args(@$client_args), ($PROXY_PORT), @$client_args); test($desc, $code); kill_children; } diff --git a/ncat/test/test-cert.pem b/ncat/test/test-cert.pem index b8ea04c6f..b1b1a77bb 100644 --- a/ncat/test/test-cert.pem +++ b/ncat/test/test-cert.pem @@ -1,47 +1,46 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDXxBwGiVsEqfPK -n4ikgwiqLPfyPOgXeEBQcuyOwF7y4WpxT5IWjo8Ppz7LKgFUi7LR4AF6kQDJGyCV -dWPaF3XKCwRZkXpOLHPS/g6lnO7ZA34oV02ecIEbhMWRvXYtwhtrenZUWVZJxf+P -S38YkrzUREZrB20rWAAnJMrgEMTK5g5nDz7O7zWh40u1g4s2T0EfTTtRcsrajB+l -curjIx6r2JAM53KN3ZXZfrHerLbSl0pJX5Ir6mW9D9GZRMIQ0FMi+UzVknAKQ/zG -j297nCEZV7bvUImNWMyMaFr6HFtch/ltpYs6j36sbbBIxNWgbQZWmi/sI12GAHF2 -YaE7Bv1tAgMBAAECggEAIwQOx0nJxWU+bQr8bjRctt9i4sNbKBnqGBQ6i0Uxc4m9 -EEQJUZNTqMbr1CVOP3YHcHOB0e4P2lNGc7LwID/v6/jjPRT0rBSfPGXiIyLniTz9 -n5bhgB3CeiCPPqJoeC8Y65Wdd/1imUjie1MVfnur3OfypKJ5J1BaAABC01+tTD8C -yYAjCbY+sf86aLZPFY37oK4fQNyecu/kc+AvpssgWSgN1fcUoXOAzGbHuAA1Idiv -1EoVBQBNJvJO+Xkg5Cscx506kR/NbBxpovw5P8GlnEAoQqTT/T2U4QbryKt9GdJO -TXXFy9Z9woAxe7GBLXPS1JWTSzuO90lhIhEE0P0P6QKBgQD12onzUQYraFYJxnJV -4grgYck/0Mu4y8i4yblHkKZgmYfTEvg53+TQPmpR8f9MzTLUSjiLx8AGu/IMBM4K -jQYIQQXL+p6qZELICx/e/md7v2cWBprOU+RfE4nTCs+9tdHTjBe8QvZI8lkGcnK4 -MPR/7QFJ1CcRe17NFsMHqobzOQKBgQDgq7FfKRTnPuEKaAZKo+Tv19kPAWYa0uAh -t6vbfVAPPvw2HOp1lNJYMu8QTQ30a8DidKOb0HpNmJBvoER5d8RrtVTnPt51CO3t -GNRw8Ku6btHu7hAzS3gkviQOF2es/oa6QLMtNzhQjxArNXmP+nxW3WlEhiT1R580 -+t2o0YiX1QKBgHuQDIk3jaw/Ug6zqD81zlWbj/P80obcFNOavv4S2yvtve/9trgP -qQZoeDMbNz64WvWLIARQrlg0GaCkwZFX81Iuq+Uq3pewsEeuH6SJpCTzu7G8PA26 -6CpIvZpN8r7cJMr3u+4okXN0Kf4tgy7Dm/63dVBPyhrlMG5PJFI0CIMxAoGAEqxS -fq1Ebn/cZmgE9dkvYvvWr5eXK+2Q8Vx5rTF6IPpELh8zIXiwDuKU2g79dO4rxuaY -3o9ySta+UnjImCvrKGSW3O1twd5vIACrT4PBUip5ylkBAbJpFuyyxHUPieJRwlM0 -UTLAvHlXh6/XHa9c/D9Ey4w2sCg2xEmBeNGJf80CgYEA1qQ6nnaDPXwqRH9/QdEk -T9B8L8bTBJf54KkZzoQtTbxK7f06Du9vzXgvXhzmc2LmsGroZHJVchShoADM0TMw -BAp/W+RVNhp3swBC1P7w7zdjZ0jXS3zORdy4RnVVEPeeZPFGjW4r7Eexoo3nhmiz -6bAlK9Vj58kCxtZy/wEEGiY= +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3ltLaaY1KvqUE +tiQmXso4ZLT1Kl+eZjOxtmjzgBbHOiYR/uJuNNrTawSpDhpfQ3AN6PGOev90l24q +qHXWvJH1Vt1ipS8KdjIXpAQ+C0ZsMHA6aCrwDDLPVH2M58IIcdZktbVDZFSqhwQ4 +EBFBD5wpPtMRPYVsxPofW/1T4n3mWyMRnICidJE8rIsDK0oA3mSK3wDvoMKYSP30 +5nSguNYFE46GRG2gSlfz8lRO3HWL7JPQpwRaHlHMe9AUqddRj7foicQrANax839W +jtKsUsiWwLgz5t5Im51VNrhEHj9p4WFjbSAXzZZpBhuYgzBcfVDOEMf7rpMQhuye +yPtaHoItAgMBAAECggEAHnzuFDZuL+j8F4218CdSts3GnWZFjdUUJaGQyUtOvRQj +iV6GNN4TLwP5OKfuaj6VR8IVB1/Wt4KEWZIzS49yP8eGqWCcMMUTKYjj6XfO4J2k +rZZp9wZXk8XIudMtDmD1RTFF4mSxiMY2RacpbmAMw26694R7eWY20Wlh5wHYfZ4B +qxaqtgjnDkfcql8sge42pRxBiYOKr7o94gEpLM3lZDdeEFtER+IP3hEEVW4cTiSn +1/SZFPEAOBaKy3qmpwYFvtrymAYaDAqVX1IZzSAJ4xmZrv6nkL5tgxwCiSunmGLq +lVW9+qZsbFLPkD7DIa0ph/ykVVV0qU/FUGwhcb8E4wKBgQDsrjOzxdpFrAZdj0dd +gqfpuDm+g6iHTabtA83KJq1BOloDVH57slx/TCDTm4ZWz+FGb0L6SH0awj3MtsFC +JVsPrMHkwXbYDWWd5uuctXrXM+2RbrkzG6HqwXQGn+c/xbpLJxukQipL8UR6ktZs +EcACInhGcTHT84pUlRjoRjoPTwKBgQDGkzKoXONgG2gLvYp/IDDYMmrE2BL+qFuI +iGZLqTd05MTl77pVcmJhIFLRAV8WjgNIGN/SeVvwe/DRNLwcj3CzvRNnDTkT8D6U +KEXcimZbCvuXMM5wZaC+YmA6YafBjemZ+b5q8sihTfziGBKzmsoHGgDRX+rvSpvh +gPfmz/9XwwKBgBTUoChKWZOYOFczrQxF25FubWafH84Iv5BMrWgFT2pWQGXaoecx +I4LwqFL3dTNeyGzyjeqJRrl8LwQ9cXTo5MLUaZxAir0pMLBdCo+YSV93aolKPXKK +FA4dSKDsoeWy+Vpz7rLeP+q/KU/AbK7GQSfu8LcCb2hAHwSiurZ2t9VxAoGBAIX3 +jLeVYzjVhI5XI3a8ivdwnCOM+tOfVZF5JDprQSS1qjjOUNGQx9pq6jRjTnly+bfM +QERI58QIeeFKSJakFw7LwqlFfHp9HFrsCKXPIVrOwAmyPbQKfDW1POJmO70TNsRQ +fyy7+qsIaFFImGVfSmkcG+0lXuRtW1j5n0WykbvtAoGBAJmRZ8E7r0rDSRSOdLdX +RD1m9WH2SkT8+Vgn+EEoknLAKRU0BjpWAX8LpGL0NwC0ZG4wojFhSv6iqgIbfaHU ++WW7/jjsMKpnaTs4nDfBr8IlDoI8+r4YOGvAYQlSBCb7QMYet2Z0LhnpEMLWGyg9 +iM41lQni6AVEMcEIIL01MtnD -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -MIIC/zCCAeegAwIBAgIUbIfpwJed9JF0k2O+DEfgZ5k0AKcwDQYJKoZIhvcNAQEL +MIIC3DCCAcSgAwIBAgIUdT3jyH6nqeXhWq222UwP1uXIWRAwDQYJKoZIhvcNAQEL BQAwKDESMBAGA1UECgwJbmNhdC10ZXN0MRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcN -MjYwMzEwMTUyNzE2WhcNMjYwNDA5MTUyNzE2WjAoMRIwEAYDVQQKDAluY2F0LXRl +MjYwNzMxMTcwMTI4WhcNMjYwODMwMTcwMTI4WjAoMRIwEAYDVQQKDAluY2F0LXRl c3QxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBANfEHAaJWwSp88qfiKSDCKos9/I86Bd4QFBy7I7AXvLhanFPkhaOjw+n -PssqAVSLstHgAXqRAMkbIJV1Y9oXdcoLBFmRek4sc9L+DqWc7tkDfihXTZ5wgRuE -xZG9di3CG2t6dlRZVknF/49LfxiSvNRERmsHbStYACckyuAQxMrmDmcPPs7vNaHj -S7WDizZPQR9NO1FyytqMH6Vy6uMjHqvYkAznco3dldl+sd6sttKXSklfkivqZb0P -0ZlEwhDQUyL5TNWScApD/MaPb3ucIRlXtu9QiY1YzIxoWvocW1yH+W2lizqPfqxt -sEjE1aBtBlaaL+wjXYYAcXZhoTsG/W0CAwEAAaMhMB8wHQYDVR0OBBYEFKTU4enR -8qzoZH2kQAr8eqCYZQiiMA0GCSqGSIb3DQEBCwUAA4IBAQCwJT99ezqqX6PVPbbx -ERKTFnWlmekvLew9bomROTI0Nd2HnXAeC85db4BfEVe2IeusCHW8xa0aAcG4brih -UZXdMsNafn+aPwIFF/g28fvTU9DUs/Y4+NPvkWrJSYzMURzFIWjfxhBoPnMW6TON -vcmfuugK0wj/xCW4OsSbPYiZUeaZEuJU0Xiaf4h1o3rNJyF8aK1YPvZsqePz0Mg0 -KsgADk/DyXQTGlN9LvpGfNtHJL5NbA0CV2zvCDrRLNwZeOPJDdkLN5vaE3QcHqT+ -IcM4uyVaAEHeJ0Gty0jWjb6oJjT9EA0wU+zLvTjtSFVa1EFCpK1iXPNa3yOiOZ6X -DA8x +AQoCggEBALeW0tppjUq+pQS2JCZeyjhktPUqX55mM7G2aPOAFsc6JhH+4m402tNr +BKkOGl9DcA3o8Y56/3SXbiqodda8kfVW3WKlLwp2MhekBD4LRmwwcDpoKvAMMs9U +fYznwghx1mS1tUNkVKqHBDgQEUEPnCk+0xE9hWzE+h9b/VPifeZbIxGcgKJ0kTys +iwMrSgDeZIrfAO+gwphI/fTmdKC41gUTjoZEbaBKV/PyVE7cdYvsk9CnBFoeUcx7 +0BSp11GPt+iJxCsA1rHzf1aO0qxSyJbAuDPm3kibnVU2uEQeP2nhYWNtIBfNlmkG +G5iDMFx9UM4Qx/uukxCG7J7I+1oegi0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA +J7Qt15bQc/J3q3IXZn6SXxuZO/+Ktn//AUjpQ4mjhVAMhn/6ZIUp3v74l2wIuEq4 +sx3ynUyqenFyaY+XH5lyfHe3hXX7RbZWgflkWsW4EkAxLn+2r+YKbSJkMOk0+FCg +w09OVf1G3GsIEULUmH7Jva1SubB0DHrdpXreloPm0rmvLtzJ9QUEunXb362OZbpy +a4IuGWNySWzrpZQU60VWskeRfoQ8Qg+b6I+zx3qxS5h4SaCREX50AnRHGkr6SPis +/MWw8QO6wW+RLEMti61sVhCcUdwyF4GDCpSqflqlgngf3iLNNX9hDoyK/ltkOwSA +g7aYQeEUiAVnxYYfCddvbw== -----END CERTIFICATE-----