fix(tool): fix error handling when updating Sieve script

This commit is contained in:
Francis Lachapelle
2019-12-19 15:22:24 -05:00
parent 4ed2c727a2
commit d6d33f9f0b
3 changed files with 21 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
/* SOGoToolRestore.m - this file is part of SOGo
*
* Copyright (C) 2009-2015 Inverse inc.
* Copyright (C) 2009-2019 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -614,6 +614,7 @@
- (BOOL) _updateSieveScripsForLogin: (NSString *) theLogin
{
/* credentials file handling */
NSException *error;
NSString *credsFilename, *authname=nil, *authpwd=nil;
SOGoCredentialsFile *cf;
SOGoUser *user;
@@ -650,7 +651,13 @@
account = [folder lookupName: @"0" inContext: localContext acquire: NO];
[account setContext: localContext];
return [account updateFiltersWithUsername: authname andPassword: authpwd];
error = [account updateFiltersWithUsername: authname
andPassword: authpwd
forceActivation: NO];
if (error)
return NO;
return YES;
}
- (BOOL) restoreUserPreferencesFromUserRecord: (NSDictionary *) userRecord

View File

@@ -1,6 +1,6 @@
/* SOGoToolUpdateAutoReply.m - this file is part of SOGo
*
* Copyright (C) 2011-2016 Inverse inc.
* Copyright (C) 2011-2019 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -81,6 +81,7 @@
SOGoUserDefaults *userDefaults;
SOGoUser *user;
BOOL result;
NSException *error;
user = [SOGoUser userWithLogin: theLogin];
@@ -127,10 +128,10 @@
account = [folder lookupName: @"0" inContext: localContext acquire: NO];
[account setContext: localContext];
result = [account updateFiltersWithUsername: theUsername
error = [account updateFiltersWithUsername: theUsername
andPassword: thePassword
forceActivation: NO];
if (!result)
if (error)
{
// Can't update Sieve script -- Reactivate auto-reply
if (disabling)
@@ -139,6 +140,7 @@
[vacationOptions setObject: [NSNumber numberWithBool: YES] forKey: @"startDateEnabled"];
[userDefaults setVacationOptions: vacationOptions];
[userDefaults synchronize];
result = NO;
}
}

View File

@@ -1,6 +1,6 @@
/* SOGoToolUserPreferences.m - this file is part of SOGo
*
* Copyright (C) 2011-2017 Inverse inc.
* Copyright (C) 2011-2019 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -122,6 +122,7 @@ typedef enum
}
/* update sieve script */
NSException *error;
SOGoUser *user;
SOGoUserFolder *home;
SOGoMailAccounts *folder;
@@ -141,7 +142,11 @@ typedef enum
account = [folder lookupName: @"0" inContext: localContext acquire: NO];
[account setContext: localContext];
return [account updateFiltersWithUsername: authname andPassword: authpwd];
error = [account updateFiltersWithUsername: authname
andPassword: authpwd
forceActivation: NO];
if (error)
return NO;
}
return YES;