Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
17 Dec 2013 - 2.7.7 ------------------- Fixes: - Changed release version to 2.7.7 - Got the configure scripts inside the release tarball 16 Dec 2013 - 2.7.6 ------------------- Improvements: - Organizes all Makefile.am - 1cde4d2dd9d96747536c1c25d06ba0677069477f Now using one file per line (sorted). This is the better way to handle it, since it reduces the possibility of merge conflicts. - nginx: generates config file using configure input. - 351b9cc357d439e30ebd61d89a9e38ecf55c6827 The nginx config file was looking for depedencies by its own, by doing that it was ignoring the options that were passed to configure script. This commit deletes this config file and adds a meta-config which is populated by configure whenever the standalone-module is enabled. - nginx: adds lua support - da16d9e5d51d4ef8734687514a4e1368e7fb4284 - iis: Cosmetics fixies on sqli. - 5046c8327ea21c69b4c0d0c0057c692b05b09fef This is needed to get it compiled with VS2011 on Windows8 - Regression tests: makes configuration compatible with 2.2 and 2.4 (try 2) - ae252ee8767069363906e5a611dff487b799b839 - nginx: Trying apxs and apxs2 while compiling nginx module - 65d9272fdc353e1263567b60604542d377d19672 - nginx: Trying apxs and apxs2 while compiling nginx module - 35fd75d859e4a8873b8843da1db13e04a1b08140 - macos: Using glibtoolize instead of libtoolize - 751a9f4e45213cd69f00c62c71edc9d7ad99b82d - regression-tests: makes configuration compatible with 2.2 and 2.4 - 6fc4cac37ab1be8d1232140042b58fe4bd93ee17 - Regression test: get it working with apache 2.4 - e9813cd0d9bfc5b0c9aa5832634ec1b39b805108 Changes in httpd.conf.in to get it working with apache 2.4 - Code cosmetics. - 7366f35c1d80772d739b35da8faa972f92a72b97 Changed to reduce the number of possible fails during Build Bot compilation. - iis: Waiting for 5 seconds before move curl directory - 9bf2959c919587ebc63f5a1b8c0785da8927bff5 Testing buildbot. - Redefines unixd_set_global_mutex_perms on tests - f70f6f4281b806627e0cf0dbb9c84ae5864bdb16 Avoding conflicts with the standalone implementation - Adds verbose quality check - 388943440cc9b8c6fdea09f5e365a2e5a3e792e2 Vera++ and ccpcheck are not outputing to the stderr instead stdout allowing the buildbot to extract some numbers about it. - Adds support for coding style and quality check - b77e90152d119609ac78a7028383c3b79898b2cf Initial effort to get the code on shape. This will be executed by the buildbots as soon as they get ready for it. - iis: New improvements on the Wix installer - 2ea5a74a7bfb00f21312e51e48aa6dac03d84600 * Now the installation is divided in modules: ModSecurity and CRS. * Added default configuration * Configuration was moved to "Program Files" folder * Build_msi script now using candle available in %PATH% - iis: Removes the installer helper dependency - 1a12648c9f6028f251af0f03c889397c7954b74c Now using appcmd directly with WiX instead of calling the installer helper. - iis: Remove readme.html - 550d5aae21cba696cac1ce75ab8113e5255d5a59 This HTML is about "Creating a Native Module for IIS7" not straight related to ModSecurity itself. - iis: Adds batch script to compile Wix - a2c5fc831baf0b324ebb66b0f878dacf1ec2f808 This batch script can be used to generate our msi installer. - iis: Adds Wix installer resources - 3604763e15a665eb7a6ecae1f7e7c65cebbb1d17 This is all about cosmetic changes. - iss: Removes Post-Build event. - 28bbde1bb218b004654cb865fc8563d69b848dc2 There was a copy on Post-Build event using a hard coded path. This patch removes this Post-Build event. - iis: Relative paths on the VS project file - 368617ddb2443f9b6036f80a648d467d07c9a054 There are a ModSecurityIIS solution and project files, those were using hard coded paths to meet the dependencies. As consequence of the last update in our build scripts, now we are able to built the dependencies and load it to our Visual Studio project using relative paths. - iis: Adds release script - 9477118903861ce80c4c27cb581bf3462315e98e - iis: fixies the Installer.cpp coding style - 79875b1af8e8571098345b91557bab9c06eb7c88 - iis: Removes AppWizard remade file - 91738f93bcc82b6ab756c550a66b6cf6af2fa9f8 Apparently the AppWizard was used to generate part of this Installer, the ReadMe.txt created by the AppWizard was removed by this commit - iss: Removes pre-compiled headers - adfbeb85dcfa9466b72eebb8d1bd8eb7728bab79 No need to use the pre-compiled headers in InstallerHelper, removing it, in order to keep the project lean. - iis: Moves installer to InstallerHelper - 6adf25667dd4bfa33010bd6d8ae3d35046a69967 To organize the folder the Installer application was renamed to installer helper. It is not the real installer, it is just an helper which is executed during the installation phase. - iss: Removes fart dependencies - 8c3b8d81b613aaa38f28472af1eb26c90c7fc9da This commit removes the dependency of the fart.exe utility. The utility was responsible to rename contents inside some dependencies build files. Those modifications are not longer needed. - iss: Better err handling in build scripts. - 192599bf63b6ae5aa08e4536a90d5d0a17f969f7 Now checking for errors in every step of the build phase - iis: Moves build_module.bat to build_modsecurity.bat - e25c6b2e85ced7beba4d41867dbdf30e9c1286d3 The build_modsecurity.bat is now on the iis sub-directory, not in the dependencies anymore. Its content was also changed fixing all the paths. - iis: Identifies arch before unzip apache - cf5de78dfb9fffd21edf17af9e1db8f2fd83c804 Currently we need the Apache binary which could be used in 32 or 64 bits. This patch makes usage of 'cl' to identify which architecture is set. - iis: Renamves winbuild to dependencies - 1447766e816a896e88c9c8f053fcc3f62797bac1 Since the directory becomes all about dependencies there is no need to call it winbuild anymore. - iis: Removes unnecessary files from winbuild dir - 9f8cbf6ed8034ba42aa4967699308df09864fd18 Those .mak files seems to be part of an old build system. Since the script are now working fine, this commit removes all those .mac files and also a CMakeList.txt and the Makefile.win. - iis: Improves the iis build system - b277e538f28c87c81c1b50925dd8b82996b88294 Now checking for common errors while building. Refactoring on the build scripts, now there is this build_dependencies.bat script on the iis sub-folder. By calling this script all the dependencies should be build under the winbuild/. This commit also removes build scripts that were not needed anymore. - iis: Fixes the vcxproj file - a946a163f0ad822c760af80ca32dda61f0e6b2a9 Versions of the dependencies were changed, as long as the version of the Visual Studio, now 12. - iis: Removes unecessary files from the build system - 26738d2e34bcc7620047bd23180e0e26a64c71ee The following files were removed: * VCVarsQueryRegistry.bat * vcvars64.bat * vsvars32.bat The visual studio files can be called direcltly, not necessary to distribute those files, at least in VS12. - iss: Changes httpd version 2.4.6 - 0a772cb0748aa51a01800e0473309b9de792b456 Apache version was changed to 2.4.6 to sync with the current apache lounge version. - iis: Changes the version of the dependencies - 3e6fb41d36b7a5e98a55d8f52b88b29d1bd50b64 * pcre from 8.30 to 8.33 * zlib from 1.2.7 to 1.2.8 * libxml2 from 2.7.7 to 2.9.1 * curl from 7.24 to 7.33.0 - Removes standalone/Makefile.in - e3c19d53d23c48fea337aae76a87b2a85c36a1f1 Makefile.in is recommended to be in the repository whenever it is edit manually, in our case the automatically generated Makefile.in is ok. Bug Fixes: - test: Avoids conflict of fuctions definition - cef72855e4106ce29e1d39103ebf9eb9ab28f17e - test: Makes the unit tests to work again - cc982ae42ec86c79a67be1a01c6ee35fb06c272c The unit tests was not working due to lack update. This patch adds the necessary stuff to have it work again. - iis: Avoids directory link while building - ad330a44bfa39430cf6340cb52971568cccdf1d6 Build scripts was creating links allowing the project to be loaded into Visual Studio without care about the dependencies versions. Sometimes windows refuse to delete those links leading the script to fail. This patch moves the sources directories instead of create links to it. - QA: Avoids the utilization of 3rd filedescriptor - 69c5ccac662f4e11a6eefd54a3e912583c067b9d No need to use a 3rd description on the quality check scripts. Stderr is now redirected to stdout and filtered as needed. - Supports WarningCountingShellCommand in cppcheck and vera - baaf502363e68c3240b60adb7f7c91f5b4f0ba03 WarningCountingShellCommand allow us to have some measurements on the buildbot waterfall. - iis: Using base_rules instead of activated_rules - 7b1537058fa451e0df7098cd907ef19f04102f9d - iis: Fix inet_pton build problem - a4202146b8d26b6615bbab986383fe0afae60d77 There is a function named inet_pton on windows API, with different signature. This patch just override the windows function and point the inet_pton to our implementation. - iis: Adds Wix installer xml file.c - b32cb7d9ab397160f0154aa4bd4e9638658b41e6 This commit adds the Wix template to our git repository. - iis: build_modsecurity.bat fixies - 7e03e3f840375ed682c35a5bb67932461cc77013 This commit enable a cleanup on the mod_security build directory avoiding symbols with different architectures. - iis: Fix mlogc build on windows - 9b7663fa79377a0685130a019916d810f31e7478 The libcurl path was not pointing to the correct directory - Fix #154, Uses addn instead of apr_table_setn - 1734221d9d3a78f9aafd68e35717da9ee1a4fe51 The headers are represented in the format of an apr_table, which is able to handle elements with the same key, however the function apr_table_setn checks if the key exists before add the element, if so it replaces the old value with the new one. This was making our implementation to just keep the last added Cookie. The apr_table_addn function, which is now used, just add a new item without check for olders one. - Merge pull request #579 from zimmerle/revert_139 - 61e54f2067ae760808359926ff91d57275df1aac Revert merge request #139 - Revert "Merge pull request #139 from chaizhenhua/remotes/trunk" - 7f7d00fa2c364716691df1b45779304b24a0debb This reverts commit 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b, reversing changes made to 414033aafa94cd50c9b310afd3f164740caccc94. - Merge pull request #578 from client9/remotes/trunk - b0c3977845f60747b15ae10531b7d20355a22627 libinjection sync to v3.8.0 - libinjection sync - a5f175d79fac1e69124da4e1e227b622e7e233d7 - Merge pull request #152 from client9/remotes/trunk - 88ebf8a0bdbc4db1be76f3a2e70df77cc52a5925 Sync to libinjection v3.7.1 - libinjection sync - fcb6dc13ed6efb066fb9b70405eecab8b83a2d96 - libinjection sync - f52242a013f301ca5c17e59b662124833cb7cc6d - Merge pull request #148 from zimmerle/bugfix_charset_missing_string_terminator - b76e26d81ddafc2b99bffad53d1426f8fd33080a Bugfix: missing string terminator while mounting the charset (nginx) - Bugfix: missing string terminator while mounting the charset (nginx) - ff19dcd5c53d4af61d0a9397d4616f47f80ee207 The charset in headers is mounted using ngx_snprintf which does not place the string terminator. This patch adds the terminator at the end of the string. The size was correctly allocated, just missing the terminator. - Merge pull request #141 from client9/remotes/trunk - 9a630eea23a7ead4e77617c86dc937fd7a421a57 libinjection sync to v3.6.0 - libinjection sync - 11217207e8f2e0cf15742273836399866971071a - Fix Chunked string case sensitive issue - CVE-2013-5705 - f8d441cd25172fdfe5b613442fedfc0da3cc333d - Revert "Fix Chuncked string case sensitive issue" - 3901128f17e0763ac1a260106b79859d2aad6d90 This reverts commit 16a815a3c2735f62238ef99af26090a2b8430d3d. - Fix Chuncked string case sensitive issue - 16a815a3c2735f62238ef99af26090a2b8430d3d - Merge pull request #139 from chaizhenhua/remotes/trunk - 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b Fixed fd leackage after reload - Merge pull request #138 from client9/remotes/trunk - 414033aafa94cd50c9b310afd3f164740caccc94 libinjection sync - Fixed fd leackage after reload - e0993fcd7a166ce9e1a279a47d050af1311d9001 - libinjection sync - 2268626c20260e88cab9b7830f8a06101fa7172a - Fix logical disjunction and conjunction issues - 7e0a9ecf7d492e85650671a0cfcfd53e5f15df2c 23 Jul 2013 - 2.7.5 ------------------- Improvements: * SecUnicodeCodePage is deprecated. SecUnicodeMapFile now accepts the code page as a second parameter. * Updated Libinjection to version 3.4.1. Many improvements were made. * Severity action now supports strings (emergency, alert, critical, error, warning, notice, info, debug). Bug Fixes: * Fixed utf8toUnicode tfn null byte conversion. * Fixed NGINX crash when issue reload command. * Fixed flush output buffer before inject modified hashed response body. * Fixed url normalization for Hash Engine. * Fixed NGINX ap_unixd_set_global_perms_mutex compilation error with apache 2.4 devel files. Security Issues: 10 May 2013 - 2.7.4 ------------------- Improvements: * Added Libinjection project http://www.client9.com/projects/libinjection/ as a new operator @detectSQLi. (Thanks Nick Galbreath). * Added new variable SDBM_DELETE_ERROR that will be set to 1 when sdbm engine fails to delete entries. * NGINX is now set to STABLE. Thanks chaizhenhua and all the people in community who help the project testing, sending feedback and patches. Bug Fixes: * Fixed SecRulePerfTime storing unnecessary rules performance times. * Fixed Possible SDBM deadlock condition. * Fixed Possible @rsub memory leak. * Fixed REMOTE_ADDR content will receive the client ip address when mod_remoteip.c is present. * Fixed NGINX Audit engine in Concurrent mode was overwriting existing alert files because a issue with UNIQUE_ID. * Fixed CPU 100% issue in NGINX port. This is also related to an memory leak when loading response body. Security Issues: * Fixed Remote Null Pointer DeReference (CVE-2013-2765). When forceRequestBodyVariable action is triggered and a unknown Content-Type is used, mod_security will crash trying to manipulate msr->msc_reqbody_chunks->elts however msr->msc_reqbody_chunks is NULL. (Thanks Younes JAAIDI). 28 Mar 2013 - 2.7.3 ------------------- * Fixed IIS version race condition when module is initialized. * Fixed IIS version failing config commands in libapr. * Nginx version is now RC quality. The rule engine should works for all phases. We fixed many issues and missing features (for more information please check jira). Code is running well with latest Nginx 1.2.7 stable. Thanks chaizhenhua for your help. * Added MULTIPART_NAME and MULTIPART_FILENAME. Should be used soon by CRS and will help prevent attacks using multipart data. * Added --enable-htaccess-config configure option. It will allow the follow directives to be used into .htaccess files when AllowOverride Options is set: - SecAction - SecRule - SecRuleRemoveByMsg - SecRuleRemoveByTag - SecRuleRemoveById - SecRuleUpdateActionById - SecRuleUpdateTargetById - SecRuleUpdateTargetByTag - SecRuleUpdateTargetByMsg * Improvements in the ID duplicate code checking. Should be faster now. * SECURITY: Added SecXmlExternalEntity (On|Off - default it Off) that will disable by default the external entity load task executed by LibXml2. This is a security issue [CVE-2013-1915] reported by Timur Yunusov, Alexey Osipov (Positive Technologies). 21 Jan 2013 - 2.7.2 ------------------- * IIS version is now stable. * Fixed IIS version does not pass through POST data to ASP.NET when SecRequestBodyAccess is set to On (MODSEC-372). * Fixed IIS version HTTP Request Smuggling protection does not work (MODSEC-344). * Fixed IIS version PHP Injection Attack (958976) protection does not work (MODSEC-346). * Fixed IIS version Request limit protections are not working (MODSEC-349). * Fixed IIS version Outbound protections are not working (MODSEC-350). * Added IIS version better installer. * NGINX version removed ModSecurityPassCommand (Thanks chaizhenhua). * Fixed NGINX version ngx_http_read_client_request_body returned unexpected buffer type (Thanks chaizhenhua). * Fixed NGINX version INCS config directories on fedora (Thanks chaizhenhua). * Added NGINX version Added drop action for nginx (Thanks chaizhenhua). * Fixed bug in cpf_verify operator (Thanks Hideaki Hayashi). * Fixed build modsecurity under Arch Linux. * Fixed make test crashing when JIT pcre is enabled. * Fixed better cookie separator detection code. * Fixed mod_security displaying wrong ip address in error.log using apache 2.4 and mod_remoteip. * Fixed mod_security was not compiling when use apr without ipv6 support. * Fixed mod_security was not compiling when use lua 5.2. * Fixed issue when execute make install under Solaris. * Fixed ipmatchf operator was not working as expected. 01 Nov 2012 - 2.7.1 ------------------- * Changed "Encryption" name of directives and options related to hmac feature to "Hash". SecEncryptionEngine to SecHashEngine SecEncryptionKey to SecHashKey SecEncryptionParam to SecHashParam SecEncryptionMethodRx to SecHashMethodRx SecEncryptionMethodPm to SecHashMethodPm @validateEncryption to @validateHash ctl:EncryptionEnforcement to ctl:HashEnforcement ctl:EncryptionEngine to ctl:HashEngine * Added a better random bytes generator using apr_generate_random_bytes() to create the HMAC key. * Fixed byte conversion issue during logging under Linux s390x platform. * Fixed compilation bug with LibXML2 2.9.0 (Thanks Athmane Madjoudj). * Fixed parsing error with modsecurity-recommended.conf and Apache 2.4. * Fixed DROP action was disabled for Apache 2 module by mistake. * Fixed bug when use ctl:ruleRemoveTargetByTag. * Fixed IIS and NGINX modules bugs. * Fixed bug when @strmatch patterns use invalid escape sequence (Thanks Hideaki Hayashi). * Fixed bugs in @verifySSN (Thanks Hideaki Hayashi). * The doc/ directory now contains the instructions to access online documentation. 15 Oct 2012 - 2.7.0 ------------------- * Fixed Pause action should work as a disruptive action (MODSEC-297). * Fixed Problem loading mod_env variables in phase 2 (MODSEC-226). * Fixed Detect cookie v0 separator and use it for parsing (MODSEC-261). * Fixed Variable REMOTE_ADDR with wrong IP address in NGINX version (MODSEC-337). * Fixed Errors compiling NGINX version. * Added Include directive into standalone module. IIS and NGINX module should support Include directive like Apache2. * Added MULTIPART_INVALID_PART flag. Also used in rule id 200002 for multipart strict validation. https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20121017-0_mod_security_ruleset_bypass.txt). * Updated Reference Manual. 25 Sep 2012 - 2.6.8 ------------------- * Fixed ctl:ruleRemoveTargetByID order issue (MODSEC-333). Thanks to Armadillo Dasypodidae. * Fixed variable HIGHEST_SEVERITY incorrectly gets reset in a chain rule (MODSEC-315). Thanks to Valery Reznic. 10 Sep 2012 - 2.7.0-rc3 ------------------- * Fixed requests bigger than SecRequestBodyNoFilesLimit were truncated even engine mode was detection only. * Fixed double close() for multipart temporary files (Thanks Seema Deepak). * Fixed many small issues reported by Coverity Scanner (Thanks Peter Vrabek). * Fixed format string issue in ngnix experimental code. (Thanks Eldar Zaitov). * Added ctl:ruleRemoveTargetByTag/Msg and removed ctl:ruleUpdateTargetByTag/Msg. * Added IIS and Ngnix platform code. * Added new transformation utf8toUnicode. 23 Jul 2012 - 2.6.7 ------------------- * Fixed explicit target replacement using SecUpdateTargetById was broken. * The ctl:ruleUpdateTargetById is deprecated and will be removed for future versions since there is no safe way to use it per-request. * Added ctl:ruleRemoveTargetById that can be used to exclude targets to be processed per-request. 22 Jun 2012 - 2.7.0-rc2 ------------------- * Fixed compilation errors and warnings under Windows platform. * Fixed SecEncryptionKey was not working as expected. 08 Jun 2012 - 2.7.0-rc1 ------------------- * Added SecEncryptionEngine. Initial crypt engine support, at the momment it will sign some Html and Response Header options. * Added SecEncryptionKey to define the a rand or static key for crypt engine. * Added SecEncryptionParam to define the new parameter name. * Added SecEncryptionMethodRx used with a regular expression to inspect the html in response body/header and decide what to protect. * Added SecEncryptionMethodPm used with multiple or single strings to inspect the html in response body/header and decide what to protect. * Added ctl encryptionEngine as a per transaction version of SecEncryptionEgine diretive. * Added ctl encryptionEnforcement that will allow the engine to sign the data but the enforcement is disabled. * Added validateEncryption operator to enforce the signed elements. * Added rsub operator supports the syntax |hex| allowing users to use special chars like \n \r. * Added SecRuleUpdateTargetById now supports id range. * Added SecRuleUpdateTargetByMsg and its ctl version (Thanks Scott Gifford). * Added SecRuleUpdateTargetByTag and its ctl version (Thanks Scott Gifford). * Added SecRulePerfTime when greater than zero it will fill rule id's execution time into PERF_RULE and log id=usec information in the new Perf-rule-info: line in part H. * Added PERF_RULES variable that contains rule execution time. * Added Engine-mode: section in part H. * Added ruleRemoveByMsg ctl version. * Added removeCommentsChar and removeComments now can work with <!-- --> style. * Added SecArgumentSeparator and SecCookieFormat can be used in different scope locations. * Added Rules must have ID action and must be numeric. * Added The use of tfns are deprecated in SecDefaultAction. Should be forbid in the future. * Added Macro expansion support to the action pause. * Added IpmatchFromFile/IpmatchF operator. * Added New setrsc action, the RESOURCE collection used SecWebAppId Name Space * Added Configure option --enable-cache-lua that allows reuse of Lua VM per transaction. It will only take any effect when ModSecurity has multiple scripts to run per transaction. * Added Configure option --enable-pcre-jit that allows ModSecurity regex engine to use PCRE Jit support. * Added Configure option --enable-request-early that allows ModSecurity run phase 1 in post_read_request hook. * Added RBL operator now support the httpBl api (http://www.projecthoneypot.org/httpbl_api.php). * Added SecHttpBlKey to be used with httpBl api. * Added SecSensorId will specify the modsecurity sensor name into audit log part H. * Added aliases to phase:2 (phase:request), phase:4 (phase:response) and phase:5 (phase:logging). * Added USERAGENT_IP variable. Created when Apache24 is used with mod_remoteip to know the real client ip address. ^ Added new rule metadata actions ver, maturity and accuracy. Also included into RULE collection. * Updated Reference manual into doc/ directory. * Fixed Variable DURATION contains the elapsed time in microseconds for compatible reasons with apache and other variables. * Fixed Preserve names/identity of the variables going into MATCHED_VARS. * Fixed Redirect macro expansion does not work in SecDefaultAction when SecRule uses block action. * Fixed rsub operator does not work as expect if regex contains parentheses (Thanks Jerome Freilinger). * Current Google Safe Browsing implementation is deprecated. Google changed the API and does not allow anymore the malware database for download. 08 Jun 2012 - 2.6.6 ------------------- * Added build system support for KfreeBSD and HURD. * Fixed a multipart bypass issue related to quote parsing Credits to Qualys Vulnerability & Malware Research Labs (VMRL). 20 Mar 2012 - 2.6.5 ------------------- * Fixed increased a specific message debug level in SBDM code (MODSEC-293). * Cleanup build system. 09 Mar 2012 - 2.6.4 ------------------- * Fixed Mlogc 100% CPU consume (Thanks Klaubert Herr and Ebrahim Khalilzadeh). * Fixed ModSecurity cannot load session and user sdbm data. * Fixed updateTargetById was creating rule unparsed content making apache memory grow. * Code cleanup. 23 Feb 2012 - 2.6.4-rc1 ------------------- * Fixed @rsub adding garbage data into stream variables. * Fixed regex for section A into mlogc-batch-load.pl (Thanks Ebrahim Khalilzadeh). * Fixed logdata cuts message without closing it with final chars. * Added sanitizeMatchedBytes support to verifyCPF, verifyCC and verifySSN. 06 Dec 2011 - 2.6.3-rc1 ------------------- * Fixed MATCHED_VARS does not correctly handle multiple VARS with the same name. * Fixed SDBM garbage collection was not working as expected, increasing the size of files. * Fixed wrong timestamp calculation for some time zones in log files. * Fixed SecUpdateTargetById failed to load multiple VARS (MODSEC-270). * Fixed Reverted hexDecode for hexEncode compatibility reason. * Added SecCollectionTimeout to set collection timeout, default is 3600. * Added sqlHexDecode transformation to decode sql hex data. Thanks Marc Stern. 30 Sep 2011 - 2.6.2 ------------------- * Fixed hexDecode test during make. * Updated the reference manual into doc/ directory. 5 Sep 2011 - 2.6.2-rc1 ------------------- * Added support to macro expansion for rx operator. * Added new transformations removeComments and removeCommentsChars * Fixed colletion names are not case-sensitive anymore. * Fixed compilation errors with apache 2.0. * Fixed build system was not using some libraries CFLAGS. * Fixed check for valid hex values into hexDecode transformation. * Fixed ctl:ruleUpdateTargetById appending multiple targets. 18 Jun 2011 - 2.6.1 ------------------- * Updated the reference manual into doc/ directory. 11 Jul 2011 - trunk ------------------- * Add HttpBl support to rbl operator. 30 Jun 2011 - 2.6.1-rc1 ------------------- * Fixed SecUploadFileMode doesn't work with the new build system. * Fixed building with Lua library (Thanks Diego Elio). * Fixed some ./configure --enable* features not being enabled in compilation time. * Improvements on GSB database add/search operations. * Log part K was removed from modsecurity.conf-recommended. * Added SecUnicodeMapFile directive. Must be use to load the unicode.mapping file. * Added SecUnicodeCodePage directive. Used to define the unicode code page. There are a few already available: 1250 (ANSI - Central Europe) 1251 (ANSI - Cyrillic) 1252 (ANSI - Latin I) 1253 (ANSI - Greek) 1254 (ANSI - Turkish) 1255 (ANSI - Hebrew) 1256 (ANSI - Arabic) 1257 (ANSI - Baltic) 1258 (ANSI/OEM - Viet Nam) 20127 (US-ASCII) 20261 (T.61) 20866 (Russian - KOI8) 28591 (ISO 8859-1 Latin I) 28592 (ISO 8859-2 Central Europe) 28605 (ISO 8859-15 Latin 9) 37 (IBM EBCDIC - U.S./Canada) 437 (OEM - United States) 500 (IBM EBCDIC - International) 850 (OEM - Multilingual Latin I) 860 (OEM - Portuguese) 861 (OEM - Icelandic) 863 (OEM - Canadian French) 865 (OEM - Nordic) 874 (ANSI/OEM - Thai) 932 (ANSI/OEM - Japanese Shift-JIS) 936 (ANSI/OEM - Simplified Chinese GBK) 949 (ANSI/OEM - Korean) 950 (ANSI/OEM - Traditional Chinese Big5) Also mapping some extra unicode chars defined at http://tools.ietf.org/html/rfc3490#section-3.1 * Fixed SecRequestBodyLimit was truncating the real request body. 18 May 2011 - 2.6.0 ------------------- * Added SecWriteStateLimit for Slow Post DoS mitigation. * Fix problem when buffering in input filter. * Fix memory leak when use MATCHED_VAR_NAMES. 2 May 2011 - 2.6.0-rc2 ------------------- * Added code optimizations - thanks Diego Elio. * Added support to AIX and HPUX in the build system (untested). * Renamed decodeBase64Ext to base64DecodeExt. * Build system improvements - thanks Diego Elio. * Improvements on gsblookup parser. * Fixed input filter bug when upload files and SecStreamInBodyInspect is enabled. * Logging improvements and bug fix. * Remove extra useless files when make clean and maintainer-clean 18 Apr 2011 - 2.6.0-rc1 ------------------- * Replaced previous GPLv2 License to Apachev2. * Added Google Safe Browsing lookups operator and directive. It should be used to extract and lookup urls from http packets. * Added Data Modification operator. It must be used with STREAM_* variables to replace/add/edit any data from http bodies. * Added STREAM_OUPUT_BODY and STREAM_INPUT_BODY variables to work with data modification operators. * Added fast ip address operator. It supports partial ip address, cidr for IPv4 and IPv6. Thanks Tom Donovan. * Added new sensitive data tracking verifyCPF and verifySSN. * Added MATCHED_VARS and MATCHED_VARS_NAMES. It is similiar to MATCHED_VAR, but now we should see all matched variables. * Added UNIQUE_ID variable. It holds the data created my mod_unique_id. * Added new tranformation cmdline. Thanks Marc Stern. * Added new exception handling operators and directives. It should help users reduce FN and FPs. The directives SecRuleUpdateTargetById, SecRuleRemoveByTag and its ctl actions were included. * Added SecStreamOutBodyInspection and SecStreamInBodyInspection to enable STREAM_* variables. * Added SecGsbLookupDB used to load Google Safe Browsing malware databse into memory. * Added the directive SecInterceptOnError to control what to do if a rule returns values less than zero. * Improvements in DetectionOnly engine mode. Also added SecRequestBodyLimitAction to control what to do if the engine receive a http request over a hard limit. Note that there is now many combinations with SecRuleEngine and the limit action directives for response and request data. Please see the reference manual. * Improvements under RBL operator. It now will parse return code values for some RBL lists. * Added new Log Part J. It should log some informations about uploaded files. * Added new sanitizeMatchedBytes action. It will give more flexibilty for user to sanitize logged data, also improving peformance when sanitize big amount of data. * Improvements on Logging phase. It is possible now see full chains, distinguish between simple rules, chain starters and chain nodes. * Improvements on AutoTools usage. * Improvements on pattern matching operators, pmf, pm and strmatch now supports more flexible input data allowing any kind of special char. * Improvements on SecRuleUpdateActionById to update chain nodes. * Many bugs were fixed. Please see the ModSecurity Jira for more details 19 Mar 2010 - trunk ------------------- * Added SecDisableBackendCompression, which disabled backend compression while keeping the frontend compression enabled (assuming mod_deflate in installed and configured in the proxy). [Ivan Ristic] * Added REQUEST_BODY_LENGTH, which contains the number of request body bytes read. [Ivan Ristic] * Integrate with mod_log_config using the %{VARNAME}M format string. (MODSEC-108) [Ivan Ristic] * Replaced the previous time-measuring mechanism with a new one, which provides the following information: request time, request duration, phase duration (for all 5 phases), time spent dealing with persistent storage, and time spent on audit logging. The new information is now available in the Stopwatch2 audit log header. The Stopwatch header remains for backward compatiblity, although it now only includes the request time and request duration values. Added the following variables: PERF_COMBINED, PERF_PHASE1, PERF_PHASE2, PERF_PHASE3, PERF_PHASE4, PERF_PHASE5, PERF_SREAD, PERF_SWRITE, PERF_LOGGING, PERF_GC. [Ivan Ristic] * Added DURATION, which contains the time ellapsed since the beginning of the current transaction, in milliseconds. [Ivan Ristic] * Adjusted phase 5 to execute just prior to mod_log_config. This should allow phase 5 rules to to implement conditional logging, as well as pave support for allowing access to all ModSecurity variables from mog_log_config. [Ivan Ristic] * Added the URLENCODED_ERROR flag, which is raised whenever invalid URL encoding is encountered in the query string or in the request body (but only if URLENCODED request body processor is used). (MODSEC-111) [Ivan Ristic] * Removed the obsolete PDF UXSS functionality. (MODSEC-96) [Ivan Ristic] * Renamed normalisePath to normalizePath and normalisePathWin to normalizePathWin. Kept the previous names for backward compatibility. (MODSEC-103) [Ivan Ristic] * Moved phase 1 to be run in the same Apache hook as phase 2. This means that you can now have phase 1 rules in <Location> tags and, more importantly, override server configuration in <Location> and others. (MODSEC-98) [Ivan Ristic] * Renamed the sanitise family of actions to sanitize. Kept the old variants for backward compatibility. (MODSEC-95) [Ivan Ristic] * Improve the logging of the ctl action. (MODSEC-99) [Ivan Ristic] * Cleanup build files that were from the Apache source.
- Loading branch information