X-Git-Url: http://git.indexdata.com/?p=yazproxy-moved-to-github.git;a=blobdiff_plain;f=src%2Fmod_helsinki.cpp;h=150e9ab5e2e1c29b680176d4a9372f9a7a0fe0f0;hp=9de92509f504328c054c823cd86cce877702fd0a;hb=5ace60a2d363137c0e55b78611be2aa00e1d0e2d;hpb=c990b5f85d736a35132c6902ba8b2966d5146360 diff --git a/src/mod_helsinki.cpp b/src/mod_helsinki.cpp index 9de9250..150e9ab 100644 --- a/src/mod_helsinki.cpp +++ b/src/mod_helsinki.cpp @@ -1,7 +1,5 @@ -/* $Id: mod_helsinki.cpp,v 1.2 2006-06-28 23:38:23 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-2008 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,10 +12,9 @@ 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 +*/ #include #include @@ -29,7 +26,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include -#if HAVE_XSLT +#if YAZ_HAVE_XSLT #include #include #include @@ -125,7 +122,7 @@ int my_authenticate(void *user_handle, { // see if we have an "args" attribute const char *args = 0; -#if HAVE_XSLT +#if YAZ_HAVE_XSLT xmlNodePtr ptr = (xmlNodePtr) element_ptr; struct _xmlAttr *attr; @@ -154,13 +151,15 @@ int my_authenticate(void *user_handle, // 192.168.0.100 // 192.168.0.1-192.168.0.200 int status = YAZPROXY_RET_PERM; - if (ip_file && peer_IP) + if (*ip_file && peer_IP) { yaz_log(YLOG_DEBUG, "Authentication: checking ip address"); const char *pIP = peer_IP; if (strncmp(pIP, "tcp:", 4) == 0) pIP += 4; + if (strncmp(pIP, "::ffff:", 7) == 0) + pIP += 7; IP_ADDRESS peer_address; if (str_to_address(pIP, &peer_address) != 4) yaz_log(YLOG_WARN, "Authentication: could not decode peer IP address %s properly", pIP);