Skip to content

Commit 46e4ced

Browse files
committed
fixup chat gpt
1 parent 0d45b26 commit 46e4ced

File tree

20 files changed

+93
-40
lines changed

20 files changed

+93
-40
lines changed

.gcp.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SENTRIUS_VERSION=1.0.33
1+
SENTRIUS_VERSION=1.0.34
22
SENTRIUS_SSH_VERSION=1.0.3
33
SENTRIUS_KEYCLOAK_VERSION=1.0.4
4-
SENTRIUS_AGENT_VERSION=1.0.14
4+
SENTRIUS_AGENT_VERSION=1.0.15

api/src/main/java/io/sentrius/sso/controllers/api/RuleApiController.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.HashSet;
55
import java.util.List;
66
import java.util.Map;
7+
import java.util.Optional;
78
import java.util.Set;
89
import java.util.stream.Collectors;
910
import io.sentrius.sso.core.annotations.LimitAccess;
@@ -181,7 +182,12 @@ public ResponseEntity<String> assignConfig(HttpServletRequest request, HttpServl
181182

182183
Set<HostGroup> selectedHostGroups = new HashSet<>();
183184
for(var groupId : (List<String>)hostGroups){
185+
184186
var group = hostGroupService.getHostGroupWithHostSystems(user, Long.parseLong(groupId));
187+
// for application managers they should have the ability to assign groups
188+
if (!group.isPresent() && AccessUtil.canAccess(user, ApplicationAccessEnum.CAN_MANAGE_APPLICATION)) {
189+
group = Optional.of( hostGroupService.getHostGroup(Long.parseLong(groupId)) );
190+
}
185191
if (group.isPresent()) {
186192
log.info("Assigning group {}", group.get().getName());
187193
selectedHostGroups.add(group.get());

api/src/main/java/io/sentrius/sso/controllers/api/SystemApiController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ public String setOption(HttpServletRequest request, HttpServletResponse response
117117
results.add(systemOptions.setValue(option.getName(), entry.getValue()[0], false));
118118
break;
119119
case "java.lang.Boolean":
120+
log.info("Setting boolean value: {}", entry.getValue()[0]);
120121
results.add(systemOptions.setValue(option.getName(), Boolean.valueOf(entry.getValue()[0]), false));
121122
break;
122123
case "java.lang.Integer":

api/src/main/java/io/sentrius/sso/websocket/TerminalWSHandler.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ protected void handleTextMessage(WebSocketSession session, TextMessage message)
8787
byte[] messageBytes = Base64.getDecoder().decode(message.getPayload());
8888
Session.TerminalMessage auditLog =
8989
Session.TerminalMessage.parseFrom(messageBytes);
90-
log.info("got message {}; {}; {}", uri,sessionId, auditLog.getCommand());
9190
// Decrypt the session ID
9291
// var sessionIdStr = cryptoService.decrypt(sessionId);
9392
// var sessionIdLong = Long.parseLong(sessionIdStr);
@@ -96,21 +95,21 @@ protected void handleTextMessage(WebSocketSession session, TextMessage message)
9695
var sys = sessionTrackingService.getEncryptedConnectedSession(lookupId);
9796
if (null != sys ) {
9897
boolean allNoAction = true;
99-
log.info("**** Processing message for session ID: {} with {} actions", sessionId,
98+
log.debug("**** Processing message for session ID: {} with {} actions", sessionId,
10099
sys.getSessionStartupActions().size());
101100
for (var action : sys.getSessionStartupActions()) {
102101
var trigger = action.onMessage(auditLog);
103102
if (trigger.get().getAction() == TriggerAction.JIT_ACTION) {
104103
allNoAction = false;
105104
// drop the message
106105
sys.getTerminalAuditor().setSessionTrigger(trigger.get());
107-
log.info("**** Setting JIT Trigger: {}", trigger.get());
106+
log.debug("**** Setting JIT Trigger: {}", trigger.get());
108107
sessionTrackingService.addSystemTrigger(sys, trigger.get());
109108
return;
110109
} else if (trigger.get().getAction() == TriggerAction.WARN_ACTION) {
111110
allNoAction = false;
112111
// send the message
113-
log.info("**** Setting WARN Trigger: {}", trigger.get());
112+
log.debug("**** Setting WARN Trigger: {}", trigger.get());
114113
sys.getTerminalAuditor().setSessionTrigger(trigger.get());
115114
sessionTrackingService.addSystemTrigger(sys, trigger.get());
116115
} else if (trigger.get().getAction() == TriggerAction.PROMPT_ACTION) {

api/src/main/resources/templates/sso/system_settings.html

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,16 @@
136136
</span>
137137
</td>
138138
<td>
139-
<input type="text" th:name="${s.name}" th:value="${s.value}" class="form-control"/>
139+
<!-- Conditionally render input or select based on closestType -->
140+
<div th:if="${s.closestType == 'java.lang.Boolean'}">
141+
<select th:name="${s.name}" class="form-control">
142+
<option th:value="true" th:selected="${s.value.equals('true')}">True</option>
143+
<option th:value="false" th:selected="${s.value.equals('false')}">False</option>
144+
</select>
145+
</div>
146+
<div th:unless="${s.closestType == 'java.lang.Boolean'}">
147+
<input type="text" th:name="${s.name}" th:value="${s.value}" class="form-control" />
148+
</div>
140149
</td>
141150
</tr>
142151
</template>

core/src/main/java/io/sentrius/sso/automation/auditing/AccessTokenEvaluator.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.sentrius.sso.automation.auditing;
22

33
import java.util.Optional;
4+
import io.sentrius.sso.core.config.SystemOptions;
45
import io.sentrius.sso.core.model.ConnectedSystem;
56
import io.sentrius.sso.core.services.terminal.SessionTrackingService;
67

@@ -12,7 +13,7 @@ public abstract class AccessTokenEvaluator {
1213

1314
public abstract Optional<Trigger> trigger(String text);
1415

15-
public abstract boolean configure(String configuration);
16+
public abstract boolean configure(SystemOptions systemOptions, String configuration);
1617

1718
public abstract TriggerAction describeAction();
1819

@@ -29,5 +30,7 @@ public void setConnectedSystem(ConnectedSystem connectedSystem) {
2930
public void setTrackingService(SessionTrackingService sessionTrackingService){
3031
this.sessionTrackingService = sessionTrackingService;
3132
}
33+
34+
3235
}
3336
//

core/src/main/java/io/sentrius/sso/automation/auditing/AllowedExecution.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.sentrius.sso.automation.auditing;
22

33
import java.util.Optional;
4+
import io.sentrius.sso.core.config.SystemOptions;
45

56
public class AllowedExecution extends AccessTokenEvaluator {
67

@@ -38,7 +39,7 @@ public Optional<Trigger> trigger(String text) {
3839
}
3940

4041
@Override
41-
public boolean configure(String configuration) {
42+
public boolean configure(SystemOptions systemOptions, String configuration) {
4243

4344
String[] commandSplit = configuration.split(":");
4445

core/src/main/java/io/sentrius/sso/automation/auditing/RuleFactory.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.lang.reflect.InvocationTargetException;
44
import java.util.List;
55
import java.util.Map;
6+
import io.sentrius.sso.core.config.SystemOptions;
67
import io.sentrius.sso.core.model.ConnectedSystem;
78
import io.sentrius.sso.core.model.auditing.Rule;
89
import io.sentrius.sso.core.services.PluggableServices;
@@ -14,6 +15,7 @@
1415
public class RuleFactory {
1516

1617
public static void createRules(
18+
SystemOptions systemOptions,
1719
ConnectedSystem connectedSystem,
1820
SessionTrackingService sessionTrackingService,
1921
List<Rule> initialRules, List<AccessTokenEvaluator> synchronousRules, List<SessionTokenEvaluator> beforeAndAfterRules,
@@ -24,7 +26,7 @@ public static void createRules(
2426
Class<? extends AccessTokenEvaluator> newRuleClass =
2527
Class.forName(rule.getRuleClass()).asSubclass(AccessTokenEvaluator.class);
2628
AccessTokenEvaluator newRule = newRuleClass.getConstructor().newInstance();
27-
newRule.configure(rule.getRuleConfig());
29+
newRule.configure(systemOptions, rule.getRuleConfig());
2830
newRule.setConnectedSystem(connectedSystem);
2931
newRule.setTrackingService(sessionTrackingService);
3032
if (newRule instanceof SessionTokenEvaluator) {

core/src/main/java/io/sentrius/sso/automation/auditing/rules/AllowedCommandsRule.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.sentrius.sso.automation.auditing.AccessTokenEvaluator;
55
import io.sentrius.sso.automation.auditing.Trigger;
66
import io.sentrius.sso.automation.auditing.TriggerAction;
7+
import io.sentrius.sso.core.config.SystemOptions;
78
import org.apache.commons.collections4.trie.PatriciaTrie;
89

910
public class AllowedCommandsRule extends AccessTokenEvaluator {
@@ -29,7 +30,7 @@ public Optional<Trigger> trigger(String text) {
2930
}
3031

3132
@Override
32-
public boolean configure(String configuration) {
33+
public boolean configure(SystemOptions systemOptions, String configuration) {
3334

3435
String[] commandGroup = configuration.split("<EOL>");
3536

core/src/main/java/io/sentrius/sso/automation/auditing/rules/CommandEvaluator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.sentrius.sso.automation.auditing.AccessTokenEvaluator;
55
import io.sentrius.sso.automation.auditing.Trigger;
66
import io.sentrius.sso.automation.auditing.TriggerAction;
7+
import io.sentrius.sso.core.config.SystemOptions;
78

89
public class CommandEvaluator extends AccessTokenEvaluator {
910

@@ -43,7 +44,7 @@ public Optional<Trigger> trigger(String text) {
4344
}
4445

4546
@Override
46-
public boolean configure(String configuration) {
47+
public boolean configure(SystemOptions systemOptions, String configuration) {
4748

4849
String[] commandSplit = configuration.split(":");
4950

0 commit comments

Comments
 (0)