{"schema":"libjg2-1",
"vpath":"/git/",
"avatar":"/git/avatar/",
"alang":"",
"gen_ut":1752650825,
"reponame":"openssl",
"desc":"OpenSSL",
"owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://warmcat.com/repo/openssl",
"f":3,
"items": [
{"schema":"libjg2-1",
"cid":"df5b9db846082892c21dc317c2e9ed93",
"commit": {"type":"commit",
"time": 1495822093,
"time_ofs": 60,
"oid_tree": { "oid": "3bb261c4afa48c86072802519c15be2556d1736c", "alias": []},
"oid":{ "oid": "b72668a0d3586ee2560f0536c43e18991a4cfc6f", "alias": []},
"msg": "Fix a Proxy race condition",
"sig_commit": { "git_time": { "time": 1495822093, "offset": 60 }, "name": "Matt Caswell", "email": "matt@openssl.org", "md5": "10f7b441a32d5790efad9fc68cae4af2" },
"sig_author": { "git_time": { "time": 1495800368, "offset": 60 }, "name": "Matt Caswell", "email": "matt@openssl.org", "md5": "10f7b441a32d5790efad9fc68cae4af2" }},
"body": "Fix a Proxy race condition\n\nIssue #3562 describes a problem where a race condition can occur in the\nProxy such that a test \u0022ok\u0022 line can appear in the middle of other text\ncausing the test harness to miss it. The issue is that we do not wait for\nthe client process to finish after the test is complete, so that process may\ncontinue to write data to stdout/stderr at the same time that the test\nharness does.\n\nThis commit fixes TLSProxy so that we always wait for the client process to\nfinish before continuing.\n\nFixes #3562\n\nReviewed-by: Richard Levitte \u003clevitte@openssl.org\u003e\n(Merged from https://github.com/openssl/openssl/pull/3567)"
,
"diff": "diff --git a/util/TLSProxy/Proxy.pm b/util/TLSProxy/Proxy.pm\nindex a826cb5..5c363e7 100644\n--- a/util/TLSProxy/Proxy.pm\n+++ b/util/TLSProxy/Proxy.pm\n@@ -49,6 +49,7 @@ sub new\n clientflags \u003d\u003e \u0022\u0022,\n serverconnects \u003d\u003e 1,\n serverpid \u003d\u003e 0,\n+ clientpid \u003d\u003e 0,\n reneg \u003d\u003e 0,\n sessionfile \u003d\u003e undef,\n \n@@ -113,6 +114,7 @@ sub clearClient\n $self-\u003e{message_list} \u003d [];\n $self-\u003e{clientflags} \u003d \u0022\u0022;\n $self-\u003e{sessionfile} \u003d undef;\n+ $self-\u003e{clientpid} \u003d 0;\n $is_tls13 \u003d 0;\n $ciphersuite \u003d undef;\n \n@@ -240,6 +242,7 @@ sub clientstart\n }\n exec($execcmd);\n }\n+ $self-\u003eclientpid($pid);\n }\n \n # Wait for incoming connection from client\n@@ -338,6 +341,10 @@ sub clientstart\n waitpid( $self-\u003eserverpid, 0);\n die \u0022exit code $? from server process\u005cn\u0022 if $? !\u003d 0;\n }\n+ die \u0022clientpid is zero\u005cn\u0022 if $self-\u003eclientpid \u003d\u003d 0;\n+ print \u0022Waiting for client process to close: \u0022.$self-\u003eclientpid.\u0022\u005cn\u0022;\n+ waitpid($self-\u003eclientpid, 0);\n+\n return 1;\n }\n \n@@ -531,6 +538,14 @@ sub serverpid\n }\n return $self-\u003e{serverpid};\n }\n+sub clientpid\n+{\n+ my $self \u003d shift;\n+ if (@_) {\n+ $self-\u003e{clientpid} \u003d shift;\n+ }\n+ return $self-\u003e{clientpid};\n+}\n \n sub fill_known_data\n {\n","s":{"c":1752650825,"u": 28051}}
],"g": 29464,"chitpc": 0,"ehitpc": 0,"indexed":0
,
"ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}