debian/0000755000000000000000000000000012066636676007210 5ustar debian/compat0000644000000000000000000000000212066636676010406 0ustar 5 debian/README.Debian0000644000000000000000000000222112066636676011246 0ustar NuSOAP PHP library for Debian ----------------------------- This package was Debianized initially by Uwe Steinmann , then adapted by Olivier Berger . The upstream sources for individual classes (files class.nusoap_base.php, class.soap_fault.php, class.xmlschema.php, class.soap_val.php, class.soap_transport_http.php, class.soap_server.php, class.wsdl.php, class.soap_parser.php and class.soapclient.php) which are already merged in nusoap.php, are not shipped in the libnusoap-php binary package. The original SOAP clients PHP examples are available in /usr/share/doc/libnusoap-php/samples/ and should be adapted to include the library properly (using require_once('/usr/share/php/nusoap/nusoap.php'); for instance) Acknowledgements : ------------------ The packaging work was done by Olivier Berger at Institut TELECOM, SudParis (http://www.it-sudparis.eu/) for the needs of the Helios project (http://www.helios-platform.org/, partly funded by the Paris Region council in the frame of the System@tic cluster R&D programmes). -- Olivier Berger , Tue, 19 May 2009 12:57:44 +0200 debian/control0000644000000000000000000000115112066636676010611 0ustar Source: nusoap Section: php Priority: optional Maintainer: Thomas Goirand Homepage: http://nusoap.sourceforge.net/ Vcs-Browser: http://git.debian.org/?p=pkg-php/libnusoap-php.git Vcs-Git: http://git.debian.org/git/pkg-php/libnusoap-php.git Build-Depends: debhelper (>= 5) Standards-Version: 3.9.1 Package: libnusoap-php Architecture: all Depends: php5, ${misc:Depends} Description: SOAP toolkit for PHP NuSOAP is a rewrite of SOAPx4. It is a set of PHP classes - no PHP extensions required - that allow developers to create and consume web services based on SOAP 1.1, WSDL 1.1 and HTTP 1.0/1.1. debian/docs0000644000000000000000000000001012066636676010052 0ustar samples debian/source/0000755000000000000000000000000012066636676010510 5ustar debian/source/format0000644000000000000000000000001412066636676011716 0ustar 3.0 (quilt) debian/dirs0000644000000000000000000000001312066636676010066 0ustar usr/share/ debian/patches/0000755000000000000000000000000012066636676010637 5ustar debian/patches/series0000644000000000000000000000011612066636676012052 0ustar php5.3-from-NuSOAP-for-PHP-5.3.patch fixes-wrong-curlopt-ssl-verifyhost.patch debian/patches/fixes-wrong-curlopt-ssl-verifyhost.patch0000644000000000000000000000252612066636676020622 0ustar Description: Uses: setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); instead of: setCurlOption(CURLOPT_SSL_VERIFYHOST, 1); Author: Thomas Goirand Bug-Debian: http://bugs.debian.org/696707 Forwarded: no --- nusoap-0.7.3.orig/lib/nusoap.php +++ nusoap-0.7.3/lib/nusoap.php @@ -2449,7 +2449,7 @@ class soap_transport_http extends nusoap if (isset($this->certRequest['verifyhost'])) { $this->setCurlOption(CURLOPT_SSL_VERIFYHOST, $this->certRequest['verifyhost']); } else { - $this->setCurlOption(CURLOPT_SSL_VERIFYHOST, 1); + $this->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); } if (isset($this->certRequest['sslcertfile'])) { $this->setCurlOption(CURLOPT_SSLCERT, $this->certRequest['sslcertfile']); --- nusoap-0.7.3.orig/lib/class.soap_transport_http.php +++ nusoap-0.7.3/lib/class.soap_transport_http.php @@ -339,7 +339,7 @@ class soap_transport_http extends nusoap if (isset($this->certRequest['verifyhost'])) { $this->setCurlOption(CURLOPT_SSL_VERIFYHOST, $this->certRequest['verifyhost']); } else { - $this->setCurlOption(CURLOPT_SSL_VERIFYHOST, 1); + $this->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); } if (isset($this->certRequest['sslcertfile'])) { $this->setCurlOption(CURLOPT_SSLCERT, $this->certRequest['sslcertfile']); debian/patches/php5.3-from-NuSOAP-for-PHP-5.3.patch0000644000000000000000000005774712066636676016441 0ustar - Grab changes from http://sourceforge.net/projects/nusoapforphp53/ to use of preg_match instead of ereg. - Removes another PHP 5.3 issue (return of a new by reference - Fixes an XSS vulnerability using PHP_SELF diff -r -u a/lib/class.nusoap_base.php b/lib/class.nusoap_base.php --- a/lib/class.nusoap_base.php 2010-09-06 18:31:49.000000000 +0800 +++ b/lib/class.nusoap_base.php 2010-09-06 18:32:28.000000000 +0800 @@ -562,7 +562,7 @@ case (is_array($val) || $type): // detect if struct or array $valueType = $this->isArraySimpleOrStruct($val); - if($valueType=='arraySimple' || ereg('^ArrayOf',$type)){ + if($valueType=='arraySimple' || preg_match('/^ArrayOf/',$type)){ $this->debug("serialize_val: serialize array"); $i = 0; if(is_array($val) && count($val)> 0){ @@ -765,7 +765,7 @@ */ function expandQname($qname){ // get element prefix - if(strpos($qname,':') && !ereg('^http://',$qname)){ + if(strpos($qname,':') && !preg_match('/^http:\/\//',$qname)){ // get unqualified name $name = substr(strstr($qname,':'),1); // get ns prefix @@ -904,7 +904,7 @@ function timestamp_to_iso8601($timestamp,$utc=true){ $datestr = date('Y-m-d\TH:i:sO',$timestamp); if($utc){ - $eregStr = + $pattern = '/'. '([0-9]{4})-'. // centuries & years CCYY- '([0-9]{2})-'. // months MM- '([0-9]{2})'. // days DD @@ -912,9 +912,10 @@ '([0-9]{2}):'. // hours hh: '([0-9]{2}):'. // minutes mm: '([0-9]{2})(\.[0-9]*)?'. // seconds ss.ss... - '(Z|[+\-][0-9]{2}:?[0-9]{2})?'; // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's + '(Z|[+\-][0-9]{2}:?[0-9]{2})?'. // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's + '/'; - if(ereg($eregStr,$datestr,$regs)){ + if(preg_match($pattern,$datestr,$regs)){ return sprintf('%04d-%02d-%02dT%02d:%02d:%02dZ',$regs[1],$regs[2],$regs[3],$regs[4],$regs[5],$regs[6]); } return false; @@ -930,7 +931,7 @@ * @access public */ function iso8601_to_timestamp($datestr){ - $eregStr = + $pattern = '/'. '([0-9]{4})-'. // centuries & years CCYY- '([0-9]{2})-'. // months MM- '([0-9]{2})'. // days DD @@ -938,8 +939,9 @@ '([0-9]{2}):'. // hours hh: '([0-9]{2}):'. // minutes mm: '([0-9]{2})(\.[0-9]+)?'. // seconds ss.ss... - '(Z|[+\-][0-9]{2}:?[0-9]{2})?'; // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's - if(ereg($eregStr,$datestr,$regs)){ + '(Z|[+\-][0-9]{2}:?[0-9]{2})?'. // Z to indicate UTC, -/+HH:MM:SS.SS... for local tz's + '/'; + if(preg_match($pattern,$datestr,$regs)){ // not utc if($regs[8] != 'Z'){ $op = substr($regs[8],0,1); diff -r -u a/lib/class.soapclient.php b/lib/class.soapclient.php --- a/lib/class.soapclient.php 2010-09-06 18:31:49.000000000 +0800 +++ b/lib/class.soapclient.php 2010-09-06 18:32:28.000000000 +0800 @@ -406,7 +406,7 @@ // detect transport switch(true){ // http(s) - case ereg('^http',$this->endpoint): + case preg_match('/^http/',$this->endpoint): $this->debug('transporting via HTTP'); if($this->persistentConnection == true && is_object($this->persistentConnection)){ $http =& $this->persistentConnection; @@ -428,10 +428,10 @@ $http->setEncoding($this->http_encoding); } $this->debug('sending message, length='.strlen($msg)); - if(ereg('^http:',$this->endpoint)){ + if(preg_match('/^http:/',$this->endpoint)){ //if(strpos($this->endpoint,'http:')){ $this->responseData = $http->send($msg,$timeout,$response_timeout,$this->cookies); - } elseif(ereg('^https',$this->endpoint)){ + } elseif(preg_match('/^https/',$this->endpoint)){ //} elseif(strpos($this->endpoint,'https:')){ //if(phpversion() == '4.3.0-dev'){ //$response = $http->send($msg,$timeout,$response_timeout); @@ -490,7 +490,7 @@ if (strpos($headers['content-type'], '=')) { $enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1)); $this->debug('Got response encoding: ' . $enc); - if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){ + if(preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i',$enc)){ $this->xml_encoding = strtoupper($enc); } else { $this->xml_encoding = 'US-ASCII'; diff -r -u a/lib/class.soap_parser.php b/lib/class.soap_parser.php --- a/lib/class.soap_parser.php 2010-09-06 18:31:49.000000000 +0800 +++ b/lib/class.soap_parser.php 2010-09-06 18:32:28.000000000 +0800 @@ -207,7 +207,7 @@ $key_localpart = $this->getLocalPart($key); // if ns declarations, add to class level array of valid namespaces if($key_prefix == 'xmlns'){ - if(ereg('^http://www.w3.org/[0-9]{4}/XMLSchema$',$value)){ + if(preg_match('/^http:\/\/www.w3.org\/[0-9]{4}\/XMLSchema$/',$value)){ $this->XMLSchemaVersion = $value; $this->namespaces['xsd'] = $this->XMLSchemaVersion; $this->namespaces['xsi'] = $this->XMLSchemaVersion.'-instance'; @@ -243,8 +243,8 @@ [5] length ::= nextDimension* Digit+ [6] nextDimension ::= Digit+ ',' */ - $expr = '([A-Za-z0-9_]+):([A-Za-z]+[A-Za-z0-9_]+)\[([0-9]+),?([0-9]*)\]'; - if(ereg($expr,$value,$regs)){ + $expr = '/([A-Za-z0-9_]+):([A-Za-z]+[A-Za-z0-9_]+)\[([0-9]+),?([0-9]*)\]/'; + if(preg_match($expr,$value,$regs)){ $this->message[$pos]['typePrefix'] = $regs[1]; $this->message[$pos]['arrayTypePrefix'] = $regs[1]; if (isset($this->namespaces[$regs[1]])) { diff -r -u a/lib/class.soap_server.php b/lib/class.soap_server.php --- a/lib/class.soap_server.php 2010-09-06 18:31:49.000000000 +0800 +++ b/lib/class.soap_server.php 2010-09-06 18:32:28.000000000 +0800 @@ -245,7 +245,7 @@ } $this->debug("In service, query string=$qs"); - if (ereg('wsdl', $qs) ){ + if (preg_match('/wsdl/', $qs) ){ $this->debug("In service, this is a request for WSDL"); if($this->externalWSDLURL){ if (strpos($this->externalWSDLURL,"://")!==false) { // assume URL @@ -316,7 +316,7 @@ // get the character encoding of the incoming request if(isset($this->headers['content-type']) && strpos($this->headers['content-type'],'=')){ $enc = str_replace('"','',substr(strstr($this->headers["content-type"],'='),1)); - if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){ + if(preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i',$enc)){ $this->xml_encoding = strtoupper($enc); } else { $this->xml_encoding = 'US-ASCII'; @@ -345,7 +345,7 @@ $enc = substr(strstr($v, '='), 1); $enc = str_replace('"', '', $enc); $enc = str_replace('\\', '', $enc); - if (eregi('^(ISO-8859-1|US-ASCII|UTF-8)$', $enc)) { + if (preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i',$enc)) { $this->xml_encoding = strtoupper($enc); } else { $this->xml_encoding = 'US-ASCII'; @@ -379,7 +379,7 @@ $enc = substr(strstr($v, '='), 1); $enc = str_replace('"', '', $enc); $enc = str_replace('\\', '', $enc); - if (eregi('^(ISO-8859-1|US-ASCII|UTF-8)$', $enc)) { + if (preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i',$enc)) { $this->xml_encoding = strtoupper($enc); } else { $this->xml_encoding = 'US-ASCII'; @@ -717,7 +717,7 @@ $payload .= $this->getDebugAsXMLComment(); } $this->outgoing_headers[] = "Server: $this->title Server v$this->version"; - ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev); + preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev); $this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".$rev[1].")"; // Let the Web server decide about this //$this->outgoing_headers[] = "Connection: Close\r\n"; @@ -805,7 +805,7 @@ if (strpos($headers['content-type'], '=')) { $enc = str_replace('"', '', substr(strstr($headers["content-type"], '='), 1)); $this->debug('Got response encoding: ' . $enc); - if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){ + if(preg_match('/^(ISO-8859-1|US-ASCII|UTF-8)$/i',$enc)){ $this->xml_encoding = strtoupper($enc); } else { $this->xml_encoding = 'US-ASCII'; diff -r -u a/lib/class.soap_transport_http.php b/lib/class.soap_transport_http.php --- a/lib/class.soap_transport_http.php 2010-09-06 18:31:49.000000000 +0800 +++ b/lib/class.soap_transport_http.php 2010-09-06 18:32:28.000000000 +0800 @@ -66,7 +66,7 @@ $this->ch_options = $curl_options; } $this->use_curl = $use_curl; - ereg('\$Revisio' . 'n: ([^ ]+)', $this->revision, $rev); + preg_match('/\$Revisio' . 'n: ([^ ]+)/', $this->revision, $rev); $this->setHeader('User-Agent', $this->title.'/'.$this->version.' ('.$rev[1].')'); } @@ -829,7 +829,7 @@ } } // remove 100 headers - if (isset($lb) && ereg('^HTTP/1.1 100',$data)) { + if (isset($lb) && preg_match('/^HTTP\/1.1 100/',$data)) { unset($lb); $data = ''; }// @@ -995,7 +995,7 @@ if ($data == '') { // have nothing left; just remove 100 header(s) $data = $savedata; - while (ereg('^HTTP/1.1 100',$data)) { + while (preg_match('/^HTTP\/1.1 100/',$data)) { if ($pos = strpos($data,"\r\n\r\n")) { $data = ltrim(substr($data,$pos)); } elseif($pos = strpos($data,"\n\n") ) { diff -r -u a/lib/class.wsdl.php b/lib/class.wsdl.php --- a/lib/class.wsdl.php 2010-09-06 18:31:49.000000000 +0800 +++ b/lib/class.wsdl.php 2010-09-06 18:50:31.000000000 +0800 @@ -302,7 +302,7 @@ $this->currentSchema->schemaStartElement($parser, $name, $attrs); $this->appendDebug($this->currentSchema->getDebug()); $this->currentSchema->clearDebug(); - } elseif (ereg('schema$', $name)) { + } elseif (preg_match('/schema$/', $name)) { $this->debug('Parsing WSDL schema'); // $this->debug("startElement for $name ($attrs[name]). status = $this->status (".$this->getLocalPart($name).")"); $this->status = 'schema'; @@ -321,7 +321,7 @@ if (count($attrs) > 0) { // register namespace declarations foreach($attrs as $k => $v) { - if (ereg("^xmlns", $k)) { + if (preg_match('/^xmlns/',$k)) { if ($ns_prefix = substr(strrchr($k, ':'), 1)) { $this->namespaces[$ns_prefix] = $v; } else { @@ -346,7 +346,7 @@ $attrs = array(); } // get element prefix, namespace and name - if (ereg(':', $name)) { + if (preg_match('/:/', $name)) { // get ns prefix $prefix = substr($name, 0, strpos($name, ':')); // get ns @@ -829,7 +829,7 @@

'.$this->serviceName.'