replace EWOULDBLOCK with EAGAIN default tip

add extra nullptr check in the event loop to handle the case when the finish ptr is set to NULL after it was already scheduled

fix cgi_writeevent not returning immediately when cgi IO is already done

add more debug logging to cgi_stdout_readevent

add more cgi logging

simplify ev_handle_events on linux

stop cgi read-event processing if an error occured

change nsapi_function_return behavior: move saf return to the end of the event cycle

handle eof in cgi_stdout_readevent to fix potential double free in cgi_event_finish

change execution order of event handler and event finish functions

use sigterm to kill cgi scripts

test cgi kill

handle killpg error

use SIGKILL instead of SIGTERM to cgi scripts in case of errors

kill broken cgi processes as soon as possible

log cgi pid

fix build

add more cgi debug logging

add wait_read to cgi debug logging

add workaround for blocking cgi waitpid

fix don't try to enable pollout if it is already active (cgi)

improve cgi io event handling

fix cgi poll event handling

update uwproj

merge

change net_write to attempt to write all bytes, improve error handling

fix build on macOS

update uwproj

fix send_string_escaped

urlencode resource href in webdav multistatus response

little bit more url escape

send_string_escaped should escape for urls, not html

add WS_CFLAGS to admin makefile

remove basic_mempool.h usage

update ucx

fix webdav mkcol error status codes

fix non-blocking CGI handler and non-blocking SSL-IO

fix cgi-send inactive write event blocking request termination

fix uninitialized memory in http stream, when chunked transfer encoding is used

fix cgi event handling, pipes were not always closed

fix net_http_write when used with chunked transfer encoding and non-blocking IO

fix cgi response could send an uninitialized buffer

add http range debug logging

don't add empty query to rq->reqpb

fix missing connection ssl_error initialization

fix net_sendfile not counting number of written bytes

fix ssl settings not stored in the listener

update ucx

update ucx

fix PUT could potentially return a wrong status code

fix wstool ldflags, missing ../lib rpath

webdav_propfind logs less errors for http 4xx errors

fix uninitialized memory usage in sys_vfs_open, resulting in unwanted fchown calls

fix configure script: escape $$ORIGIN

implement webdav xattr namespace lists

add error handling to webdav_xattr_serialze_map()

implement propfind for webdav xattr backend

implement proppatch of the xattr webdav backend

add libxattr

add new xattr based webdav backend (unimplemented)

prevent crash in default_propfind_do triggered by bad webdav config

fix nsapi_error_request() could send empty error messages with http status 200, if the request status code wasn't set

fix default webdav backend initialization

set _GNU_SOURCE in ldap_resource.c

fix broken log_ereport call

implicitly create a resource pools for ldap authdbs, if no resource is specified

implement userNameIsDN and enableGroups for ldap auth

minimal support for ldap groups

refactor ldap user authentication, use new filter config

load additional ldap authdb config

make ldap auth minimally working again and disable auth caching, because it is currently broken

refactore ldap_auth to use resource pools

add force-type SAF

rename ldap-query to ldap-search, rename query parameter to filter

add ldap-query saf

add option to automatically bind new ldap sessions

add bind parameters to ldap resource pool

add ldap resource pool type implementation

resourcepool_free should remove the resource from the request resource cache

log error in get_next_token()

fix openssl dependency resolution on bsd

update ldflags

update obj.conf install template to new syntax

fix double free in case parsing a config file fails

fix build on linux

fix build on macos

implement most nsapi expression operators

fix cgi stderr logger + reuse stderr tmp buffer

fix cgi pipes not closed in some error case + minor improvements

improve http listener migration / shutdown of old listener

use separate buffer for chunked transfer encoding, not inbuf

add missing init_logging declaration

implement acceptor thread shutdown

improve acceptor error handling

fix configuration referencing

improve daemon startup

fix stdout log message duplicates

fix listener ssl initialization

implement successor listener, fix webserver_reconfig

fix srvctrl thread stacksize

refactore http listener creation

replace linkedlist with arraylist in the expression parser

update ucx

expression parser: add support for functions

redirect stdout/stderr to log file

use non-blocking IO for pipes and socket in send_cgi

add http_send_response function that is usable for non-blocking IO

parse cgi stderr output for logging and use non-blocking pipes

refactor send_cgi into non-blocking SAF (wip)

fix prepare_service_file error handling

improve error handling in send_file if the file is a directory

add check if pidfile can be opened

run Init directives after setuid

make config parser delimiters configurable

allow '-' in tokens, add support for negative integers

add obj.conf expression parser

