1592 Commits (7078063491ee995c48f76dbe11af9e3c5d2f12d7)
 

Author SHA1 Message Date
Stefan Bühler 7078063491 [core] fix parsing of chunk digits
Change-Id: I8fd5b916172c432b63329078e261a8ed5eff23dc
4 years ago
Stefan Bühler a41b92eb8a [core] fix segfault in http response streaming
Change-Id: I61a0167d8a7fdede96075960f5099b33c0a8ab02
4 years ago
Stefan Bühler d8bd405a19 [core] fix crash when HTTP backend "Upgrade"s
Change-Id: If7143f49baa2efa8d1fb3f78c6390969730c678e
4 years ago
Stefan Bühler bffe96f5d0 [build] sync extra warning flags between cmake and autobuild
Change-Id: I4165d22ef944b959f9acd8f57c3d7658049b39f0
4 years ago
Stefan Bühler d167e6e416 [core/mod_proxy] support http backends trying to run keep-alive
Even if they shouldn't (due to HTTP/1.0 or Connection; close) some
backends send HTTP/1.1 without Connection: close, and use Content-Length
to signal end of response (and don't close the connection, as they wait
for another request).

Now Content-Length is used to find the end of the response (chunked
transfer-encoding was already supported).

mod_proxy now signals HTTP/1.1, but also sends "Connection: close": it
doesn't reuse the connection yet.

Change-Id: Ica0c9b3b7da79899412a746f21e7348ccd3d23ee
4 years ago
Stefan Bühler 52566836a0 [core] fix fallthrough annotation for gcc
Change-Id: I3130f87b0709055d1f496961f7bd8167329e2c46
4 years ago
Stefan Bühler 16ccf1d307 [tests] show error log of failed tests
Change-Id: Iaee7559a0526cdb4a8d337d003a79062ff912dce
4 years ago
Stefan Bühler f60b53bd44 [tests] build custom http backend server, require python3 for socketserver
Change-Id: Id4deaad74799a8cc2454869e941e7a00106d25cd
4 years ago
Stefan Bühler 9263deaeef [tests] python3 compability
Change-Id: I09c8eaf0cbe4a74b795aeb2a3b04f0abc39383c8
4 years ago
Stefan Bühler 8643cafa22 [core] fix log level of connection: (backend) response header parsing
Change-Id: Idd8263ccf19bf60df10cf22fa8c7037615171c35
4 years ago
Stefan Bühler f66defba93 [doc] mod_fastcgi: extend php fastcgi example with physical file test
Change-Id: I061278e2bd588d27f57be8b6711d470161a955cc
4 years ago
Stefan Bühler bda1a90f27 [core] add strict.post_content_length option
Change-Id: Ie9d67eceed7e957b667554925d562018a3217209
5 years ago
Stefan Bühler bc6b256c34 [core] use readdir instead of readdir_r
readdir_r is deprecated in glibc due to serious memory handling issues
in the API: one cannot pass the size of the allocated dirent.

glibc authors claims readdir is thread-safe in modern implementations,
and expect POSIX to require it in a future version.

