diff -ruN /root/vulture-1.99/lib/Vulture/lib/Vulture/ResponseHandler.pm Vulture/ResponseHandler.pm
--- /root/vulture-1.99/lib/Vulture/lib/Vulture/ResponseHandler.pm	2008-09-15 18:19:56.000000000 +0200
+++ Vulture/ResponseHandler.pm	2008-11-21 12:43:55.000000000 +0100
@@ -899,11 +899,14 @@
 		$r->status(200);
 		$r->content_type('text/html');
 		if ($session_referer{hostname}) {
-			$r->print(get_redirect($app->{display_portal} ? ($sso_portal."/?vulture_app=-1") : ($session{proto}."://".$session_referer{hostname}.":".$session{port} . $session_referer{url})));
+#			$r->print(get_redirect($app->{display_portal} ? ($sso_portal."/?vulture_app=-1") : ($session{proto}."://".$session_referer{hostname}.":".$session{port} . $session_referer{url})));
+			$r->headers_out->set(Location => $app->{display_portal} ? ($sso_portal."/?vulture_app=-1") : ($session{proto}."://".$session_referer{hostname}.":".$session{port} . $session_referer{url}));
 		}
 		else {
-			$r->print(get_redirect($app->{display_portal} ? ($sso_portal."/?vulture_app=-1") : ($session{proto}."://".$session{site}.":".$session{port} . $session{uri})));
+#			$r->print(get_redirect($app->{display_portal} ? ($sso_portal."/?vulture_app=-1") : ($session{proto}."://".$session{site}.":".$session{port} . $session{uri})));
+			$r->headers_out->set(Location => $app->{display_portal} ? ($sso_portal."/?vulture_app=-1") : ($session{proto}."://".$session{site}.":".$session{port} . $session{uri}));
 		}
+		$r->status(Apache2::Const::REDIRECT);
 		return Apache2::Const::OK;
 	} else {
 		$log->info("Authentication failed for ".$session{user} ." [".$r->connection->remote_ip."]") if ($session{user});
@@ -989,6 +992,8 @@
 			$r->status(200);
 			$r->content_type('text/html');
 			$r->print(get_redirect($new_session{proto}."://".$sso_portal. ":". $port . "/?vulture_logout&vulture_app=".  $new_session{_session_id}));
+			$r->headers_out->set(Location => $new_session{proto}."://".$sso_portal. ":". $port . "/?vulture_logout&vulture_app=".  $new_session{_session_id});
+			$r->status(Apache2::Const::REDIRECT);
 			return Apache2::Const::OK;
 		}
 		if ($session{reponse}) {		#Si le POST renvoie quelque chose
@@ -1045,11 +1050,14 @@
 		$r->status(200);
 		$r->content_type('text/html');
 		if ($r->headers_in->{'Vulture_portail'}) {
-			$r->print(get_redirect($session{proto}."://".$sso_portal. ":". $port . "/?vulture_app=".  $session{_session_id} . "&vulture_portail=". $r->headers_in->{'Vulture_portail'}));
+#			$r->print(get_redirect($session{proto}."://".$sso_portal. ":". $port . "/?vulture_app=".  $session{_session_id} . "&vulture_portail=". $r->headers_in->{'Vulture_portail'}));
+			$r->headers_out->set(Location => $session{proto}."://".$sso_portal. ":". $port . "/?vulture_app=".  $session{_session_id} . "&vulture_portail=". $r->headers_in->{'Vulture_portail'});
 		}
 		else {
-			$r->print(get_redirect($session{proto}."://".$sso_portal. ":". $port . "/?vulture_app=".  $session{_session_id}));
+#			$r->print(get_redirect($session{proto}."://".$sso_portal. ":". $port . "/?vulture_app=".  $session{_session_id}));
+			$r->headers_out->set(Location => $session{proto}."://".$sso_portal. ":". $port . "/?vulture_app=".  $session{_session_id});
 		}
+		$r->status(Apache2::Const::REDIRECT);
 		return Apache2::Const::OK;
 	}
 	
@@ -1101,7 +1109,9 @@
 									if (!param('keep_portal')) {
 										$r->status(200);
 										$r->content_type('text/html');
-										$r->print(get_redirect("http".($is_ssl ? "s" : "") ."://".$name.":".$port));
+#										$r->print(get_redirect("http".($is_ssl ? "s" : "") ."://".$name.":".$port));
+										$r->headers_out->set(Location => "http".($is_ssl ? "s" : "") ."://".$name.":".$port);
+										$r->status(Apache2::Const::REDIRECT);
 										return Apache2::Const::OK;
 									}
 								}
@@ -1138,9 +1148,11 @@
 								my $sql = "UPDATE $table_name SET $password_column=? WHERE $login_column=?";
 								$sth = $cnx->do($sql, undef, md5_hex(param('vulture_password2')), $sso_session{$k}->{user});
 								if (!param('keep_portal')) {
-									$r->status(200);
-									$r->content_type('text/html');
-									$r->print(get_redirect("http".($is_ssl ? "s" : "") ."://".$name.":".$port));
+#									$r->status(200);
+#									$r->content_type('text/html');
+#									$r->print(get_redirect("http".($is_ssl ? "s" : "") ."://".$name.":".$port));
+									$r->headers_out->set(Location => "http".($is_ssl ? "s" : "") ."://".$name.":".$port);
+									$r->status(Apache2::Const::REDIRECT);
 									return Apache2::Const::OK;
 								}
 							}

