From 2d03fb105544d5d095fffd8200331276b433e6c2 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 26 Jan 2012 16:22:28 +0000 Subject: [PATCH] See ChangeLog - also updated the doc Monotone-Parent: 05f7c7299403692e01480ce30ae2a612e6172f84 Monotone-Revision: 64559b055668abe30f492544f049160b05cf7ab9 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2012-01-26T16:22:28 --- ChangeLog | 7 ++++ Documentation/SOGo Installation Guide.odt | Bin 154439 -> 154544 bytes SoObjects/SOGo/LDAPSource.h | 1 + SoObjects/SOGo/LDAPSource.m | 38 +++++++++++++++++++++- 4 files changed, 45 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 597d2403b..86d942303 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-01-26 Ludovic Marcotte + + * SoObjects/SOGo/LDAPSource.{h,m} - now honor + userPasswordAlgorithm when changing the password with + no password-policy. It'll now be encrypted per your + preference. This fixes #755 + 2012-01-25 Ludovic Marcotte * SOPE/GDLContentStore/GCSFolder.m - we now use the proper diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 472c301dc6f207aaefac94ab85cd29059f69c4ed..fa84f3def372365261f56819a2e019d5ed433551 100644 GIT binary patch delta 44305 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 BCB^^% diff --git a/SoObjects/SOGo/LDAPSource.h b/SoObjects/SOGo/LDAPSource.h index 0a302f0f6..82755953a 100644 --- a/SoObjects/SOGo/LDAPSource.h +++ b/SoObjects/SOGo/LDAPSource.h @@ -50,6 +50,7 @@ NSString *encryption; NSString *_filter; NSString *_scope; + NSString *_userPasswordAlgorithm; NSString *baseDN; NSString *IDField; // the first part of a user DN diff --git a/SoObjects/SOGo/LDAPSource.m b/SoObjects/SOGo/LDAPSource.m index b14362515..005574437 100644 --- a/SoObjects/SOGo/LDAPSource.m +++ b/SoObjects/SOGo/LDAPSource.m @@ -176,6 +176,7 @@ static NSArray *commonSearchFields; bindFields = nil; _scope = @"sub"; _filter = nil; + _userPasswordAlgorithm = nil; searchAttributes = nil; passwordPolicy = NO; @@ -212,6 +213,7 @@ static NSArray *commonSearchFields; [IMAPLoginField release]; [bindFields release]; [_filter release]; + [_userPasswordAlgorithm release]; [sourceID release]; [modulesConstraints release]; [_scope release]; @@ -285,10 +287,14 @@ static NSArray *commonSearchFields; ASSIGN(modulesConstraints, [udSource objectForKey: @"ModulesConstraints"]); ASSIGN(_filter, [udSource objectForKey: @"filter"]); + ASSIGN(_userPasswordAlgorithm, [udSource objectForKey: @"userPasswordAlgorithm"]); ASSIGN(_scope, ([udSource objectForKey: @"scope"] ? [udSource objectForKey: @"scope"] : (id)@"sub")); + if (!_userPasswordAlgorithm) + _userPasswordAlgorithm = @"none"; + if ([udSource objectForKey: @"passwordPolicy"]) passwordPolicy = [[udSource objectForKey: @"passwordPolicy"] boolValue]; @@ -598,6 +604,36 @@ andMultipleBookingsField: (NSString *) newMultipleBookingsField return didBind; } +/** + * Encrypts a string using this source password algorithm. + * @param plainPassword the unencrypted password. + * @return a new encrypted string. + * @see _isPassword:equalTo: + */ +- (NSString *) _encryptPassword: (NSString *) plainPassword +{ + if ([_userPasswordAlgorithm caseInsensitiveCompare: @"none"] == NSOrderedSame) + { + return plainPassword; + } + else if ([_userPasswordAlgorithm caseInsensitiveCompare: @"crypt"] == NSOrderedSame) + { + return [NSString stringWithFormat: @"{CRYPT}%@", [plainPassword asCryptStringUsingSalt: [plainPassword asMD5String]]]; + } + else if ([_userPasswordAlgorithm caseInsensitiveCompare: @"md5"] == NSOrderedSame) + { + return [NSString stringWithFormat: @"{MD5}%@", [plainPassword asMD5String]]; + } + else if ([_userPasswordAlgorithm caseInsensitiveCompare: @"sha"] == NSOrderedSame) + { + return [NSString stringWithFormat: @"{SHA}%@", [plainPassword asSHA1String]]; + } + + [self errorWithFormat: @"Unsupported user-password algorithm: %@", _userPasswordAlgorithm]; + + return plainPassword; +} + // // // @@ -638,7 +674,7 @@ andMultipleBookingsField: (NSString *) newMultipleBookingsField NSArray *changes; attr = [[NGLdapAttribute alloc] initWithAttributeName: @"userPassword"]; - [attr addStringValue: newPassword]; + [attr addStringValue: [self _encryptPassword: newPassword]]; mod = [NGLdapModification replaceModification: attr]; changes = [NSArray arrayWithObject: mod];