From dc60d6b63075fd466a37b09f1ec0d20345a2d2d3 Mon Sep 17 00:00:00 2001 From: Douglas Lovell Date: Tue, 29 Jan 2019 17:14:59 -0300 Subject: [PATCH] Merge remote-tracking branch 'origin/as-validate-email-length' GitOrigin-RevId: 00f46c637a7563443e903f491ec39446dc570b5f --- .../web/app/coffee/Features/Helpers/EmailHelper.coffee | 1 + services/web/app/coffee/models/User.coffee | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/services/web/app/coffee/Features/Helpers/EmailHelper.coffee b/services/web/app/coffee/Features/Helpers/EmailHelper.coffee index d45447788d..8b769c1669 100644 --- a/services/web/app/coffee/Features/Helpers/EmailHelper.coffee +++ b/services/web/app/coffee/Features/Helpers/EmailHelper.coffee @@ -4,6 +4,7 @@ module.exports = EmailHelper = parseEmail: (email) -> return null unless email? + return null if email.length > 254 email = email.trim().toLowerCase() matched = email.match EMAIL_REGEXP diff --git a/services/web/app/coffee/models/User.coffee b/services/web/app/coffee/models/User.coffee index 230e8835a0..a8717ac3ac 100644 --- a/services/web/app/coffee/models/User.coffee +++ b/services/web/app/coffee/models/User.coffee @@ -6,10 +6,13 @@ uuid = require('uuid') Schema = mongoose.Schema ObjectId = Schema.ObjectId +# See https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/574698#574698 +MAX_EMAIL_LENGTH = 254 + UserSchema = new Schema - email : {type : String, default : ''} + email : {type : String, default : '', maxlength: MAX_EMAIL_LENGTH } emails: [{ - email: { type : String, default : '' }, + email: { type : String, default : '', maxlength: MAX_EMAIL_LENGTH }, reversedHostname: { type : String, default : '' }, createdAt: { type : Date, default: () -> new Date() }, confirmedAt: { type: Date }