NY_GateKeeperPlugIn

The gatekeeper is a service that filters messages intended for the node itself according to IDs, origin and/or destination. Messages that merely pass through the node on their way to other nodes are not filtered.
Which messages were able to pass the gatekeeper and which were rejected can be seen in the LOG.
The gatekeeper rules are expected in the preference node "network/gatekeeper". Each rule key consists of the word "rule" followed by some unique number. Each rule value consists of exactly 6 entries in one line, separated by commas. Some values may be missing.
Example:
This rule lets all messages pass. It is valuable in that you get logged all messages that pass the gatekeeper during operation.
rule001 = +,,,,,all
Rule columns
| Position | Example | Meaning | Mandatory |
|---|---|---|---|
| 1 | + or - | + means allow messages, - means block messages | yes |
| 2 | 20022 | The local TCP port number (random for outgoing connections) | no |
| 3 | 79e8304a-b6bb-4fc5-9acb-d8f930017ec0 | A record ID | no |
| 4 | SYSTEM | receiver namespace id | no |
| 5 | sun.ss | sender node id | no |
| 6 | Broadcast 1 | a description | yes |
Example for a configuration file
# nyssr.net
preference.node.name = network/gatekeeper
preference.node.clear.first = true
preference.key.overwrite.existing = true
# payload
# allow all
rule001 = +,,,,,all
# allow Ping messages from everywhere
rule002 = +,,73265,,,Ping
# block 79e8304a-b6bb-4fc5-9acb-d8f930017ec0 (BroadcastTransportMsg) from port 20000
rule003 = -,20000,79e8304a-b6bb-4fc5-9acb-d8f930017ec0,,,Broadcasts
# block any message from the node "sun.ss"
rule003 = -,,,,sun.ss,all from sun
LOG output
The LOG output uses the logger "".
Here is an example of a LOG output.
+ Gate=51892, ID=79e8304a-b6bb-4fc5-9acb-d8f930017ec0 (BroadcastTransportMsg), sender=BROADCAST.TRANSPORT.sun.ss, receiver=.SYSTEM.ceres.ss
+ Gate=51892, ID=93df1c45-725d-4f57-83b8-41cc6dfdb93a, sender=12.MicroServiceReg-4.sun.ss, receiver=.SYSTEM.ceres.ss
+ Gate=51892, ID=be46c53e-e544-4e76-8c44-01f8c144254c, sender=12.MicroServiceReg-4.sun.ss, receiver=5.SYSTEM.ceres.ss
+ Gate=51892, ID=79e8304a-b6bb-4fc5-9acb-d8f930017ec0 (BroadcastTransportMsg), sender=BROADCAST.TRANSPORT.sun.ss, receiver=.SYSTEM.ceres.ss
+ Gate=51892, ID=986a7cf9-dcec-47a9-b2e8-77a2348ed384, sender=8.LinkCostCollector-3.sun.ss, receiver=4.TRANSPORT.ceres.ss
+ Gate=51892, ID=79e8304a-b6bb-4fc5-9acb-d8f930017ec0 (BroadcastTransportMsg), sender=BROADCAST.TRANSPORT.sun.ss, receiver=.SYSTEM.ceres.ss
Example for a LOG configuration
# nyssr.net
preference.node.name = logging/writer/file/levels
preference.node.clear.first = true
preference.key.overwrite.existing = true
# payload
startup = TRACE
network = INFO
de.sillysky.nyssr.impl.network.gatekeeper.CGateKeeper = DEBUG