mirror of
https://github.com/bolkedebruin/rdpgw.git
synced 2026-03-27 22:46:37 +00:00
Make session length configurable
This commit is contained in:
@@ -45,6 +45,7 @@ type ServerConfig struct {
|
||||
SessionKey string `koanf:"sessionkey"`
|
||||
SessionEncryptionKey string `koanf:"sessionencryptionkey"`
|
||||
SessionStore string `koanf:"sessionstore"`
|
||||
MaxSessionLength int `koanf:"maxsessionlength"`
|
||||
SendBuf int `koanf:"sendbuf"`
|
||||
ReceiveBuf int `koanf:"receivebuf"`
|
||||
Tls string `koanf:"tls"`
|
||||
|
||||
@@ -94,7 +94,11 @@ func main() {
|
||||
security.Hosts = conf.Server.Hosts
|
||||
|
||||
// init session store
|
||||
web.InitStore([]byte(conf.Server.SessionKey), []byte(conf.Server.SessionEncryptionKey), conf.Server.SessionStore)
|
||||
web.InitStore([]byte(conf.Server.SessionKey),
|
||||
[]byte(conf.Server.SessionEncryptionKey),
|
||||
conf.Server.SessionStore,
|
||||
conf.Server.MaxSessionLength,
|
||||
)
|
||||
|
||||
// configure web backend
|
||||
w := &web.Config{
|
||||
|
||||
@@ -17,7 +17,7 @@ const (
|
||||
|
||||
var sessionStore sessions.Store
|
||||
|
||||
func InitStore(sessionKey []byte, encryptionKey []byte, storeType string) {
|
||||
func InitStore(sessionKey []byte, encryptionKey []byte, storeType string, maxLength int) {
|
||||
if len(sessionKey) < 32 {
|
||||
log.Fatal("Session key too small")
|
||||
}
|
||||
@@ -30,8 +30,11 @@ func InitStore(sessionKey []byte, encryptionKey []byte, storeType string) {
|
||||
fs := sessions.NewFilesystemStore(os.TempDir(), sessionKey, encryptionKey)
|
||||
|
||||
// set max length
|
||||
log.Printf("Setting maximum session storage to %d bytes", maxSessionLength)
|
||||
fs.MaxLength(maxSessionLength)
|
||||
if maxLength == 0 {
|
||||
maxLength = maxSessionLength
|
||||
}
|
||||
log.Printf("Setting maximum session storage to %d bytes", maxLength)
|
||||
fs.MaxLength(maxLength)
|
||||
|
||||
sessionStore = fs
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user