| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- {
- $Project$
- $Workfile$
- $Revision$
- $DateUTC$
- $Id$
- This file is part of the Indy (Internet Direct) project, and is offered
- under the dual-licensing agreement described on the Indy website.
- (http://www.indyproject.org/)
- Copyright:
- (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
- }
- {
- $Log$
- }
- {
- Rev 1.1 1/21/2004 4:03:14 PM JPMugaas
- InitComponent
- Rev 1.0 11/13/2002 08:00:16 AM JPMugaas
- }
- unit IdSASLExternal;
- interface
- {$i IdCompilerDefines.inc}
- uses
- IdSASL;
- {
- Implements RFC 2222: External SASL Mechanism
- Added 2002-08
- }
- type
- TIdSASLExternal = class(TIdSASL)
- protected
- FAuthIdentity: String;
- procedure InitComponent; override;
- public
- function IsReadyToStart: Boolean; override;
- class function ServiceName: TIdSASLServiceName; override;
- function TryStartAuthenticate(const AHost, AProtocolName: String; var VInitialResponse: string): Boolean; override;
- function StartAuthenticate(const AChallenge, AHost, AProtocolName: String): String; override;
- published
- property AuthorizationIdentity : String read FAuthIdentity write FAuthIdentity;
- end;
- implementation
- { TIdSASLExternal }
- procedure TIdSASLExternal.InitComponent;
- begin
- inherited;
- FSecurityLevel := 0; // unknown, depends on what the server does
- end;
- function TIdSASLExternal.IsReadyToStart: Boolean;
- begin
- Result := (AuthorizationIdentity <> '');
- end;
- class function TIdSASLExternal.ServiceName: TIdSASLServiceName;
- begin
- Result := 'EXTERNAL'; {Do not translate}
- end;
- function TIdSASLExternal.TryStartAuthenticate(const AHost, AProtocolName: String;
- var VInitialResponse: string): Boolean;
- begin
- VInitialResponse := AuthorizationIdentity;
- Result := True;
- end;
- function TIdSASLExternal.StartAuthenticate(const AChallenge, AHost, AProtocolName: String): String;
- begin
- Result := AuthorizationIdentity;
- end;
- end.
|