Marc Hoersken
4e2ed01a2e
sockfilt.c: Fixed detection of client-side connection close
...
WINSOCK only:
Since FD_CLOSE is only signaled once, it may trigger at the same
time as FD_READ. Data actually being available makes it impossible
to detect that the connection was closed by checking that recv returns
zero. Another recv attempt could block the connection if it was
not closed. This workaround abuses exceptfds in conjunction with
readfds to signal that the connection has actually closed.
2013-04-06 23:09:50 +02:00
Marc Hoersken
2ba0f1373c
sockfilt.c: Reduce CPU load while running under a Windows PIPE
2013-04-06 19:05:16 +02:00
Marc Hoersken
5e722b2d09
sockfilt.c: Fixed handling of multiple fds being signaled
2013-04-05 13:33:17 +02:00
Marc Hoersken
e5d25b6c68
sockfilt.c: Added wrapper functions to fix Windows console issues
...
The new read and write wrapper functions support reading from stdin
and writing to stdout/stderr on Windows by using the appropriate
Windows API functions and data types.
2013-04-04 22:50:01 +02:00
Yang Tse
d17f536688
sockfilt.c: log file descriptor number on read/write error
2013-01-11 00:03:37 +01:00
Yang Tse
308cce8231
test servers: handle W32/W64 SIGBREAK with exit_signal_handler
2013-01-09 22:23:50 +01:00
Yang Tse
a6848250d2
test servers: fix errno, ERRNO and SOCKERRNO usage for W32/W64
2013-01-09 22:23:50 +01:00
Yang Tse
a9ca5e61e5
sockfilt.c: fix some W64 compiler warnings
2013-01-09 22:23:49 +01:00
Yang Tse
fea3a3d569
sockfilt.c: fix some compiler warnings
2013-01-08 19:51:29 +01:00
Marc Hoersken
561b551deb
tests/server/sockfilt.c: Fixed integer comparison warning
2013-01-07 07:47:54 +01:00
Marc Hoersken
6a4f5e5268
tests/server/sockfilt.c: Include required Win32 headers
2013-01-07 07:34:32 +01:00
Marc Hoersken
11f55a9672
tests/server/sockfilt.c: Fixed support for listening sockets
...
This commit fixes support for sockets that are ready to accept
a new connection and have previously been put into listening mode.
It also includes changes which are the result of investigation
regarding Windows STDIN. These changes are the preparation for further
improvements regarding support for reading data from STDIN on Windows.
Open issue: WaitForMultipleObjectsEx does not support PIPE handles
which are returned by GetStdHandle while running without a GUI.
2013-01-06 22:30:42 +01:00
Marc Hoersken
5475ac279d
tests/server/sockfilt.c: Set Windows Console to binary mode
2013-01-06 22:30:42 +01:00
Marc Hoersken
a77d18efaf
tests/server/sockfilt.c: Improved log error messages
...
Include error code and parameters in error messages.
2013-01-06 22:30:42 +01:00
Yang Tse
4a5aa6682d
Revert changes relative to lib/*.[ch] recent renaming
...
This reverts renaming and usage of lib/*.h header files done
28-12-2012, reverting 2 commits:
f871de0... build: make use of 76 lib/*.h renamed files
ffd8e12... build: rename 76 lib/*.h files
This also reverts removal of redundant include guard (redundant thanks
to changes in above commits) done 2-12-2013, reverting 1 commit:
c087374... curl_setup.h: remove redundant include guard
This also reverts renaming and usage of lib/*.c source files done
3-12-2013, reverting 3 commits:
13606bb... build: make use of 93 lib/*.c renamed files
5b6e792... build: rename 93 lib/*.c files
7d83dff... build: commit 13606bbfde
follow-up 1
Start of related discussion thread:
http://curl.haxx.se/mail/lib-2013-01/0012.html
Asking for confirmation on pushing this revertion commit:
http://curl.haxx.se/mail/lib-2013-01/0048.html
Confirmation summary:
http://curl.haxx.se/mail/lib-2013-01/0079.html
NOTICE: The list of 2 files that have been modified by other
intermixed commits, while renamed, and also by at least one
of the 6 commits this one reverts follows below. These 2 files
will exhibit a hole in history unless git's '--follow' option
is used when viewing logs.
lib/curl_imap.h
lib/curl_smtp.h
2013-01-06 18:20:27 +01:00
Yang Tse
f871de0064
build: make use of 76 lib/*.h renamed files
...
76 private header files renamed to use our standard naming scheme.
This change affects 322 files in libcurl's source tree.
2012-12-28 19:37:11 +01:00
Yang Tse
eb5aa12c8b
sockfilt.c: commit b44da5a82a
follow-up 2
2012-12-26 20:03:35 +01:00
Yang Tse
77b5c0b2cf
sockfilt.c: commit b44da5a82a
follow-up
2012-12-26 19:30:22 +01:00
Yang Tse
b44da5a82a
sockfilt.c: fix some compiler warnings
2012-12-26 17:17:52 +01:00
Marc Hoersken
4a23b19a13
socklift.c: Quick fix to re-add missing code
2012-12-25 15:18:01 +01:00
Marc Hoersken
a662f86f6f
socklift.c: Added select_ws function to support Windows
...
WinSock select() does not support standard file descriptors,
it can only check SOCKETs. The following function is an attempt
to create a select() function with support for other handles.
2012-12-25 15:15:24 +01:00
Yang Tse
a0b207164c
setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h>
...
Inclusion of top two most included header files now done in setup_once.h
2012-12-14 17:38:18 +01:00
Yang Tse
4d3fb91fb4
test servers: build adjustment
...
Undefine CURL_HIDDEN_SYMBOLS libcurl private preprocessor macro that might
leak from lib/setup.h into source files where this should not be defined.
2012-04-10 17:32:06 +02:00
Yang Tse
8bfc3a800a
FTP test server: NODATACONN commands commit c761fcb0
follow-up
...
Adjustments that make NODATACONN custom commands fully usable.
2011-10-31 07:29:13 +01:00
Yang Tse
0b315c1cf1
FTP test server: fix server unresponsiveness
...
Some torture tests left FTP test server in an unresponsive state, resulting
in torture tests that actually completed following unexpected code paths.
Changes in this commit solely address this issue and some adjustments for
ftpserver.pl logging relative to data channel establishment and tear down.
Pending NODATACONN relative adjustments reserved for a further commit.
2011-10-30 17:12:20 +01:00
Yang Tse
a768e39b2d
test servers: fix strict aliasing compiler warnings
2010-11-19 19:20:38 +01:00
Daniel Stenberg
2309b4e330
remove the CVSish $Id$ lines
2010-03-24 11:02:54 +01:00
Yang Tse
439f62bfa8
convert Curl_ultous() and Curl_ultouc() functions to curlx_ultous() and
...
curlx_ultouc(), exposing them through curlx.h to allow proper code reuse
later in our test harness.
2010-02-22 18:56:29 +00:00
Yang Tse
048438345a
fix compiler warning
2010-02-19 18:02:38 +00:00
Yang Tse
6e461e45c3
fix compiler warning
2010-02-18 12:31:24 +00:00
Yang Tse
f47b84b57f
Validate server port argument
2010-02-04 17:17:19 +00:00
Yang Tse
232d17ec64
avoid possibility of using obsoleted stuff
2010-02-02 12:39:10 +00:00
Yang Tse
1103d0c718
Update error message to include port number
2010-01-10 04:24:46 +00:00
Yang Tse
640e49976f
Fix compiler warning: loop without body
2009-10-10 12:29:32 +00:00
Yang Tse
4ea513cc38
fix compiler warning
2009-06-12 02:41:16 +00:00
Yang Tse
501e72c3de
Remove temporary debug tracing, and add nasty error explanation
2009-05-18 02:19:21 +00:00
Yang Tse
6595592a71
Add some debug tracing
2009-05-14 19:52:19 +00:00
Yang Tse
199389c94a
Fix detection of automatically choosen listener port number on IPv6 enabled builds.
2009-05-14 13:00:54 +00:00
Yang Tse
c31438b2f2
log each setsockopt/SO_REUSEADDR failure
2009-05-13 19:20:45 +00:00
Yang Tse
843f73ecaa
fix print formatting-string directives
2009-05-13 04:16:00 +00:00
Yang Tse
9137e717b0
Use build-time configured curl_socklen_t instead of socklen_t
2009-05-02 02:37:32 +00:00
Yang Tse
af41fb79b5
Include <arpa/inet.h> if HAVE_ARPA_INET_H is defined
2009-04-27 23:59:41 +00:00
Gisle Vanem
6e2f0833ad
#ifdef around variables to squelsh warnings.
2009-04-08 18:31:54 +00:00
Dan Fandrich
88513d2d1a
Fixed some compiler warnings with gcc
2008-10-01 17:34:24 +00:00
Yang Tse
57ee847ce7
Avoid the use of the '? :' operator inside the call to our
...
test-server logging function. It doesn't work on some systems.
2008-09-26 11:21:22 +00:00
Yang Tse
fe5f448015
fix compiler warning: external definition with no prior declaration
2008-09-20 12:33:02 +00:00
Yang Tse
8733e087d7
fix print formatting string directives
2008-09-04 05:29:10 +00:00
Yang Tse
6c2c281a7e
fix log message used when unable to connect to destination port
2008-03-05 18:27:31 +00:00
Yang Tse
18cbb4d7d6
signal handling to properly cleanup on SIGINT and SIGTERM
2008-02-28 10:15:21 +00:00
Yang Tse
22e84d92b7
when terminating do it falling through cleanup code
2008-02-28 10:13:07 +00:00
Yang Tse
ed63d9d4de
header inclusion cleanup
2008-02-28 00:55:06 +00:00
Yang Tse
8adc7038fe
make comment more precise
2008-02-27 14:54:18 +00:00
Yang Tse
058e764af8
all reads from stdin and writes to stdout will be retried until the
...
whole operation completes or an unrecoverable condition is detected
2008-02-26 18:13:59 +00:00
Yang Tse
0d09f342c4
refactor some code out to write_pidfile() in util.c
2008-02-26 15:06:44 +00:00
Yang Tse
1d95109ffa
Revert sockfilt.c back to revision 1.42
...
Changes introduced in revision 1.43 were useless
2008-02-22 09:31:18 +00:00
Yang Tse
064eebeaf1
Avoid timeout restart when signal caught while awaiting socket and stdin events
2008-02-20 17:17:18 +00:00
Yang Tse
9df37b93df
juggle() actually returns bool.
...
Remove redundant and unreachable log message.
2008-02-19 18:51:08 +00:00
Yang Tse
c9eb41c056
Reduce to 20 seconds the time allowed to set SO_REUSEADDR option on sockfilt listener socket.
...
Log some more error descriptions.
2008-02-18 20:13:30 +00:00
Yang Tse
23547fa2a0
sockfilt will quit when orphaned
2008-02-17 04:36:08 +00:00
Yang Tse
fecb67b246
Use a long int data type to handle getpid() result
2008-02-06 16:54:01 +00:00
Yang Tse
660c86ce95
logmsg already appends '\n'
2007-10-09 23:21:29 +00:00
Dan Fandrich
16b95fc773
Enabled a few more gcc warnings with --enable-debug. Renamed a few
...
variables to avoid shadowing global declarations.
2007-09-27 01:45:22 +00:00
Dan Fandrich
9b11a84e74
Make the ftp server connect to the address given by curl in the PORT/EPRT
...
instead of hard-coding it to 127.0.0.1
2007-09-17 18:12:11 +00:00
Dan Fandrich
5d4c981e13
Fixed a few compiler warnings. Try to do a slightly better job of
...
cleaning up after an OOM condition in curl_multi_add_handle
2007-08-30 18:26:19 +00:00
Daniel Stenberg
c347db2e0a
added a size > buffer size check to make it easier to track this in the
...
future
2007-08-22 14:09:13 +00:00
Daniel Stenberg
232a4553b8
Upped the buffer size to 17000+ bytes to prepare for the upcoming test 1003
...
that verfies ridiculously long server response lines. Also changed sprintf
to snprintf in a few places.
2007-08-22 13:57:49 +00:00
Daniel Stenberg
a53ba060c8
start the retry delay at 10 ms, double it for every failed attempt which makes
...
it 10 seconds delay after 11 attempts
2007-07-12 17:03:45 +00:00
Gunter Knauf
72bb5854f7
the timeout was probably too short with max = 1 sec, so lets test with 5 sec.
2007-07-12 10:54:15 +00:00
Gunter Knauf
0878b14f79
added time loop to sockfilt.c in order to wait for SO_REUSEADDR;
...
added go_sleep() to util.c.
2007-07-12 01:07:49 +00:00
Yang Tse
31e598d2f3
add debug messages for initialization failures
2007-02-19 02:03:58 +00:00
Yang Tse
a1d5983991
use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling
2007-02-16 18:19:35 +00:00
Yang Tse
4894ce16fc
use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling
2007-02-16 16:01:19 +00:00
Yang Tse
772a985dc3
Update copyright year, since the file has been modified
2006-10-27 03:47:57 +00:00
Yang Tse
4ec9316155
Replace is*() macros with our own IS*() ones.
2006-10-23 19:14:54 +00:00
Yang Tse
5df4be1165
Check for USE_WINSOCK instead of WIN32 where the check was done
...
to verify winsock API availability.
2006-10-18 21:05:40 +00:00
Yang Tse
e150150d9f
Remove redundant __CYGWIN__ symbol check
2006-10-11 16:01:16 +00:00
Yang Tse
5a6c89661a
Cygwin preprocessor adjustments
2006-09-12 01:17:16 +00:00
Yang Tse
ab4256d53a
Abort if unable to write pid file, and close socket when aborting.
2006-07-19 15:28:30 +00:00
Yang Tse
2aa4710745
Minor cleanup
2006-07-17 03:38:13 +00:00
Yang Tse
ccfce89423
Null terminate string in buffer before feeding it to strtol()
2006-07-14 06:31:41 +00:00
Yang Tse
498aad8587
Change to meaningful var names and take care of a compiler warning on IRIX 6.5.22 MIPSPro C 7.3 64bit
2006-07-13 18:50:51 +00:00
Yang Tse
f0694c582e
Remove var not used.
2006-07-12 10:41:07 +00:00
Yang Tse
f90f0c98d9
Log a message if not all data is sent.
2006-07-12 09:39:35 +00:00
Yang Tse
86f4cead16
sread now returns ssize_t
2006-07-12 06:14:49 +00:00
Yang Tse
58176d1484
Use platform's native types for recv() and send() arguments.
2006-07-12 05:19:00 +00:00
Daniel Stenberg
50e9522a06
silense a warning
2005-05-25 22:12:57 +00:00
Daniel Stenberg
d55d3c2fd0
nicer raw logging and put code into (nicer) functions
2005-05-25 12:04:24 +00:00
Daniel Stenberg
84fd4686e2
Moved more generic functions to util.[ch]
...
Added resolve.c to simply resolve a given host name
2005-05-17 10:22:22 +00:00
Daniel Stenberg
315a9c95d5
prevent 64bit warnings
2005-05-10 11:21:57 +00:00
Daniel Stenberg
ef5eea689a
Added an active disconnected state, to make the code clearer.
2005-05-07 13:52:07 +00:00
Daniel Stenberg
fd191deb49
removed unnecessary logging to ease REAL debuggin
2005-05-07 08:55:37 +00:00
Daniel Stenberg
366b62af2d
always use the libcurl-provided *printf() functions
2005-05-01 12:56:09 +00:00
Daniel Stenberg
23da55a9f1
Moved common code to util.[ch] instead of having it duplicated in sws.c
...
and sockfilt.c. For good-to-have functions for the servers written in C.
2005-04-30 23:30:55 +00:00
Daniel Stenberg
e5472bbd21
AF_INET6 for ipv6 addresses!
2005-04-28 14:31:25 +00:00
Daniel Stenberg
8465a367a4
listen(..., 1) as 0 doesn't work on Tru64!
2005-04-27 12:28:04 +00:00
Daniel Stenberg
4382204e1b
better fix for the socket -1 case
2005-04-18 08:59:46 +00:00
Daniel Stenberg
b62baaed95
safety measure to avoid using -1 as socket
2005-04-18 08:49:46 +00:00
Daniel Stenberg
14424f7058
Modified the FTP server to use the new 'sockfilt' program to do all the socket
...
level stuff. The FTP server communicates with sockfilt using perl's open2().
This enables easier IPv6 support and hopefully FTP-SSL support in the future.
Added four test cases for FTP-ipv6.
2005-04-18 06:57:44 +00:00