GUAC-800: Migrate to JSON for protocol descriptions. Use full Forms instead of simply Fields for protocol parameters (allow sections).

This commit is contained in:
Michael Jumper
2015-05-25 19:56:53 -07:00
parent 96f5ab1bbd
commit 43fab89ecf
31 changed files with 1271 additions and 877 deletions

View File

@@ -0,0 +1,253 @@
{
"title" : "RDP",
"name" : "rdp",
"forms" : [
{
"title" : "Network",
"name" : "network",
"fields" : [
{
"name" : "hostname",
"title" : "Hostname",
"type" : "TEXT"
},
{
"name" : "port",
"title" : "Port",
"type" : "NUMERIC"
}
]
},
{
"title" : "Authentication",
"name" : "authentication",
"fields" : [
{
"name" : "username",
"title" : "Username",
"type" : "USERNAME"
},
{
"name" : "password",
"title" : "Password",
"type" : "PASSWORD"
},
{
"name" : "domain",
"title" : "Domain",
"type" : "TEXT"
},
{
"name" : "security",
"title" : "Security mode",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "rdp",
"title" : "RDP encryption"
},
{
"value" : "tls",
"title" : "TLS encryption"
},
{
"value" : "nla",
"title" : "NLA (Network Level Authentication)"
},
{
"value" : "any",
"title" : "Any"
}
]
},
{
"name" : "disable-auth",
"title" : "Disable authentication",
"type" : "BOOLEAN"
},
{
"name" : "ignore-cert",
"title" : "Ignore server certificate",
"type" : "BOOLEAN"
}
]
},
{
"title" : "Basic Parameters",
"name" : "basic-parameters",
"fields" : [
{
"name" : "initial-program",
"title" : "Initial program",
"type" : "TEXT"
},
{
"name" : "client-name",
"title" : "Client name",
"type" : "TEXT"
},
{
"name" : "server-layout",
"title" : "Keyboard layout",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "en-us-qwerty",
"title" : "US English (Qwerty)"
},
{
"value" : "fr-fr-azerty",
"title" : "French (Azerty)"
},
{
"value" : "de-de-qwertz",
"title" : "German (Qwertz)"
},
{
"value" : "it-it-qwerty",
"title" : "Italian (Qwerty)"
},
{
"value" : "sv-se-qwerty",
"title" : "Swedish (Qwerty)"
},
{
"value" : "failsafe",
"title" : "Unicode"
}
]
},
{
"name" : "console",
"title" : "Administrator console",
"type" : "BOOLEAN",
"value" : "true"
}
]
},
{
"title" : "Display",
"name" : "display",
"fields" : [
{
"name" : "width",
"title" : "Display width",
"type" : "NUMERIC"
},
{
"name" : "height",
"title" : "Display height",
"type" : "NUMERIC"
},
{
"name" : "dpi",
"title" : "Display resolution (DPI)",
"type" : "NUMERIC"
},
{
"name" : "color-depth",
"title" : "Color depth",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "8",
"title" : "256 color"
},
{
"value" : "16",
"title" : "Low color (16-bit)"
},
{
"value" : "24",
"title" : "True color (24-bit)"
},
{
"value" : "32",
"title" : "True color (32-bit)"
}
]
}
]
},
{
"title" : "Device Redirection",
"name" : "device-redirection",
"fields" : [
{
"name" : "console-audio",
"title" : "Support audio in console",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "disable-audio",
"title" : "Disable audio",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "enable-printing",
"title" : "Enable printing",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "enable-drive",
"title" : "Enable drive",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "drive-path",
"title" : "Drive path",
"type" : "TEXT"
},
{
"name" : "static-channels",
"title" : "Static channel names",
"type" : "TEXT"
}
]
},
{
"title" : "RemoteApp",
"name" : "remoteapp",
"fields" : [
{
"name" : "remote-app",
"title" : "RemoteApp program",
"type" : "TEXT"
},
{
"name" : "remote-app-dir",
"title" : "RemoteApp working directory",
"type" : "TEXT"
},
{
"name" : "remote-app-args",
"title" : "RemoteApp parameters",
"type" : "TEXT"
}
]
}
]
}

View File