No way to check whether readdir is thread-safe though :(

("thread-safe" in this context means different directory streams, which
is good enough.)

Also remove li_dirent_buf_size.

Change-Id: Ia5eae3327e97dc4b0751fb2604ea21c0ce09a5f9
6 years ago
Stefan Bühler b3dcc9662e [mod_openssl] fix C90 mixed declarations and code warning
Change-Id: I04f5e5dba87b7174eb5e93d18bddb5fb0ba717e9
6 years ago
Stefan Bühler 04e54a4388 [mod_openssl] fix crash with libressl or openssl < 1.1
Change-Id: I920ab1e4bc36df8396dcbf3d5777af32ae273a8b
6 years ago
Stefan Bühler 8c68b120da [mod_gnutls] support OCSP responses in sni backends
Change-Id: I7ec08bf6e414140b53019885eb906bdfe3251a2e
6 years ago
Stefan Bühler e0e96ae377 [plugin_core] fix segfault in fetch.files_static init
Change-Id: Icbc8e1440ea35b80a25e600e4a1bd913cafc72f1
6 years ago
Stefan Bühler 808cdf301b handle ENAMETOOLONG in various places
- ENAMETOOLONG:
  - static, flv: return 414
  - dirlist, pathinfo: treat as not-existing (i.e. no handling)
- also return 500 instead of closing the connection when stat/open
  fails an unhandled error
- explicit return instead of switch-case fallthrough (no semantic
  change) in actions.c

Change-Id: I1e2dd721dd18544500b4436ada843cb6e7f2db72
6 years ago
Stefan Bühler 863b433aa6 [doc build] remove markdown support
- bluecloth is dead, and was dropped from debian
- markdown wasn't used in any doc

Change-Id: I61f51724a5abbae6cc0e4cbf993873b59b6e563d
6 years ago
Stefan Bühler f6990a9d8a [plugin_core] support patterns in alias target
Change-Id: Ic77080dc5d7e1821832d10b56366cc79d0ff8a6a
6 years ago
Stefan Bühler ca446911ef [mimetypes.conf] add text/markdown to utf-8 list, regenerate mimetypes.conf
Change-Id: I653b49a49f348224f6b29d76194cf1061968b494
7 years ago
Stefan Bühler c8b27d7462 [mod_openssl] fix warnings and compile breaks with openssl 1.1.0
Change-Id: Ia69e8192004208a9e55246196b5b64d39cd53a66
7 years ago
Simon Lundström 64096982fa [mod_openssl/doc] Update links to man pages
Change-Id: I4f6fc1bca8ac7a4145b792fe7cb6fd57e4edcff6
7 years ago
Simon Lundström a4804cbd93 Add NO_TLSv1_1 and higher options
Change-Id: I69b675a8b41f84b9e786bc2ce1b9661fbd76cbd4
7 years ago
Stefan Bühler 3d2880258d [mod_gnutls] workaround gnutls API breakage, and prepare for future ones
Change-Id: I1b97aa31fd1a7adb0107761d05bf81a4509e9fc9
7 years ago
Stefan Bühler 9926bef92e [mod_gnutls/doc] more details which certificates are needed for OCSP
Change-Id: I1f7004bf2182f8023f19c0e3d2e3f5dee4968a9b
7 years ago
Stefan Bühler 85f3a1da1a [doc] decode HTML entities in code/markdown/textile blocks
- simulates an implicit "<![CDATA[ ... ]]>" mode
- if the blocks consists of a single CDATA node entities are not decoded;
  instead the CDATA content is used directly.

Change-Id: Ifc25d4ae49518d6d219a70d5760c214cafe0ed46
7 years ago
Stefan Bühler 98a14017a5 [mod_gnutls/docs] ocsptool is the ocsp tool
Change-Id: Iffd5e1488131c99877971e935c798a2371fe3209
7 years ago
Stefan Bühler fc0119720e [mod_gnutls] use gnutls_pem_base64_decode_alloc instead of gnutls_pem_base64_decode2 (compat name for old versions)
Change-Id: Id07d9d38ac809b4116b04debba41cd7351ebd40b
7 years ago
Stefan Bühler dca42093b1 [core] disable strict-alias warnings for libev wrappers
Change-Id: I6bea24eb35838e91cc3c3cc6a6f94664c7446533
7 years ago
Stefan Bühler d72a3c2940 [mod_gnutls] add basic OCSP response stapling support
Change-Id: I700b2afd0e0fc60ce4f864e77166e3fa2e36aaae
7 years ago
Stefan Bühler 7fb0148348 [mod_gnutls] use only pin callback, don't pass pin as parameter
- also check for number of attempts instead of flags,
  the same the gnutls internal callback is doing when a
  password is passed

Change-Id: I84f5a0c7a4e3aea6f55b7b28c2f57019128351c7
7 years ago
Stefan Bühler 6a0e57ec8f [parsers] fix unused variable warnings
Change-Id: Ifc0210235ada102e2dbcba23e1179e87b973510f
7 years ago
Stefan Bühler f17a221cd8 use _DEFAULT_SOURCE instead of _BSD_SOURCE
Change-Id: Iecd6f2b4d31cd8f64f1c7ed491650a9b2a35be28
7 years ago
Stefan Bühler 130f14a3ea [config] expect exactly one comma between list entries
- the parser didn't require a comma before, and accepted multiple ones
- comma at end of list still optional

Change-Id: I4bb07ceed9aaceb43a14f7eeb5d364d6718e7acc
8 years ago
Stefan Bühler a1340123be [cmake] handle include directories separately
- update cmake required version to 3.0
- should workaround cmake CodeBlocks generator (-> qtcreator) bug with not finding the include paths

Change-Id: I95a6741ff9fc6cc75ae62774ad53d438bfd67b90
8 years ago
Stefan Bühler 3a4698d6b9 [pattern] fix all calls of li_pattern_eval to provide latest regex match
Change-Id: I7aeaf908eab9da3fe24e9871f648e3fd58fddbe1
8 years ago
Stefan Bühler d2c6a28d97 use g_assert instead of g_assert_true for older glib2 versions
Change-Id: Ie2a4e7b723d7a123f08c9c79503425b40a76a5b7
8 years ago
Stefan Bühler c9a3764f12 [ssl] don't exit early when there is no data to write; otherwise EOS stream handling is not triggered
Change-Id: Ie49fa1e7062f91c5708ae72db48c8e2144570f20
8 years ago
Stefan Bühler 909626691e ignore CMakeLists.txt.user (qtcreator)
Change-Id: If42de6186888a301e1276c48182bd5bbb7e826bb
8 years ago
Stefan Bühler f527a16138 [debug] provide more unique event names for waitqueues
Change-Id: Iddf9e10b3902fbfe4fa7e97b7a172018d0d70b54
8 years ago
Stefan Bühler 535f6b4afb [streams] improve stream handling, hopefully fixes bug with lingering backend connections
- reset backend_source before backend_drain; first tell the backend we
  are not interested in data anymore, then force closing the outgoing
  data
- as backend_drain might get reopened for a Connection: upgrade, the
  backend cannot rely on backend_drain->out.is_closed, but waits for a
  disconnect (which will also release the last reference).  the same is
  done for backend_source, so a backend can just wait for both reference
  counts to drop to zero before actually closing the backend connection
  (unless it keeps the streams alive itself).

Change-Id: Ibfe7985debd71580dbb78b985abaf946f59e3024
8 years ago
Stefan Bühler 4375aba174 [request parser] adapt whitespace removal from response parser, fixes bug removing last character if CR was missing
Change-Id: Idd39363b460f1141aa2bebde187f3ca10a7bb344
8 years ago
Stefan Bühler f6def17999 [common] format IPv6 addresses with port as [addr]:port (added the square brackets)
Change-Id: Ic5246c6cf9e1762b8e8ea4c020983289c4e071c6
8 years ago
Stefan Bühler 3cfc0aa82c [automake] add missing files to dist tar
Change-Id: I2c53b97415301931ca9530ac8d54701daef59ec8
8 years ago
Stefan Bühler 811e13cfcd [common] fix out-of-bounds read in li_sockaddr_to_string
Change-Id: I8984b6b170a43eb8c0f648c31957c5ae441cf93f
8 years ago
Stefan Bühler 78ac96cc04 [mod_debug] show more details for events
Change-Id: I245cff8a95839fa961ec32a8a8b2f3da39edb777
8 years ago
Stefan Bühler 3f7de3b51a mimetypes.conf: add some new mime types, remove .dat, .sha1, .md5, update .vcf
- create-mimetypes.conf.pl: also parse lines with upper case characters
- rerun create-mimetypes.conf.pl with debian mime-support 3.58

Change-Id: I8a6e91b8cc879158d5cd8931630a67db4d5a0dd2
8 years ago
Stefan Bühler b37d95facf [lua] handle filter->vr == NULL in lua filters, handle filter->in == NULL in xsendfile
Change-Id: I5326ce72f1b45bf0b64194e6ec8935b6261d18d2
8 years ago
Stefan Bühler 6b22f2f104 [mod_debug] debug events
Change-Id: Ib776e950902a36f13ed766a78a92f6971310e87d
8 years ago