]> git.proxmox.com Git - proxmox-websocket-tunnel.git/log
proxmox-websocket-tunnel.git
2 years agocleanup
Wolfgang Bumiller [Fri, 4 Feb 2022 10:54:36 +0000 (11:54 +0100)]
cleanup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoCargo.toml: drop paths, cleanup
Wolfgang Bumiller [Fri, 4 Feb 2022 10:30:19 +0000 (11:30 +0100)]
Cargo.toml: drop paths, cleanup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoadd packaging
Fabian Grünbichler [Thu, 3 Feb 2022 12:41:28 +0000 (13:41 +0100)]
add packaging

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoadd fingerprint validation
Fabian Grünbichler [Thu, 3 Feb 2022 12:41:27 +0000 (13:41 +0100)]
add fingerprint validation

in case we have no explicit fingerprint, we use openssl's regular "PEER"
verification. if we have a fingerprint, we ignore openssl verification
results altogether and just verify the fingerprint of the presented leaf
certificate, skipping the rest of the certificate chain (depth != 0).

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoadd tunnel implementation
Fabian Grünbichler [Thu, 3 Feb 2022 12:41:26 +0000 (13:41 +0100)]
add tunnel implementation

the websocket tunnel helper accepts control commands (encoded as
single-line JSON) on stdin, and prints responses on stdout.

the following commands are available:
- "connect" a 'control' tunnel via a websocket
- "forward" a local unix socket to a remote socket via a websocket
-- if requested, this will ask for a ticket via the control tunnel after
accepting a new connection on the unix socket
- "close" the control tunnel and any forwarded socket

any other json input (without the 'control' flag set) is forwarded as-is
to the remote end of the control tunnel.

internally, the tunnel helper will spawn tokio tasks for
- handling the control tunnel connection (new commands are passed in via
an mpsc channel together with a oneshot channel for the response)
- handling accepting new connections on each forwarded unix socket
- handling forwarding data over accepted forwarded connections

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoinitial commit
Fabian Grünbichler [Thu, 3 Feb 2022 12:41:25 +0000 (13:41 +0100)]
initial commit

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>