@@ -1,57 +0,0 @@
<protocol name="rdp" title="RDP">
<param name="hostname" type="text" title="Hostname"/>
<param name="port" type="numeric" title="Port"/>
<param name="username" type="username" title="Username"/>
<param name="password" type="password" title="Password"/>
<param name="domain" type="text" title="Domain"/>
<param name="initial-program" type="text" title="Initial program"/>
<param name="client-name" type="text" title="Client name"/>
<param name="width" type="numeric" title="Display width"/>
<param name="height" type="numeric" title="Display height"/>
<param name="dpi" type="numeric" title="Display resolution (DPI)"/>
<param name="color-depth" type="enum" title="Color depth">
<option value=""></option>
<option value="8">256 color</option>
<option value="16">Low color (16-bit)</option>
<option value="24">True color (24-bit)</option>
<option value="32">True color (32-bit)</option>
</param>
<param name="server-layout" type="enum" title="Keyboard layout">
<option value=""></option>
<option value="en-us-qwerty">US English (Qwerty)</option>
<option value="fr-fr-azerty">French (Azerty)</option>
<option value="de-de-qwertz">German (Qwertz)</option>
<option value="it-it-qwerty">Italian (Qwerty)</option>
<option value="sv-se-qwerty">Swedish (Qwerty)</option>
<option value="failsafe">Unicode</option>
</param>
<param name="console" type="boolean" title="Administrator console" value="true"/>
<param name="console-audio" type="boolean" title="Support audio in console" value="true"/>
<param name="disable-audio" type="boolean" title="Disable audio" value="true"/>
<param name="enable-printing" type="boolean" title="Enable printing" value="true"/>
<param name="enable-drive" type="boolean" title="Enable drive" value="true"/>
<param name="drive-path" type="text" title="Drive path"/>
<param name="security" type="enum" title="Security mode">
<option value=""></option>
<option value="rdp">RDP encryption</option>
<option value="tls">TLS encryption</option>
<option value="nla">NLA (Network Level Authentication)</option>
<option value="any">Any</option>
</param>
<param name="disable-auth" type="boolean" title="Disable authentication" value="true"/>
<param name="ignore-cert" type="boolean" title="Ignore server certificate" value="true"/>
<param name="remote-app" type="text" title="RemoteApp program"/>
<param name="remote-app-dir" type="text" title="RemoteApp working directory"/>
<param name="remote-app-args" type="text" title="RemoteApp parameters"/>
<param name="static-channels" type="text" title="Static channel names"/>
</protocol>

View File

@@ -0,0 +1,143 @@
{
"title" : "SSH",
"name" : "ssh",
"forms" : [
{
"title" : "Network",
"name" : "network",
"fields" : [
{
"name" : "hostname",
"title" : "Hostname",
"type" : "TEXT"
},
{
"name" : "port",
"title" : "Port",
"type" : "NUMERIC"
}
]
},
{
"title" : "Authentication",
"name" : "authentication",
"fields" : [
{
"name" : "username",
"title" : "Username",
"type" : "USERNAME"
},
{
"name" : "password",
"title" : "Password",
"type" : "PASSWORD"
},
{
"name" : "private-key",
"title" : "Private key",
"type" : "MULTILINE"
},
{
"name" : "passphrase",
"title" : "Passphrase",
"type" : "PASSWORD"
}
]
},
{
"title" : "Display",
"name" : "display",
"fields" : [
{
"name" : "font-name",
"title" : "Font name",
"type" : "TEXT"
},
{
"name" : "font-size",
"title" : "Font size",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "8",
"title" : "8"
},
{
"value" : "9",
"title" : "9"
},
{
"value" : "10",
"title" : "10"
},
{
"value" : "11",
"title" : "11"
},
{
"value" : "12",
"title" : "12"
},
{
"value" : "14",
"title" : "14"
},
{
"value" : "18",
"title" : "18"
},
{
"value" : "24",
"title" : "24"
},
{
"value" : "30",
"title" : "30"
},
{
"value" : "36",
"title" : "36"
},
{
"value" : "48",
"title" : "48"
},
{
"value" : "60",
"title" : "60"
},
{
"value" : "72",
"title" : "72"
},
{
"value" : "96",
"title" : "96"
}
]
}
]
},
{
"title" : "SFTP",
"name" : "sftp",
"fields" : [
{
"name" : "enable-sftp",
"title" : "Enable SFTP",
"type" : "BOOLEAN",
"value" : "true"
}
]
}
]
}

View File

@@ -1,33 +0,0 @@
<protocol name="ssh" title="SSH">
<param name="hostname" title="Hostname" type="text"/>
<param name="port" title="Port" type="numeric"/>
<param name="username" title="Username" type="username"/>
<param name="password" title="Password" type="password"/>
<param name="font-name" title="Font name" type="text"/>
<param name="font-size" title="Font size" type="enum">
<option value=""></option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="14">14</option>
<option value="18">18</option>
<option value="24">24</option>
<option value="30">30</option>
<option value="36">36</option>
<option value="48">48</option>
<option value="60">60</option>
<option value="72">72</option>
<option value="96">96</option>
</param>
<param name="enable-sftp" type="boolean" title="Enable SFTP" value="true"/>
<param name="private-key" type="multiline" title="Private key"/>
<param name="passphrase" type="password" title="Passphrase"/>
</protocol>

View File

