@@ -16,8 +16,6 @@ | |||
package com.gitblit.servlet; | |||
import java.io.IOException; | |||
import java.io.UnsupportedEncodingException; | |||
import java.net.URLDecoder; | |||
import java.security.Principal; | |||
import java.util.Enumeration; | |||
import java.util.HashMap; | |||
@@ -103,12 +101,6 @@ public abstract class AuthenticationFilter extends DaggerFilter { | |||
url = url.substring(1); | |||
} | |||
String fullUrl = url + (StringUtils.isEmpty(params) ? "" : ("?" + params)); | |||
try { | |||
fullUrl = URLDecoder.decode(fullUrl, "UTF-8"); | |||
} catch (UnsupportedEncodingException e) { | |||
logger.warn("UTF-8 decoding of URL failed: "+fullUrl, e); | |||
e.printStackTrace(); | |||
} | |||
return fullUrl; | |||
} | |||
@@ -129,6 +129,8 @@ public class StringUtils { | |||
retStr.append("%20"); | |||
} else if (inStr.charAt(i) == '&') { | |||
retStr.append("%26"); | |||
} else if (inStr.charAt(i) == '+') { | |||
retStr.append("%2B"); | |||
} else { | |||
retStr.append(inStr.charAt(i)); | |||
} | |||
@@ -398,7 +400,7 @@ public class StringUtils { | |||
* @return the first invalid character found or null if string is acceptable | |||
*/ | |||
public static Character findInvalidCharacter(String name) { | |||
char[] validChars = { '/', '.', '_', '-', '~' }; | |||
char[] validChars = { '/', '.', '_', '-', '~', '+' }; | |||
for (char c : name.toCharArray()) { | |||
if (!Character.isLetterOrDigit(c)) { | |||
boolean ok = false; |
@@ -20,7 +20,7 @@ All repository settings are stored within the repository `.git/config` file unde | |||
federationSets = | |||
#### Repository Names | |||
Repository names must be case-insensitive-unique but are CASE-SENSITIVE ON CASE-SENSITIVE FILESYSTEMS. The name must be composed of letters, digits, or `/ _ - . ~`<br/> | |||
Repository names must be case-insensitive-unique but are CASE-SENSITIVE ON CASE-SENSITIVE FILESYSTEMS. The name must be composed of letters, digits, or `/ _ - . ~ +`<br/> | |||
Whitespace is illegal. | |||
Repositories can be grouped within subfolders. e.g. *libraries/mycoollib.git* and *libraries/myotherlib.git* |