浏览代码

sqsession_destroy

stekkel 23 年之前
父节点
当前提交
82e53c4441
共有 3 个文件被更改,包括 14 次插入11 次删除
  1. 10 1
      functions/imap_general.php
  2. 3 6
      src/login.php
  3. 1 4
      src/signout.php

+ 10 - 1
functions/imap_general.php

@@ -235,8 +235,8 @@ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $
                 
                 
                 set_up_language($squirrelmail_language, true);
                 set_up_language($squirrelmail_language, true);
                 include_once(SM_PATH . 'functions/display_messages.php' );
                 include_once(SM_PATH . 'functions/display_messages.php' );
+		sqsession_destroy();
                 logout_error( _("Unknown user or password incorrect.") );
                 logout_error( _("Unknown user or password incorrect.") );
-                session_destroy();
                 exit;
                 exit;
             }
             }
         } else {
         } else {
@@ -420,6 +420,15 @@ function sqimap_append ($imap_stream, $sent_folder, $length) {
 function sqimap_append_done ($imap_stream) {
 function sqimap_append_done ($imap_stream) {
     fputs ($imap_stream, "\r\n");
     fputs ($imap_stream, "\r\n");
     $tmp = fgets ($imap_stream, 1024);
     $tmp = fgets ($imap_stream, 1024);
+    if (preg_match("/(.*)(BAD|NO)(.*)$/", $tmp, $regs)) {
+        set_up_language($squirrelmail_language);
+        echo "<br><b><font color=$color[2]>\n" .
+            _("ERROR : Bad or malformed request.") .
+            "</b><br>\n" .
+            _("Server responded: ") .
+            $message . "</font><br>\n";
+        exit;
+    }
 }
 }
 
 
 function sqimap_get_user_server ($imap_server, $username) {
 function sqimap_get_user_server ($imap_server, $username) {

+ 3 - 6
src/login.php

@@ -38,17 +38,14 @@ if (!function_exists('sqm_baseuri')){
     require_once(SM_PATH . 'functions/display_messages.php');
     require_once(SM_PATH . 'functions/display_messages.php');
 }
 }
 $base_uri = sqm_baseuri();
 $base_uri = sqm_baseuri();
-@session_destroy();
 
 
 /*
 /*
  * In case the last session was not terminated properly, make sure
  * In case the last session was not terminated properly, make sure
  * we get a new one.
  * we get a new one.
  */
  */
-$cookie_params = session_get_cookie_params();
-setcookie(session_name(), '', 0, $cookie_params['path'], 
-          $cookie_params['domain']);
-setcookie('username', '', 0, $base_uri);
-setcookie('key', '', 0, $base_uri);
+ 
+sqsession_destroy();
+ 
 header('Pragma: no-cache');
 header('Pragma: no-cache');
 
 
 do_hook('login_cookie');
 do_hook('login_cookie');

+ 1 - 4
src/signout.php

@@ -47,11 +47,8 @@ if (!isset($_SESSION['base_uri'])) {
 } else {
 } else {
     $base_uri = $_SESSION['base_uri'];
     $base_uri = $_SESSION['base_uri'];
 }
 }
-
+sqsession_destroy();
 do_hook('logout');
 do_hook('logout');
-setcookie('username', '', 0, $base_uri);
-setcookie('key', '', 0, $base_uri);
-session_destroy();
 
 
 if ($signout_page) {
 if ($signout_page) {
     header('Status: 303 See Other');
     header('Status: 303 See Other');