mirror of
https://github.com/h44z/wg-portal.git
synced 2025-10-05 16:06:17 +00:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
0cc7ebb83e | ||
|
eb6a787cfc |
@@ -54,7 +54,7 @@ func (l LdapAuthenticator) PlaintextAuthentication(userId domain.UserIdentifier,
|
|||||||
|
|
||||||
attrs := []string{"dn"}
|
attrs := []string{"dn"}
|
||||||
|
|
||||||
loginFilter := strings.Replace(l.cfg.LoginFilter, "{{login_identifier}}", string(userId), -1)
|
loginFilter := strings.Replace(l.cfg.LoginFilter, "{{login_identifier}}", ldap.EscapeFilter(string(userId)), -1)
|
||||||
searchRequest := ldap.NewSearchRequest(
|
searchRequest := ldap.NewSearchRequest(
|
||||||
l.cfg.BaseDN,
|
l.cfg.BaseDN,
|
||||||
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 20, false, // 20 second time limit
|
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 20, false, // 20 second time limit
|
||||||
@@ -100,7 +100,7 @@ func (l LdapAuthenticator) GetUserInfo(_ context.Context, userId domain.UserIden
|
|||||||
|
|
||||||
attrs := internal.LdapSearchAttributes(&l.cfg.FieldMap)
|
attrs := internal.LdapSearchAttributes(&l.cfg.FieldMap)
|
||||||
|
|
||||||
loginFilter := strings.Replace(l.cfg.LoginFilter, "{{login_identifier}}", string(userId), -1)
|
loginFilter := strings.Replace(l.cfg.LoginFilter, "{{login_identifier}}", ldap.EscapeFilter(string(userId)), -1)
|
||||||
searchRequest := ldap.NewSearchRequest(
|
searchRequest := ldap.NewSearchRequest(
|
||||||
l.cfg.BaseDN,
|
l.cfg.BaseDN,
|
||||||
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 20, false, // 20 second time limit
|
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 20, false, // 20 second time limit
|
||||||
|
@@ -217,6 +217,15 @@ func (m Manager) RestoreInterfaceState(
|
|||||||
if err != nil && !iface.IsDisabled() {
|
if err != nil && !iface.IsDisabled() {
|
||||||
slog.Debug("creating missing interface", "interface", iface.Identifier)
|
slog.Debug("creating missing interface", "interface", iface.Identifier)
|
||||||
|
|
||||||
|
// temporarily disable interface in database so that the current state is reflected correctly
|
||||||
|
_ = m.db.SaveInterface(ctx, iface.Identifier,
|
||||||
|
func(in *domain.Interface) (*domain.Interface, error) {
|
||||||
|
now := time.Now()
|
||||||
|
in.Disabled = &now // set
|
||||||
|
in.DisabledReason = domain.DisabledReasonInterfaceMissing
|
||||||
|
return in, nil
|
||||||
|
})
|
||||||
|
|
||||||
// try to create a new interface
|
// try to create a new interface
|
||||||
_, err = m.saveInterface(ctx, &iface)
|
_, err = m.saveInterface(ctx, &iface)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user