Merge pull request #2 from onionshare/ascii-username-check

Checks if username is ASCII string else throw an error
This commit is contained in:
Micah Lee 2021-11-29 20:31:12 -08:00 committed by GitHub
commit 74711e7d7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View file

@ -82,7 +82,7 @@ var emitMessage = function (socket) {
var updateUsername = function (socket) {
var username = $('#username').val();
if (!checkUsernameExists(username) && !checkUsernameTooLong(username)) {
if (!checkUsernameExists(username) && !checkUsernameTooLong(username) && !checkUsernameAscii(username)) {
$.ajax({
method: 'POST',
url: `http://${document.domain}:${location.port}/update-session-username`,
@ -117,6 +117,16 @@ var createUserListHTML = function (connected_users, current_user) {
return userListHTML;
}
var checkUsernameAscii = function (username) {
// ASCII characters have code points in the range U+0000-U+007F.
$('#username-error').text('');
if (!/^[\u0000-\u007f]*$/.test(username)) {
$('#username-error').text('Non-ASCII usernames are not supported.');
return true;
}
return false;
}
var checkUsernameExists = function (username) {
$('#username-error').text('');
var userMatches = $('#user-list li').filter(function () {

View file

@ -51,6 +51,7 @@ class ChatModeWeb:
username = username.strip()
return (
username
and username.isascii()
and username not in self.connected_users
and len(username) < 128
)