summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
29cc293)
The functions cs_complete_auto, cs_complete_auto_head takes 'const char *'
as buffer rather than 'const unsigned char *'. This makes some casts
unnecessary. This also fixes tst_comstack which used to test
cs_complete_http. This function, howver is no longer public, so
cs_complete_auto is used instead.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* $Id: comstack.h,v 1.29 2007-10-07 08:53:26 adam Exp $ */
+/* $Id: comstack.h,v 1.30 2007-10-09 06:00:55 adam Exp $ */
YAZ_EXPORT COMSTACK cs_create_host(const char *type_and_host,
int blocking, void **vp);
YAZ_EXPORT void cs_get_host_args(const char *type_and_host, const char **args);
YAZ_EXPORT COMSTACK cs_create_host(const char *type_and_host,
int blocking, void **vp);
YAZ_EXPORT void cs_get_host_args(const char *type_and_host, const char **args);
-YAZ_EXPORT int cs_complete_auto_head(const unsigned char *buf, int len);
-YAZ_EXPORT int cs_complete_auto(const unsigned char *buf, int len);
+YAZ_EXPORT int cs_complete_auto_head(const char *buf, int len);
+YAZ_EXPORT int cs_complete_auto(const char *buf, int len);
YAZ_EXPORT void *cs_get_ssl(COMSTACK cs);
YAZ_EXPORT int cs_set_ssl_ctx(COMSTACK cs, void *ctx);
YAZ_EXPORT int cs_set_ssl_certificate_file(COMSTACK cs, const char *fname);
YAZ_EXPORT int cs_get_peer_certificate_x509(COMSTACK cs, char **buf, int *len);
YAZ_EXPORT void cs_set_max_recv_bytes(COMSTACK cs, int max_recv_bytes);
YAZ_EXPORT void *cs_get_ssl(COMSTACK cs);
YAZ_EXPORT int cs_set_ssl_ctx(COMSTACK cs, void *ctx);
YAZ_EXPORT int cs_set_ssl_certificate_file(COMSTACK cs, const char *fname);
YAZ_EXPORT int cs_get_peer_certificate_x509(COMSTACK cs, char **buf, int *len);
YAZ_EXPORT void cs_set_max_recv_bytes(COMSTACK cs, int max_recv_bytes);
+YAZ_EXPORT int completeWAIS(const char *buf, int len);
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* $Id: tcpip.h,v 1.13 2007-10-07 08:53:26 adam Exp $ */
+/* $Id: tcpip.h,v 1.14 2007-10-09 06:00:55 adam Exp $ */
-YAZ_EXPORT int completeWAIS(const unsigned char *buf, int len);
YAZ_EXPORT COMSTACK tcpip_type(int s, int flags, int protocol, void *vp);
YAZ_EXPORT COMSTACK ssl_type(int s, int flags, int protocol, void *vp);
YAZ_EXPORT COMSTACK yaz_tcpip_create(int s, int flags, int protocol,
YAZ_EXPORT COMSTACK tcpip_type(int s, int flags, int protocol, void *vp);
YAZ_EXPORT COMSTACK ssl_type(int s, int flags, int protocol, void *vp);
YAZ_EXPORT COMSTACK yaz_tcpip_create(int s, int flags, int protocol,
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* $Id: unix.h,v 1.9 2007-04-12 13:52:57 adam Exp $ */
+/* $Id: unix.h,v 1.10 2007-10-09 06:00:55 adam Exp $ */
-YAZ_EXPORT int completeWAIS(const unsigned char *buf, int len);
YAZ_EXPORT struct sockaddr_un *unix_strtoaddr(const char *str);
YAZ_EXPORT COMSTACK unix_type(int s, int flags, int protocol, void *vp);
YAZ_EXPORT struct sockaddr_un *unix_strtoaddr(const char *str);
YAZ_EXPORT COMSTACK unix_type(int s, int flags, int protocol, void *vp);
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: comstack.c,v 1.20 2007-10-07 08:53:26 adam Exp $
+ * $Id: comstack.c,v 1.21 2007-10-09 06:00:56 adam Exp $
-static int cs_complete_auto_x(const unsigned char *buf, int len, int head_only)
+static int cs_complete_auto_x(const char *buf, int len, int head_only)
{
if (len > 5 && buf[0] >= 0x20 && buf[0] < 0x7f
&& buf[1] >= 0x20 && buf[1] < 0x7f
&& buf[2] >= 0x20 && buf[2] < 0x7f)
{
{
if (len > 5 && buf[0] >= 0x20 && buf[0] < 0x7f
&& buf[1] >= 0x20 && buf[1] < 0x7f
&& buf[2] >= 0x20 && buf[2] < 0x7f)
{
- int r = cs_complete_http((const char *) buf, len, head_only);
+ int r = cs_complete_http(buf, len, head_only);
- return completeBER(buf, len);
+ return completeBER((const unsigned char *) buf, len);
-int cs_complete_auto(const unsigned char *buf, int len)
+int cs_complete_auto(const char *buf, int len)
{
return cs_complete_auto_x(buf, len, 0);
}
{
return cs_complete_auto_x(buf, len, 0);
}
-int cs_complete_auto_head(const unsigned char *buf, int len)
+int cs_complete_auto_head(const char *buf, int len)
{
return cs_complete_auto_x(buf, len, 1);
}
{
return cs_complete_auto_x(buf, len, 1);
}
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: tcpip.c,v 1.35 2007-10-07 08:53:26 adam Exp $
+ * $Id: tcpip.c,v 1.36 2007-10-09 06:00:56 adam Exp $
int written; /* -1 if we aren't writing */
int towrite; /* to verify against user input */
int written; /* -1 if we aren't writing */
int towrite; /* to verify against user input */
- int (*complete)(const unsigned char *buf, int len); /* length/comple. */
+ int (*complete)(const char *buf, int len); /* length/complete. */
#if HAVE_GETADDRINFO
struct addrinfo *ai;
#else
#if HAVE_GETADDRINFO
struct addrinfo *ai;
#else
{
tcpip_state *sp = (tcpip_state *)h->cprivate;
{
tcpip_state *sp = (tcpip_state *)h->cprivate;
- return sp->altlen && (*sp->complete)((unsigned char *) sp->altbuf,
- sp->altlen);
+ return sp->altlen && (*sp->complete)(sp->altbuf, sp->altlen);
sp->altsize = tmpi;
}
h->io_pending = 0;
sp->altsize = tmpi;
}
h->io_pending = 0;
- while (!(berlen = (*sp->complete)((unsigned char *)*buf, hasread)))
+ while (!(berlen = (*sp->complete)(*buf, hasread)))
sp->altsize = tmpi;
}
h->io_pending = 0;
sp->altsize = tmpi;
}
h->io_pending = 0;
- while (!(berlen = (*sp->complete)((unsigned char *)*buf, hasread)))
+ while (!(berlen = (*sp->complete)(*buf, hasread)))
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: unix.c,v 1.19 2007-06-05 05:42:07 adam Exp $
+ * $Id: unix.c,v 1.20 2007-10-09 06:00:56 adam Exp $
* UNIX socket COMSTACK. By Morten Bøgeskov.
*/
/**
* UNIX socket COMSTACK. By Morten Bøgeskov.
*/
/**
int written; /* -1 if we aren't writing */
int towrite; /* to verify against user input */
int written; /* -1 if we aren't writing */
int towrite; /* to verify against user input */
- int (*complete)(const unsigned char *buf, int len); /* length/comple. */
+ int (*complete)(const char *buf, int len); /* length/complete. */
struct sockaddr_un addr; /* returned by cs_straddr */
int uid;
int gid;
struct sockaddr_un addr; /* returned by cs_straddr */
int uid;
int gid;
{
unix_state *sp = (unix_state *)h->cprivate;
{
unix_state *sp = (unix_state *)h->cprivate;
- return sp->altlen && (*sp->complete)((unsigned char *) sp->altbuf,
- sp->altlen);
+ return sp->altlen && (*sp->complete)(sp->altbuf, sp->altlen);
sp->altsize = tmpi;
}
h->io_pending = 0;
sp->altsize = tmpi;
}
h->io_pending = 0;
- while (!(berlen = (*sp->complete)((unsigned char *)*buf, hasread)))
+ while (!(berlen = (*sp->complete)(*buf, hasread)))
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: waislen.c,v 1.5 2007-01-03 08:42:15 adam Exp $
+ * $Id: waislen.c,v 1.6 2007-10-09 06:00:56 adam Exp $
#include <stdio.h>
#include <yaz/comstack.h>
#include <stdio.h>
#include <yaz/comstack.h>
/*
* Return length of WAIS package or 0
*/
/*
* Return length of WAIS package or 0
*/
-int completeWAIS(const unsigned char *buf, int len)
+int completeWAIS(const char *buf, int len)
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: tst_comstack.c,v 1.1 2007-01-11 10:30:41 adam Exp $
+ * $Id: tst_comstack.c,v 1.2 2007-10-09 06:00:56 adam Exp $
"\r\n"
"GET / HTTP/1.0\r\n";
"\r\n"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 16), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 17), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 18), 18);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 19), 18);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 16), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 17), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 18), 18);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 19), 18);
}
{
/* one header, no content */
}
{
/* one header, no content */
"\r\n"
"GET / HTTP/1.0\r\n";
"\r\n"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 34), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 35), 35);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 36), 35);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 34), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 35), 35);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 36), 35);
}
{
/* one content-length header, length 0 */
}
{
/* one content-length header, length 0 */
"\r\n"
"GET / HTTP/1.0\r\n";
"\r\n"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 35), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 37), 37);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 38), 37);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 35), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 37), 37);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 38), 37);
}
{
/* one content-length header, length 5 */
}
{
/* one content-length header, length 5 */
"ABCDE"
"GET / HTTP/1.0\r\n";
"ABCDE"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 41), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 42), 42);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 43), 42);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 41), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 42), 42);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 43), 42);
}
{
/* LF only in GET, one content-length header, length 5 */
}
{
/* LF only in GET, one content-length header, length 5 */
"ABCDE"
"GET / HTTP/1.0\r\n";
"ABCDE"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 40), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 41), 41);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 42), 41);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 40), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 41), 41);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 42), 41);
}
{
/* LF only in all places, one content-length header, length 5 */
}
{
/* LF only in all places, one content-length header, length 5 */
"ABCDE"
"GET / HTTP/1.0\r\n";
"ABCDE"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 38), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 39), 39);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 40), 39);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 38), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 39), 39);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 40), 39);
"\r\n"
"GET / HTTP/1.0\r\n";
"\r\n"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 45), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 46), 46);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 45), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 46), 46);
"0\r\n\r\n"
"GET / HTTP/1.0\r\n";
"0\r\n\r\n"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 58), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 59), 59);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 58), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 59), 59);
"0\r\n\r\n"
"GET / HTTP/1.0\r\n";
"0\r\n\r\n"
"GET / HTTP/1.0\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 64), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 65), 65);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 64), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 65), 65);
"\r\n"
"HTTP/1.1 200 OK\r\n";
"\r\n"
"HTTP/1.1 200 OK\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 24), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 24), 0);
}
{
/* response, content */
}
{
/* response, content */
"12"
"HTTP/1.1 200 OK\r\n";
"12"
"HTTP/1.1 200 OK\r\n";
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 1), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 2), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 39), 0);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 40), 40);
- YAZ_CHECK_EQ(cs_complete_http(http_buf, 41), 40);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 1), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 2), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 39), 0);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 40), 40);
+ YAZ_CHECK_EQ(cs_complete_auto(http_buf, 41), 40);