summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* [meson] static build option under cygwinGlenn Strauss2023-05-031-25/+43
| | | | | | - static build option under cygwin - _WIN32 build more modules with BUILD_STATIC - _WIN32 remove older build config
* [core] _WIN32 use WSASend for writev-equiv on sockGlenn Strauss2023-05-031-0/+18
| | | | https://learn.microsoft.com/en-us/windows/win32/winsock/scatter-gather-i-o-2
* [cmake] _WIN32 remove older build configGlenn Strauss2023-05-031-8/+0
| | | | (e.g. LI_DECLARE_EXPORTS is not currently used)
* [cmake] _WIN32 build more mods with BUILD_STATICGlenn Strauss2023-05-031-0/+30
|
* [core] _WIN32 scream UTF-8 at MS (does not matter)Glenn Strauss2023-05-031-0/+12
| | | | | alas, does not seem to make a difference; across many core interfaces, MS handles non-ASCII UTF-8 poorly
* [core] _WIN32 custom fs funcs on UTF-8 pathsGlenn Strauss2023-05-037-21/+148
| | | | | | | | | | | open(), stat(), mkdir() on UTF-8 paths lighttpd provides large file support and 64-bit time, so provide override to use _stati64() (and _wstati64()) Additionally, provide custom function to support stat on UTF-8 path, which must first be converted to wide-char and _wstati64(), since _stati64() is naive and does not properly support UTF-8.
* [core] _WIN32 lighttpd winsvcGlenn Strauss2023-05-033-25/+360
|
* [core] _WIN32 prefer WSAPoll()Glenn Strauss2023-05-031-3/+1
| | | | | | | | | | | | Note: TCP half-close is reported by WSAPoll() as POLLHUP event. (e.g. TCP half-close from shutdown(fd, SHUT_WR)) TODO: If performance tests of select() vs WSAPoll() do not show a a measurable difference, select() may be preferred over WSAPoll(). For now, make both "poll" and "select" available options in _WIN32. (On other platforms, lighttpd build does not built code to use select() when poll() is available on the platform.)
* [core] _WIN32 close chunk temp files before unlinkGlenn Strauss2023-05-031-0/+6
|
* [tests] _WIN32 close files before unlinkGlenn Strauss2023-05-033-8/+17
| | | | Also, adjust mod_ssi to remove assumption that "/tmp" is temp directory
* [mod_dirlisting] _WIN32 close files before unlinkGlenn Strauss2023-05-031-7/+9
|
* [mod_deflate] _WIN32 disable deflate.cache-dirGlenn Strauss2023-05-031-0/+6
| | | | | | | | _WIN32 disable deflate.cache-dir due to NTFS filesystem limitations deflate.cache-dir renames files into place and this fails if the files are open (source or destination). deflate.cache-dir would have to be reworked to fail gracefully and continue serving request if the final rename fails.
* [tests] _WIN32 cygwin test supportGlenn Strauss2023-05-032-2/+35
|
* [core] _WIN32 stat(), '/' and '\\' adjustmentsGlenn Strauss2023-05-034-8/+41
| | | | The adjustments are minimal; not intended to be complete.
* [multiple] _WIN32 use fdevent_kill()Glenn Strauss2023-05-032-18/+5
|
* [core] _WIN32 fdevent_kill()Glenn Strauss2023-05-033-2/+35
|
* [core] _WIN32 use rand_s() to init pseudo RNGGlenn Strauss2023-05-031-0/+22
|
* [core] _WIN32 use log_serror() for WSAGetLastErrorGlenn Strauss2023-05-037-43/+44
|
* [core] _WIN32 log_serror() for WSAGetLastError()Glenn Strauss2023-05-032-0/+27
|
* [core] _WIN32 log_perror() with GetLastError()Glenn Strauss2023-05-032-17/+31
|
* [core] _WIN32 reset std streams at startupGlenn Strauss2023-05-033-1/+48
|
* [multiple] __MINGW32__ missing strftime() "%F %T"Glenn Strauss2023-05-037-1/+39
| | | | mingw does not support strftime() "%F %T"
* [build] _WIN32 mingw buildGlenn Strauss2023-05-034-6/+18
| | | | use -lws2_32 instead of -lwsock32
* [tests] _WIN32 use TMPDIR (or TEMP) for test filesGlenn Strauss2023-05-033-27/+71
|
* [core] _WIN32 casts to quiet some VS warningsGlenn Strauss2023-05-032-1/+5
|
* [core] _WIN32 rename __WIN32 to _WIN32Glenn Strauss2023-05-038-16/+16
|
* [core] _WIN32 basic (very limited) getopt() implGlenn Strauss2023-05-031-1/+63
|
* [core] _WIN32 alternative fdarray for WindowsGlenn Strauss2023-05-036-10/+131
| | | | | | | | | | | | | | | | | | | _WIN32 SOCKET (long long unsigned) handles are assigned differently from how POSIX allocates file descriptors (lowest number available). On _WIN32, the SOCKET descriptor should not be used to index an array of (fdnode *), so this commit provides an alternative method to store (fdnode *) for use by select() and by WSAPoll(). select(): commonly used unix select() idioms may be incorrect on _WIN32 https://devblogs.microsoft.com/oldnewthing/20221102-00/?p=107343 https://devblogs.microsoft.com/oldnewthing/20161221-00/?p=94985 WSAPoll(): https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsapoll As of Windows 10 version 2004, when a TCP socket fails to connect, (POLLHUP | POLLERR | POLLWRNORM) is indicated. (note: this was broken in WSAPoll() in all earlier Windows versions)
* [core] _WIN32 clock ticks and timeGlenn Strauss2023-05-035-1/+28
|
* [mod_cgi] _WIN32 use socketpair instead of pipeGlenn Strauss2023-05-032-33/+68
| | | | _WIN32 select(), WSAPoll() operate only on sockets
* [core] _WIN32 check WSAGetLastError() w/ socketsGlenn Strauss2023-05-036-8/+108
| | | | | | | check WSAGetLastError() after socket operations return non-zero Notably, MS winsock2 returns WSAEWOULDBLOCK instead of WSAEINPROGRESS for connect() if socket is configured nonblocking
* [core] _WIN32 socket-compat, filesystem-compatGlenn Strauss2023-05-0313-82/+326
| | | | | | | | | | | | | | | | | | | | _WIN32 is sufficiently different -- *different*; not better -- that isolating _WIN32 code is clearer than #ifdef _WIN32 in almost every func in fdevent.c _WIN32-specific fdevent_socket_* funcs _WIN32 SOCKET fds must be closed with closesocket(), not close() _WIN32 HANDLE_FLAG_INHERIT for FD_CLOEXEC _WIN32 use _sopen_s() without _O_TEMPORARY Use _sopen_s() without _O_TEMPORARY in fdevent_mkostemp(). _O_TEMPORARY would remove file once last handle to file is closed. Temporary files in chunkqueue may be closed for large request/response _WIN32 fdevent_rename() using MoveFileExA _WIN32 rename() fails if the target file already exists. Alternatives are MoveFileExA() or ReplaceFileA(). Both of the above fail if either oldfile or newfile are open, so - not atomic - may fail sporadically
* [core] _WIN32 fdevent_createprocess()Glenn Strauss2023-05-036-10/+483
|
* [core] _WIN32 implementation of socketpair()Glenn Strauss2023-05-035-0/+306
|
* [core] _WIN32 sys-wait.h to wrap <sys/wait.h>Glenn Strauss2023-05-037-10/+42
|
* [core] _WIN32 sys-unistd.h to wrap <unistd.h>Glenn Strauss2023-05-0330-45/+125
| | | | (selective implementations; not complete)
* [multiple] _WIN32 Find*File() sys-dirent.hGlenn Strauss2023-05-034-24/+193
| | | | _WIN32 FindFirstFile(), FindNextFile(), FindClose()
* [mod_dirlisting] _WIN32 Find*File()Glenn Strauss2023-05-031-8/+119
| | | | _WIN32 FindFirstFile(), FindNextFile(), FindClose()
* [core] _WIN32 use gmtime_s(), localtime_s()Glenn Strauss2023-05-031-0/+8
|
* [core] _WIN32 minimal glob() impl for configfile.cGlenn Strauss2023-05-031-0/+106
| | | | _WIN32 minimal glob() impl for configfile.c:config_parse_file()
* [multiple] _WIN32 misc compatGlenn Strauss2023-05-033-2/+67
| | | | | | | Use #define __USE_MINGW_ANSI_STDIO 1 to use __mingw_printf() to support %lld %zu and other C11 stdio support msvcrt.dll only supports C89, and has not been linked into dlls by MS since VC++ 6
* [core] _WIN32 signal-related compatGlenn Strauss2023-05-034-5/+101
| | | | Note: behavior under bash.exe might be different than under cmd.exe
* [core] _WIN32 uid, gid compatGlenn Strauss2023-05-032-0/+12
|
* [multiple] _WIN32 stat() compat sys-stat.hGlenn Strauss2023-05-0313-31/+195
| | | | | | | no lstat() no S_IFSOCK no S_ISSOCK() ...
* [multiple] _WIN32 protect code w/ HAVE_SYS_UN_HGlenn Strauss2023-05-032-1/+10
|
* [core] _WIN32 protect code w/ HAVE_IPV6Glenn Strauss2023-05-033-0/+14
|
* [multiple] _WIN32 protect code w/ HAVE_FORKGlenn Strauss2023-05-033-1/+20
| | | | wrap fork() and kill()
* [multiple] _WIN32 protect code w/ HAVE_SYSLOG_HGlenn Strauss2023-05-033-0/+8
|
* [core] _WIN32 impl of setenv(), unsetenv()Glenn Strauss2023-05-032-0/+16
|
* [core] _WIN32 port compatibility headersGlenn Strauss2023-05-034-0/+586
| | | | | | sys/queue.h LICENSE: BSD 3-clause (not _WIN32 specific)