Index: ossp-pkg/sa/INSTALL RCS File: /v/ossp/cvs/ossp-pkg/sa/INSTALL,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/sa/INSTALL,v' 2>/dev/null --- INSTALL 2002/01/31 21:35:13 1.1 +++ INSTALL 2002/10/26 15:45:32 1.2 @@ -1,4 +1,4 @@ - ___ __ _ + ___ __ _ / __|/ _` | \__ \ (_| | |___/\__,_| @@ -9,7 +9,7 @@ To install OSSP sa into /path/to/sa/ perform the following steps in your shell: - + $ ./configure --prefix=/path/to/sa $ make $ make check Index: ossp-pkg/sa/README RCS File: /v/ossp/cvs/ossp-pkg/sa/README,v rcsdiff -q -kk '-r1.5' '-r1.6' -u '/v/ossp/cvs/ossp-pkg/sa/README,v' 2>/dev/null --- README 2002/03/15 10:47:36 1.5 +++ README 2002/10/26 15:45:32 1.6 @@ -1,4 +1,4 @@ - ___ __ _ + ___ __ _ / __|/ _` | \__ \ (_| | |___/\__,_| Index: ossp-pkg/sa/TODO RCS File: /v/ossp/cvs/ossp-pkg/sa/TODO,v rcsdiff -q -kk '-r1.37' '-r1.38' -u '/v/ossp/cvs/ossp-pkg/sa/TODO,v' 2>/dev/null --- TODO 2002/10/25 19:53:22 1.37 +++ TODO 2002/10/26 15:45:32 1.38 @@ -33,7 +33,7 @@ http://www.v6.wide.ad.jp/Presentations/ai3-penang0010-v6programming/mgp00015.html o Nagle's Algorithm and Flushing of Output Buffers. - + The kernel performs Nagle's Algorithm (see RFC 896 and search for "nagle algorithm" on www.whatis.com [currently http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci754347,00.html] @@ -55,7 +55,7 @@ This can be done by internally switching to always use writev(2), providing an emulation for writev(2) ala Pth and by basing the write calls always on writev. - + o Kernel Read/Write Buffer Adjustments. BSD Sockets usually provide (see setsockopt(2)): Index: ossp-pkg/sa/devtool.conf RCS File: /v/ossp/cvs/ossp-pkg/sa/devtool.conf,v rcsdiff -q -kk '-r1.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/sa/devtool.conf,v' 2>/dev/null --- devtool.conf 2002/10/25 20:27:33 1.9 +++ devtool.conf 2002/10/26 15:45:32 1.10 @@ -22,7 +22,7 @@ %version ./shtool version -l txt -n "OSSP sa" -e VERSION V=`./shtool version -l txt -d long VERSION` - sed -e "s/Version .*(.*)/Version $V/g" README.n + sed -e "s/Version .*(.*)/Version $V/g" README.n mv README.n README %dist Index: ossp-pkg/sa/sa-config.in RCS File: /v/ossp/cvs/ossp-pkg/sa/sa-config.in,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/sa/sa-config.in,v' 2>/dev/null --- sa-config.in 2002/03/15 10:47:36 1.4 +++ sa-config.in 2002/10/26 15:45:32 1.5 @@ -29,7 +29,7 @@ ## sa-config.in: SA library build utility ## -DIFS=' +DIFS=' ' prefix="@prefix@" Index: ossp-pkg/sa/sa.ac RCS File: /v/ossp/cvs/ossp-pkg/sa/sa.ac,v rcsdiff -q -kk '-r1.11' '-r1.12' -u '/v/ossp/cvs/ossp-pkg/sa/sa.ac,v' 2>/dev/null --- sa.ac 2002/10/11 15:27:39 1.11 +++ sa.ac 2002/10/26 15:45:32 1.12 @@ -42,8 +42,8 @@ changequote(<<,>>)dnl <<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl changequote([,]), [ -#include <$2>], - ac_cv_typedef_$1=yes, +#include <$2>], + ac_cv_typedef_$1=yes, ac_cv_typedef_$1=no ) ])dnl @@ -62,12 +62,12 @@ AC_CHECK_LIB(nsl, gethostname) if test ".`echo $LIBS | grep nsl`" = .; then AC_CHECK_LIB(nsl, gethostbyname) - fi + fi AC_CHECK_LIB(socket, accept) # make sure some platforms find their IPv6 library AC_CHECK_LIB(inet6, getaddrinfo) - + # check for system headers AC_CHECK_HEADERS(string.h sys/types.h sys/socket.h netdb.h netinet/in.h) Index: ossp-pkg/sa/sa.c RCS File: /v/ossp/cvs/ossp-pkg/sa/sa.c,v rcsdiff -q -kk '-r1.61' '-r1.62' -u '/v/ossp/cvs/ossp-pkg/sa/sa.c,v' 2>/dev/null --- sa.c 2002/10/26 11:11:05 1.61 +++ sa.c 2002/10/26 15:45:32 1.62 @@ -205,7 +205,7 @@ SA_SC_DECLARE_6(ssize_t, recvfrom, int, void *, size_t, int, struct sockaddr *, socklen_t *) SA_SC_DECLARE_6(ssize_t, sendto, int, const void *, size_t, int, const struct sockaddr *, socklen_t) } sa_syscall_tab_t; - + /* socket abstraction object */ struct sa_st { sa_type_t eType; /* socket type (stream or datagram) */ @@ -272,7 +272,7 @@ #ifdef HAVE_INET_NTOA /* at least for IPv4 we can rely on the old inet_ntoa(3) and for IPv6 inet_ntop(3) would exist anyway */ - if ((cp = inet_ntoa(*((struct in_addr *)src))) == NULL) + if ((cp = inet_ntoa(*((struct in_addr *)src))) == NULL) return NULL; n = strlen(cp); if (n > size-1) @@ -291,7 +291,7 @@ static int sa_mvxprintf(int (*output)(void *ctx, const char *buffer, size_t bufsize), void *ctx, const char *format, va_list ap) { /* sufficient integer buffer: x log_10(2) + safety */ - char ibuf[((sizeof(int)*8)/3)+10]; + char ibuf[((sizeof(int)*8)/3)+10]; char *cp; char c; int d; @@ -384,7 +384,7 @@ return -1; if (buffer != NULL && bufsize == 0) return -1; - if (buffer == NULL) + if (buffer == NULL) /* just determine output length */ n = sa_mvxprintf(NULL, NULL, format, ap); else { @@ -491,7 +491,7 @@ sl = 0; sf = 0; - /* parse URI and resolve contents. + /* parse URI and resolve contents. The following syntax is recognized: - unix: - inet://:[#(tcp|udp)] */ @@ -611,7 +611,7 @@ else if (he->h_addrtype == AF_INET6) { sa6.sin6_family = AF_INET6; sa6.sin6_port = htons(nPort); - memcpy(&sa6.sin6_addr.s6_addr, he->h_addr_list[0], + memcpy(&sa6.sin6_addr.s6_addr, he->h_addr_list[0], sizeof(sa6.sin6_addr.s6_addr)); sa = (struct sockaddr *)&sa6; sl = sizeof(sa6); @@ -693,7 +693,7 @@ || saa->slBuf < sizeof(struct sockaddr_un)) /* in case the remote side of a Unix Domain socket was not bound, a "struct sockaddr_un" can occur with a length less - than the expected one. Then there is actually no path at all. + than the expected one. Then there is actually no path at all. This has been verified under FreeBSD, Linux and Solaris. */ sa_msnprintf(uribuf, sizeof(uribuf), "unix:/NOT-BOUND"); else @@ -782,7 +782,7 @@ #ifdef AF_INET6 else if ( (saa1->nFamily == AF_INET && saa2->nFamily == AF_INET6) || (saa1->nFamily == AF_INET6 && saa2->nFamily == AF_INET )) { - /* special case of comparing a regular IPv4 address (1.2.3.4) with an + /* special case of comparing a regular IPv4 address (1.2.3.4) with an "IPv4-mapped IPv6 address" (::ffff:1.2.3.4). For details see RFC 2373. */ if (saa1->nFamily == AF_INET6) { np1 = (unsigned int)(((struct sockaddr_in6 *)saa1->saBuf)->sin6_port); @@ -839,7 +839,7 @@ prefixlen = nBits; } - /* perform address representation comparison + /* perform address representation comparison (assumption guaranteed by API: network byte order is used) */ nBytes = (prefixlen / 8); nBits = (prefixlen % 8); @@ -911,7 +911,7 @@ return SA_RC(SA_ERR_INT); /* determine socket protocol */ - if (nFamily == AF_LOCAL) + if (nFamily == AF_LOCAL) nProto = 0; #ifdef AF_INET6 else if (nFamily == AF_INET || nFamily == AF_INET6) { @@ -1157,7 +1157,7 @@ rv = SA_ERR_USE; break; } - if (setsockopt(sa->fdSocket, IPPROTO_TCP, TCP_NODELAY, + if (setsockopt(sa->fdSocket, IPPROTO_TCP, TCP_NODELAY, (const void *)&mode, (socklen_t)sizeof(mode)) < 0) rv = SA_ERR_SYS; #else @@ -1172,7 +1172,7 @@ rv = SA_ERR_USE; break; } - if (setsockopt(sa->fdSocket, SOL_SOCKET, SO_LINGER, + if (setsockopt(sa->fdSocket, SOL_SOCKET, SO_LINGER, (const void *)linger, (socklen_t)sizeof(struct linger)) < 0) rv = SA_ERR_SYS; #else @@ -1182,7 +1182,7 @@ } case SA_OPTION_REUSEADDR: #ifdef SA_OPTION_REUSEPORT - case SA_OPTION_REUSEPORT: + case SA_OPTION_REUSEPORT: #endif { /* enable/disable reusability of binding to address or port */ @@ -1199,7 +1199,7 @@ #endif default: flag = 0; break; } - if (setsockopt(sa->fdSocket, SOL_SOCKET, flag, + if (setsockopt(sa->fdSocket, SOL_SOCKET, flag, (const void *)&mode, (socklen_t)sizeof(mode)) < 0) rv = SA_ERR_SYS; break; @@ -1252,7 +1252,7 @@ case SA_SYSCALL_WRITE: SA_SC_ASSIGN(sa, write, fptr, fctx); break; case SA_SYSCALL_RECVFROM: SA_SC_ASSIGN(sa, recvfrom, fptr, fctx); break; case SA_SYSCALL_SENDTO: SA_SC_ASSIGN(sa, sendto, fptr, fctx); break; - default: rv = SA_ERR_ARG; + default: rv = SA_ERR_ARG; } return SA_RC(rv); @@ -1298,7 +1298,7 @@ if (sa == NULL || raddr == NULL) return SA_RC(SA_ERR_ARG); - /* connecting is only possible for stream communication */ + /* connecting is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1331,7 +1331,7 @@ /* ok if connect completed immediately */ if (n == 0) - goto done; + goto done; /* wait for read or write possibility */ FD_ZERO(&rset); @@ -1383,7 +1383,7 @@ if (sa == NULL) return SA_RC(SA_ERR_ARG); - /* listening is only possible for stream communication */ + /* listening is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1419,7 +1419,7 @@ if (sa == NULL || caddr == NULL || csa == NULL) return SA_RC(SA_ERR_ARG); - /* accepting connections is only possible for stream communication */ + /* accepting connections is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1435,7 +1435,7 @@ n = SA_SC_CALL_5(sa, select, sa->fdSocket+1, &fds, NULL, NULL, &sa->tvTimeout[SA_TIMEOUT_ACCEPT]); } while (n == -1 && errno == EINTR); - if (n == 0) + if (n == 0) return SA_RC(SA_ERR_TMT); if (n <= 0) return SA_RC(SA_ERR_SYS); @@ -1497,7 +1497,7 @@ if (sa == NULL || raddr == NULL) return SA_RC(SA_ERR_ARG); - /* peers exist only for stream communication */ + /* peers exist only for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1582,14 +1582,14 @@ fd_set fds; #endif - /* if timeout is enabled, perform explicit/smart blocking instead + /* if timeout is enabled, perform explicit/smart blocking instead of implicitly/hard blocking in the read(2) system call */ #if !(defined(SO_RCVTIMEO) && defined(SO_SNDTIMEO)) if (!SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_READ])) { FD_ZERO(&fds); FD_SET(sa->fdSocket, &fds); do { - rv = SA_SC_CALL_5(sa, select, sa->fdSocket+1, &fds, NULL, NULL, + rv = SA_SC_CALL_5(sa, select, sa->fdSocket+1, &fds, NULL, NULL, &sa->tvTimeout[SA_TIMEOUT_READ]); } while (rv == -1 && errno == EINTR); if (rv == 0) { @@ -1623,7 +1623,7 @@ if (sa == NULL || cpBuf == NULL || nBufReq == 0) return SA_RC(SA_ERR_ARG); - /* reading is only possible for stream communication */ + /* reading is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1701,7 +1701,7 @@ } } - /* pass number of actually read bytes to caller */ + /* pass number of actually read bytes to caller */ if (nBufRes != NULL) *nBufRes = (size_t)res; @@ -1720,7 +1720,7 @@ if (sa == NULL || cpBuf == NULL || nBufReq == 0) return SA_RC(SA_ERR_ARG); - /* reading is only possible for stream communication */ + /* reading is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1761,14 +1761,14 @@ fd_set fds; #endif - /* if timeout is enabled, perform explicit/smart blocking instead + /* if timeout is enabled, perform explicit/smart blocking instead of implicitly/hard blocking in the write(2) system call */ #if !(defined(SO_RCVTIMEO) && defined(SO_SNDTIMEO)) if (!SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_WRITE])) { FD_ZERO(&fds); FD_SET(sa->fdSocket, &fds); do { - rv = SA_SC_CALL_5(sa, select, sa->fdSocket+1, NULL, &fds, NULL, + rv = SA_SC_CALL_5(sa, select, sa->fdSocket+1, NULL, &fds, NULL, &sa->tvTimeout[SA_TIMEOUT_WRITE]); } while (rv == -1 && errno == EINTR); if (rv == 0) { @@ -1802,7 +1802,7 @@ if (sa == NULL || cpBuf == NULL || nBufReq == 0) return SA_RC(SA_ERR_ARG); - /* writing is only possible for stream communication */ + /* writing is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1884,7 +1884,7 @@ if (sa == NULL || cpFmt == NULL) return SA_RC(SA_ERR_ARG); - /* writing is only possible for stream communication */ + /* writing is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1912,7 +1912,7 @@ if (sa == NULL) return SA_RC(SA_ERR_ARG); - /* flushing is only possible for stream communication */ + /* flushing is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1948,7 +1948,7 @@ if (sa == NULL || flags == NULL) return SA_RC(SA_ERR_ARG); - /* shutdown is only possible for stream communication */ + /* shutdown is only possible for stream communication */ if (sa->eType != SA_TYPE_STREAM) return SA_RC(SA_ERR_USE); @@ -1992,7 +1992,7 @@ if (sa == NULL || buf == NULL || buflen == 0 || raddr == NULL) return SA_RC(SA_ERR_ARG); - /* receiving is only possible for datagram communication */ + /* receiving is only possible for datagram communication */ if (sa->eType != SA_TYPE_DATAGRAM) return SA_RC(SA_ERR_USE); @@ -2000,16 +2000,16 @@ if (sa->fdSocket == -1) return SA_RC(SA_ERR_USE); - /* if timeout is enabled, perform explicit/smart blocking instead + /* if timeout is enabled, perform explicit/smart blocking instead of implicitly/hard blocking in the recvfrom(2) system call */ if (!SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_READ])) { FD_ZERO(&fds); FD_SET(sa->fdSocket, &fds); do { - n = SA_SC_CALL_5(sa, select, sa->fdSocket+1, &fds, NULL, NULL, + n = SA_SC_CALL_5(sa, select, sa->fdSocket+1, &fds, NULL, NULL, &sa->tvTimeout[SA_TIMEOUT_READ]); } while (n == -1 && errno == EINTR); - if (n == 0) + if (n == 0) errno = ETIMEDOUT; if (n <= 0) return SA_RC(SA_ERR_SYS); @@ -2017,7 +2017,7 @@ /* perform receive operation on underlying socket */ sa_len = sizeof(sa_buf); - if ((n = SA_SC_CALL_6(sa, recvfrom, sa->fdSocket, buf, buflen, 0, + if ((n = SA_SC_CALL_6(sa, recvfrom, sa->fdSocket, buf, buflen, 0, (struct sockaddr *)&sa_buf, &sa_len)) == -1) return SA_RC(SA_ERR_SYS); @@ -2047,7 +2047,7 @@ if (sa == NULL || buf == NULL || buflen == 0 || raddr == NULL) return SA_RC(SA_ERR_ARG); - /* sending is only possible for datagram communication */ + /* sending is only possible for datagram communication */ if (sa->eType != SA_TYPE_DATAGRAM) return SA_RC(SA_ERR_USE); @@ -2056,16 +2056,16 @@ if ((rv = sa_socket_init(sa, raddr->nFamily)) != SA_OK) return rv; - /* if timeout is enabled, perform explicit/smart blocking instead + /* if timeout is enabled, perform explicit/smart blocking instead of implicitly/hard blocking in the sendto(2) system call */ if (!SA_TVISZERO(sa->tvTimeout[SA_TIMEOUT_WRITE])) { FD_ZERO(&fds); FD_SET(sa->fdSocket, &fds); do { - n = SA_SC_CALL_5(sa, select, sa->fdSocket+1, NULL, &fds, NULL, + n = SA_SC_CALL_5(sa, select, sa->fdSocket+1, NULL, &fds, NULL, &sa->tvTimeout[SA_TIMEOUT_WRITE]); } while (n == -1 && errno == EINTR); - if (n == 0) + if (n == 0) errno = ETIMEDOUT; if (n <= 0) return SA_RC(SA_ERR_SYS); Index: ossp-pkg/sa/sa.pod RCS File: /v/ossp/cvs/ossp-pkg/sa/sa.pod,v rcsdiff -q -kk '-r1.30' '-r1.31' -u '/v/ossp/cvs/ossp-pkg/sa/sa.pod,v' 2>/dev/null --- sa.pod 2002/10/25 20:45:43 1.30 +++ sa.pod 2002/10/26 15:45:32 1.31 @@ -64,22 +64,22 @@ =item B: sa_create, -sa_destroy. +sa_destroy. =item B: sa_type, sa_timeout, -sa_buffer, -sa_option, -sa_syscall. +sa_buffer, +sa_option, +sa_syscall. =item B: sa_bind, sa_connect, sa_listen, -sa_accept, +sa_accept, sa_getremote, sa_getlocal, sa_shutdown. @@ -91,7 +91,7 @@ sa_readln, sa_write, sa_writef, -sa_flush. +sa_flush. =item B: @@ -204,7 +204,7 @@ =item B (Socket Address Abstraction Type) -This is an opaque data type representing a socket address. +This is an opaque data type representing a socket address. Only pointers to this abstract data type are used in the API. =item B (Socket Abstraction Type) @@ -237,7 +237,7 @@ =item CBC<(sa_addr_t **>IC<);> -Create a socket address abstraction object. +Create a socket address abstraction object. The object is stored in I on success. Example: C @@ -261,7 +261,7 @@ =item CBC<(sa_addr_t *>IC<, const char *>IC<, ...);> Import an address into by converting from an URI specification to the -corresponding address abstraction. +corresponding address abstraction. The supported syntax for I is: "CI" for I addresses and "CIC<:>I[C<#>I]" for @@ -298,7 +298,7 @@ =item CBC<(sa_addr_t *>IC<, char **>IC<);> Export an address by converting from the address abstraction to the -corresponding URI specification. +corresponding URI specification. The result is a string of the form "CI" for I addresses and "CIC<:>I" for IBC<(sa_addr_t *>IC<, struct sockaddr **>IC<, socklen_t *>IC<);> Export an address by converting from the address abstraction to the -corresponding traditional C object. +corresponding traditional C object. The result is one of the following particular underlying address structures: C (C), C @@ -498,7 +498,7 @@ to pass the call through to the replaced actual system call or not. Possible values for I are (expected prototypes behind I are -given in parenthesis): +given in parenthesis): C: "C", see connect(2). @@ -521,20 +521,20 @@ C: "C", see sendto(2). -Example: +Example: FILE *trace_fp = ...; - ssize_t + ssize_t trace_read(void *ctx, int fd, void *buf, size_t len) { - FILE *fp = (FILE *)ctx; + FILE *fp = (FILE *)ctx; ssize_t rv; int errno_saved; rv = read(fd, buf, len); errno_saved = errno; - fprintf(fp, "read(%d, %lx, %d) = %d\n", + fprintf(fp, "read(%d, %lx, %d) = %d\n", fd, (long)buf, len, rv); errno = errno_saved; return rv; @@ -602,7 +602,7 @@ are present on the queue, it blocks the caller until a connection is present. -Example: +Example: sa_addr_t *clt_saa; sa_t *clt_sa; @@ -710,7 +710,7 @@ =head2 Standards R. Gilligan, S. Thomson, J. Bound, W. Stevens: -"Basic Socket Interface Extensions for IPv6", +"Basic Socket Interface Extensions for IPv6", RFC 2553, March 1999. W. Stevens: @@ -718,15 +718,15 @@ B, February 1998. R. Fielding, L. Masinter, T. Berners-Lee: -"Uniform Resource Identifiers: Generic Syntax", +"Uniform Resource Identifiers: Generic Syntax", B, August 1998. R. Hinden, S. Deering: "IP Version 6 Addressing Architecture", B, July 1998. -R. Hinden, B. Carpenter, L. Masinter: -"Format for Literal IPv6 Addresses in URL's", +R. Hinden, B. Carpenter, L. Masinter: +"Format for Literal IPv6 Addresses in URL's", B, December 1999. =head2 Papers @@ -747,21 +747,21 @@ =head2 Manual Pages socket(2) -accept(2), -bind(2), -connect(2), -getpeername(2), +accept(2), +bind(2), +connect(2), +getpeername(2), getsockname(2), -getsockopt(2), -ioctl(2), -listen(2), -read(2), -recv(2), +getsockopt(2), +ioctl(2), +listen(2), +read(2), +recv(2), select(2), send(2), -shutdown(2), -socketpair(2), -write(2), +shutdown(2), +socketpair(2), +write(2), getprotoent(3), protocols(4) Index: ossp-pkg/sa/sa_test.c RCS File: /v/ossp/cvs/ossp-pkg/sa/sa_test.c,v rcsdiff -q -kk '-r1.16' '-r1.17' -u '/v/ossp/cvs/ossp-pkg/sa/sa_test.c,v' 2>/dev/null --- sa_test.c 2002/03/15 10:47:36 1.16 +++ sa_test.c 2002/10/26 15:45:32 1.17 @@ -55,9 +55,9 @@ char *out; } table[] = { /* positive tests */ - { "inet://0.0.0.0:0", SA_OK, "inet://0.0.0.0:0" }, + { "inet://0.0.0.0:0", SA_OK, "inet://0.0.0.0:0" }, { "inet://127.0.0.1:514", SA_OK, "inet://127.0.0.1:514" }, - { "inet://localhost:syslog#udp", SA_OK, "inet://127.0.0.1:514" }, + { "inet://localhost:syslog#udp", SA_OK, "inet://127.0.0.1:514" }, { "inet://localhost:smtp", SA_OK, "inet://127.0.0.1:25" }, { "unix:/tmp/socket", SA_OK, "unix:/tmp/socket" }, /* negative tests */ @@ -69,7 +69,7 @@ ts_test_check(TS_CTX, "sa_addr_create"); if ((rv = sa_addr_create(&saa)) != SA_OK) - ts_test_fail(TS_CTX, "sa_addr_create -> %d[%s] (expected %d[%s])", + ts_test_fail(TS_CTX, "sa_addr_create -> %d[%s] (expected %d[%s])", rv, sa_error(rv), SA_OK, sa_error(SA_OK)); for (i = 0; i < sizeof(table)/sizeof(table[0]); i++) { ts_test_check(TS_CTX, "sa_addr_u2a(\"%s\")", table[i].in); @@ -82,12 +82,12 @@ rv, sa_error(rv), SA_OK, sa_error(SA_OK)); if (table[i].rv == SA_OK) if (strcmp(cp, table[i].out) != 0) - ts_test_fail(TS_CTX, "sa_addr_a2u -> \"%s\" (expected \"%s\")", + ts_test_fail(TS_CTX, "sa_addr_a2u -> \"%s\" (expected \"%s\")", cp, table[i].out); } ts_test_check(TS_CTX, "sa_addr_destroy"); if ((rv = sa_addr_destroy(saa)) != SA_OK) - ts_test_fail(TS_CTX, "sa_addr_destroy -> %d[%s] (expected %d[%s])", + ts_test_fail(TS_CTX, "sa_addr_destroy -> %d[%s] (expected %d[%s])", rv, sa_error(rv), SA_OK, sa_error(SA_OK)); } @@ -127,7 +127,7 @@ continue; if ((rv = sa_addr_u2a(saa2, table[i].acl)) != SA_OK) continue; - ts_test_check(TS_CTX, "sa_addr_match(\"%s\", \"%s\", %d)", + ts_test_check(TS_CTX, "sa_addr_match(\"%s\", \"%s\", %d)", table[i].in, table[i].acl, table[i].prefixlen); if ((rv = sa_addr_match(saa1, saa2, table[i].prefixlen)) != table[i].rv) ts_test_fail(TS_CTX, "sa_addr_match -> %d[%s] (expected %d[%s])",