pjs/network/protocol/http/mkaccess.h

135 строки
4.6 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef MKACCESS_H
#define MKACCESS_H
#ifndef MKGETURL_H
#include "mkgeturl.h"
#endif
/* returns TRUE if authorization is required
*/
extern Bool NET_AuthorizationRequired(char * address);
/* returns false if the user wishes to cancel authorization
* and TRUE if the user wants to continue with a new authorization
* string
*/
extern Bool NET_AskForAuthString(MWContext * context,
URL_Struct *URL_s,
char * authenticate,
char * prot_template,
Bool already_sent_auth,
void * closure);
/* returns a authorization string if one is required, otherwise
* returns NULL
*/
extern char * NET_BuildAuthString(MWContext * context, URL_Struct *URL_s);
/*
* Builds the Proxy-authorization string
*/
extern char *
NET_BuildProxyAuthString(MWContext * context,
URL_Struct * url_s,
char * proxy_addr);
/*
* Returns FALSE if the user wishes to cancel proxy authorization
* and TRUE if the user wants to continue with a new authorization
* string.
*/
PUBLIC PRBool
NET_AskForProxyAuth(MWContext * context,
char * proxy_addr,
char * pauth_params,
PRBool already_sent_auth,
void * closure);
MODULE_PRIVATE int PR_CALLBACK
NET_CookieBehaviorPrefChanged(const char * newpref, void * data);
MODULE_PRIVATE int PR_CALLBACK
NET_CookieWarningPrefChanged(const char * newpref, void * data);
MODULE_PRIVATE int PR_CALLBACK
NET_CookieScriptPrefChanged(const char * newpref, void * data);
MODULE_PRIVATE void
net_http_password_data_interp(
char *module,
char *key,
char *data, int32 data_len,
char *type_buffer, int32 type_buffer_size,
char *url_buffer, int32 url_buffer_size,
char *username_buffer, int32 username_buffer_size,
char *password_buffer, int32 password_buffer_size);
PUBLIC void NET_DeleteCookie(char* cookieURL);
PUBLIC void NET_DisplayCookieInfoAsHTML(MWContext * context);
PUBLIC void NET_CookieViewerReturn();
/*============================================================================================
THIS IS THE BEGINNING OF TRUST.H WHICH IDEALLY SHOULD BE A SEPERATE FILE
============================================================================================*/
#ifndef TRUSTLABEL_H
/* #define TRUSTLABEL_H 1 */
#ifdef TRUST_LABELS
/* the structure that the iterators use to pass back the processed trust label
* associated with this struct is a constructor and destructor and some methods */
typedef struct {
short purpose; /* the purpose range encoded in bits 0-5 */
short ID; /* the id value */
short recipients; /* the Recipients value */
PRBool isGeneric; /* true if this is a generic label i.e. applies to all cookies */
PRBool isSigned; /* true if this label was signed and the signature verified */
PRTime ExpDate; /* the expiration date in local time */
char *signatory; /* who signed the label if it was signed */
char *domainName; /* the applicable domain for the label */
char *path; /* the path for the label */
char *szTrustAuthority; /* the trust authority rating service */
XP_List *nameList; /* the list of names of the specific cookies that this label is for */
char *szBy; /* the by field from the PICS label */
} TrustLabel;
TrustLabel *TL_Construct();
void TL_Destruct( TrustLabel *ALabel );
void TL_ProcessForAttrib( TrustLabel *ALabel, char *szFor);
void TL_SetSignatory( TrustLabel *ALabel, char *Signatory );
void TL_SetTrustAuthority( TrustLabel *ALabel, char *TrustAuthority );
void TL_SetByField( TrustLabel *ALabel, char *ByField );
/* utility function that use TrustLabel */
void PICS_ExtractTrustLabel( URL_Struct *URL_s, char *value );
PRBool IsTrustLabelsEnabled(void);
PUBLIC PRBool MatchCookieToLabel2( char *TargetURL, char *CookieName,
char *CookiePath, char *CookieHost,
TrustLabel **TheLabel );
#endif
#endif
#endif /* MKACCESS_H */