summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java33
1 files changed, 16 insertions, 17 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
index 8d10271d..3e91cfc5 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
@@ -6,6 +6,7 @@ import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.nio.charset.StandardCharsets;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.LinkedBlockingQueue;
@@ -23,7 +24,6 @@ import org.openslx.bwlp.sat.database.mappers.DbLecture;
import org.openslx.bwlp.sat.database.mappers.DbLecture.LaunchData;
import org.openslx.bwlp.sat.database.mappers.DbLecture.RunScript;
import org.openslx.bwlp.sat.fileserv.FileServer;
-import org.openslx.bwlp.thrift.iface.LectureRead;
import org.openslx.bwlp.thrift.iface.NetRule;
import org.openslx.bwlp.thrift.iface.NetShare;
import org.openslx.bwlp.thrift.iface.NetShareAuth;
@@ -208,28 +208,27 @@ public class WebServer extends NanoHTTPD {
}
private Response serveLectureNetRules(String lectureId) {
- LectureRead lecture;
+ List<NetRule> list = new ArrayList<>();
+ boolean defaultAllowed;
try {
- lecture = DbLecture.getLectureDetails(null, lectureId);
- } catch (TNotFoundException e) {
- return notFound();
+ defaultAllowed = DbLecture.getFirewallRules(lectureId, list);
} catch (SQLException e) {
return internalServerError();
+ } catch (TNotFoundException e) {
+ return notFound();
}
StringBuilder sb = new StringBuilder();
- if (lecture.networkExceptions != null) {
- for (NetRule rule : lecture.networkExceptions) {
- sb.append(rule.direction.name());
- sb.append(' ');
- sb.append(rule.host);
- sb.append(' ');
- sb.append(rule.port);
- sb.append(' ');
- sb.append(lecture.hasInternetAccess ? "REJECT" : "ACCEPT");
- sb.append('\n');
- }
+ for (NetRule rule : list) {
+ sb.append(rule.direction.name());
+ sb.append(' ');
+ sb.append(rule.host);
+ sb.append(' ');
+ sb.append(rule.port);
+ sb.append(' ');
+ sb.append(defaultAllowed ? "REJECT" : "ACCEPT");
+ sb.append('\n');
}
- if (lecture.hasInternetAccess) {
+ if (defaultAllowed) {
sb.append("IN * 0 ACCEPT\n");
sb.append("OUT * 0 ACCEPT\n");
} else {