Browse Source

Added filesystem write permission check (issue-345)

Change-Id: I0a3aced3b8e9887347888c85e469b74fc70931ad
tags/v1.4.0
James Moger 10 years ago
parent
commit
088b6f3367

+ 1
- 0
releases.moxie View File

@@ -46,6 +46,7 @@ r20: {
- Set Link: <url>; rel="canonical" http header for SEO (issue-304)
- Added raw links to the commit, commitdiff, and compare pages (issue-319)
- Support intradocument linking in Markdown content using [[WikiLinks]] syntax (issue-324)
- Added filesystem write permission check (issue-345)
- Support rendering confluence, mediawiki, textile, tracwiki, and twiki markup documents
- Added setting to globally disable anonymous pushes in the receive pack
- Added a normalized diffstat display to the commit, commitdiff, and compare pages

+ 3
- 1
src/main/java/com/gitblit/Constants.java View File

@@ -70,7 +70,9 @@ public class Constants {
public static final String BRANCH_GRAPH_PATH = "/graph/";
public static final String BORDER = "***********************************************************";
public static final String BORDER = "*****************************************************************";
public static final String BORDER2 = "#################################################################";
public static final String FEDERATION_USER = "$gitblit";

+ 2
- 2
src/main/java/com/gitblit/manager/AuthenticationManager.java View File

@@ -108,10 +108,10 @@ public class AuthenticationManager implements IAuthenticationManager {
String realm = settings.getString(Keys.realm.userService, "${baseFolder}/users.conf");
if (legacyRedirects.containsKey(realm)) {
logger.warn("");
logger.warn("#################################################################");
logger.warn(Constants.BORDER2);
logger.warn(" IUserService '{}' is obsolete!", realm);
logger.warn(" Please set '{}={}'", "realm.authenticationProviders", legacyRedirects.get(realm));
logger.warn("#################################################################");
logger.warn(Constants.BORDER2);
logger.warn("");

// conditionally override specified authentication providers

+ 18
- 0
src/main/java/com/gitblit/manager/RepositoryManager.java View File

@@ -157,6 +157,8 @@ public class RepositoryManager implements IRepositoryManager {
configureJGit();
configureCommitCache();

confirmWriteAccess();

return this;
}

@@ -1756,4 +1758,20 @@ public class RepositoryManager implements IRepositoryManager {
daysToCache, commitCount, repoCount, TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start)));
}
}

protected void confirmWriteAccess() {
if (runtimeManager.isServingRepositories()) {
try {
File file = File.createTempFile(".test-", ".txt", getRepositoriesFolder());
file.delete();
} catch (Exception e) {
logger.error("");
logger.error(Constants.BORDER2);
logger.error("Please check filesystem permissions!");
logger.error("FAILED TO WRITE TO REPOSITORIES FOLDER!!", e);
logger.error(Constants.BORDER2);
logger.error("");
}
}
}
}

+ 2
- 2
src/main/java/com/gitblit/manager/UserManager.java View File

@@ -94,10 +94,10 @@ public class UserManager implements IUserManager {
// create the user service from the legacy config
String realmKey = legacyBackingServices.get(realm);
logger.warn("");
logger.warn("#################################################################");
logger.warn(Constants.BORDER2);
logger.warn(" Key '{}' is obsolete!", realmKey);
logger.warn(" Please set '{}={}'", Keys.realm.userService, settings.getString(realmKey, "${baseFolder}/users.conf"));
logger.warn("#################################################################");
logger.warn(Constants.BORDER2);
logger.warn("");
File realmFile = runtimeManager.getFileOrFolder(realmKey, "${baseFolder}/users.conf");
service = createUserService(realmFile);

Loading…
Cancel
Save