1 /* The contents of this file are subject to the Mozilla Public License Version
2 * 1.1 (the "License"); you may not use this file except in compliance with
3 * the License. You may obtain a copy of the License at
4 * http://www.mozilla.org/MPL/
6 * Software distributed under the License is distributed on an "AS IS" basis,
7 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8 * for the specific language governing rights and limitations under the
11 * The Original Code is the Negotiateauth
13 * The Initial Developer of the Original Code is Daniel Kouril.
14 * Portions created by the Initial Developer are Copyright (C) 2003
15 * the Initial Developer. All Rights Reserved.
18 * Daniel Kouril <kouril@ics.muni.cz> (original author)
19 * Wyllys Ingersoll <wyllys.ingersoll@sun.com>
20 * Christopher Nebergall <cneberg@sandia.gov>
23 #ifndef nsMoonshot_h__
24 #define nsMoonshot_h__
26 #include "nsIHttpAuthenticator.h"
29 #include <gssapi/gssapi_ext.h>
31 #define NS_HTTPMOONSHOT_CID \
32 { /* 75c80fd0-accb-432c-af59-ec60668c3991 */ \
36 {0xaf, 0x59, 0xec, 0x60, 0x66, 0x8c, 0x39, 0x91} \
39 #define NS_HTTP_AUTHENTICATOR_CONTRACTID \
40 "@mozilla.org/network/http-authenticator;1?scheme=gssapi"
42 #define NEGOTIATE_AUTH "GSSAPI"
44 class nsHttpMoonshot : public nsIHttpAuthenticator
47 public nsIHttpAuthenticator_1_9_2
52 NS_DECL_NSIHTTPAUTHENTICATOR
54 NS_DECL_NSIHTTPAUTHENTICATOR_1_9_2
59 virtual ~nsHttpMoonshot();
63 GenerateCredentials_1_9_2(nsIHttpChannel *httpChannel,
64 const char *challenge,
66 const PRUnichar *domain,
67 const PRUnichar *username,
68 const PRUnichar *password,
69 nsISupports **sessionState,
70 nsISupports **continuationState,
75 void LogGssError(OM_uint32 maj, OM_uint32 min, char *prefix);
77 #endif /* nsMoonshot_h__ */