Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#7

Re: LogonUser nicht möglich bei leerem PWD

  Alt 20. Aug 2009, 22:05
zu SSPIValidatePassword.pas

Delphi-Quellcode:
function AddEntry(dwKey: DWORD; pData: pointer): boolean;
var
  pTemp: PNode;
begin
  GetMem(pTemp, sizeof(TNode));
  if Assigned(pTemp) then
  begin
    ...
    result := True
  end
  else
    result := False
end;
AddEntry wird niemals FALSE liefern, da GetMem eine Exception wirft, wenn der Speicher nicht reserviert werden kann. (also True oder Exception)


dieses
Delphi-Quellcode:
FillChar(AuthIdentity, sizeof(AuthIdentity), 0);
if DomainName <> 'then
begin
  AuthIdentity.Domain := PChar(DomainName);
  AuthIdentity.DomainLength := Length(DomainName)
end;
if UserName <> 'then
begin
  AuthIdentity.User := PChar(UserName);
  AuthIdentity.UserLength := Length(UserName);
end;
if Password <> 'then
begin
  AuthIdentity.Password := PChar(Password);
  AuthIdentity.PasswordLength := Length(Password)
end;
AuthIdentity.Flags := SEC_WINNT_AUTH_IDENTITY_ANSI;
könnte man auch so kürzen
Delphi-Quellcode:
AuthIdentity.Domain := Pointer(DomainName);
AuthIdentity.DomainLength := Length(DomainName)
AuthIdentity.User := Pointer(UserName);
AuthIdentity.UserLength := Length(UserName);
AuthIdentity.Password := Pointer(Password);
AuthIdentity.PasswordLength := Length(Password)
AuthIdentity.Flags := SEC_WINNT_AUTH_IDENTITY_ANSI;
Delphi-Quellcode:
function SSPLogonUser(const DomainName, UserName, Password: string): boolean;
  ReallocMem(pClientBuf, 0);
  ReallocMem(pServerBuf, 0);
auch wenn es nicht falsch ist, aber warum nicht FreeMem?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat