diff options
| author | Wladimir J. van der Laan <[email protected]> | 2015-09-22 11:13:39 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2015-09-22 11:36:50 +0200 |
| commit | a3babc826dff0c4bc027d7d62e79500fb9a5a69c (patch) | |
| tree | ca3a10fdc08830cb3ee974222279201b065860f8 /src/utilstrencodings.cpp | |
| parent | Merge pull request #6694 (diff) | |
| parent | [uacomment] Sanitize per BIP-0014 (diff) | |
| download | discoin-a3babc826dff0c4bc027d7d62e79500fb9a5a69c.tar.xz discoin-a3babc826dff0c4bc027d7d62e79500fb9a5a69c.zip | |
Merge pull request #6647
1c1b1b3 [uacomment] Sanitize per BIP-0014 (MarcoFalke)
Diffstat (limited to 'src/utilstrencodings.cpp')
| -rw-r--r-- | src/utilstrencodings.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/utilstrencodings.cpp b/src/utilstrencodings.cpp index 1f7a2cae2..76c22f735 100644 --- a/src/utilstrencodings.cpp +++ b/src/utilstrencodings.cpp @@ -14,17 +14,20 @@ using namespace std; -string SanitizeString(const string& str) +static const string CHARS_ALPHA_NUM = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + +static const string SAFE_CHARS[] = +{ + CHARS_ALPHA_NUM + " .,;_/:?@()", // SAFE_CHARS_DEFAULT + CHARS_ALPHA_NUM + " .,;_?@" // SAFE_CHARS_UA_COMMENT +}; + +string SanitizeString(const string& str, int rule) { - /** - * safeChars chosen to allow simple messages/URLs/email addresses, but avoid anything - * even possibly remotely dangerous like & or > - */ - static string safeChars("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 .,;_/:?@()"); string strResult; for (std::string::size_type i = 0; i < str.size(); i++) { - if (safeChars.find(str[i]) != std::string::npos) + if (SAFE_CHARS[rule].find(str[i]) != std::string::npos) strResult.push_back(str[i]); } return strResult; |