Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45242 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53524 invoked from network); 7 Aug 2009 15:55:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Aug 2009 15:55:25 -0000 Authentication-Results: pb1.pair.com header.from=david.zuelke@bitextender.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=david.zuelke@bitextender.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain bitextender.com from 80.237.132.12 cause and error) X-PHP-List-Original-Sender: david.zuelke@bitextender.com X-Host-Fingerprint: 80.237.132.12 wp005.webpack.hosteurope.de Received: from [80.237.132.12] ([80.237.132.12:48507] helo=wp005.webpack.hosteurope.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 80/78-08634-C6E4C7A4 for ; Fri, 07 Aug 2009 11:55:24 -0400 Received: from munich.bitxtender.net ([85.183.90.3] helo=[10.224.254.2]); authenticated by wp005.webpack.hosteurope.de running ExIM with esmtpsa (TLSv1:RC4-SHA:128) id 1MZRmr-0000b3-GQ; Fri, 07 Aug 2009 17:55:21 +0200 Message-ID: <3BA844A1-5E9E-4E15-AB47-DC88BE2886D0@bitextender.com> To: php-dev List In-Reply-To: <4A6F3211.40801@sci.fi> Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v936) Date: Fri, 7 Aug 2009 17:55:20 +0200 References: <67DEF003-A344-4BE6-9C23-6BB48935786F@bitextender.com> <4A6EE1BF.8080409@zend.com> <4A6F027B.3040608@zend.com> <4A6F3211.40801@sci.fi> X-Mailer: Apple Mail (2.936) X-bounce-key: webpack.hosteurope.de;david.zuelke@bitextender.com;1249660524;03808c3d; Subject: Re: [PHP-DEV] Re: SOAP_MARSHAL_DATETIME (or: bug #44383) From: david.zuelke@bitextender.com (=?ISO-8859-1?Q?David_Z=FClke?=) On 28.07.2009, at 19:14, Jani Taskinen wrote: > Dmitry Stogov wrote: >> David Z=FClke wrote: >>> On 28.07.2009, at 13:32, Dmitry Stogov wrote: >>> >>>> Hi David, >>>> >>>> I took only a quick look, but I like the patch. >>>> In case it doesn't break any tests, it should be committed at =20 >>>> least into >>>> HEAD. I agree to commit it into 5.3 too, but RMs take the final =20 >>>> decision. >>>> >>>> The only thing I didn't understood - why win32/php_stdint.h is =20 >>>> needed. >>> Ah, yes, that's probably an oversight. Good catch. The headers were >>> copy-pasted from some ext/date file :) >>> >>> Another thing that just occured to me is that we now have a =20 >>> dependency >>> on ext/date; I think I had trouble compiling ext/soap as a =20 >>> standalone >>> extension like this. Must check again. Any hints? >> I think ext/date can't be removed or compiled as shared extension. >> If it's the case, the only problem may be with unexported symbols. >> Just try to compile/test it as shared extension on Linux and Windows. > > ext/date is not an extension, it's part of core, just like ext/=20 > standard so you shouldn't have any problems with it. Not attached (because the draconian police state filters at =20 lists.php.net didn't like the patch attachment or something :)), but =20 posted here: http://pastie.org/575559 and here: = http://bugs.php.net/44383=20 , is an update of the patch. It has the following updates: 1) all tests adjusted, reviewed and changed to work in sequence (only =20= one of the several variants was not commented out before) 2) fixed handling of unix timestamp longs There are the following outstanding issues (I'm going on a holiday =20 tomorrow, so I figured I'd shoot you an update in the meantime): 1) there seem to be problems with negative timezone offsets (see tests =20= ext/soap/tests/schema/schema0(89|91).phpt) unless I'm confused 2) at the minute, it breaks ext/soap/tests/schema/schema064.phpt. =20 Except for one of the cases where the formatting is indeed wrong, it's =20= due to time zones not being included. That obviously needs fixing, but =20= I'd like to point out that the current tests do not seem to be in =20 compliance with the XML Schema specification, which for gMonthDay, =20 gDay and gMonth states: "An optional following time zone qualifier is =20= allowed as for date". The rule for "date" and timezone postfixes is =20 "For timezoned values, append the canonical representation of the =20 =B7recoverable timezone=B7". A recoverable timezone is an offset value = in =20 the format "[+-]hh:mm". http://www.w3.org/TR/xmlschema-2/ has all the =20= details, but maybe I'm missing something. For gYearMonth and gYear, I =20= think the "dateTime" timezone rules apply, which means the canonical =20 representation must always be in UTC (and thus carry "Z" as the =20 timezone identifier, which is what the tests currently expect, so =20 those are correct). Finally, when I compile as an extension, I get the following error =20 once I reach tests that execute code relying on timelib: dyld: lazy symbol binding failed: Symbol not found: _timelib_time_ctor Referenced from: .../extensions/no-debug-non-zts-20090626/soap.so Expected in: flat namespace dyld: Symbol not found: _timelib_time_ctor Referenced from: .../extensions/no-debug-non-zts-20090626/soap.so Expected in: flat namespace I compiled without --enable-soap, then used the correct "phpize" in =20 ext/soap, ran configure with the correct --with-php-config=3D.../blah/=20= php-config, make install and enabled the extension in php.ini. Feedback/thoughts/advice appreciated. I'll be back in ~2 weeks. Cheers, - David