mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-02 13:46:23 +00:00
(fix) Escaping of unexpected characters in emails
Properly encode characters in DOM attributes. Fixes #3241
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
Copyright (C) 2004 SKYRIX Software AG
|
||||
Copyright (C) 2005-2014 Inverse inc.
|
||||
Copyright (C) 2005-2015 Inverse inc.
|
||||
|
||||
This file is part of SOGo.
|
||||
|
||||
@@ -138,9 +138,13 @@
|
||||
if ([email length] > 0)
|
||||
{
|
||||
fn = [card fn];
|
||||
fn = [fn stringByReplacingString: @"\"" withString: @""];
|
||||
fn = [fn stringByReplacingString: @"'" withString: @"\\\'"];
|
||||
attrs = [NSString stringWithFormat: @"onclick=\"return openMailTo('%@ <%@>');\"", fn, email];
|
||||
if ([fn length] > 0)
|
||||
attrs = [NSString stringWithFormat: @"%@ <%@>", fn, email];
|
||||
else
|
||||
attrs = email;
|
||||
attrs = [attrs stringByReplacingString: @"'" withString: @"\\'"];
|
||||
attrs = [attrs stringByReplacingString: @"\"" withString: @"\\\""];
|
||||
attrs = [NSString stringWithFormat: @"onclick=\"return openMailTo('%@');\"", attrs];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -181,16 +185,23 @@
|
||||
for (i = 0; i < [emails count]; i++)
|
||||
{
|
||||
email = [[emails objectAtIndex: i] flattenedValuesForKey: @""];
|
||||
fn = [card fn];
|
||||
fn = [fn stringByReplacingString: @"\"" withString: @""];
|
||||
fn = [fn stringByReplacingString: @"'" withString: @"\\\'"];
|
||||
attrs = [NSString stringWithFormat: @"onclick=\"return openMailTo('%@ <%@>');\"", fn, email];
|
||||
|
||||
[secondaryEmails addObject: [self _cardStringWithLabel: nil
|
||||
value: email
|
||||
byEscapingHTMLString: YES
|
||||
asLinkScheme: @"mailto:"
|
||||
withLinkAttributes: attrs]];
|
||||
if ([email length])
|
||||
{
|
||||
fn = [card fn];
|
||||
if ([fn length])
|
||||
attrs = [NSString stringWithFormat: @"%@ <%@>", fn, email];
|
||||
else
|
||||
attrs = email;
|
||||
attrs = [attrs stringByReplacingString: @"'" withString: @"\\'"];
|
||||
attrs = [attrs stringByReplacingString: @"\"" withString: @"\\\""];
|
||||
attrs = [NSString stringWithFormat: @"onclick=\"return openMailTo('%@');\"", attrs];
|
||||
|
||||
[secondaryEmails addObject: [self _cardStringWithLabel: nil
|
||||
value: email
|
||||
byEscapingHTMLString: YES
|
||||
asLinkScheme: @"mailto:"
|
||||
withLinkAttributes: attrs]];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user