From 9be1c93f8406bcd420a3eb9b9f27aebe5255e221 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 2 Aug 2012 13:18:09 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: 7a464f08b5ba1b713a0beec23ddfa576c9023439 Monotone-Revision: 22735bbc1319155936115d59c7f2699c32dc60f1 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2012-08-02T13:18:09 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ OpenChange/MAPIStoreUserContext.m | 24 ++++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 662d98648..632c7881d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-08-02 Ludovic Marcotte + + * OpenChange/MAPIStoreUserContext.m (-_readUserPassword:) + We now read per-user passwords instead of relying on + a global file. + 2012-07-31 Jean Raby * sogo.spec: diff --git a/OpenChange/MAPIStoreUserContext.m b/OpenChange/MAPIStoreUserContext.m index 7e6f7ec5a..2d6097277 100644 --- a/OpenChange/MAPIStoreUserContext.m +++ b/OpenChange/MAPIStoreUserContext.m @@ -99,25 +99,21 @@ static NSMapTable *contextsTable = nil; - (NSString *) _readUserPassword: (NSString *) newUsername { - NSString *password; + NSString *password, *path; NSData *content; - id plist; - NSPropertyListFormat plistFormat; - NSString *error; - + password = nil; + + path = [NSString stringWithFormat: SAMBA_PRIVATE_DIR + @"/mapistore/%@/password", newUsername]; + + content = [NSData dataWithContentsOfFile: path]; - content = [NSData dataWithContentsOfFile: SAMBA_PRIVATE_DIR - @"/mapistore/SOGo/userpwds.plist"]; if (content) { - plist = [NSPropertyListSerialization - propertyListFromData: content - mutabilityOption: NSPropertyListImmutable - format: &plistFormat - errorDescription: &error]; - if ([plist respondsToSelector: @selector (objectForKey:)]) - password = [plist objectForKey: newUsername]; + password = [[NSString alloc] initWithData: content + encoding: NSUTF8StringEncoding]; + [password autorelease]; } return password;