X-Git-Url: http://git.indexdata.com/?p=yazproxy-moved-to-github.git;a=blobdiff_plain;f=src%2Fproxyp.h;h=5ffc8e81f38be10e9f01f9f51fe6b94adf42b309;hp=7ab1ea04ebdca1dab4dfcd92759f8ba822167972;hb=7fa984c171c65d05d34775c4533808793b2109cb;hpb=32c6e333211e98fe4ad78fb86f2c9acd444ca24f diff --git a/src/proxyp.h b/src/proxyp.h index 7ab1ea0..5ffc8e8 100644 --- a/src/proxyp.h +++ b/src/proxyp.h @@ -1,7 +1,5 @@ -/* $Id: proxyp.h,v 1.10 2005-09-26 09:25:05 adam Exp $ - Copyright (c) 1998-2005, Index Data. - -This file is part of the yaz-proxy. +/* This file is part of YAZ proxy + Copyright (C) 1998-2009 Index Data YAZ proxy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -14,12 +12,11 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with YAZ proxy; see the file LICENSE. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. - */ +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ -#if HAVE_XSLT +#if YAZ_HAVE_XSLT #include #include #include @@ -28,10 +25,10 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #endif #if HAVE_USEMARCON -#include +#include #endif -#include +#include #include #include @@ -46,8 +43,8 @@ class Yaz_usemarcon { const char *input, int input_len, char **output, int *output_len); #if HAVE_USEMARCON - CDetails *m_stage1; - CDetails *m_stage2; + Usemarcon *m_stage1; + Usemarcon *m_stage2; #else int dummy; #endif @@ -91,9 +88,9 @@ public: int *limit_pdu, int *limit_req, int *limit_search, - int *limit_connect, int *target_idletime, int *client_idletime, + int *max_sockets, int *max_clients, int *keepalive_limit_bw, int *keepalive_limit_pdu, @@ -102,21 +99,29 @@ public: const char **authentication, const char **negotiation_charset, const char **negotiation_lang, - const char **query_charset); - - void get_generic_info(int *log_mask, int *max_clients); + const char **query_charset, + const char **default_client_query_charset); + + void get_generic_info(int *log_mask, int *max_clients, + int *max_connect, int *limit_connect, + int *period_connect, + int *msg_threads); + + int get_file_access_info(const char *path); void get_target_info(const char *name, const char **url, int *limit_bw, int *limit_pdu, int *limit_req, - int *limit_search, int *limit_connect, + int *limit_search, int *target_idletime, int *client_idletime, + int *max_sockets, int *max_clients, int *keepalive_limit_bw, int *keepalive_limit_pdu, int *pre_init, const char **cql2rpn, const char **negotiation_charset, const char **negotiation_lang, - const char **query_charset); + const char **query_charset, + const char **default_client_query_charset); const char *check_mime_type(const char *path); int check_query(ODR odr, const char *name, Z_Query *query, char **addinfo); @@ -134,8 +139,11 @@ public: const char *user, const char *group, const char *password, const char *peer_IP); + int global_client_authentication(const char *user, const char *group, + const char *password, + const char *peer_IP); char *get_explain_doc(ODR odr, const char *name, const char *db, - int *len); + int *len, int *http_status); const char *get_explain_name(const char *db, const char **backend_db); private: void operator=(const Yaz_ProxyConfig &conf); @@ -167,7 +175,7 @@ class Yaz_ProxyClient : public yazpp_1::Z_Assoc { yazpp_1::Yaz_Z_Databases m_last_databases; char *m_last_resultSetId; int m_last_ok; - int m_last_resultCount; + Odr_int m_last_resultCount; int m_sr_transform; int m_seqno; int m_waiting; @@ -185,11 +193,18 @@ class Yaz_ProxyClient : public yazpp_1::Z_Assoc { void pre_init_client(); int m_target_idletime; Yaz_Proxy *m_root; + char *m_idAuthentication_ber_buf; + int m_idAuthentication_ber_size; + ODR m_idAuthentication_odr; + void set_idAuthentication(Z_APDU *apdu); + bool compare_idAuthentication(Z_APDU *apdu); + bool compare_charset(Z_APDU *apdu); }; /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab