summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-06-18 18:55:22 +0200
committerChristian Poessinger <christian@poessinger.com>2020-06-18 21:46:13 +0200
commitb242e24af4d870e936155bdbd965858bdd39aa98 (patch)
tree1f71fcc56ba12fe3bc3ad9633bf5e611607bf9d6 /data
parenta1ba7bae02673aca63a7006cf683ad5d541a5054 (diff)
downloadvyos-1x-b242e24af4d870e936155bdbd965858bdd39aa98.tar.gz
vyos-1x-b242e24af4d870e936155bdbd965858bdd39aa98.zip
console-server: T2490: move CLI parsing to get_config_dict()
For more examples on the new get_config_dict() approach migrate this implementation as it is not yet in production use. Also this serves as proof of concept code for further migrations.
Diffstat (limited to 'data')
-rw-r--r--data/templates/conserver/conserver.conf.tmpl38
-rw-r--r--data/templates/ser2net/ser2net.conf.tmpl76
2 files changed, 38 insertions, 76 deletions
diff --git a/data/templates/conserver/conserver.conf.tmpl b/data/templates/conserver/conserver.conf.tmpl
new file mode 100644
index 000000000..ec0eca5f0
--- /dev/null
+++ b/data/templates/conserver/conserver.conf.tmpl
@@ -0,0 +1,38 @@
+### Autogenerated by service_serial-proxy.py ###
+
+# See https://www.conserver.com/docs/conserver.cf.man.html for additional options
+
+config * {
+}
+
+default * {
+ motd "VyOS Console Server"
+ # The character '&' in logfile names are substituted with the console name.
+ logfile /var/log/conserver/&.log;
+ timestamp "30m";
+ rw *;
+}
+
+##
+## list of consoles we serve
+##
+{% for key, value in device.items() %}
+{# Depending on our USB serial console we could require a path adjustment #}
+{% set path = '/dev' if key.startswith('ttyS') else '/dev/serial/by-bus' %}
+console {{ key }} {
+ master localhost;
+ type device;
+ device {{ path }}/{{ key }};
+ baud {{ value.speed }};
+ parity {{ value.parity }};
+ options {{ "!" if value.stop_bits == "1" }}cstopb;
+}
+{% endfor %}
+
+##
+## list of clients we allow
+##
+access * {
+ trusted 127.0.0.1;
+ allowed 127.0.0.1;
+}
diff --git a/data/templates/ser2net/ser2net.conf.tmpl b/data/templates/ser2net/ser2net.conf.tmpl
deleted file mode 100644
index 0e946e84e..000000000
--- a/data/templates/ser2net/ser2net.conf.tmpl
+++ /dev/null
@@ -1,76 +0,0 @@
-### Autogenerated by ser2net.py ###
-
-# This is the configuration file for ser2net. It has the following format:
-# <TCP port>:<state>:<timeout>:<device>:<options>
-# TCP port
-# Name or number of the TCP/IP port to accept con-
-# nections from for this device. A port number may
-# be of the form [host,]port, such as 127.0.0.1,2000
-# or localhost,2000. If this is specified, it will
-# only bind to the IP address specified. Otherwise
-# it will bind to all the ports on the machine.
-#
-# state Either raw or rawlp or telnet or off. off disables
-# the port from accepting connections. It can be
-# turned on later from the control port. raw enables
-# the port and transfers all data as-is between the
-# port and the long. rawlp enables the port and
-# transfers all input data to device, device is open
-# without any termios setting. It allow to use
-# /dev/lpX devices and printers connected to them.
-# telnet enables the port and runs the telnet proto-
-# col on the port to set up telnet parameters. This
-# is most useful for using telnet.
-#
-# timeout
-# The time (in seconds) before the port will be dis-
-# connected if there is no activity on it. A zero
-# value disables this funciton.
-#
-# device The name of the device to connect to. This
-# must be in the form of /dev/<device>.
-#
-# options
-# Sets operational parameters for the serial port.
-# Options 300, 1200, 2400, 4800, 9600, 19200, 38400,
-# 57600, 115200 set the various baud rates. EVEN,
-# ODD, NONE set the parity. 1STOPBIT, 2STOPBITS set
-# the number of stop bits. 7DATABITS, 8DATABITS set
-# the number of data bits. [-]XONXOFF turns on (-
-# off) XON/XOFF support. [-]RTSCTS turns on (- off)
-# hardware flow control, [-]LOCAL turns off (- on)
-# monitoring of the modem lines, and
-# [-]HANGUP_WHEN_DONE turns on (- off) lowering the
-# modem control lines when the connextion is done.
-# NOBREAK disables automatic setting of the break
-# setting of the serial port.
-# The "remctl" option allow remote control (ala RFC
-# 2217) of serial-port configuration. A banner name
-# may also be specified, that banner will be printed
-# for the line. If no banner is given, then no
-# banner is printed.
-#
-# or...
-
-# BANNER:<banner name>:banner
-# This will create a banner, if the banner name is given in the
-# options of a line, that banner will be printed. This takes the
-# standard "C" \x characters (\r is carraige return, \n is newline,
-# etc.). It also accepts \d, which prints the device name, \p,
-# which prints the TCP port number, and \s which prints the serial
-# parameters (eg 9600N81). Banners can span lines if the last
-# character on a line is '\'. Note that you *must* use \r\n to
-# start a new line.
-#
-# Note that the same device can be listed multiple times under different
-# ports, this allows the same serial port to have both telnet and raw
-# protocols.
-
-# The original config file shipped with the upstream sources can be
-# found in /usr/share/doc/ser2net/examples
-
-BANNER:banner:\r\nConnected to serial proxy device \d [\s]\r\n\r\n
-
-{% for d in devices %}
-localhost,{{ d.port }}:telnet:{{ d.timeout }}:{{ d.serial_port }}:{{ d.speed }} {{ d.data_bits}}DATABITS {{ d.parity | upper }} {{ d.stop_bits}}STOPBIT banner
-{% endfor %}