Index: proxy.proxy.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/proxy/includes/proxy.proxy.inc,v
retrieving revision 1.2
diff -u -r1.2 proxy.proxy.inc
--- proxy.proxy.inc	20 Jan 2010 14:55:45 -0000	1.2
+++ proxy.proxy.inc	21 Jan 2010 13:11:51 -0000
@@ -85,7 +85,7 @@
     // Check Drupal cache.  Do not attempt to get cache if it is off
     if ($params['cache'] != PROXY_NO_CACHE) {
       $drupal_cache = cache_get($params['request_uri'], 'cache_proxy');
-      if (!empty($drupal_cache->data)) {
+      if ($drupal_cache && time() < $drupal_cache->expire && !empty($drupal_cache->data)) {
         return $drupal_cache->data;
       }
     }
@@ -109,17 +109,17 @@
 
   // Cache content, check how long to cache
   if (in_array($params['cache'], array(CACHE_TEMPORARY, CACHE_PERMANENT))) {
-    cache_set($params['request_uri'], serialize($response), 'cache_proxy', $params['cache']);
+    cache_set($params['request_uri'], $response, 'cache_proxy', $params['cache']);
   }
   elseif ($params['cache'] == PROXY_NO_CACHE) {
     // Do not cache
   }
   else {
     // Assume that we have a time amount in seconds
-    cache_set($params['request_uri'], serialize($response), 'cache_proxy', time() + $params['cache']);
+    cache_set($params['request_uri'], $response, 'cache_proxy', time() + $params['cache']);
   }
   // Set static cache
-  $proxid[$params['request_uri']] = $response;
+  $proxied[$params['request_uri']] = $response;
 
   // Return content or errors
   if (count($errors) > 0) {

