summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-10-25 10:52:30 +0100
committerLukas Fleischer <lfleischer@archlinux.org>2015-10-25 10:57:46 +0100
commitd52b2f50b9a5b77330c41dd93e0f3177b810c018 (patch)
tree44b7006397632e6c0bf29af1e6978fc6f2fa75f5
parentf9ac67f6917eb5f4db89cf8407a33ad37d7f3935 (diff)
downloadaur-d52b2f50b9a5b77330c41dd93e0f3177b810c018.tar.gz
aur-d52b2f50b9a5b77330c41dd93e0f3177b810c018.tar.xz
Support long email addresses
According to RFC 3696 (and the associated errata), an email address can be up to 256 characters long. Change the database field and the length limit on all input fields accordingly. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
-rw-r--r--schema/aur-schema.sql2
-rw-r--r--upgrading/4.2.0.txt6
-rw-r--r--web/html/login.php2
-rw-r--r--web/template/account_edit_form.php2
4 files changed, 9 insertions, 3 deletions
diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql
index 0a0c8069..98e8be04 100644
--- a/schema/aur-schema.sql
+++ b/schema/aur-schema.sql
@@ -25,7 +25,7 @@ CREATE TABLE Users (
AccountTypeID TINYINT UNSIGNED NOT NULL DEFAULT 1,
Suspended TINYINT UNSIGNED NOT NULL DEFAULT 0,
Username VARCHAR(32) NOT NULL,
- Email VARCHAR(64) NOT NULL,
+ Email VARCHAR(256) NOT NULL,
HideEmail TINYINT UNSIGNED NOT NULL DEFAULT 0,
Passwd CHAR(32) NOT NULL,
Salt CHAR(32) NOT NULL DEFAULT '',
diff --git a/upgrading/4.2.0.txt b/upgrading/4.2.0.txt
index 37cbeae1..c195f41b 100644
--- a/upgrading/4.2.0.txt
+++ b/upgrading/4.2.0.txt
@@ -9,3 +9,9 @@ CREATE TABLE OfficialProviders (
) ENGINE = InnoDB;
CREATE UNIQUE INDEX ProviderNameProvides ON OfficialProviders (Name, Provides);
----
+
+2. Resize the email address field:
+
+----
+ALTER TABLE Users MODIFY Email VARCHAR(256) NOT NULL;
+----
diff --git a/web/html/login.php b/web/html/login.php
index cef9be48..0a2a1c97 100644
--- a/web/html/login.php
+++ b/web/html/login.php
@@ -29,7 +29,7 @@ html_header('AUR ' . __("Login"));
<?php endif; ?>
<p>
<label for="id_username"><?= __('User name or email address') . ':'; ?></label>
- <input id="id_username" type="text" name="user" size="30" maxlength="<?= config_get_int('options', 'username_max_len'); ?>" value="<?php if (isset($_POST['user'])) { print htmlspecialchars($_POST['user'], ENT_QUOTES); } ?>" autofocus="autofocus" />
+ <input id="id_username" type="text" name="user" size="30" maxlength="<?= max(config_get_int('options', 'username_max_len'), 256); ?>" value="<?php if (isset($_POST['user'])) { print htmlspecialchars($_POST['user'], ENT_QUOTES); } ?>" autofocus="autofocus" />
</p>
<p>
<label for="id_password"><?= __('Password') . ':'; ?></label>
diff --git a/web/template/account_edit_form.php b/web/template/account_edit_form.php
index b25ff397..28da2032 100644
--- a/web/template/account_edit_form.php
+++ b/web/template/account_edit_form.php
@@ -69,7 +69,7 @@
<p>
<label for="id_email"><?= __("Email Address") ?>:</label>
- <input type="text" size="30" maxlength="64" name="E" id="id_email" value="<?= htmlspecialchars($E,ENT_QUOTES) ?>" /> (<?= __("required") ?>)
+ <input type="text" size="30" maxlength="256" name="E" id="id_email" value="<?= htmlspecialchars($E,ENT_QUOTES) ?>" /> (<?= __("required") ?>)
</p>
<p>