From 0344b168276f80189e2254c75a762aff5b517b6b Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sun, 22 May 2016 06:32:57 -0400
Subject: [PATCH] Fix priority icon(s) position
---
program/include/rcmail.php | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 21ba812..f97e659 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -60,6 +60,7 @@
const ERROR_INVALID_REQUEST = 1;
const ERROR_INVALID_HOST = 2;
const ERROR_COOKIES_DISABLED = 3;
+ const ERROR_RATE_LIMIT = 4;
/**
@@ -602,12 +603,22 @@
// user already registered -> overwrite username
if ($user = rcube_user::query($username, $host)) {
$username = $user->data['username'];
+
+ // Brute-force prevention
+ if ($user->is_locked()) {
+ $this->login_error = self::ERROR_RATE_LIMIT;
+ return false;
+ }
}
$storage = $this->get_storage();
// try to log in
if (!$storage->connect($host, $username, $password, $port, $ssl)) {
+ if ($user) {
+ $user->failed_login();
+ }
+
// Wait a second to slow down brute-force attacks (#1490549)
sleep(1);
return false;
@@ -829,6 +840,8 @@
// this need to be full url to make redirects work
$absolute = true;
}
+ else if ($secure && ($token = $this->get_request_token()))
+ $url .= $delm . '_token=' . urlencode($token);
if ($absolute || $full) {
// add base path to this Roundcube installation
@@ -2158,7 +2171,7 @@
/**
* Returns supported font-family specifications
*
- * @param string $font Font name
+ * @param string $font Font name
*
* @param string|array Font-family specification array or string (if $font is used)
*/
@@ -2190,8 +2203,8 @@
/**
* Create a human readable string for a number of bytes
*
- * @param int Number of bytes
- * @param string Size unit
+ * @param int $bytes Number of bytes
+ * @param string &$unit Size unit
*
* @return string Byte string
*/
@@ -2222,7 +2235,7 @@
/**
* Returns real size (calculated) of the message part
*
- * @param rcube_message_part Message part
+ * @param rcube_message_part $part Message part
*
* @return string Part size (and unit)
*/
@@ -2232,12 +2245,12 @@
$size = $this->show_bytes((int)$part->d_parameters['size']);
}
else {
- $size = $part->size;
- if ($part->encoding == 'base64') {
- $size = $size / 1.33;
- }
+ $size = $part->size;
+ if ($part->encoding == 'base64') {
+ $size = $size / 1.33;
+ }
- $size = '~' . $this->show_bytes($size);
+ $size = '~' . $this->show_bytes($size);
}
return $size;
@@ -2306,6 +2319,8 @@
* Get resource file content (with assets_dir support)
*
* @param string $name File name
+ *
+ * @return string File content
*/
public function get_resource_content($name)
{
--
Gitblit v1.9.1