extend serverconfig tokenizer to create separate tokens for brackets

use realloc instead of malloc in object_add_directive

new recursive function to convert objconf (preparation for nsapi conditions)

new obj.conf parser based on serverconfig parser

use server.conf parser for init.conf as well

prepare serverconfig parser to be also used for obj.conf and init.conf

update ucx hash functions

switch from ucx 2 to 3

improve propfind error handling

implement ACL check for proppatch requests

improve error handling in webdav_proppatch

improve sessionhandler error handling

improve error handling in basic_run_session

abort config loading if an unknown webdav backend is specified

replace perror() messages with log_ereport in thrpool.c

close connection if content-length != number of bytes written

store number of written bytes in the HttpStream

add vfs support to dir_redirect

add vfs support to find_index

fix multistatus response creating namespace definitions twice in some cases

pg: fix proppatch not working for normal dead properties if extensions are enabled

fix invalid propfind pg queries created for allprop requests on collections

fix warning caused by an ucx update that changed UcxKey data to const

fix ucx include path in postgresql plugin

use IPV6_V6ONLY socket option on linux

convert ipv6 addr to string

add initial ipv6 support

fix mkcol not responding with correct status code in some cases

"write" permission includes "add_file" now

fix listener not initialiazed before changeuid

print error in case the log file config doesn't work

add verbose logging for setuid/setgid and abort startup if setuid fails

reduce log warnings in case pg_check_connection fails

fix double free in postgresql resourcepool if pg_check_connection fails

change uid before most of the config is loaded

fix build on non-freebsd systems

merge cpp-ports

merge branch webdav into default

remove debug code webdav

fix net_printf not working with empty strings webdav

disable pg large object IO functions for collections webdav

fix resourcetype initialization webdav

pg propfind stores resource_id in rq->vars webdav

pg_vfs_open stores the resource_id in rq->vars webdav

make original proppatch property list available to all backends webdav

Add support for extended properties in pg proppatch webdav

Add support for extended properties in pg propfind webdav

build pg propfind query from components webdav

use configured root node from PgRepository in pg vfs/webdav webdav

add parser for extended postgresql webdav config webdav

add config option for pg root node lookup webdav

add global resource lookup function webdav

adjust pg plugin to new dav initialization webdav

add support for named dav repositories in nametrans safs webdav

implement named dav repositories webdav

add support for name/value config args webdav

add new dav config element webdav

revert optimization that does not harmonize with realloc() cpp-ports

fix code that is not standard C cpp-ports

port pblock.cpp to pblock.c cpp-ports

port uri.cpp to uri.c cpp-ports

make sure the http stream is finished if headers are sent webdav

check if service SAFs sent a response, terminate connection in case no response was sent webdav

check cgi exit code webdav

start threadpool in threadpool_run() if no threads are created yet webdav

add separate threadpool_start function for creating initial threadpool threads webdav

escape child href in pg propfind webdav

enable util_uri_escape and util_url_escape and add some tests webdav

add missing HttpStream initializations webdav

fix pg_vfs_dirio_readdir not initializing some VFS_ENTRY fields webdav

fix webdav_delete response in case of errors webdav

fix parse_request_line not detecting the uri correctly in some cases webdav

fix that pg mkdir can create directories with trailing path separators in the nodename webdav

xml escape href value in propfind response webdav

implement etag in pg propfind webdav

update etag when a postgresql file is updated webdav

extend postgresql vfs to store an etag in the file webdav

add optional getetag function to VFS API webdav

fix webdav_mkcol response and add error handling webdav

fix resource pool memory management webdav

fix invalid memory access in event_bsd.c webdav

add support for O_TRUNC in pg_vfs_open webdav

add O_TRUNC to oflags in webdav_put webdav

replace atoi with util_strtoint webdav

add util_asprintf and util_vasprintf webdav

remove redundant comments webdav

store HttpStream buflen as pointer (referencing NSAPISession cursize) webdav

code cleanup webdav

fix and simplify chunked transfer encoding webdav

first semi-functional implementation of chunked transfer encoding for request bodies webdav

simplify request input buffer webdav

implement allprop in default and postgresql webdav backends webdav

fix netbuf_getbytes not detecting EOF in some cases webdav

add content-length header to webdav_delete and webdav_put webdav

send response in webdav_put webdav

move http response code from webdav_vfs_op_do to webdav_delete webdav

send response in webdav_delete webdav

add davclass parameter to pfx2dir for setting the webdav backend webdav

add support for xml properties in propfind/proppatch requests (pg) webdav

