Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Frends.LDAP.AddUserToGroups/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ namespace Frends.LDAP.AddUserToGroups.Definitions;
public class Connection
{
/// <summary>
/// Host.
/// LDAP server host.
/// This must resolve to a Domain Controller (FQDN) in the same domain
/// as the target group being modified.
/// </summary>
/// <example>adserver.westeurope.cloudapp.azure.com</example>
/// <example>dc1.emea.company.com</example>
public string Host { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<Version>2.0.0</Version>
<Version>2.1.0</Version>
<Authors>Frends</Authors>
<Copyright>Frends</Copyright>
<Company>Frends</Company>
Expand Down
4 changes: 4 additions & 0 deletions Frends.LDAP.CreateUser/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ namespace Frends.LDAP.CreateUser.Definitions;
public class Connection
{
/// <summary>
/// Host.
/// LDAP server host.
/// This must resolve to a Domain Controller (FQDN) in the same domain
/// where the new object (user) will be created.
/// </summary>
/// <example>adserver.westeurope.cloudapp.azure.com</example>
/// <example>dc1.emea.company.com</example>
public string Host { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<Version>1.1.0</Version>
<Version>1.2.0</Version>
<Authors>Frends</Authors>
<Copyright>Frends</Copyright>
<Company>Frends</Company>
Expand Down
4 changes: 4 additions & 0 deletions Frends.LDAP.DeleteUser/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ namespace Frends.LDAP.DeleteUser.Definitions;
public class Connection
{
/// <summary>
/// Host.
/// LDAP server host.
/// This must resolve to a Domain Controller (FQDN) in the same domain
/// as the object (user) being deleted.
/// </summary>
/// <example>adserver.westeurope.cloudapp.azure.com</example>
/// <example>dc1.emea.company.com</example>
public string Host { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
<Authors>Frends</Authors>
<Copyright>Frends</Copyright>
<Company>Frends</Company>
Expand Down
4 changes: 4 additions & 0 deletions Frends.LDAP.RemoveUserFromGroups/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ namespace Frends.LDAP.RemoveUserFromGroups.Definitions;
public class Connection
{
/// <summary>
/// Host.
/// LDAP server host.
/// This must resolve to a Domain Controller (FQDN) in the same domain
/// as the target group being modified.
/// </summary>
/// <example>adserver.westeurope.cloudapp.azure.com</example>
/// <example>dc1.emea.company.com</example>
public string Host { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ public class Input
/// </summary>
/// <example>HandleLDAPError.Throw</example>
[DefaultValue(HandleLDAPError.Throw)]
public HandleLDAPError HandleLDAPError { get; set; }
public HandleLDAPError HandleLDAPError { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
<Authors>Frends</Authors>
<Copyright>Frends</Copyright>
<Company>Frends</Company>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,16 @@ public static Result RemoveUserFromGroups([PropertyTab] Input input, [PropertyTa
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);
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);
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}");
Expand Down
4 changes: 4 additions & 0 deletions Frends.LDAP.SearchObjects/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ namespace Frends.LDAP.SearchObjects.Definitions;
public class Connection
{
/// <summary>
/// Host.
/// LDAP server host.
/// This can be a domain name, LDAP alias, or a Domain Controller FQDN.
/// </summary>
/// <example>adserver.westeurope.cloudapp.azure.com</example>
/// <example>emea.company.com</example>
public string Host { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<Version>4.1.0</Version>
<Version>4.2.0</Version>
<Authors>Frends</Authors>
<Copyright>Frends</Copyright>
<Company>Frends</Company>
Expand Down
4 changes: 4 additions & 0 deletions Frends.LDAP.UpdateUser/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ namespace Frends.LDAP.UpdateUser.Definitions;
public class Connection
{
/// <summary>
/// Host.
/// LDAP server host.
/// This must resolve to a Domain Controller (FQDN) in the same domain
/// as the user being updated.
/// </summary>
/// <example>adserver.westeurope.cloudapp.azure.com</example>
/// <example>dc1.emea.company.com</example>
public string Host { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<Version>1.1.0</Version>
<Version>1.2.0</Version>
<Authors>Frends</Authors>
<Copyright>Frends</Copyright>
<Company>Frends</Company>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
Loading