Skip to content

Commit 1f911da

Browse files
committed
implement removal of hostname from whitelist via enum option
1 parent 9936ace commit 1f911da

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

dslink-v2/src/main/java/com/acuity/iot/dsa/dslink/sys/cert/HostnameWhitelist.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.acuity.iot.dsa.dslink.sys.cert;
22

33
import org.iot.dsa.node.DSBool;
4-
import org.iot.dsa.node.DSElement;
54
import org.iot.dsa.node.DSIValue;
65
import org.iot.dsa.node.DSInfo;
76
import org.iot.dsa.node.DSJavaEnum;
@@ -18,6 +17,10 @@ public static enum WhitelistValue {
1817
ALLOWED, FORBIDDEN;
1918
}
2019

20+
public static enum WhitelistOption {
21+
ALLOWED, FORBIDDEN, REMOVE;
22+
}
23+
2124
private static final String ENABLED = "Enabled";
2225
private static final String ADD_HOSTNAME = "Add Hostname";
2326

@@ -54,8 +57,9 @@ public ActionResult invoke(DSInfo info, ActionInvocation invocation) {
5457

5558
private void addHostname(DSMap parameters) {
5659
String hostname = parameters.getString("Hostname");
57-
DSElement status = parameters.get("Status");
58-
put(hostname, status).setRemovable(true);
60+
String statusStr = parameters.getString("Status");
61+
WhitelistOption option = WhitelistOption.valueOf(statusStr);
62+
put(hostname, DSJavaEnum.valueOf(option));
5963
}
6064

6165
public WhitelistValue checkHostname(String hostname) {
@@ -70,5 +74,15 @@ public WhitelistValue checkHostname(String hostname) {
7074
return null;
7175
}
7276
}
77+
78+
protected void onChildChanged(DSInfo info) {
79+
if (info.isValue()) {
80+
String val = info.getValue().toElement().toString();
81+
if (WhitelistOption.REMOVE.name().equals(val)) {
82+
remove(info);
83+
}
84+
}
85+
}
86+
7387

7488
}

dslink-v2/src/main/java/com/acuity/iot/dsa/dslink/sys/cert/SysCertManager.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
//import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequestBuilder;
2424
import org.iot.dsa.node.DSBool;
2525
import org.iot.dsa.node.DSInfo;
26-
import org.iot.dsa.node.DSList;
2726
import org.iot.dsa.node.DSMap;
2827
import org.iot.dsa.node.DSNode;
2928
import org.iot.dsa.node.DSString;

0 commit comments

Comments
 (0)