packages: php-dkim/php-dkim.spec, php-dkim/library.patch (NEW) - make usabl...

glen glen at pld-linux.org
Wed Mar 31 15:03:40 CEST 2010


Author: glen                         Date: Wed Mar 31 13:03:40 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- make usable as library

---- Files affected:
packages/php-dkim:
   php-dkim.spec (1.1 -> 1.2) , library.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/php-dkim/php-dkim.spec
diff -u packages/php-dkim/php-dkim.spec:1.1 packages/php-dkim/php-dkim.spec:1.2
--- packages/php-dkim/php-dkim.spec:1.1	Wed Mar 31 14:41:23 2010
+++ packages/php-dkim/php-dkim.spec	Wed Mar 31 15:03:35 2010
@@ -5,11 +5,12 @@
 Summary:	PHP Implementation of DKIM
 Name:		php-%{pkgname}
 Version:	1.0
-Release:	0.1
+Release:	1
 License:	GPL v2
 Group:		Development/Languages/PHP
 Source0:	http://downloads.sourceforge.net/project/php-dkim/php-dkim/v%{version}/php-dkim.zip
 # Source0-md5:	6d7e89b035f76c83ad93e597ffe9f06c
+Patch0:		library.patch
 URL:		http://php-dkim.sourceforge.net/
 BuildRequires:	lynx
 BuildRequires:	rpm-php-pearprov >= 4.4.2-11
@@ -43,6 +44,7 @@
 %prep
 %setup -qc
 %undos README.html *.php
+%patch0 -p1
 
 mv dkim-cfg-dist.php dkim-cfg.php
 
@@ -71,5 +73,8 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.2  2010/03/31 13:03:35  glen
+- make usable as library
+
 Revision 1.1  2010/03/31 12:41:23  glen
 - new

================================================================
Index: packages/php-dkim/library.patch
diff -u /dev/null packages/php-dkim/library.patch:1.1
--- /dev/null	Wed Mar 31 15:03:40 2010
+++ packages/php-dkim/library.patch	Wed Mar 31 15:03:35 2010
@@ -0,0 +1,104 @@
+--- php-dkim-1.0/dkim.php~	2010-03-31 15:56:18.000000000 +0300
++++ php-dkim-1.0/dkim.php	2010-03-31 15:59:36.851141195 +0300
+@@ -20,18 +20,21 @@
+ *THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  ***************************************************************************/
+ 
+-require_once 'dkim-cfg.php' ;
+-
+-if ($open_SSL_pub == '' or $open_SSL_priv == '') {
+-	die("DKIM not configured, please run:<ol>
+-	<li>openssl genrsa -out key.priv 384</li>
+-	<li>openssl rsa -in key.priv -out key.pub -pubout -outform PEM</li>
+-	</ol> 
+-	Then copy & paste the public and private keys into dkim-cfg.php") ;
+-}
++/**
++  * To setup DKIM, please run:
++  * openssl genrsa -out key.priv 384
++  *	openssl rsa -in key.priv -out key.pub -pubout -outform PEM
++  *
++  *	and setup them accordingly to dkim-cfg.php
++  */
+ 
+ function BuildDNSTXTRR() {
+ 	global $open_SSL_pub,$DKIM_s ;
++
++	if (empty($open_SSL_pub)) {
++		error_log("dkim.php: ERROR: open_SSL_priv not set");
++		return false;
++	}
+ 	
+ 	$pub_lines=explode("\n",$open_SSL_pub) ;
+ 	$txt_record="$DKIM_s._domainkey\tIN\tTXT\t\"v=DKIM1\\; k=rsa\\; g=*\\; s=email\; h=sha1\\; t=s\\; p=" ;
+@@ -61,22 +64,27 @@
+ }
+ 
+ function DKIMBlackMagic($s) {
+-	global $open_SSL_priv ;
+-	if (openssl_sign($s, $signature, $open_SSL_priv))
++	global $open_SSL_priv;
++	if (empty($open_SSL_priv)) {
++		error_log("dkim.php: ERROR: open_SSL_priv not set");
++		return false;
++	}
++	if (openssl_sign($s, $signature, $open_SSL_priv)) {
+ 		return base64_encode($signature) ;
+-	else
+-		die("Cannot sign") ;
++	} else {
++		return false;
++	}
+ }
+ 
+ function NiceDump($what,$body) {
+-	print("After canonicalization ($what):\n") ;
++	echo "After canonicalization (", $what, ":\n";
+ 	for ($i=0; $i<strlen($body); $i++)
+-		if ($body[$i] == "\r") print("'OD'") ;
+-		elseif ($body[$i] == "\n") print("'OA'\n") ;
+-		elseif ($body[$i] == "\t") print("'09'") ;
+-		elseif ($body[$i] == " ") print("'20'") ;
+-		else print($body[$i]) ;
+-	print("\n------\n") ;
++		if ($body[$i] == "\r") echo "'OD'";
++		elseif ($body[$i] == "\n") "'OA'\n";
++		elseif ($body[$i] == "\t") echo "'09'";
++		elseif ($body[$i] == " ") echo "'20'";
++		else echo $body[$i];
++	echo "\n------\n";
+ }
+ 
+ function SimpleHeaderCanonicalization($s) {
+@@ -115,7 +123,12 @@
+ 	return $body ;
+ }
+ 
+-function AddDKIM($headers_line,$subject,$body) {
++/**
++ * @mixed	$headers
++ * @string	$subject
++ * @mixed	$body
++ */
++function AddDKIM($headers, $subject, $body) {
+ 	global $DKIM_s, $DKIM_d, $DKIM_i;
+ 	
+ //??? a tester	$body=str_replace("\n","\r\n",$body) ;
+@@ -124,12 +137,15 @@
+ 	$DKIM_q='dns/txt'; // Query method
+ 	$DKIM_t=time() ; // Signature Timestamp = number of seconds since 00:00:00 on January 1, 1970 in the UTC time zone
+ 	$subject_header="Subject: $subject" ;
+-	$headers=explode("\r\n",$headers_line) ;
+-	foreach($headers as $header)
++	if (!is_array($headers)) {
++		$headers = explode("\r\n", $headers_line);
++	}
++	foreach ($headers as $header) {
+ 		if (strpos($header,'From:') === 0)
+ 			$from_header=$header ;
+ 		elseif (strpos($header,'To:') === 0)
+ 			$to_header=$header ;
++	}
+ 	$from=str_replace('|','=7C',DKIMQuotedPrintable($from_header)) ;
+ 	$to=str_replace('|','=7C',DKIMQuotedPrintable($to_header)) ;
+ 	$subject=str_replace('|','=7C',DKIMQuotedPrintable($subject_header)) ; // Copied header fields (dkim-quoted-printable
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/php-dkim/php-dkim.spec?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list