aboutsummaryrefslogtreecommitdiff
path: root/net/libsocket++
diff options
context:
space:
mode:
Diffstat (limited to 'net/libsocket++')
-rw-r--r--net/libsocket++/Makefile4
-rw-r--r--net/libsocket++/distinfo2
-rw-r--r--net/libsocket++/files/patch-named-sockbuf1347
3 files changed, 3 insertions, 1350 deletions
diff --git a/net/libsocket++/Makefile b/net/libsocket++/Makefile
index 6dd35aafdf96..4b311537a342 100644
--- a/net/libsocket++/Makefile
+++ b/net/libsocket++/Makefile
@@ -7,12 +7,12 @@
#
PORTNAME= libsocket++
-PORTVERSION= 1.12.8
+PORTVERSION= 1.12.9
CATEGORIES= net
MASTER_SITES= http://www.hstraub.at/linux/downloads/src/
DISTNAME= socket++-${PORTVERSION}
-MAINTAINER= narvi@haldjas.folklore.ee
+MAINTAINER= arved@FreeBSD.org
COMMENT= A C++ wrapper library to the sockets
GNU_CONFIGURE= yes
diff --git a/net/libsocket++/distinfo b/net/libsocket++/distinfo
index 2e2c97eaa244..bbfe65fa9a48 100644
--- a/net/libsocket++/distinfo
+++ b/net/libsocket++/distinfo
@@ -1 +1 @@
-MD5 (socket++-1.12.8.tar.gz) = 5434a145193927f330ddaf7f068cfd43
+MD5 (socket++-1.12.9.tar.gz) = 25e05957c4680d01d5a6d41b13fb182b
diff --git a/net/libsocket++/files/patch-named-sockbuf b/net/libsocket++/files/patch-named-sockbuf
deleted file mode 100644
index 605b6dcf5f75..000000000000
--- a/net/libsocket++/files/patch-named-sockbuf
+++ /dev/null
@@ -1,1347 +0,0 @@
-Index: ChangeLog
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/ChangeLog,v
-retrieving revision 1.12
-diff -u -r1.12 ChangeLog
---- ChangeLog 6 Dec 2002 17:02:33 -0000 1.12
-+++ ChangeLog 6 Mar 2003 16:37:19 -0000
-@@ -1,3 +1,9 @@
-+2003-03-06 Herbert Straub <h.straub@aon.at>
-+ * Feature: class sockbuf new methods: setname(sockname), getname
-+
-+ * Feature: all methods of class sockbuf throw error description:
-+ method name and sockname
-+
- 2002-12-06 Herbert Straub <h.straub@aon.at>
- * Bugfix: correcting the COPYING, NEWS and README3 file
-
-Index: configure.in
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/configure.in,v
-retrieving revision 1.6
-diff -u -r1.6 configure.in
---- configure.in 6 Dec 2002 17:02:33 -0000 1.6
-+++ configure.in 6 Mar 2003 15:39:52 -0000
-@@ -12,7 +12,7 @@
- # ? :+1 : ? == just some internal changes, nothing breaks but might work
- # better
- # CURRENT : REVISION : AGE
--LIBSOCKET_SO_VERSION=0:0:0
-+LIBSOCKET_SO_VERSION=1:0:0
-
- SOCKET_VERSION=1.12.8
- AC_SUBST(SOCKET_VERSION)
-@@ -48,7 +48,7 @@
- dnl check for header files
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
--AC_CHECK_HEADERS(string.h memory.h)
-+AC_CHECK_HEADERS(string.h memory.h sstream string)
- AC_CHECK_HEADER(_G_config.h, AC_DEFINE(_S_LIBGXX))
- AC_LANG_RESTORE
- AC_HEADER_SYS_WAIT
-Index: socket++/ftp.h
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/socket++/ftp.h,v
-retrieving revision 1.1
-diff -u -r1.1 ftp.h
---- socket++/ftp.h 25 Nov 2002 11:47:51 -0000 1.1
-+++ socket++/ftp.h 9 Mar 2003 12:18:34 -0000
-@@ -11,7 +11,7 @@
- #ifndef FTP_H
- #define FTP_H
-
--#include <protocol.h>
-+#include <socket++/protocol.h>
- #ifndef WIN32
- # include <sys/param.h>
- #else
-Index: socket++/pipestream.h
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/socket++/pipestream.h,v
-retrieving revision 1.1
-diff -u -r1.1 pipestream.h
---- socket++/pipestream.h 25 Nov 2002 11:47:51 -0000 1.1
-+++ socket++/pipestream.h 9 Mar 2003 12:09:53 -0000
-@@ -11,7 +11,7 @@
- #ifndef _PIPESTREAM_H
- #define _PIPESTREAM_H
-
--#include <sockstream.h>
-+#include <socket++/sockstream.h>
-
- class ipipestream: public isockstream {
- protected:
-Index: socket++/protocol.h
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/socket++/protocol.h,v
-retrieving revision 1.1
-diff -u -r1.1 protocol.h
---- socket++/protocol.h 25 Nov 2002 11:47:51 -0000 1.1
-+++ socket++/protocol.h 9 Mar 2003 12:16:57 -0000
-@@ -11,7 +11,7 @@
- #ifndef PROTOCOL_H
- #define PROTOCOL_H
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
-
- class protocol: public iosockstream {
- public:
-Index: socket++/sockstream.cpp
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/socket++/sockstream.cpp,v
-retrieving revision 1.1
-diff -u -r1.1 sockstream.cpp
---- socket++/sockstream.cpp 25 Nov 2002 11:47:51 -0000 1.1
-+++ socket++/sockstream.cpp 11 Mar 2003 15:40:21 -0000
-@@ -62,6 +62,12 @@
-
- #include <config.h>
- #include <socket++/sockstream.h>
-+#ifdef HAVE_SSTREAM
-+#include <sstream>
-+#else
-+#include <strstream>
-+#endif
-+#include <string>
-
- #ifndef WIN32
- EXTERN_C_BEGIN
-@@ -317,9 +323,9 @@
- delete rep;
- if (c == SOCKET_ERROR)
- #ifndef WIN32
-- throw sockerr (errno, "sockbuf::~sockbuf");
-+ throw sockerr (errno, "sockbuf::~sockbuf", sockname.c_str());
- #else
-- throw sockerr(WSAGetLastError(), "sockbuf::~sockbuf");
-+ throw sockerr(WSAGetLastError(), "sockbuf::~sockbuf", sockname.c_str());
- #endif
- }
- }
-@@ -342,6 +348,13 @@
- }
- catch (int wlen) {
- // write was not completely successful
-+#ifdef HAVE_SSTREAM
-+ stringstream sb;
-+#else
-+ strstream sb;
-+#endif
-+ string err ("sockbuf::sync");
-+ err += "(" + sockname + ")";
- if (wlen) {
- // reposition unwritten chars
- char* pto = pbase ();
-@@ -350,8 +363,10 @@
- while (pfrom < pptr ()) *pto++ = *pfrom++;
- setp (pbase (), (char_type*) rep->pend);
- pbump (len);
-+ sb << " wlen=(" << wlen << ")";
-+ err += sb.rdbuf()->str();
- }
-- throw sockerr (errno, "sockbuf::sync");
-+ throw sockerr (errno, err.c_str ());
- }
-
- setp (pbase (), (char_type*) rep->pend);
-@@ -463,19 +478,19 @@
- void sockbuf::bind (sockAddr& sa)
- {
- if (::bind (rep->sock, sa.addr (), sa.size ()) == -1)
-- throw sockerr (errno, "sockbuf::bind");
-+ throw sockerr (errno, "sockbuf::bind", sockname.c_str());
- }
-
- void sockbuf::connect (sockAddr& sa)
- {
- if (::connect(rep->sock, sa.addr (), sa.size()) == -1)
-- throw sockerr (errno, "sockbuf::connect");
-+ throw sockerr (errno, "sockbuf::connect", sockname.c_str());
- }
-
- void sockbuf::listen (int num)
- {
- if (::listen (rep->sock, num) == -1)
-- throw sockerr (errno, "sockbuf::listen");
-+ throw sockerr (errno, "sockbuf::listen", sockname.c_str());
- }
-
- sockbuf::sockdesc sockbuf::accept (sockAddr& sa)
-@@ -484,7 +499,7 @@
- int soc = -1;
- if ((soc = ::accept (rep->sock, sa.addr (), (socklen_t*) // LN
- &len)) == -1)
-- throw sockerr (errno, "sockbuf::sockdesc");
-+ throw sockerr (errno, "sockbuf::sockdesc", sockname.c_str());
- return sockdesc (soc);
- }
-
-@@ -492,42 +507,43 @@
- {
- int soc = -1;
- if ((soc = ::accept (rep->sock, 0, 0)) == -1)
-- throw sockerr (errno, "sockbuf::sockdesc");
-+ throw sockerr (errno, "sockbuf::sockdesc", sockname.c_str());
- return sockdesc (soc);
- }
-
- int sockbuf::read (void* buf, int len)
- {
-- if (rep->rtmo != -1 && is_readready (rep->rtmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::read");
-+ if (rep->rtmo != -1 && is_readready (rep->rtmo)==0) {
-+ throw sockerr (ETIMEDOUT, "sockbuf::read", sockname.c_str());
-+ }
-
- if (rep->oob && atmark ())
- throw sockoob ();
-
- int rval = 0;
- if ((rval = ::read (rep->sock, (char*) buf, len)) == -1)
-- throw sockerr (errno, "sockbuf::read");
-+ throw sockerr (errno, "sockbuf::read", sockname.c_str());
- return rval;
- }
-
- int sockbuf::recv (void* buf, int len, int msgf)
- {
- if (rep->rtmo != -1 && is_readready (rep->rtmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::recv");
-+ throw sockerr (ETIMEDOUT, "sockbuf::recv", sockname.c_str());
-
- if (rep->oob && atmark ())
- throw sockoob ();
-
- int rval = 0;
- if ((rval = ::recv (rep->sock, (char*) buf, len, msgf)) == -1)
-- throw sockerr (errno, "sockbuf::recv");
-+ throw sockerr (errno, "sockbuf::recv", sockname.c_str());
- return rval;
- }
-
- int sockbuf::recvfrom (sockAddr& sa, void* buf, int len, int msgf)
- {
- if (rep->rtmo != -1 && is_readready (rep->rtmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::recvfrom");
-+ throw sockerr (ETIMEDOUT, "sockbuf::recvfrom", sockname.c_str());
-
- if (rep->oob && atmark ())
- throw sockoob ();
-@@ -538,7 +554,7 @@
- if ((rval = ::recvfrom (rep->sock, (char*) buf, len,
- msgf, sa.addr (), (socklen_t*) // LN
- &sa_len)) == -1)
-- throw sockerr (errno, "sockbuf::recvfrom");
-+ throw sockerr (errno, "sockbuf::recvfrom", sockname.c_str());
- return rval;
- }
-
-@@ -547,7 +563,7 @@
- // of sockerr.
- {
- if (rep->stmo != -1 && is_writeready (rep->stmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::write");
-+ throw sockerr (ETIMEDOUT, "sockbuf::write", sockname.c_str());
-
- int wlen=0;
- while(len>0) {
-@@ -564,7 +580,7 @@
- // of sockerr.
- {
- if (rep->stmo != -1 && is_writeready (rep->stmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::send");
-+ throw sockerr (ETIMEDOUT, "sockbuf::send", sockname.c_str());
-
- int wlen=0;
- while(len>0) {
-@@ -581,7 +597,7 @@
- // of sockerr.
- {
- if (rep->stmo != -1 && is_writeready (rep->stmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::sendto");
-+ throw sockerr (ETIMEDOUT, "sockbuf::sendto", sockname.c_str());
-
- int wlen=0;
- while(len>0) {
-@@ -600,13 +616,13 @@
- int sockbuf::recvmsg (msghdr* msg, int msgf)
- {
- if (rep->rtmo != -1 && is_readready (rep->rtmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::recvmsg");
-+ throw sockerr (ETIMEDOUT, "sockbuf::recvmsg", sockname.c_str());
-
- if (rep->oob && atmark ())
- throw sockoob ();
-
- int rval = ::recvmsg(rep->sock, msg, msgf);
-- if (rval == -1) throw sockerr (errno, "sockbuf::recvmsg");
-+ if (rval == -1) throw sockerr (errno, "sockbuf::recvmsg", sockname.c_str());
- return rval;
- }
-
-@@ -615,7 +631,7 @@
- // of sockerr.
- {
- if (rep->stmo != -1 && is_writeready (rep->stmo)==0)
-- throw sockerr (ETIMEDOUT, "sockbuf::sendmsg");
-+ throw sockerr (ETIMEDOUT, "sockbuf::sendmsg", sockname.c_str());
-
- int wlen = ::sendmsg (rep->sock, msg, msgf);
- if (wlen == -1) throw 0;
-@@ -648,7 +664,7 @@
- tv.tv_usec = wp_usec;
-
- int ret = select (rep->sock+1, &fds, 0, 0, (wp_sec == -1) ? 0: &tv);
-- if (ret == -1) throw sockerr (errno, "sockbuf::is_readready");
-+ if (ret == -1) throw sockerr (errno, "sockbuf::is_readready", sockname.c_str());
- return ret;
- }
-
-@@ -663,7 +679,7 @@
- tv.tv_usec = wp_usec;
-
- int ret = select (rep->sock+1, 0, &fds, 0, (wp_sec == -1) ? 0: &tv);
-- if (ret == -1) throw sockerr (errno, "sockbuf::is_writeready");
-+ if (ret == -1) throw sockerr (errno, "sockbuf::is_writeready", sockname.c_str());
- return ret;
- }
-
-@@ -678,7 +694,7 @@
- tv.tv_usec = wp_usec;
-
- int ret = select (rep->sock+1, 0, 0, &fds, (wp_sec == -1) ? 0: &tv);
-- if (ret == -1) throw sockerr (errno, "sockbuf::is_exceptionpending");
-+ if (ret == -1) throw sockerr (errno, "sockbuf::is_exceptionpending", sockname.c_str());
- return ret;
- }
-
-@@ -698,21 +714,21 @@
- shutdown (shut_write);
- break;
- }
-- if (::shutdown(rep->sock, sh) == -1) throw sockerr (errno, "sockbuf::shutdown");
-+ if (::shutdown(rep->sock, sh) == -1) throw sockerr (errno, "sockbuf::shutdown", sockname.c_str());
- }
-
- int sockbuf::getopt (int op, void* buf, int len, int level) const
- {
- if (::getsockopt (rep->sock, level, op, (char*) buf, (socklen_t*) // LN
- &len) == -1)
-- throw sockerr (errno, "sockbuf::getopt");
-+ throw sockerr (errno, "sockbuf::getopt", sockname.c_str());
- return len;
- }
-
- void sockbuf::setopt (int op, void* buf, int len, int level) const
- {
- if (::setsockopt (rep->sock, level, op, (char*) buf, len) == -1)
-- throw sockerr (errno, "sockbuf::setopt");
-+ throw sockerr (errno, "sockbuf::setopt", sockname.c_str());
- }
-
- sockbuf::type sockbuf::gettype () const
-@@ -884,11 +900,11 @@
- #ifndef WIN32
- int arg;
- if (::ioctl (rep->sock, SIOCATMARK, &arg) == -1)
-- throw sockerr (errno, "sockbuf::atmark");
-+ throw sockerr (errno, "sockbuf::atmark", sockname.c_str());
- #else
- unsigned long arg = 0;
- if (::ioctlsocket(rep->sock, SIOCATMARK, &arg) == SOCKET_ERROR)
-- throw sockerr (WSAGetLastError(), "sockbuf::atmark");
-+ throw sockerr (WSAGetLastError(), "sockbuf::atmark", sockname.c_str());
- #endif // !WIN32
- return arg!=0;
- }
-@@ -900,7 +916,7 @@
- {
- int arg;
- if (::ioctl (rep->sock, SIOCGPGRP, &arg) == -1)
-- throw sockerr (errno, "sockbuf::pgrp");
-+ throw sockerr (errno, "sockbuf::pgrp", sockname.c_str());
- return arg;
- }
-
-@@ -910,7 +926,7 @@
- {
- int old = pgrp ();
- if (::ioctl (rep->sock, SIOCSPGRP, &new_pgrp) == -1)
-- throw sockerr (errno, "sockbuf::pgrp");
-+ throw sockerr (errno, "sockbuf::pgrp", sockname.c_str());
- return old;
- }
-
-@@ -920,10 +936,10 @@
- {
- if (set) {
- if (::ioctl (rep->sock, FIOCLEX, 0) == -1)
-- throw sockerr (errno, "sockbuf::closeonexec");
-+ throw sockerr (errno, "sockbuf::closeonexec", sockname.c_str());
- } else {
- if (::ioctl (rep->sock, FIONCLEX, 0) == -1)
-- throw sockerr (errno, "sockbuf::closeonexec");
-+ throw sockerr (errno, "sockbuf::closeonexec", sockname.c_str());
- }
- }
- #endif // !WIN32
-@@ -935,10 +951,10 @@
- long arg;
- #ifndef WIN32
- if (::ioctl (rep->sock, FIONREAD, &arg) == -1)
-- throw sockerr (errno, "sockbuf::nread");
-+ throw sockerr (errno, "sockbuf::nread", sockname.c_str());
- #else
- if (::ioctlsocket (rep->sock, FIONREAD, (unsigned long *) &arg) == SOCKET_ERROR)
-- throw sockerr (WSAGetLastError(), "sockbuf::nread");
-+ throw sockerr (WSAGetLastError(), "sockbuf::nread", sockname.c_str());
- #endif // !WIN32
- return arg;
- }
-@@ -959,11 +975,11 @@
- #ifndef WIN32
- int arg = set;
- if (::ioctl (rep->sock, FIONBIO, &arg) == -1)
-- throw sockerr (errno, "sockbuf::nbio");
-+ throw sockerr (errno, "sockbuf::nbio", sockname.c_str());
- #else
- unsigned long arg = (set)?1:0;
- if (::ioctlsocket (rep->sock, FIONBIO, &arg) == -1)
-- throw sockerr (WSAGetLastError(), "sockbuf::nbio");
-+ throw sockerr (WSAGetLastError(), "sockbuf::nbio", sockname.c_str());
- #endif // !WIN32
- }
-
-@@ -974,7 +990,7 @@
- {
- int arg = set;
- if (::ioctl (rep->sock, FIOASYNC, &arg) == -1)
-- throw sockerr (errno, "sockbuf::async");
-+ throw sockerr (errno, "sockbuf::async", sockname.c_str());
- }
- #endif // !WIN32
-
-Index: socket++/sockstream.h
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/socket++/sockstream.h,v
-retrieving revision 1.1
-diff -u -r1.1 sockstream.h
---- socket++/sockstream.h 25 Nov 2002 11:47:51 -0000 1.1
-+++ socket++/sockstream.h 11 Mar 2003 15:42:14 -0000
-@@ -26,6 +26,9 @@
- //
- // Version: 1.2 2002-07-25 Herbert Straub
- // Improved Error Handling - extending the sockerr class by cOperation
-+// 2003-03-06 Herbert Straub
-+// adding sockbuf::getname und setname (sockname)
-+// sockbuf methods throw method name + sockname
-
- #ifndef _SOCKSTREAM_H
- #define _SOCKSTREAM_H
-@@ -35,6 +38,7 @@
- #include <ctype.h>
- #include <stdio.h>
- #include <string.h>
-+#include <string>
- #include <cstdio>
- #ifndef WIN32
- # include <sys/types.h>
-@@ -47,8 +51,6 @@
- # pragma comment(lib, "Wininet")
- #endif
-
--#define ERRTXT_LENGTH 50
--
- using namespace std;
-
- #ifdef __linux__
-@@ -58,22 +60,32 @@
- // socket exception classes
- class sockerr {
- int err;
-- char cOperation[ERRTXT_LENGTH];
-+ string text;
- public:
- sockerr (int e, const char *operation = NULL): err (e) {
-- if (operation == NULL) {
-- cOperation[0] = '\0';
-- } else if (strlen (operation) < sizeof (cOperation)-1) {
-- strcpy (cOperation, operation);
-- } else {
-- strncpy (cOperation, operation, sizeof(cOperation)-1);
-- cOperation[sizeof(cOperation)-1] = '\0';
-+ if (operation != NULL) {
-+ text = operation;
-+ }
-+ }
-+ sockerr (int e, const char *operation, const char *specification) {
-+ if (operation != NULL)
-+ text = operation;
-+ if (specification != NULL) {
-+ text += "(";
-+ text += specification;
-+ text += ")";
- }
--
-+ }
-+ sockerr (int e, const string &operation): err (e) {
-+ text = operation;
-+ }
-+ sockerr (const sockerr &O) {
-+ err = O.err;
-+ text = O.text;
- }
-
- const char* what () const { return "sockerr"; }
-- const char* operation () const { return cOperation; }
-+ const char* operation () const { return text.c_str(); }
-
- // int errno () const { return err; }
- int serrno () const { return err; } // LN
-@@ -187,6 +199,7 @@
- };
-
- sockcnt* rep; // counts the # refs to sock
-+ string sockname; // name of sockbuf - Herbert Straub
-
- #if 0
- virtual sockbuf* setbuf (char_type* s, int_type* n);
-@@ -283,7 +296,11 @@
- bool atmark () const;
- long nread () const;
- long howmanyc () const;
-- void nbio (bool set=true) const;
-+ void nbio (bool set=true) const;
-+ inline void setname (const char *name);
-+ inline void setname (const string &name);
-+ inline const string& getname ();
-+
- #ifndef WIN32
- void async (bool set=true) const;
- int pgrp () const;
-@@ -328,5 +345,20 @@
- // manipulators
- extern osockstream& crlf (osockstream&);
- extern osockstream& lfcr (osockstream&);
-+
-+// inline
-+
-+void sockbuf::setname (const char *name)
-+{
-+ sockname = name;
-+}
-+void sockbuf::setname (const string &name)
-+{
-+ sockname = name;
-+}
-+const string& sockbuf::getname ()
-+{
-+ return sockname;
-+}
-
- #endif // _SOCKSTREAM_H
-Index: socket++/sockunix.h
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/socket++/sockunix.h,v
-retrieving revision 1.1
-diff -u -r1.1 sockunix.h
---- socket++/sockunix.h 25 Nov 2002 11:47:51 -0000 1.1
-+++ socket++/sockunix.h 9 Mar 2003 12:02:36 -0000
-@@ -11,7 +11,7 @@
- #ifndef _SOCKUNIX_H
- #define _SOCKUNIX_H
-
--#include <sockstream.h>
-+#include <socket++/sockstream.h>
- #include <sys/un.h>
-
- class sockunixaddr: public sockAddr, public sockaddr_un {
-Index: test/Makefile.in
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/Makefile.in,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 Makefile.in
---- test/Makefile.in 8 Oct 2002 11:47:58 -0000 1.1.1.2
-+++ test/Makefile.in 11 Mar 2003 16:45:06 -0000
-@@ -7,7 +7,7 @@
- CXXFLAGS = @CXXFLAGS@
- LDFLAGS = @LDFLAGS@
-
--LIBS = -L$(srcdir)/.. -lsocket++ @NETWORK_LIBS@
-+LIBS = -L$(srcdir)/.. -L$(srcdir)/../socket++/.libs -lsocket++ @NETWORK_LIBS@
-
- TESTSRCS = tdunread.C tdunwrite.C \
- tdinread.C tdinwrite.C \
-@@ -29,7 +29,8 @@
- tcftp.C \
- tbind-0.C tbind-1.C \
- tsig-0.C \
-- test_sockerr.C
-+ test_sockerr.C \
-+ simple_httpd.C
-
- TESTOBJS = $(TESTSRCS:.C=.o)
- TESTS = $(TESTSRCS:.C=)
-@@ -39,7 +40,7 @@
- .SUFFIXES: .o .C .cc
-
- .cc.o .C.o:
-- $(CXX) -c $(CXXFLAGS) -I$(srcdir) -I$(srcdir)/.. $<
-+ $(CXX) -c $(CXXFLAGS) -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/socket++ $<
-
- .PHONY: check
- check: testall.out
-Index: test/simple_httpd.C
-===================================================================
-RCS file: test/simple_httpd.C
-diff -N test/simple_httpd.C
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ test/simple_httpd.C 11 Mar 2003 16:39:54 -0000
-@@ -0,0 +1,150 @@
-+/* simple_httpd.C
-+ * -- Copyright (C) 2003 by Herbert Straub
-+ *
-+ * This program 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 Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or 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 this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#include <config.h>
-+#include <socket++/fork.h>
-+#include <socket++/sig.h>
-+#include <socket++/sockinet.h>
-+#include <sys/stat.h>
-+#include <iostream>
-+#include <fstream>
-+#ifdef HAVE_SSTREAM
-+#include <sstream>
-+#else
-+#include <strstream>
-+#endif
-+
-+int process_request (iosockinet *sock);
-+void get_filesize (const char *name, string &buffer);
-+
-+int main (int argc, char **argv)
-+{
-+ class hnd: public sig::hnd {
-+ public:
-+ int id;
-+ hnd (int signo): sig::hnd (signo), id (signo) {};
-+ hnd (int signo, int i): sig::hnd (signo), id (1) {};
-+ void operator () (int s) {
-+ cout << "handler for " << id << endl;
-+ }
-+ };
-+ sockinetbuf sin (sockbuf::sock_stream);
-+ Fork *pF;
-+
-+ sin.bind ();
-+
-+ cout << "localhost = " << sin.localhost() << endl;
-+ cout << "localport = " << sin.localport() << endl;
-+
-+ sin.listen ();
-+
-+ for (;;) {
-+ iosockinet *sock;
-+ sock = new iosockinet (sin.accept ());
-+ pF = new Fork (0, 1);
-+ if (pF->is_child ()) {
-+ sock->rdbuf()->keepalive (1);
-+ process_request (sock);
-+ return (0);
-+ }
-+ }
-+}
-+
-+int process_request (iosockinet *sock)
-+{
-+ string buffer;
-+ string filename;
-+ ifstream file;
-+
-+ try {
-+ while (1) {
-+ getline (*sock, buffer);
-+ buffer[buffer.length()-1] = '\n';
-+ cout << "buffer: " << buffer << endl;
-+ if (sock->eof())
-+ break;
-+ if (buffer.compare (0, 4, "quit") == 0)
-+ break;
-+ if (buffer.length() == 0)
-+ break;
-+ if (buffer[0] == '\n')
-+ break;
-+ if (buffer.compare (0, 3, "GET") == 0)
-+ filename.assign (buffer, 4, buffer.rfind (" HTTP")-3);
-+ }
-+ }
-+ catch (sockerr s) {
-+ cout << "catched " << endl;
-+ goto END;
-+ }
-+
-+ //filename.insert (0, ".");
-+ filename.replace (filename.length()-1, 1, "");
-+ cout << "Filename: " << filename << endl;
-+ file.open (filename.c_str());
-+ if (file.bad() || !file.is_open() || !file.good()) {
-+ cout << "Error opening file: " << filename << endl;
-+ goto END;
-+ }
-+ *sock << "HTTP/1.1 200 OK\r\n";
-+ *sock << "Server: socket++ Testserver\r\n";
-+ get_filesize (filename.c_str(), buffer);
-+ *sock << "Content-Length: " << buffer << "\r\n";
-+ *sock << "Connection: close\r\n";
-+ *sock << "Content-Type: plain/text; charset=iso-8859-1\r\n";
-+ *sock << "\r\n";
-+ sock->flush();
-+ try {
-+ for (getline(file, buffer); !file.eof(); getline(file,buffer)) {
-+ cout << "Sending Buffer: " << buffer << endl;
-+ *sock << buffer << "\r\n";
-+ }
-+ sock->flush();
-+ }
-+ catch (sockerr e) {
-+ cout << "Catched sockerr" << endl;
-+ }
-+ file.close ();
-+END:
-+ try {
-+ sock->rdbuf()->shutdown(sockbuf::shut_readwrite);
-+ }
-+ catch (...)
-+ {
-+ // if the client break the connection, then
-+ // the shutdown method throws sockerr
-+ }
-+ delete sock;
-+
-+ return 0;
-+}
-+
-+void get_filesize (const char *name, string &buffer)
-+{
-+ struct stat buf;
-+#ifdef HAVE_SSTREAM
-+ stringstream sb;
-+#else
-+ strstream sb;
-+#endif
-+
-+ if (stat (name, &buf) == -1)
-+ buf.st_size = 0;
-+ sb << buf.st_size;
-+ buffer = sb.rdbuf()->str();
-+}
-Index: test/tbind-0.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tbind-0.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tbind-0.C
---- test/tbind-0.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tbind-0.C 9 Mar 2003 12:19:06 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
-
- int main ()
- {
-Index: test/tbind-1.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tbind-1.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tbind-1.C
---- test/tbind-1.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tbind-1.C 9 Mar 2003 12:19:25 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
-
- int main ()
- {
-Index: test/tcecho.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tcecho.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tcecho.C
---- test/tcecho.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tcecho.C 9 Mar 2003 12:17:17 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <echo.h>
-+#include <socket++/echo.h>
- #include <stdlib.h>
-
- int main (int ac, char** av)
-Index: test/tcftp.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tcftp.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tcftp.C
---- test/tcftp.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tcftp.C 9 Mar 2003 12:18:10 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <ftp.h>
-+#include <socket++/ftp.h>
-
- // sunos does not prototype this in stdio.h
- extern "C" char* getpass (char* prompt);
-Index: test/tcsmtp.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tcsmtp.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tcsmtp.C
---- test/tcsmtp.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tcsmtp.C 9 Mar 2003 12:17:43 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <smtp.h>
-+#include <socket++/smtp.h>
- #include <stdio.h>
- #include <pwd.h>
- #include <unistd.h>
-Index: test/tdinread.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tdinread.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tdinread.C
---- test/tdinread.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tdinread.C 9 Mar 2003 12:03:13 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
-
- int main(int ac, char** av)
- {
-Index: test/tdinwrite.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tdinwrite.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tdinwrite.C
---- test/tdinwrite.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tdinwrite.C 9 Mar 2003 12:03:35 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <stdlib.h>
- #include <unistd.h>
-
-Index: test/tdunread.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tdunread.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tdunread.C
---- test/tdunread.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tdunread.C 9 Mar 2003 12:05:21 -0000
-@@ -8,7 +8,8 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockunix.h>
-+#include <iostream>
-+#include <socket++/sockunix.h>
- #include <unistd.h>
- #include <stdio.h> // solaris2.3 perror is here
- #include <sys/stat.h> // solaris 2.3 chmod is here
-Index: test/tdunwrite.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tdunwrite.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tdunwrite.C
---- test/tdunwrite.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tdunwrite.C 9 Mar 2003 12:02:55 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockunix.h>
-+#include <socket++/sockunix.h>
- #include <stdlib.h>
-
- void terminate (void) { exit (1); }
-Index: test/test_sockerr.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/test_sockerr.C,v
-retrieving revision 1.1
-diff -u -r1.1 test_sockerr.C
---- test/test_sockerr.C 8 Oct 2002 12:37:31 -0000 1.1
-+++ test/test_sockerr.C 9 Mar 2003 12:20:20 -0000
-@@ -17,7 +17,9 @@
- */
-
-
--#include <sockstream.h>
-+#include <socket++/sockstream.h>
-+
-+void f1 ();
-
- main ()
- {
-@@ -31,4 +33,18 @@
- } catch (...) {
- cout << "Catching void" << endl;
- }
-+
-+ try {
-+ f1();
-+ } catch (sockerr e) {
-+ cout << "Catching sockeer with " << e.serrno () << " and "
-+ << e.operation () << endl;
-+ } catch (...) {
-+ cout << "Catching void" << endl;
-+ }
-+}
-+
-+void f1 ()
-+{
-+ throw (sockerr (311, "Test Error", "f1"));
- }
-Index: test/testall.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/testall.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 testall.C
---- test/testall.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/testall.C 9 Mar 2003 12:12:19 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <pipestream.h>
-+#include <socket++/pipestream.h>
- #include <unistd.h>
- #include <stdio.h>
-
-Index: test/tfork.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tfork.C,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 tfork.C
---- test/tfork.C 8 Oct 2002 11:47:58 -0000 1.1.1.2
-+++ test/tfork.C 9 Mar 2003 12:14:58 -0000
-@@ -8,7 +8,7 @@
- // Version: 12Jan97 1.11
-
- #include <iostream>
--#include <Fork.h>
-+#include <socket++/fork.h>
-
- using namespace std;
-
-Index: test/tfork0.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tfork0.C,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 tfork0.C
---- test/tfork0.C 8 Oct 2002 11:47:58 -0000 1.1.1.2
-+++ test/tfork0.C 9 Mar 2003 12:15:26 -0000
-@@ -8,7 +8,7 @@
- // Version: 12Jan97 1.11
-
- #include <iostream>
--#include <Fork.h>
-+#include <socket++/fork.h>
-
- using namespace std;
-
-Index: test/thostnames.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/thostnames.C,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 thostnames.C
---- test/thostnames.C 8 Oct 2002 11:47:58 -0000 1.1.1.2
-+++ test/thostnames.C 9 Mar 2003 12:14:05 -0000
-@@ -26,7 +26,7 @@
- // Test bind and improved Error Handling
-
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <ctype.h>
- #include <string.h>
-
-@@ -51,7 +51,9 @@
- return 1;
- }
-
-+ sio.rdbuf()->setname ("Testsocket");
- cout << "rdbuf: " << (unsigned int) sio.rdbuf() << "\n";
-+ cout << "socketname: " << sio.rdbuf()->getname() << endl;
-
- try {
- sockinetaddr addrInterface (av[3]);
-Index: test/tnntp.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tnntp.C,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 tnntp.C
---- test/tnntp.C 8 Oct 2002 11:47:58 -0000 1.1.1.2
-+++ test/tnntp.C 9 Mar 2003 12:13:04 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <stdlib.h>
-
- static int send_cmd(const char*, iosockstream&);
-@@ -16,7 +16,7 @@
- int main()
- {
- iosockinet sio(sockbuf::sock_stream);
-- sio->connect("news.xund.magwien.gv.at", "nntp", "tcp");
-+ sio->connect("localhost", "nntp", "tcp");
-
- send_cmd(0, sio);
-
-Index: test/tpipe.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tpipe.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tpipe.C
---- test/tpipe.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tpipe.C 9 Mar 2003 12:09:24 -0000
-@@ -8,7 +8,8 @@
- //
- // Version: 12Jan97 1.11
-
--#include <pipestream.h>
-+#include <socket++/pipestream.h>
-+#include <iostream>
-
-
- int main(int ac, char** av)
-Index: test/tpopen-ftp.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tpopen-ftp.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tpopen-ftp.C
---- test/tpopen-ftp.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tpopen-ftp.C 9 Mar 2003 12:11:49 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <pipestream.h>
-+#include <socket++/pipestream.h>
-
- int main()
- {
-Index: test/tpopen-lpc.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tpopen-lpc.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tpopen-lpc.C
---- test/tpopen-lpc.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tpopen-lpc.C 9 Mar 2003 12:11:01 -0000
-@@ -7,7 +7,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <pipestream.h>
-+#include <socket++/pipestream.h>
-
- int main()
- {
-Index: test/tpopen.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tpopen.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tpopen.C
---- test/tpopen.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tpopen.C 9 Mar 2003 12:10:39 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <pipestream.h>
-+#include <socket++/pipestream.h>
- #include <unistd.h>
-
- int main()
-Index: test/tsecho.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsecho.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsecho.C
---- test/tsecho.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsecho.C 9 Mar 2003 12:15:59 -0000
-@@ -11,7 +11,7 @@
- // Version: 12Jan97 1.11
-
-
--#include <echo.h>
-+#include <socket++/echo.h>
- #include <stdlib.h>
-
- int main (int ac, char** av)
-Index: test/tsendfiles.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsendfiles.C,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 tsendfiles.C
---- test/tsendfiles.C 8 Oct 2002 11:47:58 -0000 1.1.1.2
-+++ test/tsendfiles.C 9 Mar 2003 12:13:45 -0000
-@@ -9,7 +9,7 @@
-
-
- #include <fstream>
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <pwd.h>
- #include <stdio.h>
- #include <unistd.h>
-Index: test/tsig-0.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsig-0.C,v
-retrieving revision 1.3
-diff -u -r1.3 tsig-0.C
---- test/tsig-0.C 15 Nov 2002 21:32:22 -0000 1.3
-+++ test/tsig-0.C 9 Mar 2003 13:44:59 -0000
-@@ -7,7 +7,7 @@
- // with no express or implied warranty.
-
- #include <iostream>
--#include <sig.h>
-+#include <socket++/sig.h>
- #include <unistd.h>
-
- using namespace std;
-Index: test/tsinread.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsinread.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsinread.C
---- test/tsinread.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsinread.C 9 Mar 2003 12:07:28 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <unistd.h>
-
- static void process_input (iosockinet& s);
-Index: test/tsinwrite.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsinwrite.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsinwrite.C
---- test/tsinwrite.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsinwrite.C 9 Mar 2003 12:08:17 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
-Index: test/tsmtp.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsmtp.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsmtp.C
---- test/tsmtp.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsmtp.C 11 Mar 2003 15:46:52 -0000
-@@ -7,38 +7,45 @@
- // with no express or implied warranty.
- //
- // Version: 12Jan97 1.11
-+// 2003-03-06 Herbert Straub: variable from and to
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
- #include <stdio.h>
-+#include <string>
-
- static void send_cmd(iosockstream&, const char* cmd=0);
- static void get_text(iosockstream&);
-
- int main(int ac, char** av)
- {
-- if (ac != 3) {
-- cerr << "USAGE: " << av[0] << " hostname userid\n";
-+ if (ac != 4) {
-+ cerr << "USAGE: " << av[0] << " hostname from to\n";
- return 1;
- }
-
-+ try {
- iosockinet sio (sockbuf::sock_stream);
-+ sio.rdbuf()->setname ("smtp socket");
-+ string buffer;
-
- sio->connect(av[1], "smtp", "tcp");
-
-- send_cmd(sio, 0);
-+ //send_cmd(sio, 0);
- send_cmd(sio, "HELO kelvin.seas.virginia.edu");
- send_cmd(sio, "HELP");
-- send_cmd(sio, "MAIL FROM:<test@test>");
--
-- char buf[512];
-- sprintf(buf, "RCPT TO:%s", av[2]);
-- send_cmd(sio, buf);
-+ buffer = "MAIL FROM: ";
-+ buffer += av[2];
-+ send_cmd(sio, buffer.c_str());
-+
-+ buffer = "RCPT TO: ";
-+ buffer += av[3];
-+ send_cmd(sio, buffer.c_str());
-
- send_cmd(sio, "DATA");
- cout << "terminate your input with cntrl-D\n\n";
-- while(cin.getline(buf, 511)) {
-- if (buf[0] == '.') sio << '.';
-- sio << buf << "\r\n";
-+ while(getline(cin, buffer)) {
-+ if (buffer[0] == '.') sio << '.';
-+ sio << buffer << "\r\n";
- }
- sio << "\r\n.\r\n" << flush;
- send_cmd(sio, 0);
-@@ -47,6 +54,16 @@
- send_cmd(sio, "HELP");
-
- send_cmd(sio, "QUIT");
-+ }
-+ catch (sockerr err) {
-+ cout << "catched"<< endl;
-+ cout << "catched sockerr: " << err.serrno()
-+ << " : " << err.operation ()
-+ << endl;
-+ }
-+ catch (...) {
-+ cout << "unknown exception" << endl;
-+ }
-
- return 0;
- }
-@@ -61,11 +78,17 @@
-
- void get_text(iosockstream& s)
- {
-- char buf[256];
-- int tmo = s->recvtimeout(1); // wait for 1 sec before timing out
-- while ( s.getline(buf, 255) ) {
-- if (buf[0] == '.' && buf[1] == '\r' && buf[2] == '\n') break;
-- cout << buf << endl;
-+ string buffer;
-+ int tmo = s->recvtimeout(2); // wait for 1 sec before timing out
-+ try { // FIXME: Straub debug
-+ while ( getline(s, buffer) ) {
-+ if (buffer[0] == '.' && buffer[1] == '\r' && buffer[2] == '\n')
-+ break;
-+ cout << buffer << endl;
-+ }
-+ }
-+ catch (sockerr e) {
-+ cout << "catched sockerr" << endl;
- }
- if ( !s.eof() ) s.clear();
- s->recvtimeout(tmo); //reset timeout to the previous value
-Index: test/tsockpair.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsockpair.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsockpair.C
---- test/tsockpair.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsockpair.C 9 Mar 2003 12:10:18 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <pipestream.h>
-+#include <socket++/pipestream.h>
-
- int main(int ac, char** av)
- {
-Index: test/tsunread.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsunread.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsunread.C
---- test/tsunread.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsunread.C 9 Mar 2003 12:06:46 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockunix.h>
-+#include <socket++/sockunix.h>
- #include <unistd.h>
- #include <errno.h>
- #include <sys/stat.h>
-Index: test/tsunwrite.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/tsunwrite.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 tsunwrite.C
---- test/tsunwrite.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/tsunwrite.C 9 Mar 2003 12:07:04 -0000
-@@ -8,7 +8,7 @@
- //
- // Version: 12Jan97 1.11
-
--#include <sockunix.h>
-+#include <socket++/sockunix.h>
-
- int main(int ac, char** av)
- {
-Index: test/twhois.C
-===================================================================
-RCS file: /home/stb/products/socket++/my_cvs/socket++/test/twhois.C,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 twhois.C
---- test/twhois.C 8 Oct 2002 11:43:30 -0000 1.1.1.1
-+++ test/twhois.C 9 Mar 2003 12:14:27 -0000
-@@ -8,7 +8,7 @@
- // Version: 12Jan97 1.11
-
-
--#include <sockinet.h>
-+#include <socket++/sockinet.h>
-
- int main(int ac, char** av)
- {