Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:9684 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 33518 invoked by uid 1010); 6 May 2004 12:32:47 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 33483 invoked from network); 6 May 2004 12:32:46 -0000 Received: from unknown (HELO helikon.muze.nl) (194.109.163.201) by pb1.pair.com with SMTP; 6 May 2004 12:32:46 -0000 Received: from gijs (helo=localhost) by helikon.muze.nl with local-esmtp (Exim 3.35 #1 (Debian)) id 1BLi3S-00055E-00 for ; Thu, 06 May 2004 14:32:46 +0200 Date: Thu, 6 May 2004 14:32:45 +0200 (CEST) To: internals@lists.php.net Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1926886497-1403293388-1083846765=:19379" Subject: [PATCH] Backport of IIS PATH_INFO fix. From: gijs@muze.nl (Gijsbert te Riet) --1926886497-1403293388-1083846765=:19379 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, While updating PHP 4.3.6 with our IIS 'path_info' patch (see bug #7782) we found that the isapi module of PHP 5 already contains a 'path_info' fix. Since that fix is already part of PHP, and our fix didn't get included (the fix in php5 is better), we have made a backport of the PHP5 fix for PHP 4.3.6. Please find the patch attached to this posting. We have tested this patch with PHP 4.3.6 / IIS. We have not tested this with an other webserver. The patch included is made against PHP 4.3.6, but as the isapi code in cvs has not undergone changes since 4.3.6, this patch should also be applicable to the PHP_4_3 branch. A compiled version of the isapi module with this patch applied can be download from: ftp://ftp.muze.nl/pub/ariadne/win/iis/php-4.3.6/ Regards, Gijsbert te Riet. Muze. --1926886497-1403293388-1083846765=:19379 Content-Type: TEXT/plain; name="php4isapi.c.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="php4isapi.c.diff" LS0tIHBocDRpc2FwaS5jCVRodSBNYXkgIDYgMTA6MzM6MTkgMjAwNA0KKysr IHBocDRpc2FwaS5jLm5ldwlUaHUgTWF5ICA2IDEwOjM0OjMwIDIwMDQNCkBA IC00NjEsNiArNDYxLDg1IEBADQogCQlwaHBfcmVnaXN0ZXJfdmFyaWFibGUo ICJTRVJWRVJfU0lHTkFUVVJFIiwgc3RhdGljX3ZhcmlhYmxlX2J1ZiwgdHJh Y2tfdmFyc19hcnJheSBUU1JNTFNfQ0MgKTsNCiAJfQ0KIH0NCisNCisjZWxz ZQ0KKw0KK3N0YXRpYyB2b2lkIHNhcGlfaXNhcGlfcmVnaXN0ZXJfaWlzX3Zh cmlhYmxlcyhMUEVYVEVOU0lPTl9DT05UUk9MX0JMT0NLIGxwRUNCLCB6dmFs ICp0cmFja192YXJzX2FycmF5IFRTUk1MU19EQykNCit7DQorCWNoYXIgc3Rh dGljX3ZhcmlhYmxlX2J1ZltJU0FQSV9TRVJWRVJfVkFSX0JVRl9TSVpFXTsN CisJY2hhciBwYXRoX2luZm9fYnVmW0lTQVBJX1NFUlZFUl9WQVJfQlVGX1NJ WkVdOw0KKwlEV09SRCB2YXJpYWJsZV9sZW4gPSBJU0FQSV9TRVJWRVJfVkFS X0JVRl9TSVpFOw0KKwlEV09SRCBzY3JpcHRuYW1lX2xlbiA9IElTQVBJX1NF UlZFUl9WQVJfQlVGX1NJWkU7DQorCURXT1JEIHBhdGhpbmZvX2xlbiA9IDA7 DQorCUhTRV9VUkxfTUFQRVhfSU5GTyBodW1pOw0KKw0KKwkvKiBHZXQgU0NS SVBUX05BTUUsIHdlIHVzZSB0aGlzIHRvIHdvcmsgb3V0IHdoaWNoIGJpdCBv ZiB0aGUgVVJMDQorCSAqIGJlbG9uZ3MgaW4gUEhQJ3MgdmVyc2lvbiBvZiBQ QVRIX0lORk8uICBTQ1JJUFRfTkFNRSBhbHNvIGJlY29tZXMgUEhQX1NFTEYu DQorCSAqLw0KKwlscEVDQi0+R2V0U2VydmVyVmFyaWFibGUobHBFQ0ItPkNv bm5JRCwgIlNDUklQVF9OQU1FIiwgc3RhdGljX3ZhcmlhYmxlX2J1ZiwgJnNj cmlwdG5hbWVfbGVuKTsNCisJcGhwX3JlZ2lzdGVyX3ZhcmlhYmxlKCJTQ1JJ UFRfRklMRU5BTUUiLCBTRyhyZXF1ZXN0X2luZm8pLnBhdGhfdHJhbnNsYXRl ZCwgdHJhY2tfdmFyc19hcnJheSBUU1JNTFNfQ0MpOw0KKw0KKwkvKiBBZGp1 c3QgSUlTJyB2ZXJzaW9uIG9mIFBBVEhfSU5GTywgc2V0IFBIUF9TRUxGLA0K KwkgKiBhbmQgZ2VuZXJhdGUgUkVRVUVTVF9VUkkNCisJICogR2V0IGFuZCBh ZGp1c3QgUEFUSF9UUkFOU0xBVEVEIHRvIHdoYXQgUEhQIHdhbnRzDQorCSAq Lw0KKwlpZiAoIGxwRUNCLT5HZXRTZXJ2ZXJWYXJpYWJsZShscEVDQi0+Q29u bklELCAiUEFUSF9JTkZPIiwgc3RhdGljX3ZhcmlhYmxlX2J1ZiwgJnZhcmlh YmxlX2xlbikgJiYgc3RhdGljX3ZhcmlhYmxlX2J1ZlswXSApIHsNCisNCisJ CS8qIENob3Agb2ZmIGZpbGVuYW1lIHRvIGdldCBqdXN0IHRoZSAncmVhbCcg UEFUSF9JTkZPJyAqLw0KKwkJcGhwX3JlZ2lzdGVyX3ZhcmlhYmxlKCAiT1JJ R19QQVRIX0lORk8iLCBzdGF0aWNfdmFyaWFibGVfYnVmLCB0cmFja192YXJz X2FycmF5IFRTUk1MU19DQyApOw0KKwkJcGF0aGluZm9fbGVuID0gdmFyaWFi bGVfbGVuIC0gc2NyaXB0bmFtZV9sZW47DQorCQlzdHJuY3B5KHBhdGhfaW5m b19idWYsIHN0YXRpY192YXJpYWJsZV9idWYgKyBzY3JpcHRuYW1lX2xlbiAt IDEsIHNpemVvZihwYXRoX2luZm9fYnVmKS0xKTsNCisJCXBocF9yZWdpc3Rl cl92YXJpYWJsZSggIlBBVEhfSU5GTyIsIHBhdGhfaW5mb19idWYsIHRyYWNr X3ZhcnNfYXJyYXkgVFNSTUxTX0NDICk7DQorCQkvKiBhcHBlbmQgcXVlcnkg c3RyaW5nIHRvIGdpdmUgdXJsLi4uIGV4dHJhIGJ5dGUgZm9yICc/JyAqLw0K KwkJaWYgKCBzdHJsZW4obHBFQ0ItPmxwc3pRdWVyeVN0cmluZykgKyB2YXJp YWJsZV9sZW4gKyAxIDwgSVNBUElfU0VSVkVSX1ZBUl9CVUZfU0laRSApIHsN CisJCQkvKiBhcHBlbmQgcXVlcnkgc3RyaW5nIG9ubHkgaWYgaXQgaXMgcHJl c2VudC4uLiAqLw0KKwkJCWlmICggc3RybGVuKGxwRUNCLT5scHN6UXVlcnlT dHJpbmcpICkgew0KKwkJCQlzdGF0aWNfdmFyaWFibGVfYnVmWyB2YXJpYWJs ZV9sZW4gLSAxIF0gPSAnPyc7DQorCQkJCXN0cmNweSggc3RhdGljX3Zhcmlh YmxlX2J1ZiArIHZhcmlhYmxlX2xlbiwgbHBFQ0ItPmxwc3pRdWVyeVN0cmlu ZyApOw0KKwkJCX0NCisJCQlwaHBfcmVnaXN0ZXJfdmFyaWFibGUoICJVUkwi LCBzdGF0aWNfdmFyaWFibGVfYnVmLCB0cmFja192YXJzX2FycmF5IFRTUk1M U19DQyApOw0KKwkJCXBocF9yZWdpc3Rlcl92YXJpYWJsZSggIlJFUVVFU1Rf VVJJIiwgc3RhdGljX3ZhcmlhYmxlX2J1ZiwgdHJhY2tfdmFyc19hcnJheSBU U1JNTFNfQ0MgKTsNCisJCX0NCisJCXZhcmlhYmxlX2xlbiA9IElTQVBJX1NF UlZFUl9WQVJfQlVGX1NJWkU7DQorCQlpZiAoIGxwRUNCLT5HZXRTZXJ2ZXJW YXJpYWJsZShscEVDQi0+Q29ubklELCAiUEFUSF9UUkFOU0xBVEVEIiwgc3Rh dGljX3ZhcmlhYmxlX2J1ZiwgJnZhcmlhYmxlX2xlbikgJiYgc3RhdGljX3Zh cmlhYmxlX2J1ZlswXSApIHsNCisJCQlwaHBfcmVnaXN0ZXJfdmFyaWFibGUo ICJPUklHX1BBVEhfVFJBTlNMQVRFRCIsIHN0YXRpY192YXJpYWJsZV9idWYs IHRyYWNrX3ZhcnNfYXJyYXkgVFNSTUxTX0NDICk7DQorCQl9DQorCQlpZiAo bHBFQ0ItPlNlcnZlclN1cHBvcnRGdW5jdGlvbihscEVDQi0+Q29ubklELCBI U0VfUkVRX01BUF9VUkxfVE9fUEFUSF9FWCwgcGF0aF9pbmZvX2J1ZiwgJnBh dGhpbmZvX2xlbiwgKExQRFdPUkQpICZodW1pKSkgew0KKwkJCS8qIFJlbW92 ZSB0cmFpbGluZyBcICAqLw0KKwkJCWlmIChodW1pLmxwc3pQYXRoW3Zhcmlh YmxlX2xlbi0yXSA9PSAnXFwnKSB7DQorCQkJCWh1bWkubHBzelBhdGhbdmFy aWFibGVfbGVuLTJdID0gMDsNCisJCQl9DQorCQkJcGhwX3JlZ2lzdGVyX3Zh cmlhYmxlKCJQQVRIX1RSQU5TTEFURUQiLCBodW1pLmxwc3pQYXRoLCB0cmFj a192YXJzX2FycmF5IFRTUk1MU19DQyk7DQorCQl9DQorCX0NCisNCisJc3Rh dGljX3ZhcmlhYmxlX2J1ZlswXSA9ICcvJzsNCisJc3RhdGljX3ZhcmlhYmxl X2J1ZlsxXSA9IDA7DQorCXZhcmlhYmxlX2xlbiA9IDI7DQorCWlmIChscEVD Qi0+U2VydmVyU3VwcG9ydEZ1bmN0aW9uKGxwRUNCLT5Db25uSUQsIEhTRV9S RVFfTUFQX1VSTF9UT19QQVRIX0VYLCBzdGF0aWNfdmFyaWFibGVfYnVmLCAm dmFyaWFibGVfbGVuLCAoTFBEV09SRCkgJmh1bWkpKSB7DQorCQkvKiBSZW1v dmUgdHJhaWxpbmcgXCAgKi8NCisJCWlmIChodW1pLmxwc3pQYXRoW3Zhcmlh YmxlX2xlbi0yXSA9PSAnXFwnKSB7DQorCQkJaHVtaS5scHN6UGF0aFt2YXJp YWJsZV9sZW4tMl0gPSAwOw0KKwkJfQ0KKwkJcGhwX3JlZ2lzdGVyX3Zhcmlh YmxlKCJET0NVTUVOVF9ST09UIiwgaHVtaS5scHN6UGF0aCwgdHJhY2tfdmFy c19hcnJheSBUU1JNTFNfQ0MpOw0KKwl9DQorDQorCWlmICghU0cocmVxdWVz dF9pbmZvKS5hdXRoX3VzZXIgfHwgIVNHKHJlcXVlc3RfaW5mbykuYXV0aF9w YXNzd29yZCB8fCANCisJCSFTRyhyZXF1ZXN0X2luZm8pLmF1dGhfdXNlclsw XSB8fCAhU0cocmVxdWVzdF9pbmZvKS5hdXRoX3Bhc3N3b3JkWzBdKSB7DQor CQl2YXJpYWJsZV9sZW4gPSBJU0FQSV9TRVJWRVJfVkFSX0JVRl9TSVpFOw0K KwkJaWYgKGxwRUNCLT5HZXRTZXJ2ZXJWYXJpYWJsZShscEVDQi0+Q29ubklE LCAiSFRUUF9BVVRIT1JJWkFUSU9OIiwgc3RhdGljX3ZhcmlhYmxlX2J1Ziwg JnZhcmlhYmxlX2xlbikNCisJCQkmJiBzdGF0aWNfdmFyaWFibGVfYnVmWzBd KSB7DQorCQkJcGhwX2hhbmRsZV9hdXRoX2RhdGEoc3RhdGljX3ZhcmlhYmxl X2J1ZiBUU1JNTFNfQ0MpOw0KKwkJfQ0KKwl9DQorDQorCWlmIChTRyhyZXF1 ZXN0X2luZm8pLmF1dGhfdXNlcikgIHsNCisJCXBocF9yZWdpc3Rlcl92YXJp YWJsZSgiUEhQX0FVVEhfVVNFUiIsIFNHKHJlcXVlc3RfaW5mbykuYXV0aF91 c2VyLCB0cmFja192YXJzX2FycmF5IFRTUk1MU19DQyApOw0KKwl9DQorCWlm IChTRyhyZXF1ZXN0X2luZm8pLmF1dGhfcGFzc3dvcmQpIHsNCisJCXBocF9y ZWdpc3Rlcl92YXJpYWJsZSgiUEhQX0FVVEhfUFciLCBTRyhyZXF1ZXN0X2lu Zm8pLmF1dGhfcGFzc3dvcmQsIHRyYWNrX3ZhcnNfYXJyYXkgVFNSTUxTX0ND ICk7DQorCX0NCit9DQogI2VuZGlmDQogDQogDQpAQCAtNTAyLDYgKzU4MSw3 IEBADQogCWNoYXIgKnZhcmlhYmxlOw0KIAljaGFyICpzdHJ0b2tfYnVmID0g TlVMTDsNCiAJY2hhciAqaXNhcGlfc3BlY2lhbF9zZXJ2ZXJfdmFyaWFibGVz W05VTV9TUEVDSUFMX1ZBUlNdOw0KKw0KIAlMUEVYVEVOU0lPTl9DT05UUk9M X0JMT0NLIGxwRUNCOw0KIA0KIAlscEVDQiA9IChMUEVYVEVOU0lPTl9DT05U Uk9MX0JMT0NLKSBTRyhzZXJ2ZXJfY29udGV4dCk7DQpAQCAtNTE2LDYgKzU5 Niw3IEBADQogCS8qIFJlZ2lzdGVyIHRoZSBzdGFuZGFyZCBJU0FQSSB2YXJp YWJsZXMgKi8NCiAJc2FwaV9pc2FwaV9yZWdpc3Rlcl9zZXJ2ZXJfdmFyaWFi bGVzMihpc2FwaV9zZXJ2ZXJfdmFyaWFibGVfbmFtZXMsIGxwRUNCLCB0cmFj a192YXJzX2FycmF5LCBOVUxMIFRTUk1MU19DQyk7DQogDQorDQogCWlmIChp c2FwaV9zcGVjaWFsX3NlcnZlcl92YXJpYWJsZXNbU1BFQ0lBTF9WQVJfSFRU UFNdDQogCQkmJiAoYXRvaShpc2FwaV9zcGVjaWFsX3NlcnZlcl92YXJpYWJs ZXNbU1BFQ0lBTF9WQVJfSFRUUFNdKQ0KIAkJfHwgIXN0cmNhc2VjbXAoaXNh cGlfc3BlY2lhbF9zZXJ2ZXJfdmFyaWFibGVzW1NQRUNJQUxfVkFSX0hUVFBT XSwgIm9uIikpDQpAQCAtNTMxLDYgKzYxMiw4IEBADQogDQogI2lmZGVmIFdJ VEhfWkVVUw0KIAlzYXBpX2lzYXBpX3JlZ2lzdGVyX3pldXNfdmFyaWFibGVz KGxwRUNCLCB0cmFja192YXJzX2FycmF5IFRTUk1MU19DQyk7DQorI2Vsc2UN CisJc2FwaV9pc2FwaV9yZWdpc3Rlcl9paXNfdmFyaWFibGVzKGxwRUNCLCB0 cmFja192YXJzX2FycmF5IFRTUk1MU19DQyk7DQogI2VuZGlmDQogDQogCS8q IFBIUF9TRUxGIHN1cHBvcnQgKi8NCkBAIC02NTEsNiArNzM0LDEzIEBADQog DQogc3RhdGljIHZvaWQgaW5pdF9yZXF1ZXN0X2luZm8oTFBFWFRFTlNJT05f Q09OVFJPTF9CTE9DSyBscEVDQiBUU1JNTFNfREMpDQogew0KKwlEV09SRCB2 YXJpYWJsZV9sZW4gPSBJU0FQSV9TRVJWRVJfVkFSX0JVRl9TSVpFOw0KKwlj aGFyIHN0YXRpY192YXJpYWJsZV9idWZbSVNBUElfU0VSVkVSX1ZBUl9CVUZf U0laRV07DQorDQorI2lmbmRlZiBXSVRIX1pFVVMNCisJSFNFX1VSTF9NQVBF WF9JTkZPIGh1bWk7DQorI2VuZGlmDQorDQogCVNHKHJlcXVlc3RfaW5mbyku cmVxdWVzdF9tZXRob2QgPSBscEVDQi0+bHBzek1ldGhvZDsNCiAJU0cocmVx dWVzdF9pbmZvKS5xdWVyeV9zdHJpbmcgPSBscEVDQi0+bHBzelF1ZXJ5U3Ry aW5nOw0KIAlTRyhyZXF1ZXN0X2luZm8pLnBhdGhfdHJhbnNsYXRlZCA9IGxw RUNCLT5scHN6UGF0aFRyYW5zbGF0ZWQ7DQpAQCAtNjYwLDYgKzc1MCwzMyBA QA0KIAlTRyhzYXBpX2hlYWRlcnMpLmh0dHBfcmVzcG9uc2VfY29kZSA9IDIw MDsgIC8qIEkgdGhpbmsgZHdIdHRwU3RhdHVzQ29kZSBpcyBpbnZhbGlkIGF0 IHRoaXMgc3RhZ2UgLVJMICovDQogCWlmICghYkZpbHRlckxvYWRlZCkgeyAv KiB3ZSBkb24ndCBoYXZlIHZhbGlkIElTQVBJIEZpbHRlciBpbmZvcm1hdGlv biAqLw0KIAkJU0cocmVxdWVzdF9pbmZvKS5hdXRoX3VzZXIgPSBTRyhyZXF1 ZXN0X2luZm8pLmF1dGhfcGFzc3dvcmQgPSBOVUxMOw0KKwl9DQorDQorI2lm ZGVmIFdJVEhfWkVVUw0KKwkvKiBQQVRIX1RSQU5TTEFURUQgY2FuIGNvbnRh aW4gZXh0cmEgUEFUSF9JTkZPIHN0dWZmIGFmdGVyIHRoZQ0KKwkgKiBmaWxl IGJlaW5nIGxvYWRlZCwgc28gd2UgbXVzdCB1c2UgU0NSSVBUX0ZJTEVOQU1F IGluc3RlYWQNCisJICovDQorCWlmKGxwRUNCLT5HZXRTZXJ2ZXJWYXJpYWJs ZShscEVDQi0+Q29ubklELCAiU0NSSVBUX0ZJTEVOQU1FIiwgc3RhdGljX3Zh cmlhYmxlX2J1ZiwgJnZhcmlhYmxlX2xlbikpIHsNCisJCVNHKHJlcXVlc3Rf aW5mbykucGF0aF90cmFuc2xhdGVkID0gZXN0cmR1cChzdGF0aWNfdmFyaWFi bGVfYnVmKTsNCisJfSBlbHNlIA0KKyNlbHNlDQorCS8qIGhhcHBpbHksIElJ UyBnaXZlcyB1cyBTQ1JJUFRfTkFNRSB3aGljaCBpcyBjb3JyZWN0ICh3aXRo b3V0IFBBVEhfSU5GTyBzdHVmZikNCisJICAgc28gd2UgY2FuIGp1c3QgbWFw IHRoYXQgdG8gdGhlIHBoeXNpY2FsIHBhdGggYW5kIHdlIGhhdmUgb3VyIGZp bGVuYW1lICovDQorDQorCWxwRUNCLT5HZXRTZXJ2ZXJWYXJpYWJsZShscEVD Qi0+Q29ubklELCAiU0NSSVBUX05BTUUiLCBzdGF0aWNfdmFyaWFibGVfYnVm LCAmdmFyaWFibGVfbGVuKTsNCisJaWYgKGxwRUNCLT5TZXJ2ZXJTdXBwb3J0 RnVuY3Rpb24obHBFQ0ItPkNvbm5JRCwgSFNFX1JFUV9NQVBfVVJMX1RPX1BB VEhfRVgsIHN0YXRpY192YXJpYWJsZV9idWYsICZ2YXJpYWJsZV9sZW4sIChM UERXT1JEKSAmaHVtaSkpIHsNCisJCVNHKHJlcXVlc3RfaW5mbykucGF0aF90 cmFuc2xhdGVkID0gZXN0cmR1cChodW1pLmxwc3pQYXRoKTsNCisJfSBlbHNl IA0KKyNlbmRpZg0KKwkJLyogaWYgbWFwcGluZyBmYWlscywgZGVmYXVsdCB0 byB3aGF0IHRoZSBzZXJ2ZXIgdGVsbHMgdXMgKi8NCisJCVNHKHJlcXVlc3Rf aW5mbykucGF0aF90cmFuc2xhdGVkID0gZXN0cmR1cChscEVDQi0+bHBzelBh dGhUcmFuc2xhdGVkKTsNCisNCisJLyogc29tZSBzZXJ2ZXIgY29uZmlndXJh dGlvbnMgYWxsb3cgJy4uJyB0byBzbGlwIHRocm91Z2ggaW4gdGhlDQorCSAg IHRyYW5zbGF0ZWQgcGF0aC4gICBXZSdsbCBqdXN0IHJlZnVzZSB0byBoYW5k bGUgc3VjaCBhIHBhdGguICovDQorCWlmIChzdHJzdHIoU0cocmVxdWVzdF9p bmZvKS5wYXRoX3RyYW5zbGF0ZWQsIi4uIikpIHsNCisJCVNHKHNhcGlfaGVh ZGVycykuaHR0cF9yZXNwb25zZV9jb2RlID0gNDA0Ow0KKwkJZWZyZWUoU0co cmVxdWVzdF9pbmZvKS5wYXRoX3RyYW5zbGF0ZWQpOw0KKwkJU0cocmVxdWVz dF9pbmZvKS5wYXRoX3RyYW5zbGF0ZWQgPSBOVUxMOw0KIAl9DQogfQ0KIA0K --1926886497-1403293388-1083846765=:19379--