Maximum name length is specified in UTF-8 bytes, not characters.

This commit is contained in:
akwizgran
2014-01-31 17:32:04 +00:00
parent cde4ca574f
commit 22c7ae541a
4 changed files with 34 additions and 8 deletions

View File

@@ -2,6 +2,8 @@ package org.briarproject.api;
import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH;
import java.io.UnsupportedEncodingException;
/** A pseudonym for a user. */
public class Author {
@@ -10,8 +12,13 @@ public class Author {
private final byte[] publicKey;
public Author(AuthorId id, String name, byte[] publicKey) {
if(name.length() == 0 || name.length() > MAX_AUTHOR_NAME_LENGTH)
throw new IllegalArgumentException();
if(name.length() == 0) throw new IllegalArgumentException();
try {
if(name.getBytes("UTF-8").length > MAX_AUTHOR_NAME_LENGTH)
throw new IllegalArgumentException();
} catch(UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
this.id = id;
this.name = name;
this.publicKey = publicKey;

View File

@@ -3,6 +3,8 @@ package org.briarproject.api.messaging;
import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH;
import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH;
import java.io.UnsupportedEncodingException;
/** A group to which users may subscribe. */
public class Group {
@@ -11,8 +13,13 @@ public class Group {
private final byte[] salt;
public Group(GroupId id, String name, byte[] salt) {
if(name.length() == 0 || name.length() > MAX_GROUP_NAME_LENGTH)
throw new IllegalArgumentException();
if(name.length() == 0) throw new IllegalArgumentException();
try {
if(name.getBytes("UTF-8").length > MAX_GROUP_NAME_LENGTH)
throw new IllegalArgumentException();
} catch(UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
if(salt.length != GROUP_SALT_LENGTH)
throw new IllegalArgumentException();
this.id = id;