fix TestVFSFile ctx initialization webdav

fix uninitialized memory access in directory check webdav

fix test request memory initialization webdav

fix memory initialization for WebdavProperty in webdav tests webdav

add WebdavNSList <-> string converting functions webdav

add basic pg proppatch implementation webdav

store property prefix in the database webdav

add tests for propfind allprop webdav

fix sql query for selecting specific properties webdav

fix pg propfind for getlastmodified property webdav

test pg propfind response webdav

add pg propfind cleanup webdav

implement pg getlastmodified propfind (and prepare creationdate) webdav

remove createtestdb from build webdav

implement pg getcontentlength property webdav

close last resource in multistatus_send webdav

fix href in pg propfind response webdav

add semi functional pg propfind handler webdav

change pg_resolve_path signature to be useable without VFS webdav

add basic parser for pg timestamps webdav

add pg webdav backend initialization webdav

fix some snprintf warnings webdav

add function for registering webdav backends webdav

add instance field to webdav backend struct webdav

add empty pg webdav funcs webdav

fix error handling in pg_remove_res webdav

handle sql error in pg_remove_res webdav

implement pg rmdir webdav

add pg mkdir tests webdav

implement pg unlink webdav

add pg stat tests webdav

update pg resource metadata on close webdav

add pg_vfs_io_tell webdav

implement pg vfs mkdir webdav

add first pg vfs tests webdav

create pg test data webdav

prepare build system for postgresql plugin tests webdav

set error status code directly in vfs_* calls webdav

add support for O_CREAT flag in postgresql vfs webdav

add missing postgresql vfs io functions webdav

minimal working send_file with postgresql vfs webdav

add support for getstat parameter in pg readdir webdav

add pg vfs stat/fstat implementation webdav

implement pg_vfs_dirio_close webdav

add basic postgresql vfs directory functions webdav

implement pg_vfs_open webdav

add support for vfsclass parameter in nametrans safs webdav

add function to create a postgresql-based VFS webdav

add empty postgresql VFS functions webdav

escape html output in pg_query webdav

add util_html_escape implementation from Open Web Server webdav

add minimal working implementation for resourcepool_lookup() webdav

don't fail webserver init in case a resourcepool ping fails webdav

add first code for postgresql plugin: resourcepool type implementation webdav

add ResourcePool initialization webdav

update .hgignore webdav

update configure script / fix configure on freebsd webdav

fix kqueue event deletion webdav

fix wrong kqueue usage: split ws events into multiple kevent filters webdav

add ev_remove_poll kqueue implementation webdav

fix kqueue event handler webdav

open files for writing in webdav_put webdav

add some references to issues webdav

fix freebsd build webdav

merge branch config into webdav webdav

remove old server.conf parser config

update server.template to new file format config

replace old server config loader config

refactor configuration loading mechanism config

ucx update config

remove unused stuff config

prepare webdav copy webdav

add basic PUT implementation and tests webdav

update configure script webdav

add webdav_delete tests webdav

add vfs unlink and rmdir tests webdav

implement webdav delete for collections webdav

add webdav op function for iterating directories webdav

add mkcol and delete interface to webdav backend, move webdav vfs logic to operation webdav

add minimal mkcol implementation and prepare delete webdav

add proppatch handler to default backend webdav

implement webdav_proppatch webdav

add proppatch op webdav

add proppatch interface webdav

make multistatus response ready for proppatch requests webdav

fix multistatus response and add propfind tests webdav

handle missing properties in multistatus.c webdav

fix response href webdav

add handler for http expect header webdav

fix webdav_op_propfind_children return check webdav

add test for webdav_propfind() that checks if the response is valid xml webdav

add xml writer webdav

implement multistatus writer webdav

readd namespace handling to msresponse_addproperty webdav

replace UcxList with WebdavPList in the multistatus object webdav

add tests for some webdav plist util functions webdav

remove nsdef from WebdavProperty webdav

msresponse_addproperty: add support for xmlNode property values and add check to make sure, properties are only added once webdav

add function for getting all namespace definitions that are required for an element webdav

add test for xml iterator webdav

add xml tree iterator webdav

create namespace definition lists when properties are added to a multistatus response webdav

add href parameter to webdav_op_propfind_children webdav

add test for webdav_op_propfind_children webdav

add simple vfs implementation for testing webdav

add webdav_op_propfind_begin test that checks backend chaining webdav

add backend chaining webdav

add webdav_plist_iterator_remove_current tests and fix some plist related bugs webdav

add plist iterator webdav

