The DTD of the broker configuration file is shown below:
<!-- secsh-broker.dtd --> <!-- --> <!-- Copyright (c) 2004-2008 SSH Communications Security, Finland --> <!-- All rights reserved. --> <!-- --> <!-- Document type definition for the Connection Broker XML --> <!-- configuration files. --> <!-- --> <!-- The top-level element --> <!ELEMENT secsh-broker (general?,default-settings?,profiles?, static-tunnels?,gui?, filter-engine?,logging?)> <!ATTLIST secsh-broker version CDATA #IMPLIED> <!-- General element. --> <!ELEMENT general (crypto-lib?,cert-validation?,key-stores?, strict-host-key-checking?,host-key-always-ask?, accept-unknown-host-keys?,known-hosts?)> <!-- Cryptographic library. --> <!ELEMENT crypto-lib EMPTY> <!ATTLIST crypto-lib mode (fips|standard) "standard"> <!-- PKI settings. --> <!ELEMENT cert-validation (ldap-server*,ocsp-responder*, crl-prefetch*,dod-pki?, ca-certificate*,key-store*)> <!ATTLIST cert-validation end-point-identity-check (yes|no|YES|NO) "yes" default-domain CDATA #IMPLIED http-proxy-url CDATA #IMPLIED socks-server-url CDATA #IMPLIED> <!ELEMENT ldap-server EMPTY> <!ATTLIST ldap-server address CDATA #REQUIRED port CDATA "389"> <!ELEMENT ocsp-responder EMPTY> <!ATTLIST ocsp-responder url CDATA #REQUIRED validity-period CDATA "0"> <!-- CRL prefetch. --> <!ELEMENT crl-prefetch EMPTY> <!ATTLIST crl-prefetch interval CDATA "3600" url CDATA #REQUIRED> <!-- CA certificates. --> <!ELEMENT ca-certificate (#PCDATA)> <!ATTLIST ca-certificate name CDATA #REQUIRED file CDATA #IMPLIED disable-crls (yes|no|YES|NO) "no" use-expired-crls CDATA "0" > <!-- Enable DoD PKI compliancy. --> <!ELEMENT dod-pki EMPTY> <!ATTLIST dod-pki enable (yes|no|YES|NO) "no" > <!ELEMENT key-stores ((key-store|user-keys|identification)*)> <!ELEMENT key-store EMPTY> <!ATTLIST key-store type CDATA #REQUIRED init CDATA #IMPLIED disable-crls (yes|no|YES|NO) "no" use-expired-crls CDATA "0" > <!ELEMENT user-keys EMPTY> <!ATTLIST user-keys directory CDATA #IMPLIED passphrase-timeout CDATA "0" passphrase-idle-timeout CDATA "0"> <!ELEMENT identification EMPTY> <!ATTLIST identification file CDATA #REQUIRED base-path CDATA #IMPLIED passphrase-timeout CDATA "0" passphrase-idle-timeout CDATA "0"> <!ELEMENT strict-host-key-checking EMPTY> <!ATTLIST strict-host-key-checking enable (yes|no|YES|NO) #REQUIRED> <!ELEMENT host-key-always-ask EMPTY> <!ATTLIST host-key-always-ask enable (yes|no|YES|NO) #REQUIRED> <!ELEMENT accept-unknown-host-keys EMPTY> <!ATTLIST accept-unknown-host-keys enable (yes|no|YES|NO) #REQUIRED> <!ELEMENT exclusive-connection EMPTY> <!ATTLIST exclusive-connection enable (yes|no|YES|NO) #REQUIRED> <!ELEMENT known-hosts (key-store*)> <!ATTLIST known-hosts path CDATA #IMPLIED filename-format (hash|plain) "hash" > <!-- Extended plugin configuration --> <!ELEMENT extended (ext)*> <!ELEMENT ext (#PCDATA | EMPTY | ext)*> <!ATTLIST ext name CDATA #REQUIRED> <!-- Default settings element. --> <!ELEMENT default-settings (ciphers?, macs?, transport-distribution?, rekey?, authentication-methods?, hostbased-default-domain?, compression?, proxy?, idle-timeout?, tcp-connect-timeout?, keepalive-interval?, exclusive-connection?, server-banners?, forwards?, extended?, remote-environment?, server-authentication-methods?, authentication-success-message?, sftpg3-mode?)> <!-- Server banners. --> <!ELEMENT server-banners EMPTY> <!ATTLIST server-banners visible (yes|no|YES|NO) "yes"> <!-- Ciphers element. --> <!ELEMENT ciphers (cipher*)> <!ELEMENT cipher EMPTY> <!ATTLIST cipher name CDATA #REQUIRED> <!-- Macs element. --> <!ELEMENT macs (mac*)> <!ELEMENT mac EMPTY> <!ATTLIST mac name CDATA #REQUIRED> <!ELEMENT rekey EMPTY> <!ATTLIST rekey bytes CDATA "0"> <!-- Hostbased default domain. --> <!ELEMENT hostbased-default-domain EMPTY> <!ATTLIST hostbased-default-domain name CDATA #REQUIRED> <!-- Authentication methods element. --> <!ELEMENT authentication-methods (authentication-method|auth-hostbased |auth-password|auth-publickey|auth-gssapi |auth-keyboard-interactive)*> <!ELEMENT server-authentication-methods (authentication-method*)> <!ELEMENT remote-environment (environment*)> <!ELEMENT environment EMPTY> <!ATTLIST environment name CDATA #REQUIRED value CDATA #REQUIRED format (yes|no|YES|NO) "no"> <!-- Transport distribution. --> <!ELEMENT transport-distribution EMPTY> <!ATTLIST transport-distribution num-transports CDATA #REQUIRED> <!-- Authentication method. --> <!ELEMENT authentication-method EMPTY> <!ATTLIST authentication-method name CDATA #REQUIRED> <!ELEMENT auth-hostbased (local-hostname?)> <!ELEMENT local-hostname EMPTY> <!ATTLIST local-hostname name CDATA #REQUIRED> <!ELEMENT auth-password EMPTY> <!ELEMENT auth-publickey EMPTY> <!ELEMENT auth-keyboard-interactive EMPTY> <!ELEMENT auth-gssapi EMPTY> <!-- User identities. --> <!ELEMENT user-identities (identity*)> <!ELEMENT identity EMPTY> <!ATTLIST identity identity-file CDATA #IMPLIED file CDATA #IMPLIED hash CDATA #IMPLIED id CDATA #IMPLIED data CDATA #IMPLIED> <!-- Proxy rules. --> <!ELEMENT proxy EMPTY> <!ATTLIST proxy ruleset CDATA #REQUIRED> <!-- Idle timeout. --> <!ELEMENT idle-timeout EMPTY> <!ATTLIST idle-timeout type (connection) "connection" time CDATA #IMPLIED> <!-- Connect timeout. --> <!ELEMENT tcp-connect-timeout EMPTY> <!ATTLIST tcp-connect-timeout time CDATA #IMPLIED> <!-- Keepalive interval. --> <!ELEMENT keepalive-interval EMPTY> <!ATTLIST keepalive-interval time CDATA #IMPLIED> <!-- Forwards element. --> <!ELEMENT forwards (forward*)> <!ELEMENT forward EMPTY> <!ATTLIST forward type (x11|agent) #REQUIRED state (on|off|denied) #REQUIRED> <!-- Compression. --> <!ELEMENT compression EMPTY> <!ATTLIST compression name CDATA #IMPLIED level CDATA #IMPLIED> <!ELEMENT authentication-success-message EMPTY> <!ATTLIST authentication-success-message enable (yes|no|YES|NO) "yes"> <!ELEMENT sftpg3-mode EMPTY> <!ATTLIST sftpg3-mode compatibility-mode CDATA "tectia"> <!-- Profiles element. --> <!ELEMENT profiles (profile*)> <!-- Connection profile. --> <!ELEMENT profile (hostkey?, ciphers?, macs?, transport-distribution?, rekey?, authentication-methods?, user-identities?, compression?, proxy?, idle-timeout?, tcp-connect-timeout?, keepalive-interval?, exclusive-connection?, server-banners?, forwards?, tunnels?, extended?, remote-environment?, server-authentication-methods?)> <!ATTLIST profile id ID #REQUIRED name CDATA #IMPLIED host CDATA #REQUIRED port CDATA "22" protocol CDATA "secsh2" connect-on-startup (yes|no|YES|NO) "no" user CDATA #IMPLIED gateway-profile CDATA #IMPLIED> <!-- Hostkey. --> <!ELEMENT hostkey (#PCDATA)> <!ATTLIST hostkey file CDATA #IMPLIED> <!-- Tunnels element. --> <!ELEMENT tunnels (local-tunnel*,remote-tunnel*)> <!-- Local tunnel. --> <!ELEMENT local-tunnel EMPTY> <!ATTLIST local-tunnel type CDATA "tcp" listen-address CDATA "127.0.0.1" listen-port CDATA #REQUIRED dst-host CDATA "127.0.0.1" dst-port CDATA #REQUIRED allow-relay (yes|no|YES|NO) "no"> <!-- Remote tunnel. --> <!ELEMENT remote-tunnel EMPTY> <!ATTLIST remote-tunnel type CDATA "tcp" listen-address CDATA "127.0.0.1" listen-port CDATA #REQUIRED dst-host CDATA "127.0.0.1" dst-port CDATA #REQUIRED allow-relay (yes|no|YES|NO) "no"> <!-- Static tunnels element. --> <!ELEMENT static-tunnels (tunnel*)> <!-- Static tunnel. --> <!ELEMENT tunnel EMPTY> <!ATTLIST tunnel type CDATA "tcp" listen-address CDATA "127.0.0.1" listen-port CDATA #REQUIRED dst-host CDATA "127.0.0.1" dst-port CDATA #REQUIRED allow-relay (yes|no|YES|NO) "no" profile CDATA #REQUIRED> <!-- GUI. --> <!ELEMENT gui EMPTY> <!ATTLIST gui hide-tray-icon (yes|no|YES|NO) #IMPLIED show-exit-button (yes|no|YES|NO) #IMPLIED show-admin (yes|no|YES|NO) #IMPLIED enable-connector (yes|no|YES|NO) #IMPLIED show-security-notification (yes|no|YES|NO) #IMPLIED> <!ELEMENT filter-engine (network|dns|filter|rule)*> <!ATTLIST filter-engine ip-generate-start CDATA #IMPLIED ftp-filter-at-signs (yes|no|YES|NO) "no"> <!ELEMENT network EMPTY> <!ATTLIST network id ID #REQUIRED address CDATA #IMPLIED domain CDATA #IMPLIED ip-generate-start CDATA #IMPLIED> <!ELEMENT dns EMPTY> <!ATTLIST dns id ID #REQUIRED network-id IDREF #IMPLIED application CDATA #IMPLIED host CDATA #IMPLIED ip-address CDATA #IMPLIED pseudo-ip (yes|no|YES|NO) "no"> <!ELEMENT filter EMPTY> <!ATTLIST filter dns-id IDREF #REQUIRED ports CDATA #REQUIRED action (block|direct|tunnel|ftp-tunnel|ftp-proxy| BLOCK|DIRECT|TUNNEL|FTP-TUNNEL|FTP-PROXY) #REQUIRED profile-id CDATA #IMPLIED destination CDATA #IMPLIED destination-port CDATA #IMPLIED fallback-to-plain (yes|no|YES|NO) "no"> <!ELEMENT rule EMPTY> <!ATTLIST rule application CDATA #IMPLIED host CDATA #IMPLIED ip-address CDATA #IMPLIED pseudo-ip (yes|no|YES|NO) "no" ports CDATA #REQUIRED action (block|direct|tunnel|ftp-tunnel|ftp-proxy| BLOCK|DIRECT|TUNNEL|FTP-TUNNEL|FTP-PROXY) #REQUIRED profile-id CDATA #IMPLIED destination CDATA #IMPLIED destination-port CDATA #IMPLIED username CDATA #IMPLIED hostname-from-app (yes|no|YES|NO) "no" username-from-app (yes|no|YES|NO) "no" fallback-to-plain (yes|no|YES|NO) "no"> <!ELEMENT logging (log-events*)> <!-- Log events. --> <!-- Log event facility. --> <!ENTITY default-log-event-facility "normal"> <!-- Log event severity. --> <!ENTITY default-log-event-severity "notice"> <!ELEMENT log-events (#PCDATA)> <!ATTLIST log-events facility (normal|daemon|user|auth|local0|local1|local2 |local3|local4|local5|local6|local7|discard) "&default-log-event-facility;" severity (informational|notice|warning|error|critical |security-success|security-failure) "&default-log-event-severity;">