Add SOGoStaticAuthenticator

New authenticator that is not linked to a SOGoUser.
Will be used for SMTP AUTH by sogo-elalarm-notify.
pull/13/head
Jean Raby 2013-08-27 12:59:03 -04:00
parent b2f012cae2
commit 2fe87f14fd
3 changed files with 140 additions and 0 deletions

View File

@ -55,6 +55,7 @@ SOGo_HEADER_FILES = \
SOGoCASSession.h \
SOGoDAVAuthenticator.h \
SOGoProxyAuthenticator.h \
SOGoStaticAuthenticator.h \
SOGoWebAuthenticator.h \
SOGoWebDAVAclManager.h \
SOGoWebDAVValue.h \
@ -126,6 +127,7 @@ SOGo_OBJC_FILES = \
SOGoCASSession.m \
SOGoDAVAuthenticator.m \
SOGoProxyAuthenticator.m \
SOGoStaticAuthenticator.m \
SOGoWebAuthenticator.m \
SOGoWebDAVAclManager.m \
SOGoWebDAVValue.m \

View File

@ -0,0 +1,51 @@
/* SOGoStaticAuthenticator.h - this file is part of SOGo
*
* Copyright (C) 2013 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
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef SOGOSTATICAUTHENTICATOR_H
#define SOGOSTATICAUTHENTICATOR_H
#import <Foundation/NSObject.h>
#import "SOGoAuthenticator.h"
/*
SOGoStaticAuthenticator
*/
@interface SOGoStaticAuthenticator : NSObject <SOGoAuthenticator>
{
NSString *_username;
NSString *_password;
}
+ (id) authenticatorWithUser: (NSString *) user
andPassword: (NSString *) password;
- (id) initWithUser: (NSString *) user
andPassword: (NSString *) password;
- (NSString *) username;
@end
#endif /* SOGOSTATICAUTHENTICATOR_H */

View File

@ -0,0 +1,87 @@
/* SOGoStaticAuthenticator.m - this file is part of SOGo
*
* Copyright (C) 2013 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
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#import <Foundation/NSString.h>
#import "SOGoStaticAuthenticator.h"
@implementation SOGoStaticAuthenticator
+ (id) authenticatorWithUser: (NSString *) user
andPassword: (NSString *) password
{
SOGoStaticAuthenticator *newAuthenticator;
newAuthenticator = [[self alloc] initWithUser: user
andPassword: password];
[newAuthenticator autorelease];
return newAuthenticator;
}
- (id) init
{
if ((self = [super init]))
{
_username = nil;
_password = nil;
}
return self;
}
- (void) dealloc
{
[_username release];
[_password release];
[super dealloc];
}
- (id) initWithUser: (NSString *) user
andPassword: (NSString *) password;
{
if ((self = [self init]))
{
_username = [user retain];
_password = [password retain];
}
return self;
}
- (NSString *) passwordInContext: (WOContext *) context
{
return _password;
}
- (SOGoUser *) userInContext: (WOContext *) context
{
return nil;
}
- (NSString *) username
{
return _username;
}
- (NSString *) imapPasswordInContext: (WOContext *) context
forURL: (NSURL *) server
forceRenew: (BOOL) renew
{
return _password;
}
@end