Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:72822 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69929 invoked from network); 26 Feb 2014 11:35:13 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Feb 2014 11:35:13 -0000 Authentication-Results: pb1.pair.com header.from=anatol.php@belski.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=anatol.php@belski.net; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain belski.net from 85.214.73.107 cause and error) X-PHP-List-Original-Sender: anatol.php@belski.net X-Host-Fingerprint: 85.214.73.107 klapt.com Received: from [85.214.73.107] ([85.214.73.107:59468] helo=klapt.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DD/60-01653-E61DD035 for ; Wed, 26 Feb 2014 06:35:11 -0500 Received: by klapt.com (Postfix, from userid 33) id 6CAFD23D611B; Wed, 26 Feb 2014 12:35:07 +0100 (CET) Received: from 88.64.189.66 (SquirrelMail authenticated user anatol@belski.net) by webmail.klapt.com with HTTP; Wed, 26 Feb 2014 12:35:07 +0100 Message-ID: <312e6d746acb3dec7cf7077ca4e7a804.squirrel@webmail.klapt.com> In-Reply-To: References: <54df89551690b2af245dba8088c7032b.squirrel@webmail.klapt.com> Date: Wed, 26 Feb 2014 12:35:07 +0100 To: "Chris Wright" Cc: "Anatol Belski" , "Chris Wright" , internals@lists.php.net, "Daniel Lowrey" , "Ferenc Kovacs" , "Pierre Joye" , =?UTF-8?Q?=22P=C3=A1draic_Brady=22?= User-Agent: SquirrelMail/1.5.2 [SVN] MIME-Version: 1.0 Content-Type: text/plain;charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] Windows Peer Verification From: anatol.php@belski.net ("Anatol Belski") Hi Chris, On Wed, February 26, 2014 12:09, Chris Wright wrote: > Hi Anatol > > > It's interesting that you should have a problem here, both Daniel and > I extensively "tested the tests" to ensure they would run and pass on > both windows and *nix - although I never tested on mac because I don't have > easy access to one (I'm not sure if Daniel did) but I assumed they would > work nicely there since they worked on all the *nix flavours I tested. > WHat OS are you running these on? It's win8 64 bit build of the PHP-5.6 > > The diff you show doesn't look like it would fix the problem as it > seems to be waiting for eof on stdin in the worker, which shouldn't ever > happen until the test is completed in the main process (the handle isn't > closed until the main process code has finished executing, which if it > uses a `wait()` will never happen if the worker executes successfully. The issue I saw there is that while(1) has never exited because it's expected '---' to appear to break. The way i did it at least jumps out from the loop. For example stream_server_reneg_limit.phpt does something else, but also hangs forever similar way. Maybe the piece with '---' should be restored and '---' appended to all the tests, but actually it were better to not depend on that. > I think it's likely that your machine is having difficulties launching > the background process for some reason, I suggest you inspect the $cmd path > generated in spawnWorkerProcess(). > I've checked that by copying the server code explicitly and ran it in a separate process. The hang was still there (so not leaving the while(1) part), for instance with bug46127.phpt . > One thought that does occur is that it might be worth changing the > sprintf pattern to "%s" "%s" %s - if you had any spaces in the path to the > PHP binary then the unquoted command would probably fail to > launch. There are no spaces in the paths, that's standard approach with c:\php-sdk\... I'll try this anyway. Have you tested also on 64 bit builds? Maybe it's specific to that. But the impression I have is that there's something in the PHP code/environment behaving different for whatever reason. > > On 26 February 2014 10:39, Anatol Belski wrote: > >> Hi Chris, >> >> >> On Wed, February 26, 2014 10:48, Chris Wright wrote: >> >>> On 22 February 2014 00:31, Chris Wright wrote: >>> >>> >>>> Following on from this thread and Daniel's excellent work on TLS >>>> improvements, and liaising heavily with Daniel off-list, I have > created a >>>> PR [1] of some work I have done to get peer verification >>>> working with Windows native certificate store. >>>> >>>> This is by far and away the most preferable option as it gives "out >>>> of the box" support for peer verification by default on Windows, and >>>> does not require any additional certificate bundles or >>>> configuration. It > also >>>> allows us to take advantage of trust updates rolled out via MS >>>> update systems. >>>> >>>> The implementation is complete in that it supports all existing >>>> features, although it needs a little polishing and some edge cases >>>> covering before it can be merged. The only definite known issue at >>>> the time of writing is that the method for fetching the CN from the >>>> certificate incorrectly assumes that the returned data will always >>>> be UTF-8 encoded, a solution for this is planned and will be >>>> implemented in the next day or two. >>>> >>>> I am by no means an expert on the subject matter here in any >>>> respect, so I encourage ruthless code review. >>>> >>>> Note that there are no new features here, it is simply looking to >>>> fill in the gaps in the recent work by providing consistency on >>>> Windows. >>>> >>>> >>>> [1] https://github.com/php/php-src/pull/601 >>>> >>>> >>> >>> This patch is now merged (thanks Daniel) and will be available in the >>> next alpha. If anyone finds anything that doesn't behave as >>> expected, please let me know. >>> >> >> the tests with the removed pcntl dependencies do fail for me. I made a >> small change here >> >> > http://git.php.net/?p=php-src.git;a=commitdiff;h=56cbe043810ab773605aa6a6 > c a2eb362ea9a54e9 >> >> but still there are some with the similar diff >> >> TEST 43/79 >> [C:\php-sdk\php56\vc11\x64\php-src\ext\openssl\tests\bug65538_001.phpt] >> ========DIFF======== >> 001+ Warning: file_get_contents(https://127.0.0.1:64321/): failed to >> > open >> stream: No connection could be made because the target machine actively >> refused it. 001- string(12) "Hello World!" >> 002+ in >> >> > C:\php-sdk\php56\vc11\x64\php-src\ext\openssl\tests\ServerClientTestCase. > i nc(93) >> : eval()'d code on line 8 >> 003+ bool(false) >> ========DONE======== >> >> >> Actually it's great to get rid of that pcntl dependency there, just we >> should bring it inline. Working on the further fixes. >> >> Regards >> >> >> Anatol >> >> > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > Regards Anatol