From f21577caa7b4dbac054402125e7b6797c2977cd4 Mon Sep 17 00:00:00 2001 From: MichalFrends1 Date: Tue, 3 Feb 2026 10:28:35 +0100 Subject: [PATCH 1/3] update summary for host param --- Frends.LDAP.AddUserToGroups/CHANGELOG.md | 4 ++++ .../Frends.LDAP.AddUserToGroups/Definitions/Connection.cs | 6 ++++-- .../Frends.LDAP.AddUserToGroups.csproj | 2 +- Frends.LDAP.CreateUser/CHANGELOG.md | 4 ++++ .../Frends.LDAP.CreateUser/Definitions/Connection.cs | 6 ++++-- .../Frends.LDAP.CreateUser/Frends.LDAP.CreateUser.csproj | 2 +- Frends.LDAP.DeleteUser/CHANGELOG.md | 4 ++++ .../Frends.LDAP.DeleteUser/Definitions/Connection.cs | 6 ++++-- .../Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser.csproj | 2 +- Frends.LDAP.RemoveUserFromGroups/CHANGELOG.md | 4 ++++ .../Definitions/Connection.cs | 6 ++++-- .../Frends.LDAP.RemoveUserFromGroups.csproj | 2 +- Frends.LDAP.SearchObjects/CHANGELOG.md | 4 ++++ .../Frends.LDAP.SearchObjects/Definitions/Connection.cs | 5 +++-- .../Frends.LDAP.SearchObjects.csproj | 2 +- Frends.LDAP.UpdateUser/CHANGELOG.md | 4 ++++ .../Frends.LDAP.UpdateUser/Definitions/Connection.cs | 4 +++- .../Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser.csproj | 2 +- 18 files changed, 52 insertions(+), 17 deletions(-) diff --git a/Frends.LDAP.AddUserToGroups/CHANGELOG.md b/Frends.LDAP.AddUserToGroups/CHANGELOG.md index 873324d..f7b02cf 100644 --- a/Frends.LDAP.AddUserToGroups/CHANGELOG.md +++ b/Frends.LDAP.AddUserToGroups/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [2.1.0] - 2026-02-03 +### Changed +- Improved documentation for Host parameter usage + ## [2.0.0] - 2026-01-29 ### Changed - [Breaking] Input: Changed GroupDistinguishedName (string) to GroupDistinguishedNames (string[]) to support adding users to multiple groups in a single operation. diff --git a/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Definitions/Connection.cs b/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Definitions/Connection.cs index 6eb6f4e..e7af05a 100644 --- a/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Definitions/Connection.cs +++ b/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Definitions/Connection.cs @@ -7,9 +7,11 @@ namespace Frends.LDAP.AddUserToGroups.Definitions; public class Connection { /// - /// Host. + /// LDAP server host. + /// This must resolve to a Domain Controller (FQDN) in the same domain + /// as the target group being modified. /// - /// adserver.westeurope.cloudapp.azure.com + /// dc1.emea.company.com public string Host { get; set; } /// diff --git a/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups.csproj b/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups.csproj index 99df57c..ba929ac 100644 --- a/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups.csproj +++ b/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups/Frends.LDAP.AddUserToGroups.csproj @@ -2,7 +2,7 @@ net6.0 - 2.0.0 + 2.1.0 Frends Frends Frends diff --git a/Frends.LDAP.CreateUser/CHANGELOG.md b/Frends.LDAP.CreateUser/CHANGELOG.md index 02462e9..507ac87 100644 --- a/Frends.LDAP.CreateUser/CHANGELOG.md +++ b/Frends.LDAP.CreateUser/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.2.0] - 2026-02-03 +### Changed +- Improved documentation for Host parameter usage + ## [1.1.0] - 2025-09-26 ### Updated - Added option to set the password for the new user in Unicode. diff --git a/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Definitions/Connection.cs b/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Definitions/Connection.cs index f3cb4b0..f230d40 100644 --- a/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Definitions/Connection.cs +++ b/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Definitions/Connection.cs @@ -7,9 +7,11 @@ namespace Frends.LDAP.CreateUser.Definitions; public class Connection { /// - /// Host. + /// LDAP server host. + /// This must resolve to a Domain Controller (FQDN) in the same domain + /// where the new object (user) will be created. /// - /// adserver.westeurope.cloudapp.azure.com + /// dc1.emea.company.com public string Host { get; set; } /// diff --git a/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser.csproj b/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser.csproj index 64273c2..3d110a4 100644 --- a/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser.csproj +++ b/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser/Frends.LDAP.CreateUser.csproj @@ -2,7 +2,7 @@ net6.0 - 1.1.0 + 1.2.0 Frends Frends Frends diff --git a/Frends.LDAP.DeleteUser/CHANGELOG.md b/Frends.LDAP.DeleteUser/CHANGELOG.md index 824f3c9..c3c0d1b 100644 --- a/Frends.LDAP.DeleteUser/CHANGELOG.md +++ b/Frends.LDAP.DeleteUser/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.1.0] - 2026-02-03 +### Changed +- Improved documentation for Host parameter usage + ## [1.0.0] - 2022-09-26 ### Added - Initial implementation \ No newline at end of file diff --git a/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Definitions/Connection.cs b/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Definitions/Connection.cs index bdb0a71..96929cc 100644 --- a/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Definitions/Connection.cs +++ b/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Definitions/Connection.cs @@ -7,9 +7,11 @@ namespace Frends.LDAP.DeleteUser.Definitions; public class Connection { /// - /// Host. + /// LDAP server host. + /// This must resolve to a Domain Controller (FQDN) in the same domain + /// as the object (user) being deleted. /// - /// adserver.westeurope.cloudapp.azure.com + /// dc1.emea.company.com public string Host { get; set; } /// diff --git a/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser.csproj b/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser.csproj index 1b6a1d2..50d9ea4 100644 --- a/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser.csproj +++ b/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser.csproj @@ -2,7 +2,7 @@ net6.0 - 1.0.0 + 1.1.0 Frends Frends Frends diff --git a/Frends.LDAP.RemoveUserFromGroups/CHANGELOG.md b/Frends.LDAP.RemoveUserFromGroups/CHANGELOG.md index 535635f..2e054db 100644 --- a/Frends.LDAP.RemoveUserFromGroups/CHANGELOG.md +++ b/Frends.LDAP.RemoveUserFromGroups/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.1.0] - 2026-02-03 +### Changed +- Improved documentation for Host parameter usage + ## [1.0.0] - 2022-10-13 ### Added - Initial implementation \ No newline at end of file diff --git a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Connection.cs b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Connection.cs index 68fa142..0a3f61d 100644 --- a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Connection.cs +++ b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Connection.cs @@ -7,9 +7,11 @@ namespace Frends.LDAP.RemoveUserFromGroups.Definitions; public class Connection { /// - /// Host. + /// LDAP server host. + /// This must resolve to a Domain Controller (FQDN) in the same domain + /// as the target group being modified. /// - /// adserver.westeurope.cloudapp.azure.com + /// dc1.emea.company.com public string Host { get; set; } /// diff --git a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups.csproj b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups.csproj index 28557fb..bcef342 100644 --- a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups.csproj +++ b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups.csproj @@ -2,7 +2,7 @@ net6.0 - 1.0.0 + 1.1.0 Frends Frends Frends diff --git a/Frends.LDAP.SearchObjects/CHANGELOG.md b/Frends.LDAP.SearchObjects/CHANGELOG.md index 29cbe23..4b7cd15 100644 --- a/Frends.LDAP.SearchObjects/CHANGELOG.md +++ b/Frends.LDAP.SearchObjects/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [4.2.0] - 2026-02-03 +### Changed +- Improved documentation for Host parameter usage + ## [4.1.0] - 2025-06-17 ### Added - Improved LDAP error handling by validating bind status and checking search response codes. diff --git a/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Definitions/Connection.cs b/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Definitions/Connection.cs index fd706fa..be00d86 100644 --- a/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Definitions/Connection.cs +++ b/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Definitions/Connection.cs @@ -8,9 +8,10 @@ namespace Frends.LDAP.SearchObjects.Definitions; public class Connection { /// - /// Host. + /// LDAP server host. + /// This can be a domain name, LDAP alias, or a Domain Controller FQDN. /// - /// adserver.westeurope.cloudapp.azure.com + /// emea.company.com public string Host { get; set; } /// diff --git a/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects.csproj b/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects.csproj index 87340b4..2492edd 100644 --- a/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects.csproj +++ b/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects/Frends.LDAP.SearchObjects.csproj @@ -2,7 +2,7 @@ net6.0 - 4.1.0 + 4.2.0 Frends Frends Frends diff --git a/Frends.LDAP.UpdateUser/CHANGELOG.md b/Frends.LDAP.UpdateUser/CHANGELOG.md index 3a7a65b..f288284 100644 --- a/Frends.LDAP.UpdateUser/CHANGELOG.md +++ b/Frends.LDAP.UpdateUser/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.2.0] - 2026-02-03 +### Changed +- Improved documentation for Host parameter usage + ## [1.1.0] - 2022-12-14 ### Added - New Input parameters CreateDN and DistinguishedName to give an option to insert DN without combining it from Input.CommonName and Input.Path. diff --git a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs index 44279ae..3ae2e32 100644 --- a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs +++ b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs @@ -7,7 +7,9 @@ namespace Frends.LDAP.UpdateUser.Definitions; public class Connection { /// - /// Host. + /// LDAP server host. + /// This must resolve to a Domain Controller (FQDN) in the same domain + /// as the user being updated. /// /// adserver.westeurope.cloudapp.azure.com public string Host { get; set; } diff --git a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser.csproj b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser.csproj index 5286773..2633468 100644 --- a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser.csproj +++ b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser.csproj @@ -2,7 +2,7 @@ net6.0 - 1.1.0 + 1.2.0 Frends Frends Frends From c9db87a831e9d96394eab0c4131114215f0915f6 Mon Sep 17 00:00:00 2001 From: MichalFrends1 Date: Tue, 3 Feb 2026 10:56:38 +0100 Subject: [PATCH 2/3] linter fixes --- .../Frends.LDAP.DeleteUser/DeleteUser.cs | 2 +- .../Definitions/Input.cs | 2 +- .../RemoveUserFromGroups.cs | 16 ++++++++-------- .../Definitions/Connection.cs | 2 +- .../Frends.LDAP.UpdateUser/UpdateUser.cs | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/DeleteUser.cs b/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/DeleteUser.cs index 582037f..a081d89 100644 --- a/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/DeleteUser.cs +++ b/Frends.LDAP.DeleteUser/Frends.LDAP.DeleteUser/DeleteUser.cs @@ -27,7 +27,7 @@ public static Result DeleteUser([PropertyTab] Input input, [PropertyTab] Connect { var defaultPort = connection.SecureSocketLayer ? 636 : 389; var entry = $"CN={input.CommonName},{input.Path}"; - + conn.SecureSocketLayer = connection.SecureSocketLayer; conn.Connect(connection.Host, connection.Port == 0 ? defaultPort : connection.Port); if (connection.TLS) conn.StartTls(); diff --git a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Input.cs b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Input.cs index d26ac26..4207cc2 100644 --- a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Input.cs +++ b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/Definitions/Input.cs @@ -24,5 +24,5 @@ public class Input /// /// HandleLDAPError.Throw [DefaultValue(HandleLDAPError.Throw)] - public HandleLDAPError HandleLDAPError { get; set; } + public HandleLDAPError HandleLDAPError { get; set; } } \ No newline at end of file diff --git a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs index 95afc6d..3b83457 100644 --- a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs +++ b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs @@ -32,17 +32,17 @@ public static Result RemoveUserFromGroups([PropertyTab] Input input, [PropertyTa conn.Connect(connection.Host, connection.Port == 0 ? defaultPort : connection.Port); if (connection.TLS) conn.StartTls(); conn.Bind(connection.User, connection.Password); - - LdapModification[] mods = new LdapModification[1]; - var member = new LdapAttribute("member", input.UserDistinguishedName); - mods[0] = new LdapModification(LdapModification.Delete, member); - conn.Modify(input.GroupDistinguishedName, mods); - - return new Result(true, null, input.UserDistinguishedName, input.GroupDistinguishedName); + + LdapModification[] mods = new LdapModification[1]; + var member = new LdapAttribute("member", input.UserDistinguishedName); + mods[0] = new LdapModification(LdapModification.Delete, member); + conn.Modify(input.GroupDistinguishedName, mods); + + return new Result(true, null, input.UserDistinguishedName, input.GroupDistinguishedName); } catch (LdapException ex) { - if (input.HandleLDAPError.Equals(HandleLDAPError.Skip)) + if (input.HandleLDAPError.Equals(HandleLDAPError.Skip)) return new Result(false, ex.Message, input.UserDistinguishedName, input.GroupDistinguishedName); else throw new Exception($"RemoveUserFromGroups LDAP error: {ex.Message}"); diff --git a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs index 3ae2e32..06ef4b1 100644 --- a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs +++ b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/Definitions/Connection.cs @@ -11,7 +11,7 @@ public class Connection /// This must resolve to a Domain Controller (FQDN) in the same domain /// as the user being updated. /// - /// adserver.westeurope.cloudapp.azure.com + /// dc1.emea.company.com public string Host { get; set; } /// diff --git a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/UpdateUser.cs b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/UpdateUser.cs index 1097564..3bd3787 100644 --- a/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/UpdateUser.cs +++ b/Frends.LDAP.UpdateUser/Frends.LDAP.UpdateUser/UpdateUser.cs @@ -66,7 +66,7 @@ public static Result UpdateUser([PropertyTab] Input input, [PropertyTab] Connect foreach (var item in input.Attributes) modList.Add(new LdapModification(modMethod, new LdapAttribute(item.Key, string.IsNullOrWhiteSpace(item.Value) ? " " : item.Value))); - + var mods = new LdapModification[modList.Count]; var mtype = Type.GetType("Novell.Directory.LdapModification"); mods = (LdapModification[])modList.ToArray(typeof(LdapModification)); From 7786345b601114a46a25c847a2bbeda9dd6890cc Mon Sep 17 00:00:00 2001 From: MichalFrends1 Date: Tue, 3 Feb 2026 11:00:37 +0100 Subject: [PATCH 3/3] linter fix --- .../Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs index 3b83457..d633f5c 100644 --- a/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs +++ b/Frends.LDAP.RemoveUserFromGroups/Frends.LDAP.RemoveUserFromGroups/RemoveUserFromGroups.cs @@ -32,12 +32,12 @@ public static Result RemoveUserFromGroups([PropertyTab] Input input, [PropertyTa conn.Connect(connection.Host, connection.Port == 0 ? defaultPort : connection.Port); if (connection.TLS) conn.StartTls(); conn.Bind(connection.User, connection.Password); - + LdapModification[] mods = new LdapModification[1]; var member = new LdapAttribute("member", input.UserDistinguishedName); mods[0] = new LdapModification(LdapModification.Delete, member); conn.Modify(input.GroupDistinguishedName, mods); - + return new Result(true, null, input.UserDistinguishedName, input.GroupDistinguishedName); } catch (LdapException ex)