diff -ru ./Vulture/ResponseHandler.pm ../lib/Vulture/ResponseHandler.pm
--- ./Vulture/ResponseHandler.pm	2009-02-07 17:39:11.000000000 +0100
+++ ../lib/Vulture/ResponseHandler.pm	2009-02-07 17:41:25.000000000 +0100
@@ -792,7 +792,7 @@
 		$session{pin} = "vulture";
 	}
 
-	$r->headers_out->set('Set-Cookie' => "vulture_proxy=". $sso_session->{_session_id} . "; path=/; domain=".$r->hostname);
+	$r->headers_out->add('Set-Cookie' => "vulture_proxy=". $sso_session->{_session_id} . "; path=/; domain=".$r->hostname);
 
 	# We are authentified on the app $app
 	if ($sso_session->{$app->{auth}} and $sso_session->{$app->{auth}}->{needChangePass} != 2) {
@@ -991,7 +991,7 @@
 			$r->print(get_redirect($new_session{proto}."://".$sso_portal. ":". $port . "/?vulture_logout&vulture_app=".  $new_session{_session_id}));
 			return Apache2::Const::OK;
 		}
-		if ($session{reponse}) {		#Si le POST renvoie quelque chose
+		if ($session{reponse} and !$session{timeout}) {		#Si le POST renvoie quelque chose
 			my $contenu= $session{reponse};
 			my $code = $contenu->code;
 			if ($code =~ /^20(.*)/ ) {	#Si le code retours fait partis des codes 200
@@ -1013,7 +1013,7 @@
 		}
 
 		$session{proto} = $is_ssl ? "https" : "http";
-		if ($session{post}) {
+		if ($session{post} and !$session{timeout}) {
 			my $port = "";
 			if (($session{proto} eq "https" && $r->get_server_port ne "443") || ($session{proto} eq "http" && $r->get_server_port ne "80")) {
 				$port = ":".$session{port};
@@ -1037,10 +1037,10 @@
 		$session{SSL_CLIENT_M_SERIAL} = int($r->ssl_lookup('SSL_CLIENT_M_SERIAL'));
 		$session{SSL_CLIENT_I_DN_CN} = $r->ssl_lookup('SSL_CLIENT_I_DN_CN');
 		if ($session_referer{hostname}) {
-			$r->headers_out->set('Set-Cookie' => "vulture_app=".  $session{_session_id} . "; path=/; domain=".$session_referer{hostname});
+			$r->headers_out->add('Set-Cookie' => "vulture_app=".  $session{_session_id} . "; path=/; domain=".$session_referer{hostname});
 		}
 		else {
-			$r->headers_out->set('Set-Cookie' => "vulture_app=".  $session{_session_id} . "; path=/; domain=".$r->hostname);
+			$r->headers_out->add('Set-Cookie' => "vulture_app=".  $session{_session_id} . "; path=/; domain=".$r->hostname);
 		}
 		$r->status(200);
 		$r->content_type('text/html');
Seulement dans ./Vulture: ResponseHandler.pm.ok
diff -ru ./Vulture/TransHandler.pm ../lib/Vulture/TransHandler.pm
--- ./Vulture/TransHandler.pm	2009-02-07 17:39:11.000000000 +0100
+++ ../lib/Vulture/TransHandler.pm	2009-02-07 17:40:07.000000000 +0100
@@ -347,14 +347,16 @@
 					       }
 				       }
 			       }
-			       if ($response->headers->header('refresh') and $response->headers->header('refresh') =~ /URL=(.*)/) {
+			       if (!$session{timeout}) { # non en raison d'un timeout
+				   if ($response->headers->header('refresh') and $response->headers->header('refresh') =~ /URL=(.*)/) {
 				       $r->headers_out->add('Location' => rewrite_uri($r,$app,$1,$real_post_url,$log));
-			       }
-			       if ($response->code =~ /^30(.*)/ ) { #On gère les redirections de type 30x
+				   }
+				   if ($response->code =~ /^30(.*)/ ) { #On gère les redirections de type 30x
 				       $r->headers_out->add('Location' => rewrite_uri($r,$app,$response->headers->header('location'),$real_post_url,$log));
-			       } else {
+				   } else {
 				       $session{urlpost}= rewrite_uri($r,$app,$real_post_url,$real_post_url,$log); #On récupère l'url du post vu de l'exterieur pour le ResponseHandler.pm
 				       $session{reponse}=$response;
+				   }
 			       }
 			       $log->debug("POST=".$session{post}."[".$real_post_url."]");
 		       }
diff -ru ./Vulture.pm ../lib/Vulture.pm
--- ./Vulture.pm	2009-02-07 17:39:03.000000000 +0100
+++ ../lib/Vulture.pm	2009-02-07 17:40:07.000000000 +0100
@@ -38,8 +38,11 @@
 							      Servers => '127.0.0.1:9091',
 							     }
         } or session($session, $timeout, undef, $n + 1);
-	$session->{date} = time() if (!$session->{posted});
-	undef $session->{posted} if ($timeout and time() - $session->{date} > $timeout);
+	if ($timeout and time() - $session->{date} > $timeout) {
+	    undef $session->{posted};
+	    $session->{timeout} = 1;
+	}
+	$session->{date} = time();
 }
 
 sub	get_cookie {

