| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes since last update of this port:
Version 11.66
- QS_ClientIpFromHeader supports pseudo IP by creating a hash
of a HTTP request header's value if the header name is prefixed
by '#', e.g. #Authorization to use the HTTP basic auth header.
It's also possible to use the client's SSL client certificate's
subject and issuer DN if you specify #SSL_CLIENT_S_DN instead
of a real HTTP header name.
Note: Does not work for IP geolocation.
Version 11.65
- Fixed: QS_SrvMinDataRate did not enfore (log only) min data rate
in simple mode (only one arg).
Improved min. data rate calculation and updated documentation.
- Fixed: Several typos in documentation.
Version 11.64
- Updated request header filter rules (allows signed HTTP exchanges content
type in Accept header).
- qsgeo: New pattern to detect "readable" format (no longer adding IP address
range twice for some file formats).
- QS_Status: adds the QS_AllConn variable to the maxClients object.
PR: 246932
Sponsored by: Netzkommune GmbH
Notes:
svn path=/head/; revision=537561
|
|
|
|
|
|
|
|
|
|
|
|
| |
- also updated LICENSE
PR: 239551
Reported by: dewayne@heuristicsystems.com.au
Approved by: Eero Haenninen <fax@nohik.ee> (maintainer)
Relnotes: https://sourceforge.net/p/mod-qos/source/HEAD/tree/tags/REL_11_63/doc/CHANGES.txt
Notes:
svn path=/head/; revision=509238
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changelog:
Version 11.51
- Adds process-connection handler to close the connection in the case
the abort by the pre-connect hook was ignored (workaround for bug in
Apache 2.4.28 Event MPM ignoring the connection abort) (msg id 167).
- Uses module name in log index.
Version 11.50
- Changes pre-connection hook dependency (called later but still before
mod_ssl).
Version 11.49
- Adapted connection handling to deal with master/slave connections
(introduced by Apache 2.4.18) avoiding inconsistent connection counters.
Version 11.48
- Detects unexpected connection dispatching to old child process to avoid
invalid connection counter state for QS_ClientPrefer rules (msg id 166).
Version 11.47
- Updates built-in filter pattern of QS_HeaderFilter (Transfer-Encoding).
- qslog standard mode supports peak/max value counter (M).
- Fixed: potential segfault if connection ctx is null when using h2.
Version 11.46
- Updates built-in filter pattern of QS_HeaderFilter.
Version 11.45
- QS_ClientEventRequestLimit supports the QS_ClientIpFromHeader directive.
Version 11.44
- New directive QS_CondEventLimitCount.
- QS_EventLimitCount (and QS_CondEventLimitCount) counter may be decremented
by environment variable suffixed by "_Decrement".
- Slightly changed unique-id generator (shorter).
*While here, switch to DISTVERSION
PR: 226114
Submitted by: Eero Hänninen <fax@nohik.ee> (maintainer)
Approved by: mentors (implicit)
Notes:
svn path=/head/; revision=462850
|
|
|
|
|
|
|
|
| |
PR: 222594
Submitted by: Eero Hänninen <fax@nohik.ee> (maintainer)
Notes:
svn path=/head/; revision=454127
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes between releases:
- Fixed: moves code from "process connection" hook to the "pre
connection" hook for Apache 2.4 compatibility and higher efficiency.
- Lower severity of message 036 to critical.
- Fixed: potential segfault by mod_ssl in ssl_io_filter_disable()
when closing a connection after a failed SSL handshake.
- New variable QS_SetEnvIfResBodyIgnore which might be used to
deactivate QS_SetEnvIfResBody.
- mod_qos_ev: sets "v" if an IP is marked as VIP.
- QS_ClientLowPrio variable's value contains the status flag representing
the tracked attribues.
- Sets QS_IsVipRequest variable for marked IP addresses at connection
processing handler and propagetes it to every request.
- Fixed: message 045 (uri check ignores log-only mode).
- Header filter: accept reagion specific language codes in
Accept-Language request header by default.
- Compiles also against OpenSSL 1.1.0b.
PR: 215605
Submitted by: Eero Hänninen <fax@nohik.ee> (maintainer)
Notes:
svn path=/head/; revision=429644
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Release highlights:
- QS_SetReqHeader supports header removal (unset) by prefixing
the header name with "!".
- QS_SetEnvIfResBody supports variable removal (unset) by
prefixing the variably with "!".
- New cookie data format (user tracking, vip, milestones).
PR: 211545
Submitted by: Eero Hanninen (maintainer)
Notes:
svn path=/head/; revision=419548
|
|
|
|
|
|
|
|
|
|
| |
- While here, fix LICENSE
PR: 211210
Submitted by: fax@nohik.ee (maintainer)
Notes:
svn path=/head/; revision=418793
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Disables client behavior (content type) measurement if
QS_ClientPrefer has been disabled.
- Minor changes to the status viewer.
- Fixed: segfault when using HTTP/2.
- Fixed: Implemented graceful restart detection for Apache 2.4
to properly free shared memory and mutexes (prevents from
leaking while doing graceful restarts).
- Disables keep-alive enforcement for MPM event binaries.
- Adds filter (option -f) to qssign.
- Revised QS_ClientPrefer implementation (improved attribute weighting)
and the log messages 063/064 have been merged into message 066.
- Updates User-Agent header field pattern for the default
QS_RequestHeaderFilterRule rule set and adds the
Upgrade-Insecure-Requests header.
- QS_ClientGeoCountryDB is able to read IP2LOCATION csv file without
prior transformation (country code '-').
- Fixed: QS_ClientIpFromHeader used to determine country code
(QS_ClientGeoCountryDB) even the country could not be determined
for the connection address (incomplete IP list).
- New directive QS_Status.
- QS_SrvSampleRate must be greater then one second.
- Avoids using RAND_bytes() and checks if the generator
is seeded with enough entropy (mod_qos(08x) messages).
- Calculates MaxClients (instead of reading the directive).
- QS_SetEnvIfStatus supports QS_SrvMaxConnPerIP to increment the
QS_Block event variable.
- qssign features the option "-a" to define which algorithm to use.
- Enables QS_SrvMinDataRate, QS_SrvDataRateOff, and
QS_SrvMinDataRateOffEvent for Apache 2.4 as smoke test against
Apache 2.4.12 and 2.4.16 was now successful (MPM worker and event).
The QS_KeepAliveTimeout and QS_MaxKeepAliveRequests directives
have been disabled for the MPM event.
- Adds timeout option to the QS_SrvSerialize directive.
- Increased severity of message 035 and 036 from critical to alert.
- Lowered severity of messages 100, 009, and 007 from emergency to
critical.
- QS_RedirectIf directive supports 307 response code.
- Set *_Counter variable of QS_EventLimitCount within post read
request handler.
- QS_ClientSerialize honors the sequence of receiving requests (fifo)
in order to support requests from different clients accessing the
server via a proxy.
- Fixed: potential deadlock (when reaching the 5min timeout) when
using the QS_SrvSerialize directive.
- New directive QS_SrvSerialize.
- Adds option "-u" to the qslogger and qssign utilities.
- QS_MileStone features a "think time" attribute which defines how
long a client must wait between two milestones.
PR: 207678
Submitted by: Eero Haenninen <fax@nohik.ee> (maintainer)
Notes:
svn path=/head/; revision=410882
|
|
|
|
|
|
|
|
|
| |
PR: 198703
Submitted by: olgeni
Approved by: maintainer
Notes:
svn path=/head/; revision=381725
|
|
|
|
|
|
|
|
| |
PR: 193739
Submitted by: maintainer
Notes:
svn path=/head/; revision=368659
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Release high lights from changelog:
- Adds variable QS_ResponseDelayTime showing the delay time (us)
calcualted for reponse throttling.
- New variable QS_Timeout.
PR: ports/190258
Submitted by: Eero Hänninen <fax@nohik.ee> (maintainer)
Notes:
svn path=/head/; revision=355588
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
feature safe: yes
Changelog highlights:
Version 11.1
- Fixed: Shows "T" log marker only for requests which has really
been delayed by mod_qos.
- Further improved bytes/sec limitation implementation.
Version 11.0
- Highly improves bytes/sec limitation (response throttling) based
on the input I got from Jeff Trawick - many thanks!
* Calculates delay within filter (immediately(!) when reaching the
defined amount of bytes).
* Uses nanoseconds delay (instead of milliseconds).
* Splits large bucket brigades to 8k blocks (support for local
files, not using mod_proxy).
* Inserts filter late (after mod_deflate).
- User tracking: set Cache-Control header when accessing
the cookie check page.
- QS_UserTrackingCookieName: improved cookie header processing.
- Fixed: 'qslog -pc' does no longer require 'S' nor a date.
PR: ports/189416
Submitted by: Eero Hänninen <fax@nohik.ee> (maintainer)
Notes:
svn path=/head/; revision=354468
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- QS_SetReqHeader features the option 'late'.
- New console output (without ':' suffix for the IP address).
- Console 'search', 'limit', and 'unlimit' command support now
the 'event' parameter specifying which QS_ClientEventLimitCount
event variable to show/set/clear.
PR: ports/
Submitted by: Eero Hänninen <fax@nohik.ee> (maintainer)
Notes:
svn path=/head/; revision=352692
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
Version 10.29
- Supports IPv6 clients.
Version 10.28
- Fixed: QS_ClientEventLimit did overwrite counters of other
clients if multiple events have been configured.
Version 10.27
- qslog features the option "-pu" and "-puc" used to gather
request information on a per URL basis.
- Fixed: Wrong includes within the support utilities.
- Extends QS_ClientSerialize max. timeout from 1 to 5 minutes.
Version 10.26
- QS_ClientSerialize supports the QS_ClientIpFromHeader directive.
- Refactor method used to determine redirect port (user tracking)
supporting servers not using virtual hosts.
- Fixed: QS_UserTrackingCookieName uses correct server_rec to
retrieve configuration.
- Hook implementing user tracking is now called after mod_unique_id.
- Slightly changed unique-id generator.
- Adds fflush() to qsgrep utility when writing data to stdout.
Version 10.25
- QS_EventLimitCount writes the current value to the process
environment variables.
- Fixed: QS_[Cond]ClientEventLimitCount logs request id and propagtes
message code (067) to the QS_ErrorNotes variable.
- New variable QS_IPConn representing the number of connections
opened from the very same source IP (works in conjunction with
QS_SrvMaxConnPerIP only).
Version 10.24
- New directive QS_CondClientEventLimitCount.
- QS_SrvMinDataRate: limits the max. data rate to the configured
value (prevents invalid rate due to misconfiguration server or
died child process).
Version 10.23
- Fixed: QS_ClientEventLimitCount log message 067 contains now
the IP address of the request header if QS_ClientIpFromHeader
is used.
- QS_SetEnvRes: supports multiple variables with the same name.
Version 10.22
- Process QS_SetEnvResHeader(Match) and QS_SetEnvRes at error
filter too.
Version 10.21
- Fixed: qslogger may had detected the wrong message severity.
- Adds debug message when detecting "NullConnection" events.
- Built-in request header rules: adapt If-Match, If-None-Match,
Cookie, and Cookie2 HTTP header patterns.
Version 10.20
- Fixed: QS_CondLocRequestLimitMatch did work only if other QS_Loc*
directive had been configured.
Version 10.19
- New directive QS_RedirectIf.
Version 10.18
- QS_ClientEventLimitCount may be cleared by environment
variable (suffixed by "_Clear", e.g. QS_Limit_Clear).
Version 10.17
- QS_ClientEventLimitCount supports unlimited number of events.
- Stores the value of the QS_ClientEventLimitCount variables as
environment variables suffixed by "_Counter", e.g. QS_Limit_Counter
for the default QS_Limit variable, in order to be processed by
other rules.
- Add Content-Security-Policy to the default response header
white list.
- qslog features enhanced "-pc" mode providing more information:
* Collects content type information (%{content-type}o).
* Duration between the first and the last request.
* Average response in ms.
* "ci" indicates if we have seen the client at the end or the
beginning of the file (maybe not all requests in the log
due to log rotation).
* Bytes downloaded.
* Writes status characters to stderr.
* HTTP request methods (GET/POST)
- qsgeo features option "-l" and is able to process "qslog -pc" files.
Version 10.16
- qslog adds 'E' (event identifiers) to the format string.
QSEVENTPATH environment variable specifies a file containing
all known event names (comma separated list).
- qslog average counter (a/A) count only if a numeric value
is available.
- qssing does not try to execute invalid program name (space only).
PR: ports/187132
Submitted by: Eero Haenninen <fax@nohik.ee>
Approved by: Andrea Cervesato <andrea@cervesato.it> (maintainer)
Notes:
svn path=/head/; revision=346808
|
|
mod_qos is a quality of service module for the Apache web server implementing
control mechanisms that can provide different levels of priority to different
HTTP requests.
WWW: http://opensource.adnovum.ch/mod_qos/
PR: ports/179256
Submitted by: Andrea Cervesato <andrea.cervesato@gmail.com>
Notes:
svn path=/head/; revision=321647
|