@@ -0,0 +1,125 @@
{
"title" : "Telnet",
"name" : "telnet",
"forms" : [
{
"title" : "Network",
"name" : "network",
"fields" : [
{
"name" : "hostname",
"title" : "Hostname",
"type" : "TEXT"
},
{
"name" : "port",
"title" : "Port",
"type" : "NUMERIC"
}
]
},
{
"title" : "Authentication",
"name" : "authentication",
"fields" : [
{
"name" : "username",
"title" : "Username",
"type" : "USERNAME"
},
{
"name" : "password",
"title" : "Password",
"type" : "PASSWORD"
},
{
"name" : "password-regex",
"title" : "Password regular expression",
"type" : "TEXT"
}
]
},
{
"title" : "Display",
"name" : "display",
"fields" : [
{
"name" : "font-name",
"title" : "Font name",
"type" : "TEXT"
},
{
"name" : "font-size",
"title" : "Font size",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "8",
"title" : "8"
},
{
"value" : "9",
"title" : "9"
},
{
"value" : "10",
"title" : "10"
},
{
"value" : "11",
"title" : "11"
},
{
"value" : "12",
"title" : "12"
},
{
"value" : "14",
"title" : "14"
},
{
"value" : "18",
"title" : "18"
},
{
"value" : "24",
"title" : "24"
},
{
"value" : "30",
"title" : "30"
},
{
"value" : "36",
"title" : "36"
},
{
"value" : "48",
"title" : "48"
},
{
"value" : "60",
"title" : "60"
},
{
"value" : "72",
"title" : "72"
},
{
"value" : "96",
"title" : "96"
}
]
}
]
}
]
}

View File

@@ -1,31 +0,0 @@
<protocol name="telnet" title="Telnet">
<param name="hostname" title="Hostname" type="text"/>
<param name="port" title="Port" type="numeric"/>
<param name="username" title="Username" type="username"/>
<param name="password" title="Password" type="password"/>
<param name="password-regex"
title="Password regular expression" type="text"/>
<param name="font-name" title="Font name" type="text"/>
<param name="font-size" title="Font size" type="enum">
<option value=""></option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="14">14</option>
<option value="18">18</option>
<option value="24">24</option>
<option value="30">30</option>
<option value="36">36</option>
<option value="48">48</option>
<option value="60">60</option>
<option value="72">72</option>
<option value="96">96</option>
</param>
</protocol>

View File

@@ -0,0 +1,136 @@
{
"title" : "VNC",
"name" : "vnc",
"forms" : [
{
"title" : "Network",
"name" : "network",
"fields" : [
{
"name" : "hostname",
"title" : "Hostname",
"type" : "TEXT"
},
{
"name" : "port",
"title" : "Port",
"type" : "NUMERIC"
}
]
},
{
"title" : "Authentication",
"name" : "authentication",
"fields" : [
{
"name" : "password",
"title" : "Password",
"type" : "PASSWORD"
}
]
},
{
"title" : "Display",
"name" : "display",
"fields" : [
{
"name" : "read-only",
"title" : "Read-only",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "swap-red-blue",
"title" : "Swap red/blue components",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "cursor",
"title" : "Cursor",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "local",
"title" : "Local"
},
{
"value" : "remote",
"title" : "Remote"
}
]
},
{
"name" : "color-depth",
"title" : "Color depth",
"type" : "ENUM",
"options" : [
{
"value" : "",
"title" : ""
},
{
"value" : "8",
"title" : "256 color"
},
{
"value" : "16",
"title" : "Low color (16-bit)"
},
{
"value" : "24",
"title" : "True color (24-bit)"
},
{
"value" : "32",
"title" : "True color (32-bit)"
}
]
}
]
},
{
"title" : "Repeater",
"name" : "repeater",
"fields" : [
{
"name" : "dest-host",
"title" : "Repeater destination host",
"type" : "TEXT"
},
{
"name" : "dest-port",
"title" : "Repeater destination port",
"type" : "NUMERIC"
}
]
},
{
"title" : "Audio",
"name" : "audio",
"fields" : [
{
"name" : "enable-audio",
"title" : "Enable audio",
"type" : "BOOLEAN",
"value" : "true"
},
{
"name" : "audio-servername",
"title" : "Audio server name",
"type" : "TEXT"
}
]
}
]
}

View File

@@ -1,30 +0,0 @@
<protocol name="vnc" title="VNC">
<param name="hostname" type="text" title="Hostname"/>
<param name="port" type="numeric" title="Port"/>
<param name="password" type="password" title="Password"/>
<param name="read-only" type="boolean" title="Read-only" value="true"/>
<param name="swap-red-blue" type="boolean" title="Swap red/blue components" value="true"/>
<param name="cursor" type="enum" title="Cursor">
<option value=""></option>
<option value="local">Local</option>
<option value="remote">Remote</option>
</param>
<param name="color-depth" type="enum" title="Color depth">
<option value=""></option>
<option value="8">256 color</option>
<option value="16">Low color (16-bit)</option>
<option value="24">True color (24-bit)</option>
<option value="32">True color (32-bit)</option>
</param>
<param name="dest-host" type="text" title="Repeater destination host"/>
<param name="dest-port" type="numeric" title="Repeater destination port"/>
<param name="enable-audio" type="boolean" title="Enable audio" value="true"/>
<param name="audio-servername" type="text" title="Audio server name"/>
</protocol>