mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 15:23:51 +00:00
e368dc9c85
This patch was generated by a script. Here's the source of the script for future reference: function convert() { echo "Converting $1 to $2..." find . ! -wholename "*nsprpub*" \ ! -wholename "*security/nss*" \ ! -wholename "*/.hg*" \ ! -wholename "obj-ff-dbg*" \ ! -name nsXPCOMCID.h \ ! -name prtypes.h \ -type f \ \( -iname "*.cpp" \ -o -iname "*.h" \ -o -iname "*.c" \ -o -iname "*.cc" \ -o -iname "*.idl" \ -o -iname "*.ipdl" \ -o -iname "*.ipdlh" \ -o -iname "*.mm" \) | \ xargs -n 1 sed -i -e "s/\b$1\b/$2/g" } convert PRInt8 int8_t convert PRUint8 uint8_t convert PRInt16 int16_t convert PRUint16 uint16_t convert PRInt32 int32_t convert PRUint32 uint32_t convert PRInt64 int64_t convert PRUint64 uint64_t convert PRIntn int convert PRUintn unsigned convert PRSize size_t convert PROffset32 int32_t convert PROffset64 int64_t convert PRPtrdiff ptrdiff_t convert PRFloat64 double
64 lines
1.9 KiB
C++
64 lines
1.9 KiB
C++
/* vim:set ts=4 sw=4 et cindent: */
|
|
/* 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 nsAuthGSSAPI_h__
|
|
#define nsAuthGSSAPI_h__
|
|
|
|
#include "nsAuth.h"
|
|
#include "nsIAuthModule.h"
|
|
#include "nsString.h"
|
|
#include "mozilla/Attributes.h"
|
|
|
|
#define GSS_USE_FUNCTION_POINTERS 1
|
|
|
|
#include "gssapi.h"
|
|
|
|
// The nsAuthGSSAPI class provides responses for the GSS-API Negotiate method
|
|
// as specified by Microsoft in draft-brezak-spnego-http-04.txt
|
|
|
|
/* Some remarks on thread safety ...
|
|
*
|
|
* The thread safety of this class depends largely upon the thread safety of
|
|
* the underlying GSSAPI and Kerberos libraries. This code just loads the
|
|
* system GSSAPI library, and whilst it avoids loading known bad libraries,
|
|
* it cannot determine the thread safety of the the code it loads.
|
|
*
|
|
* When used with a non-threadsafe library, it is not safe to simultaneously
|
|
* use multiple instantiations of this class.
|
|
*
|
|
* When used with a threadsafe Kerberos library, multiple instantiations of
|
|
* this class may happily co-exist. Methods may be sequentially called from
|
|
* multiple threads. The nature of the GSSAPI protocol is such that a correct
|
|
* implementation will never call methods in parallel, as the results of the
|
|
* last call are required as input to the next.
|
|
*/
|
|
|
|
class nsAuthGSSAPI MOZ_FINAL : public nsIAuthModule
|
|
{
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIAUTHMODULE
|
|
|
|
nsAuthGSSAPI(pType package);
|
|
|
|
static void Shutdown();
|
|
|
|
private:
|
|
~nsAuthGSSAPI() { Reset(); }
|
|
|
|
void Reset();
|
|
gss_OID GetOID() { return mMechOID; }
|
|
|
|
private:
|
|
gss_ctx_id_t mCtx;
|
|
gss_OID mMechOID;
|
|
nsCString mServiceName;
|
|
uint32_t mServiceFlags;
|
|
nsString mUsername;
|
|
bool mComplete;
|
|
};
|
|
|
|
#endif /* nsAuthGSSAPI_h__ */
|