[Koha-patches] [PATCH 4/4] bug 3204: tweaks to AWS request signing

Galen Charlton gmcharlt at gmail.com
Thu Aug 13 15:27:04 CEST 2009


* Add AWSPrivateKey system preference to the
  Enhanced Content tab in the syspref editor
* Now warns to log if attempting to use
  the Amazon API without setting AWSPrivateKey
---
 C4/External/Amazon.pm      |   10 ++++++++--
 admin/systempreferences.pl |    1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/C4/External/Amazon.pm b/C4/External/Amazon.pm
index bb72af7..f36b8f7 100644
--- a/C4/External/Amazon.pm
+++ b/C4/External/Amazon.pm
@@ -148,8 +148,14 @@ sub get_amazon_details {
         push @params, qq{$key=}.uri_escape($value, "^A-Za-z0-9\-_.~" );
     }
 
-    my $url =qq{http://webservices.amazon}.  get_amazon_tld(). 
-        "/onca/xml?".join("&",sort @params).qq{&Signature=}.uri_escape(SignRequest(@params),"^A-Za-z0-9\-_.~" );
+    my $url;
+    if (C4::Context->preference('AWSPrivateKey')) {
+        $url = qq{http://webservices.amazon} . get_amazon_tld() . 
+               "/onca/xml?" . join("&",sort @params) . qq{&Signature=} . uri_escape(SignRequest(@params),"^A-Za-z0-9\-_.~" );
+    } else {
+        $url = qq{http://webservices.amazon} . get_amazon_tld() .  "/onca/xml?" .join("&",sort @params);
+        warn "MUST set AWSPrivateKey syspref after 2009-08-15 in order to access Amazon web services";
+    }
 
     my $content = get($url);
     warn "could not retrieve $url" unless $content;
diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl
index 250374e..bb73d42 100755
--- a/admin/systempreferences.pl
+++ b/admin/systempreferences.pl
@@ -231,6 +231,7 @@ $tabsysprefs{OPACAmazonEnabled}      = "EnhancedContent";
 $tabsysprefs{AmazonCoverImages}      = "EnhancedContent";
 $tabsysprefs{OPACAmazonCoverImages}  = "EnhancedContent";
 $tabsysprefs{AWSAccessKeyID}         = "EnhancedContent";
+$tabsysprefs{AWSPrivateKey}          = "EnhancedContent";
 $tabsysprefs{AmazonLocale}           = "EnhancedContent";
 $tabsysprefs{AmazonAssocTag}         = "EnhancedContent";
 $tabsysprefs{AmazonSimilarItems}     = "EnhancedContent";
-- 
1.5.6.5




More information about the Koha-patches mailing list