add tests for webdav_propfind_init and fix wrong backend call webdav

move backend initialization to new function webdav

refactore webdav backend struct webdav

add propfind/proppatch parser and first iteration of the new webdav api webdav

fix compiler flag generation

replace source with . in configure script and fix toolchain detection

yet another compatibility fix

more buildsystem fixes

fix some incompabilities in configure

improve error handling and add some debug code in net_fallback_sendfile

replace old build system with uwproj

fix error handling in net_fallback_sendfile

remove libnsl from linux makefile

fix file extension detection

add some mime types for source code files

back to synchronous sendfile

adds test suite to build system

fixes ssl accept error handling

adds combined log format

fixes double close

fixes keep-alive with ssl

merges aio into default branch

replaces eventfd with pipe and closes aio branch aio

moves IOStream creation to the sessionhandler aio

adds IO threadpool aio

adds vfs pread/pwrite functions aio

using non-blocking IO for SSL_accept aio

adds platform independent aio functions aio

fixes aio error handling aio

implements new event handler and aio on linux aio

fixes async sendfile aio

fixes http parser init

fixes http_parser_validate

abort on http_parser_validate error

fixes crash with broken http requests

merge srvctrl into default branch

closes branch srvctrl srvctrl

fixes srvctrl socket shutdown srvctrl

fixes linux build srvctrl

using wstool in server control scripts srvctrl

adds sha2 support for keyfile auth

adds new tool for webserver control srvctrl

adds public aio and poll api and asynchronous send_range function aio

adds wrapper for close syscall with error handling

refactors kqueue event handler aio

check close return value

fixes crash on broken urls

srvctrl gets log messages srvctrl

adds debug log level srvctrl

refactors vfs code aio

fixes cgi content length check

fixes empty headers

improves cgi error handling and allows requests with empty headers

more windows porting

adds set-variable error

makes EventHandler public aio

adds reconfig and shutdown handler to srvctrl srvctrl

adds pblock operations to set-variable saf

adds unix domain socket for server control ops srvctrl

merge

adds set-variable saf

fixes solaris build

improves sessionhandler logging

adds more error handling and logging to send_cgi

fixes socket fd leak when SSL_accept fails

fixes cgi cleanup

removes some unused stuff

ported io.c and some headers to windows

fixes server user init

fixes memory leaks in request_stat_path and send_cgi

fixes cgi fd leak

fixes some acl safs

adds new a pathcheck saf and improves content type matchin and improves content type matching

many fixes

fixes missing FuncStruct initialization in load_modules

fixes some memory errors and startup with broken config

using host header to select virtual server

adds redirect saf

adds simple rewrite saf

ucx update

adds blockingio config

improves event handler and ssl error handling

fixes broken error response

adds find-index saf

adds ssl protocol configuration

adds support for ssl cert chain files and improves ssl error handling

fixes ssl shutdown

adds minimal websocket implementation

fixes chunked transfer encoding

adds more error handling

using the status code from cgi output now

fixes CGI response headers

lol

adds more CGI stuff

adds chdir before cgi execution

adds support for CGI with request bodies

adds minimal cgi implementation

fixes nametrans

adds find-pathinfo saf

improves logging

fixed keep alive bug

fixed Solaris 11 build

merge

fixed NetBSD build and an uninitialized struct member

refactored IO system

experimental BSD support

fixed ssl

removed old webdav and expression code

added minimal ssl support

using readdir_r instead of readdir

implemented range requests

added date header to response

added etag and conditional request implementation from Open Web Server

added support for absolute URIs and improved keep alive

fixed solaris build

ucx update

solaris makefile fixes

added ldap group support

added document-root and pfx2dir nametrans safs

added error directive for custom error pages

minor fixes in snprintf and build system

fixed solaris build

fixed some includes

ucx update

load_modules supports nsapi module init functions

fixed solaris build

ucx update

fixed pathcheck behavior

replaced usage of deprecated openldap functions

replaced propfind parser with new libxml2 parser

added initial java plugin code

added minimal nsapi conditions

added some nsapi stuff

preparation for admin interface

fixed chunked transfer encoding

fixed some memory leaks

added keep-alive support

some fixes

removed config.mk

merge

listeners can be dynamically added

added file system ACLs for linux

some fixes

ucx update

fixed some warnings

compiles on os x

some fixes for mod_jk

dynamic thread pool

added authentication cache

added chunked transfer encoding

added net_writev

supports file system ACLs on Solaris

added keyfile based authentication

improved configuration reloading

improved logging

some fixes and new public APIs

(0) -480 tip

mercurial