mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-15 08:53:07 +09:00
Vim control lines were re-introduced or not entirely cleaned up. This nukes them again. Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews, media and memory. More to come.
58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef nsAuthSSPI_h__
|
|
#define nsAuthSSPI_h__
|
|
|
|
#include "nsAuth.h"
|
|
#include "nsIAuthModule.h"
|
|
#include "nsString.h"
|
|
|
|
#include <windows.h>
|
|
|
|
#define SECURITY_WIN32 1
|
|
#include <ntsecapi.h>
|
|
#include <security.h>
|
|
#include <rpc.h>
|
|
|
|
// The nsNegotiateAuth class provides responses for the GSS-API Negotiate method
|
|
// as specified by Microsoft in draft-brezak-spnego-http-04.txt
|
|
|
|
// It can also be configured to talk raw NTLM. This implementation of NTLM has
|
|
// the advantage of being able to access the user's logon credentials. This
|
|
// implementation of NTLM should only be used for single-signon. It should be
|
|
// avoided when authenticating over the internet since it may use a lower-grade
|
|
// version of password hashing depending on the version of Windows being used.
|
|
|
|
class nsAuthSSPI final : public nsIAuthModule
|
|
{
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIAUTHMODULE
|
|
|
|
nsAuthSSPI(pType package = PACKAGE_TYPE_NEGOTIATE);
|
|
|
|
private:
|
|
~nsAuthSSPI();
|
|
|
|
void Reset();
|
|
|
|
typedef TimeStamp MS_TimeStamp;
|
|
|
|
private:
|
|
CredHandle mCred;
|
|
CtxtHandle mCtxt;
|
|
nsCString mServiceName;
|
|
uint32_t mServiceFlags;
|
|
uint32_t mMaxTokenLen;
|
|
pType mPackage;
|
|
nsString mDomain;
|
|
nsString mUsername;
|
|
nsString mPassword;
|
|
bool mIsFirst;
|
|
void* mCertDERData;
|
|
uint32_t mCertDERLength;
|
|
};
|
|
|
|
#endif /* nsAuthSSPI_h__ */
|