From 8e117ad083a4a5f215aba44788a57c09fec556be Mon Sep 17 00:00:00 2001 From: "Jonathan Giroux (Koltes)" <KoltesDigital@users.noreply.github.com> Date: Fri, 15 Mar 2024 12:30:22 +0100 Subject: [PATCH] Can omit username from rendered RDP (#83) --- README.md | 2 ++ cmd/rdpgw/config/configuration.go | 1 + cmd/rdpgw/main.go | 1 + cmd/rdpgw/web/web.go | 9 ++++++--- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9f3bd29..65b4a1f 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,8 @@ Client: # If true puts splits "user@domain.com" into the user and domain component so that # domain gets set in the rdp file and the domain name is stripped from the username SplitUserDomain: false + # If true, removes "username" (and "domain" if SplitUserDomain is true) from RDP file. + # NoUsername: true Security: # a random string of 32 characters to secure cookies on the client # make sure to share this amongst different pods diff --git a/cmd/rdpgw/config/configuration.go b/cmd/rdpgw/config/configuration.go index 52a3018..0a083d2 100644 --- a/cmd/rdpgw/config/configuration.go +++ b/cmd/rdpgw/config/configuration.go @@ -94,6 +94,7 @@ type ClientConfig struct { // kept for backwards compatibility UsernameTemplate string `koanf:"usernametemplate"` SplitUserDomain bool `koanf:"splituserdomain"` + NoUsername string `koanf:"nousername"` } func ToCamel(s string) string { diff --git a/cmd/rdpgw/main.go b/cmd/rdpgw/main.go index 8b8892f..750d04d 100644 --- a/cmd/rdpgw/main.go +++ b/cmd/rdpgw/main.go @@ -110,6 +110,7 @@ func main() { RdpOpts: web.RdpOpts{ UsernameTemplate: conf.Client.UsernameTemplate, SplitUserDomain: conf.Client.SplitUserDomain, + NoUsername: conf.Client.NoUsername, }, GatewayAddress: url, TemplateFile: conf.Client.Defaults, diff --git a/cmd/rdpgw/web/web.go b/cmd/rdpgw/web/web.go index 97c6bcb..a22d835 100644 --- a/cmd/rdpgw/web/web.go +++ b/cmd/rdpgw/web/web.go @@ -37,6 +37,7 @@ type Config struct { type RdpOpts struct { UsernameTemplate string SplitUserDomain bool + NoUsername bool } type Handler struct { @@ -210,9 +211,11 @@ func (h *Handler) HandleDownload(w http.ResponseWriter, r *http.Request) { } } - d.Settings.Username = render - if domain != "" { - d.Settings.Domain = domain + if !NoUsername { + d.Settings.Username = render + if domain != "" { + d.Settings.Domain = domain + } } d.Settings.FullAddress = host d.Settings.GatewayHostname = h.gatewayAddress.Host -- GitLab