bbccedbddChange tags into hashes in deps.json14d69fa59Update mmdb filese0055328aFix add missing deps for core db testsc93d5a2fcFix CVE CVE-2023-33165631e2737Merge pull request #547 from bunkerity/subtrees3505c0d18Remove clone.sh fileffd310031Merge commit '7b566b885e99301b243c5f61360e65238035e048' as 'src/deps/src/zlib'7b566b885Squashed 'src/deps/src/zlib/' content from commit 04f42ceca45dca7b44Merge commit '2ab324a69f219b4051b2e77d211ee1a7fb1462b5' as 'src/deps/src/stream-lua-nginx-module'2ab324a69Squashed 'src/deps/src/stream-lua-nginx-module/' content from commit 309198abff85f86e46Merge commit 'c1073460677ba8aa2e325a1c57c3db1458f9fde5' as 'src/deps/src/luasocket'c10734606Squashed 'src/deps/src/luasocket/' content from commit 95b7efa9dbd600e0d0Merge commit 'a7d4cc5bbaabf8683b3b5cc1f42f9bd145cf1aa8' as 'src/deps/src/luasec'a7d4cc5bbSquashed 'src/deps/src/luasec/' content from commit fddde111fd15662693Merge commit '2d86912af87048b94c2921a60b3a8a5a0953e132' as 'src/deps/src/lualogging'2d86912afSquashed 'src/deps/src/lualogging/' content from commit 465c994781fb404757Merge commit 'f3ceeb73a958e774b1e2fa55d2607cdd3eb419ca' as 'src/deps/src/luajit-geoip'f3ceeb73aSquashed 'src/deps/src/luajit-geoip/' content from commit fde33e045f81788c00Merge commit '2678b91586e9183b47327fbb0f11ad23020f195f' as 'src/deps/src/lua-resty-upload'2678b9158Squashed 'src/deps/src/lua-resty-upload/' content from commit 03704aee42d06f2d7aMerge commit 'bc06cd71b8896c6e7a1aac4610c9c3f878956238' as 'src/deps/src/lua-resty-template'bc06cd71bSquashed 'src/deps/src/lua-resty-template/' content from commit c08c6bc9ea6379356eMerge commit '3038a0b027f09090e1cd8f101d2ee8c52c383070' as 'src/deps/src/lua-resty-string'3038a0b02Squashed 'src/deps/src/lua-resty-string/' content from commit b192878f6fdf0050a9Merge commit 'ee5198ba2810e33e08ff987ede5abe10fc74f6e3' as 'src/deps/src/lua-resty-signal'ee5198ba2Squashed 'src/deps/src/lua-resty-signal/' content from commit d07163e8c6f8ff3f12Merge commit 'a3cd342f3e1fffd7b16b83a24e03bb9ed501b319' as 'src/deps/src/lua-resty-session'a3cd342f3Squashed 'src/deps/src/lua-resty-session/' content from commit 8b5f8752f2f1cde097Merge commit 'eca8662cfe981f66ab92b53bbf83af65da02b2b7' as 'src/deps/src/lua-resty-redis'eca8662cfSquashed 'src/deps/src/lua-resty-redis/' content from commit d7c25f1b30b94df087Merge commit 'e59161ec204c7a95e4751b1c0e9a6bead7fcab39' as 'src/deps/src/lua-resty-random'e59161ec2Squashed 'src/deps/src/lua-resty-random/' content from commit 17b604f7f38fdd39d0Merge commit 'a2800598825bb5a03b577cca2874ff1cfae863f4' as 'src/deps/src/lua-resty-openssl'a28005988Squashed 'src/deps/src/lua-resty-openssl/' content from commit b23c072a4c2fa53ca1Merge commit '31bf774f63b8b46a3c7b53028853036fff6fa0b8' as 'src/deps/src/lua-resty-mlcache'31bf774f6Squashed 'src/deps/src/lua-resty-mlcache/' content from commit f140f56667b2273aebMerge commit 'c82b0bdd27762d2d4a9901a187506d2e5abd74f5' as 'src/deps/src/lua-resty-lrucache'c82b0bdd2Squashed 'src/deps/src/lua-resty-lrucache/' content from commit a79615ec93dc8cc87cMerge commit '746a6e16d027ab3bddfc610c987e5d61ab9b69d0' as 'src/deps/src/lua-resty-lock'746a6e16dSquashed 'src/deps/src/lua-resty-lock/' content from commit 9dc550e5662e740a0bMerge commit '19515d9b26f2f4886ca117b91384509087f0ff3a' as 'src/deps/src/lua-resty-ipmatcher'19515d9b2Squashed 'src/deps/src/lua-resty-ipmatcher/' content from commit 7fbb618f7e566b98afMerge commit '7160fd94e3dc22299ee3c9f8b0e71a5e2c1bb501' as 'src/deps/src/lua-resty-http'7160fd94eSquashed 'src/deps/src/lua-resty-http/' content from commit 4ab4269cfcdd42bf25Merge commit '1a7d4e58be28238599df3f5c15c56380c3e99732' as 'src/deps/src/lua-resty-env'1a7d4e58bSquashed 'src/deps/src/lua-resty-env/' content from commit adb294def49db9c24dMerge commit '0f4a0cb0ef514bee6b810f6d6cf982c5ef0abfca' as 'src/deps/src/lua-resty-dns'0f4a0cb0eSquashed 'src/deps/src/lua-resty-dns/' content from commit 869d2fbb0fe76b6830Merge commit 'fd02afef8ec1ceb8a816dc202d05c6ece9887d31' as 'src/deps/src/lua-resty-core'fd02afef8Squashed 'src/deps/src/lua-resty-core/' content from commit 31fae862a29d135bdbMerge commit '36023392a6e3c8fb6aebb46140db759e61da220e' as 'src/deps/src/lua-nginx-module'36023392aSquashed 'src/deps/src/lua-nginx-module/' content from commit c47084b5db01aa0b15Merge commit '32485e2860c2ea31fcef5b575f446c7a3036a550' as 'src/deps/src/lua-gd'32485e286Squashed 'src/deps/src/lua-gd/' content from commit 2ce8e478a909841ea6Merge commit 'c46cd666ab76bad7bd05c6261d692cda5b380f32' as 'src/deps/src/lua-ffi-zlib'c46cd666aSquashed 'src/deps/src/lua-ffi-zlib/' content from commit 1fb69ca5047ee3884fMerge commit '4f9b885a2e8b7a10653653fee3bb91cf5102b0ef' as 'src/deps/src/lua-cjson'4f9b885a2Squashed 'src/deps/src/lua-cjson/' content from commit 881accc8fe13868c63Merge commit 'bb450ac96595432625ac34de8f7f42b3d06a5b30' as 'src/deps/src/libmaxminddb'bb450ac96Squashed 'src/deps/src/libmaxminddb/' content from commit ac4d0d248772e05d37Merge commit '4a7228d2dcb7fe62526016b90a7c497fb6531e76' as 'src/deps/src/libinjection'4a7228d2dSquashed 'src/deps/src/libinjection/' content from commit 49904c42a209d4a461Merge commit 'ae8d8b233d52cbfdee68bd3ba21713149f5659c8' as 'src/deps/src/lbase64'ae8d8b233Squashed 'src/deps/src/lbase64/' content from commit c261320ed992710650Merge commit '1d1739b4eaa274c25c52b8ceb79ebdc717633ec0' as 'src/deps/src/headers-more-nginx-module'1d1739b4eSquashed 'src/deps/src/headers-more-nginx-module/' content from commit bea1be3bba09d5eb2cMerge commit 'e43880b08395df25663560da3d8154226a167a77' as 'src/deps/src/ngx_devel_kit'e43880b08Squashed 'src/deps/src/ngx_devel_kit/' content from commit b4642d6ca8973eb029Merge commit '26773844e7bd57df1216bd74360a62ec2dc976e3' as 'src/deps/src/nginx_cookie_flag_module'26773844eSquashed 'src/deps/src/nginx_cookie_flag_module/' content from commit 4e48acf1379d1b4459Merge commit '22e69251d9b5cd2611abf77ef7352abfa4d409d7' as 'src/deps/src/ngx_brotli'22e69251dSquashed 'src/deps/src/ngx_brotli/' content from commit 6e975bcb04cd57ab8fMerge commit 'b99663928782619ef854b4bf10a2bf7450d75266' as 'src/deps/src/nginx'b99663928Squashed 'src/deps/src/nginx/' content from commit 84cd72177d7f25398aMerge commit 'a676d333fda890838d8fc4766720cc3f1d4c5389' as 'src/deps/src/modsecurity-nginx'a676d333fSquashed 'src/deps/src/modsecurity-nginx/' content from commit d59e4ad12999fb6b8eMerge commit '7e8f4adc3b2b2a655640c73198fb920a5e8441d5' as 'src/deps/src/modsecurity'7e8f4adc3Squashed 'src/deps/src/modsecurity/' content from commit 205dac0e86d05b14ebMerge commit '6c0468f62b1120497a6fd0d21101dc41f29e7397' as 'src/deps/src/luajit'6c0468f62Squashed 'src/deps/src/luajit/' content from commit 04f33ff01141afd20Fix install.sh for nginx dynamic modules97406bff4Add libinjection deps backa58ad9b50Remove duplicate lua-ffi-zlib in deps831ae129cMake init_deps.sh executable451648fa7Remove old deps temporarily except lua185d75076Update how the deps are initialized6a048e68fUpdate how the deps are managed265123835Update python depsb0bc9a1bfUpdate the documentation2f7ed064fdocs - Fix typo in webhook link in plugins.mddeed39a1fUpdate lua-resty-openssl to version 0.8.23dd295729bAdd deps project submodulesb27f38349Update lua-resty-session to version 4.0.4 and remove lua-pack deps as it's no longer neededaeca252d9Bump lua-resty-core version to 0.1.27 and lua-nginx-module version to 0.10.251ec21261cRevert "Init work with submodules"718a9305dRevert "Fix .gitmodules file"a253f4a59Revert "Remove old folders that are now submodules"2e1e9a08cRevert "Initialize submodules"e2f1aba3cRevert "Add other projects to submodules"d9a98c6faRevert "Update commit SHA for submodule libinjection"5ed3ba1d5Revert "Fix path resolution for modules and remove nginx submodule"b529d8525Revert "Update checkout part of workflow to include submodules"43783edb9Revert "Add nginx as a submodule"8417ed132Add nginx as a submodule6cbbd0d56Update timeout for wordpress tests to 120 secondsd687b228eFix PERMISSIONS_POLICY authorizing self and links to be aside without spacesbcc9fdef9[#533] Fix SERVER_NAME regex to limit domains' size individually instead of the whole setting's value524a140d2[#534] [#504] Update ALLOWED_METHODS regex to accept more methodsa197e20d2[#531] Fix typo in documentation about SSL07ed136afUpdate setup-kubernetes of wordpress example30fec8a14Remove python submodule, will add it back in the next major4b4e0f8b3Update checkout part of workflow to include submodulesc2cfd4dd9Remove checkout from dev.yml642da402bFix dev workflow4bb6d40a5Update dev workflow to checkout the code and submodules first3bcdd9ca2Merge pull request #536 from bunkerity/submodules28d59221bFix path resolution for modules and remove nginx submodulec8e25bcdeUpdate commit SHA for submodule libinjectione1a5782a3Update how the dependencies are being cleaned up68bea47edAdd other projects to submodules2cd5c7f45Initialize submodulesd7d3e2429Remove old folders that are now submodulesa74727891Fix .gitmodules fileb5fffc1f3Init work with submodulesddc337394Update log location for nginx and letsencrypt1c362d078Remove the deletion of let's encrypt lib and log folders after the job is finished95c9bad8eRemove unused enums in database model7a972274fAdd database schema to concepts.md in the docs561499536Revert "Update README.md links to use local branch files"4536e328eUpdate README.md links to use local branch files89070cfb7Merge pull request #529 from bunkerity/uid6942a46eUpdate where the scheduler copies its config8a98da898Merge pull request #528 from bunkerity/ui26f831cb4Merge branch 'dev' into ui162198bb9Update db core tests to ignore the added value for env custom configs7a524b43eRevert back to 30 seconds of sleep in tests ui after creating a custom configb007916d6Optimize the scheduler and gen even more (we love threads)0661916ffUpdate ui tests to wait more after creating a custom config2105dc0f3Update core db tests to use the right hash for plugins_page files823119821Fix rare error when hashing dictionaries in the scheduler1e62626acFix KeyError in scheduler4d984f623Update CHANGELOGd0fd6884cFix shinanigans with the custom configs and plugins jobs8e6de2bdfAugment authelia timeout3565dd7b3Update CHANGELOG.mddf1359e87Add possibility to download lists and plugins from a file path + Update python deps + Plugins now support tar and tar.gz as wellb756b2d7dLint py filesf57b6dad1fix cursor gap on ace editor91c33f1d4Merge branch 'dev' into ui3e871efedUpdate python deps9982ec36dRemove useless import80033642cAdd reverse proxy headers back2a2b7b6f5Merge pull request #521 from bunkerity/staging78236abe8Check Aqua Securityc5ff63a40Fix CVE CVE-2023-313878ef5c482Fix problems when creating custom configs or plugins and removing them completely2c190ee96add writeable /var/run/bunkerweb directory to hardened example94867d0d6letsencrypt - use same job name when retrieving data from db9e00b9dd1letsencrypt - use same job_name for both new and renew jobs9adb209a8lua - fix missing multisite variables in LRUfdd3367a6Merge branch 'staging' of github.com:bunkerity/bunkerweb into stagingdcf156135prepare for 1.5.1 🚀4023e6dc6road to v1.5.1af9e125c8linux - merge change for debian packagerab6025ec9linux - fix missing zope modules7e221eb89debian workingf1435f231Merge branch 'dev' of github.com:bunkerity/bunkerweb into devb14dba775bw - fix multiple variables not loaded in LUA81bb9ede1Removing python 3.11 from linux7e66c577fRemoving python 3.11 in linux236572f58ui - remove python 3.11 import for Linux integrations73060e42aFix limit core testsdf0c03cefFix UI wrong import5d7ef69c9Update limit core tests to avoid false negative855ae8936Update limit core tests to avoid false positive16a1916dbRemove useless imports in lua code + lint605e237fdRemove 404 from Bad behavior status codesfc8d76f33Rollback on hcaptcha passive featurec08e8d151Update settings.md44097cad0Move the COEP, COOP and CORP headers to Cors plugin and change default values3446e5f9bUpgrade antibot to add a custom CSP on each pages + update plugins order70f227febFix error with multisite variables when requesting default serverf81b0bb4dFix multisite variables not being added in helpers978697500Fix has_variable method of utils5b0b183a4Remove no longer needed decode for plugin order from datastorea2759e377Add small tweaks on the datastoreb6d879257Fix how we fetch plugins_order in the default server94964a910Update how we handle custom configs6a1ff499cFix Lets'encrypt plugin api and internal API179a7aa34Fix lua sessions with antibota1385fe9bfix ctx usage in reverse proxy + remove useless log in limit23f9f14a4Remove old CVEs fixes from Dockerfilef77150bc2Test Aqua Security CVEsec48e6601Fix return value when no plugins have been found in api.lua6ab48d9ddUpdate python image to tag 3.11.4-alpinece24a0482apply changes to current core02d940393perf - ctx caching and per worker LRU for readonly variablesa7069bd60Update UI to stop using env variables but werkzeug middleware + Send X-Forwarded-Prefix headers to UI servicec39dd78aeUpdate cors plugin tests3b459b0e2Fix shinanigans with API (again)718310312Fix shinanigans with the API5deeacc3dFix letsencrypt jobsc18f743d4Fix PosixPath in jobs85a53278eAdd a charset to cors Content-Type headere01c14f11Add Cross-Origin-*-Policy headers management and default values0b3c1a8a0Update KEEP_UPSTREAM_HEADERS setting's default value95f673c1dUpdate doc about headerscee7672b5Update settings.md in the docd5ea95da9Increase load-balancer example test timeout39e6821a4Lint lua code64aa12b70Update python depsc392a0b5fUpdate mmdb filesf93dd34f6Extend KEEP_UPSTREAM_HEADERS setting to clientcache and reverseproxy core pluginsa23d189d3Merge pull request #516 from bunkerity/devdf47ba0e9Merge pull request #515 from bunkerity/dev0ca7de1deAdd CVEs fixes back84fcfb726Test Aqua Security 2c20bd05d3Test Aqua Securityc85a4183dFix Strict-Transport-Security not being sent654172f43Update headers core plugin lua codeafe6da4cfAutomatically add Content-Security-Policy header to response headers in the UI5c7cd38b5Edit headers core plugins to use lua Code + Add new setting KEEP_UPSTREAM_HEADERS299a0b5c2Remove apk update at beginning of each Dockerfile6cc20efe7Update bad behavior test BAD_BEHAVIOR_COUNT_TIME to 30 secondse2a3bfb10Bad behavior core tests change the ban time to 60 seconds4bbddf797Merge pull request #509 from bunkerity/dev1eeefead9Core tests sleep between each request9829ef752Update UI to automatically set SCRIPT_NAME and ABSOLUTE_URIb27958a19Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev410a64810core - patch modsec to use access phase instead of preaccessf7d986d6aChange the way linux starts and the scheduler95d4f0f87Small tweaks on core jobs4f324231dFix tmp variables path (again)dc18f9884Edit start.sh3b36965f4Fix tmp_variables_path in schedulerccc051e78Fix /var/run/bunkerweb in fpm args8b2517cdfRemove ui cache download test - to much unstabled1138855eFix gunicorn config for Docker and Linux0c8bc97faFix UI on Linux not using the right usera68fb0c06Refactor to make more sens and avoid specific errorsfff21746aCorrecting: Dockerfile-ubuntu End of statement block Jinja3ab4a59b6Update debian Dockerfiles to avoid updating apt packages only once760ec3b3bAdd /var/run/bunkerweb removal script when uninstalling BunkerWebbe459d240Update pid files paths to /var/run/bunkerweb8b697d87dFix Scheduler errors with the internal apis89a3c8b0bUpdate bunkerweb-ui file according to the new gunicorn usage5e237d0d0Update gunicorn to use a config file as well + Fix headers error + Small fixesa424d59b1Add apk update at the beginning of each Dockerfile1d14db7e1Update custom cert job to not duplicate certs if the cert is global7efb82a7eUpdate python depse920cba43Fix CVE CVE-2023-2650413b75b04Fix customcert plugin to accept multisite certs as well87a9545d9Merge branch 'dev' of github.com:bunkerity/bunkerweb into devc53394845various fixesaca0d6da4Small refactor on the ApiCaller and the Scheduler1bd40a877Removing vmware support in doc612333d2aMerge pull request #508 from bunkerity/dev474ecbb41Fix typo in phases list in plugin.lua5fa21b3c8Fix CVE CVE-2023-2949116a459bf7Lint antibot html filesfd06a1e71Add Turnstile antibotd5e64320cFix small typo in misc.lua4d6d95037Merge pull request #507 from bunkerity/devb60657e21Merge pull request #506 from gin-gitaxias/patch-31f2c973a3Fix docker-compose file for custom cert jobb314f4349Update integrations to add LOG_LEVEL=warning env variable to docker proxy0edfb2db3Update example to add a LOG_LEVEL=warning to the docker proxy83413aef2Remove open ports from core tests docker compose files334be4346Fix custom-cert core plugin953128be6Update scheduler changes check to reduce CPU usagebb7dcda48Refactor paths resolutions for core plugins108827952whitelist - remove unused IPs of duckduckgo crawler665b110c6[#504] Fix ALLOWED_METHODS regex5a2aa20bcUpdate plugins.md168dfc439Refactor paths resolutions for UI + optimizations on the plugin upload6e80c7b8dFix variable being ignored instead of saved inside the database when the value is empty8dad7a0b7Starting work on paths resolution refactorb5a78c3aaTest Acqua Security vulns (2)ed6bee69cTest Acqua Security vulns3dba058b4Fix custom configs not being cleared out once createdd9b093dabFix plugin example in documentation162f1d978Merge pull request #502 from bunkerity/ui1f2fa95e7Remove useless line in the head.html file + lint HTML files1cd356781Add multiple plugin upload in one compressed folder support for the UI29673f918fix font180493616Fix CVE CVE-2023-19997fe7a997fMerge pull request #501 from bunkerity/ui5b75894d4Fix UI latest version checking & Fix conditions in quick settings for services1f6b3d59aMerge pull request #500 from bunkerity/dev548630e3eUpdate python depsaa299f085Update plugin update and add to get only the necessary keysf0126b6d6Fix update-check joba7535c300docs - fix yt preview in readme340b4a492change arm server flavore7ea3952bui - add missing dep for docker/x863b7d8b6c1Merge branch 'staging' into dev6666a25fcedit version, update images on docs and fix bug in Linux scriptf84af3402Add error ignoring when using the rmtree function0b082bdabAdd handling of stderr being None in the scheduler1f2b550f6ci/cd - fix swarm examples and init work on release workflowd5fcc6969Merge branch 'dev' into stagingeda275589Merge pull request #485 from bunkerity/dev7506768c4Merge branch 'ui' into devbe3d40f18Fix CLIENT_CACHE_CONTROL setting's regex to also work with JS41059fb28Merge pull request #484 from Hado-K3n/patch-1688f85b282Merge branch 'dev' into patch-16e5e031b6bMerge pull request #483 from Hado-K3n/patch-152dbadbd29Merge pull request #482 from Hado-K3n/patch-1495c7b5410Merge pull request #481 from Hado-K3n/patch-1300739a5abMerge pull request #480 from Hado-K3n/patch-12a9f4be475Merge pull request #479 from Hado-K3n/patch-11f85f73678Merge branch 'dev' of github.com:bunkerity/bunkerweb into devf1efe06e9ci/cd - fix /opt/actions-runner perms for self-hosted runnersad71be460login now use local fontdcb800d2bUpdate k8s.postgres.ui.yml5a7f7f3c6Update k8s.postgres.ymle1f60127eUpdate k8s.postgres.ui.yml7553ffb63fix client_cache_control regex9324648f2Update k8s.mysql.ymleafe006a6Update k8s.mysql.ui.yml62a8ec975Update k8s.mysql.ui.ymldfcaba9adMerge pull request #478 from bunkerity/dev737b999cdSet CLIENT_CACHE_CONTROL setting's regex9339af44cMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev78f7570e1core - Fix bwcli condition when checking bans40e30ed44use shared redis connection pool in cachestore when we cand6ca98ed1Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev10a4cefd0update lua-resty-openssl deps and replace nginx -s calls with signals97723185bcore - Add bwcli testsab3b3ea8fui-tests - update waiting time after creating a custom conf5adec84d5fix redis not contacted in subsequent phases and reflect changes on stream configs1624c4e76Merge branch 'dev' of github.com:bunkerity/bunkerweb into deveea6d32cdshare common objects during the phase and add threading to DNSBL and reverse scan99f8f69faMerge pull request #477 from bunkerity/ui9b58b397cFix ui tests (again)ace88d865Fix plugins fetching for the UI69b35636eFix UI tests (once again)5dfe35b7bUpdate how the plugins are being fetched by the UIb75690fdfChange the way python deps are installedb19ebbe6aMerge branch 'dev' of github.com:bunkerity/bunkerweb into devc0c646aaeMerge pull request #476 from bunkerity/devedd6e2dedimproved session management and add IP/UA checksc7ca5a822Fix Database overriding services_settings if a global_value is sete1883a04bMerge pull request #475 from bunkerity/devaf19cc226core - Add redis tests0087ae583Update python deps8133c134ecore - Fix db tests by removing "order" key checkf725d0fe6Update keys name in datastore05c478e83Edit COOKIE_FLAGS regexb5aaf6266add forward reverse DNS to whitelist, disable redis in cachestore when sockets are not enabled, fix typo in cachestore and improve dns/rdns caching8a8dd6fb7db - remove order from plugin model93c766e56Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev179beea4dimproved core plugin execution order1d126e1d0core - fix cors tests with the preflight requestdbb884099core - Update allowed_methods test method to GET62cb85453core - Remove cert verification when testing allowed methods in misc tests04919e8a0Fix multiple CVEsb32f31891Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev4962f786bfix wrong env parsing in init phase, bypass modsec/crs when method is not allowed, refactor ALLOWED_METHODS and improve error page management10bdf551acore - Add misc tests7158e7e9acore - Optimize cors tests3f51f59bcAdd check when plugins are configured + Add Semaphore to accelerate jobs execution + Code optimization4c4fa44fbci/cd - fix core/cors tests84d43c84dMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into devb58798746Update mmdb download to check the checksum at starta9be973d5use PCRE regex instead of LUA pattern and edit cors doc4378f18ccfix typo in bunkernet.lua, add missing Origin header in cors tests and fix allow origin expected value7d84e03a1fix header plugin phase not called for internal request (fixes CORS), fix bunkernet init_worker bug where ngx.ctx.bw is not available, add CORS_DENY_REQUEST setting and edit values for core/cors tests838662141Lint Lua code36fdec105core - fix sessions testsab54b18e0core - fix reverse scan cache retrieval9c6ca6a86cors - various improvements991f7ff8dFix tests core reverse scan wasn't using the image9c77f77faFix test core DB9ee74aef4Add up back when retrying to up the stack + remove useless print7bf4c11bcWhen docker up fails in core tests retry one time82aadfa38Update core db tests to add the settings.json file and optimizations2a78d2c05ci/cd - perform all core tests even if one failede3fc55be9deps - add missing hash for python dep async-timeout5f668aecaci/cd - fix syntax error in test core wfe5e336c4fMerge branch 'dev' of github.com:bunkerity/bunkerweb into dev9a2e37984ci/cd core tests and antibot refactoring2ac77ee49Fix deps not being synced394f5fe4bMove back to images in the whitelist testsb06210bdfRemove unused files in tests coree6bb9fb55Add tests for core plugins29f020f15Update python deps051923b6ffix deprecated external network in compose files, various fixes in the documentation and add ipv6 to doc2e1296d9ashow useful info in BW logs after startup/reload and reduce container images sizea686562f1performance - cache empty rdns resultse36c743c7performance - cache dns responses75f3d6490init IPv6 support, add missing healthcheck script in UI and purge local cache on inita258612e4add global data on settings filterbc3ea0ed3change select method checkab71c484eadd global condition for disabled state5c415afa1various fixes - ttl on /bans api, dnsbl undercover bug, greylist, whitelist and wrong path in realip job5c50f57f1Revert "regular inp and multiple global=true are enabled"9ceaaa874regular inp and multiple global=true are enabled3dde3ac0aFix no longer save SERVER_NAME when MULTISITE is set to "no"c01b493c9Increase compression level of tar files being saved in the database4f4a8b508Fix default global values being added to database when MULTISITE is set to "no"408806718Add external plugins being updated at the start of the scheduler402ff16c8Add "global" key to settings when fetching methods as welldcdb43cf0Merge pull request #473 from bunkerity/devca8c56aaaRemove unused function in UI src.Config905946463Fix scheduler restarting for no reason when having an external database8a308b1a8Fix database not providing the right SERVER_NAME setting valuecf26d7aa2Fix database saving default values to global_values when multisite was set to "no"8bb6f63faMerge pull request #472 from bunkerity/dev64789276aUpdate python deps30194f959Fix Access-Control-Allow-Credentials not being set to the right value when deactivated50ee37db0cors - refactoringb8d89fe79Fix customcert plugin63f4e44c6Fix CORS when sending an OPTIONS requestac2e4dd64Merge branch 'staging' into deve14475de4ci/cd - fix missing version in linux package name136f68cd3ci/cd - fix typo in beta wfd83730cf7ci/cd - fix linux package name in upload/download stepsae042854fFix blacklist download jobs where ignore urls were not being downloaded86053d3dcUpdate RDNS regex in jobs filesb2e26fc8fRevert "Revert "Update RDNS regex""48354fb26Revert "Update RDNS regex"a544f18e2Update update-check job to add stars so that the end of line showsc6f304b37Update RDNS regex14ca85cdbci/cd - fix package.sh name in linux build wfdc1cb6a6fci/cd - fix scp command in linux build wf73acbe085ci/cd - fix typo in linux build wf45c90527cci/cd - fix linux package generation when arch is ARMf4590749dlinux - fix arch in rhel package image141f5a1d5ci/cd - fix typo in beta wf (again)6e82fde8aci/cd - fix typo in beta wf00ba46ebfprepare for 1.5.0-beta update9a1c09c56Merge branch 'staging' into betadf787c75dlinux - add pcre dep to fedora package93e567bb6linux - fix fedora deps name and add architecture to fpm config8b6d788c2ci/cd - fix bitnami chart values541b64698increase drupal delay time for tests, fix tmp dir not created for realip-download job and fix has_*_variable check when multisite is yes59324526cspeedup build process for python deps and fix default env value for autoconf/k8sa58e5c60cdeps - upgrade python dependencies27b1dddb0linux - pin pip versionfd056102dfix centos repo command in rhel dockerfiles and fix delete infras order for staging wffb0373343ci/cd - use single quote in linux build wf43cbc79c7ci/cd - move ARM_* to secrets in linux build wf7592e5a84ci/cd - fix typo in staging.yml39ace8175fix load-balancer example and add server_name to cache keys when required48d7e72e5Merge branch 'dev' into ui66921b007Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev819ad60a4fix hcaptcha antibot and refactor ci/cd for staging20913808cAdd .mypy_cache to .gitignore filea086ff690Merge branch 'dev' of github.com:bunkerity/bunkerweb into deva286e7bd3fix wrong container in autoconf/k8s, init work on linux arm and ci/cd refactoring5a233ff90Fix Database model types18b3d7148Update db model to use SmallIntegersb36cd924fAdd `bw_` prefix to database table names63ce1afcdHandle errors more gently when API requests failsd4934cfeeRemove test-ui service in the main docker compose file as it's been extracted500d58e50Separate the compose file back21dc67b68Update test.sh for ui-tests an the compose file75d2be7dbUpdate tests-ui to fix them041b7f71eUpdate ui-tests to make a valid password1245b8b01Update regex in ui + Add regex module to requirements913e9a2c2Merge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev97dc6540eci/cd - fix typo in dev wfb75ba601bMerge branch 'staging' into dev573fe8feeChange UI admin password check to a regex51514df57Remove not needed file in linux scripts9ff64426bFix ui tests with the external plugins74fe9d5c1Lint jobs py files97b362bb1Fix let's encrypt error when deactivated964d31893Fix wrong attribute value when checking for external plugins914686e78Fix often occurring bug when testing the web UI58db1352fRevert "Fix often occurring bug when testing UI"987af951dFix often occurring bug when testing UI1c74c5d8dci/cd - refactoring1cc9f5773prepare for v1.5.0-beta fixesac94e5072fix double .conf suffix in custom conf, migrate /etc/letsencrypt to /var/cache/letsencrypt, fix bunkernet jobs and lua code and fix reload for jobs773874154move /etc/letsencrypt to /var/cache/bunkerweb/letsencrypt (wip)75ca603b7WIP - fix bunkernet and missing reload for scheduled jobs027605452Fix bunkernet initial message when checking connection + add TODObddfb58a0Merge branch 'dev' of github.com:bunkerity/bunkerweb into devc7ab00208Merge pull request #462 from bunkerity/testmmdbef551846bci/cd Update mmdb - Let only the schedule and change branch to push onf41c096ecMerge branch 'testmmdb' of https://github.com/bunkerity/bunkerweb into testmmdba7b7c2031ci/cd Update mmdb - Add check for curl commandsfb5529566Monthly mmdb update0afb250b9ci/cd mmdb update - Changed branch to push on019a927b0ci/cd remove secret required for auto mmdb update283a63f16ci/cd try fixing workflow auto download mmdb42707ad46ci/cd test mmdb updatecd57eb423ci/cd - fix automatic push of doc01fbacf0fci/cd - fix pdf path for draft release + fix missing git fetch before deploying docd693d065fci/cd - allow to update release tag, add PDF to release and fix multiline CHANGELOG in releaseaa2ada0a0ci/cd - update git user/mail for push doc wfa47d7df40ci/cd - execute apt install as root for doc to pdf workflowc4093a2d7ci/cd - increase ARM node storage01e599493ci/cd - concurrent builds for ARM + fix version string for RPM packagesaaa070165linux - fix VERSION path in package script0b93c6e10ci/cd - add more cores to ARM instance88db3fa34ci/cd - fix build rhel var5c01bd3f7ci/cd - various fixes for push workflows604d4c1a0Merge pull request #459 from bunkerity/devbed6d742fDecrease the compression level when sending configs to BunkerWeb57cb6e9c4Update python deps0d1580cffSmall code refactor of the jobs and the scheduler's function that generates configs766ca0e9cMerge pull request #458 from bunkerity/dev0ab07678dMerge pull request #457 from bunkerity/ui5412e6d24fix logs checkboxba7422218ci/cd - fix push workflowsfda2948e0ci/cd - fix typo in push docker wf59e5b1d54ci/cd - fix push workflows7ca7d7847Merge branch 'beta' of github.com:bunkerity/bunkerweb into beta939545644add missing postgresql-dev build deps for ARM images0b5746abaci/cd - add missing inputs for build arm94dc501c1ci/cd - remove load image in buildkit for ARM archs because of docker limitation8ffaa7cf7ci/cd - force shutdown when deleting ARM node6e99e7a98cicd - fix docker buildx arm driver2eef2b8bbci/cd - fix variable share for ARM (again)406c686e4ci/cd - fix variable share for ARM6cecc70c3ci/cd - fix ssh command for ARM builder2f992baabLint py files with black7befd927dUpdate python depsa4ae0d517Update cached mmdb filesc3d0d7ca7Add workflow that automatically update cached mmdb filesd4ceb7c10Remove dev comments for ui testsb37c86e62Fix ui tests problem with the logs pagea7b07c959Fix wrong condition when fetching the logs on Docker3b237ed3cFix UI testsa55a0df5dci/cd - remove useless condition in create ARM workflowae33ca52eci/cd - fix wait-on variable8867eb23bci/cd - fix wrong json keys from scw api1b79e291eci/cd - various fixes for arm build98ce5041dci/cd - use fixed sha1 commit for scw action in rm arm workflow66d7216dcci/cd - fix typo in create arm workflow45fa4d1c2ci/cd - ignore /root/.cargo dir for security checks, use fixed sha1 commit for scw actions and add missing deps for ui/arm9cd13990eci/cd - pass ARM ID as secret266383abbci/cd - dynamic arm build node4e0d2fce5add missing dependencies when prebuilt crypto package is not present823c09195ci/cd - add missing var for ARM buildse71dc132eci/cd - fix typo in container build workflow0db5f7cf0ci/cd - fix typo in beta workflow4bfc5b693ci/cd - fix wrong cache name in container build workflow93d0a991aci/cd - fix typo in push doc workflow1c178ed75ci/cd - fix version output for beta/release workflowsab7e1f624ci/cd - add missing runs-on in beta/release workflows0f499c9d3ci/cd - fix typo in push packagecloud workflowd0f6d59f6road to v1.5.0-beta 🚀408662869ci/cd - fix typo in doc-to-pdf312757594ci/cd - fix typo in beta/release (again)11f86ea75ci/cd - fix typo in beta/releasead1606742use proper links in docs, automatic doc push and add pdf to releases08e1d157dFix ui-tests by removing no longer present checksc8908695bRemove unnecessary prints641a27f5eci/cd - remove useless needs for ui branch468407081ci/cd - fix typo in staging workflow6784bd691ci/cd - fix wrong condition for container-build workflowef1897de8ci/cd - add missing needs to tests-ui staging9815f22d7ci/cd fix typo in container-build workflow65c6e48e9Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev14a4db8bduse current_bw_version for docs, add automatic tests to ui branch and fix letsencrypt permissions for linuxf6b8d23fbFix ui tests by editing the attributes name to the new ones58fd04430ci/cd - fix typo in staging.yml54a17c775init work on CI/CD for generic beta releases, remove useless autoconf examples and fix linux postinstall script4f2c58bd7temp disable authelia test for k8s and add missing folders for LE on Linux5e4ce4579various fixesfa67c5d7bci/cd - fix missing arg for copytree04db308c9ci/cd - edit staging workflow5d2045803ci/cd - edit staging workflowe7717ba7fMerge branch 'ui' into devbbaaad848docs - last polish0658230e2enhance responsivef5c28b27dMerge branch 'ui' into dev575312336harmonize all titles dark color2f336be77enhance file manager and jobs svg81a37a377enhance actions btnsc3119f04edocs - pluginsffa91933edocs - add YT demo5741dce6dMerge branch 'dev' of github.com:bunkerity/bunkerweb into dev7695a839fdocs - web UI5fe0e0bfdMerge pull request #454 from Hado-K3n/patch-78c71f7d27Merge pull request #455 from Hado-K3n/patch-8124378d7cMerge pull request #456 from Hado-K3n/patch-9c6a184d90fix ui integrations and fix stream support in dbd8b7db167merge from uiddd83a808docs - add stream support info and plugin description to settings page289b58567docs - add stream support info on security tuning page4dda54a11enhance style0ca473c69fix style issue between load and page transition1145b798ffix filter setting from custom selectors63e7ccf13better centering loading logo with text001a63efccontinue custom selectors + fix script + style4144faa93fix create service issue + remove stash72bc9e4bbstart creating custom selectors98de3fc2fdocs - quickstartf118f992fmerge from ui5285a2f4aforce stash1d354c9c6docs - quickstart (wip)55a7c8feeforce stash64a9fe4dbfix checkbox + style issues + script duplicatea90d9e627ui - fix default value for inputs7e1efcbc6Merge branch 'ui' into devb5f0fe856docks quickstart wip01d8c65c9remove hidden input checkbox + fix scriptb7f63450eadd special method for modebc47f1fa5Merge branch 'ui' into dev7089e8b4dfix checked stated4fd4c473fix checkbox + templatedb5789fcbMerge branch 'ui' into devab20f83b2Update k8s.postgres.ui.ymlbbea8ba3fUpdate k8s.mysql.ui.yml9a2005d1aUpdate k8s.mariadb.ui.yml9512de630docs - quickstart guide (wip)956a7bd23Merge pull request #453 from gin-gitaxias/patch-2f8c5543fdUpdate plugins.md667bb3003docs - quickstart guide (wip)6b76596a8Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev78c2e16eaadd missing cluster config for ui/k8s and start quickstart guide doc1e6cfe8b0fix filter disabled issue + reset on modal open574ecbd6bLower the environnement variable for the modeaa3ce13a8Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev6f39fce6ddocs - integrations92fc5d981Remove ascii art showing in UI logsae7e3ddd9Fix how the ApiCaller is initialized for UI instancesdf94bc4afMerge pull request #452 from bunkerity/devbf29fa2f9Show how many plugins there are correctly in the home page509bd21b0Add log when deleting plugin1530745a7Merge pull request #451 from bunkerity/uia87abf3ceupdate home dark mode + variable8a5836dd9add popup darkmode3a4a6ee5fnew service doesn't force method="default"1321a76c0update service submit name for new or edit action53e145b91show method involved in disabled setting on hoverceec21faaupdate web-ui INTERCEPTED_ERROR_CODES63ba00180Fix logic when saving a service in the UI479f18b17Merge pull request #450 from bunkerity/uiab43bf84aMake it so the UI and the scheduler no longer run as root in Linuxa7849a6e7Fix mic mac with config files and UI9009859aaMerge pull request #449 from gin-gitaxias/patch-10bf2116c4docs - concepts3616a9f20Update security-tuning.md435aae7cfdocs - index and migratingc0e649d68fix logs + select custom1c3bbf1bcstream - add example and fix ssl support37ebde363fix logs and plugins dropdown + marginb64e55f75Add bigger timeout to loading.htmlda4bb8dceFix condition in helpers.luaab509c270Fix UI with Linux6916a81c5bunkerweb is now W3C friendlyc7bc493e3stream - fix various errorsbc1dbe18aMerge branch 'dev' of github.com:bunkerity/bunkerweb into devbd577cfb2country fix (again) and init work on streama829528c3Add bwcli to scheduler and fix it for the autoconf9d829ebcaFinish updating bwcli94b97a6bbMerge branch 'dev' of github.com:bunkerity/bunkerweb into dev780c0c8c5api - fix errors in calls and use ngx.ctx instead of ngx.var5fb0be70aMerge pull request #447 from Hado-K3n/patch-66843902dbMerge pull request #446 from Hado-K3n/patch-53419dca98Update k8s.postgres.ui.yml38c71cf94Update k8s.mysql.ui.ymlb7c260561[WIP] Update bwcli995ff250fUpdate python deps + add redis for the gena04490b47Replace unnecessary import5112ed46eMerge pull request #445 from Hado-K3n/patch-48558785b1Update k8s.mariadb.ui.yml95e64d6c8bw - fix black/grey/whitelist rdns check and country check8ea94a2e4Merge pull request #444 from bunkerity/dev9f1405d69Remove unnecessary {-raw-} in index.html when loading9a2f7e9abMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev93b471444Add marging to antibot files hcaptcha and recaptcha93c0cd437Merge pull request #443 from bunkerity/uie7d61a67cupdate antibot and default template5d05eaeaeMerge branch 'dev' of github.com:bunkerity/bunkerweb into deva77d233ecbw - add zlib dependency9a69ca135Merge pull request #442 from bunkerity/ui823c12823fix SERVER_NAME + fix delete form + enhance52806afe7Merge pull request #441 from bunkerity/dev2ea726c22Merge branch 'ui' into devdffc770a9fix and enhance12f8b8197bw - add missing lua-ffi-zlib dependency, fix syntax error for white/black/greylist, fix error for dnsbl and fix limit request not working in local mode4871a2104api - add missing ctx fillbcc5e6bb5bw - add missing json decode in api and add missing require in country83428d6ccbw - fix resolvers nil error when doing dns checks7eefcb8f8antibot - manage direct access to challenge pagea372ffd52fix invalid session error handling and remove debug log in whiteliste55912b34Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev5f9f1e54fload inline multisite values for white/black/grey list core3b4882d82Revert "Remove no longer present CVEs fix because these are already fix in the images"c2e0e5106limit - use atomic script for redis case4bc0771d9Merge branch 'dev' of github.com:bunkerity/bunkerweb into devedf7e06e0various redis fixes and display ready loga93d9a7d9Remove no longer present CVEs fix because these are already fix in the imagese4465d9a1Fix jobs cache when a database is usedc9af9457eFix wrong condition when sending files17a3d933bMerge branch 'dev' of github.com:bunkerity/bunkerweb into deva60b6f3adbad behavior - fix 500 error and do not pass objects with another lifetime to timersc0e8e93abFix documentation mistakes when soft merging 1.4 into devf1a868c66Fix when the cache from jobs is saved into DB + sleep 5 seconds when waiting for the database for the UId32102376Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev510938fc2antibot - fix bugs related to sessioned9605c10Update python script that generates settings.md3dabd42dfUpdate python deps834fbaf01remove antibot back btn + update raw95c231515antibot - various fixes, not fully fixed yet56028b087update antibot / loading / default page502d4fcc0Add back the fact that we don't download the mmdb country if we don't blacklist or whitelist a countryccd56d3b6change antibot and misc template stylec949c0232Update the security tuning's blacklist category according to the settings671543e6eAdd more ignored variables for missing setting name warningdbd5739abFix wrong setting names under `Custom certificate` category5f26ebc69Fix php-cookie-flags examplebba26b548Reorder core plugins to stop having the warning at startupdb166c434Add small fixes and lint to the error.html page08f3d93abUpdate jobs will now also check and save the cache in the db63b1fb947Fix CVE CVE-2023-1255d5b11b8bbMerge pull request #440 from Hado-K3n/patch-392744c091Merge pull request #439 from Hado-K3n/patch-2d46337f60Merge pull request #438 from Hado-K3n/patch-19b52a5c3cclusterstore - various bug fixes3f9d606e1Update k8s.postgres.ui.yml7e2f53c8cUpdate k8s.msql.ui.yml1f5d8bfabUpdate k8s.mariadb.ui.yml7a7d83a75various fixes for redis/clusterstore - still WIPa5e08e1c6refactor of session management0fdb108fecore - do not execute init() if BW is in loading state00b50c162various fixes for core plugins4ba5d6659use ngx.ctx to store common values860cc1a92Merge branch 'dev' into ui881d3a00dfix git issue on windows76a2ff656Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev28ef546a9refactor - start to use ngx.ctx for per-request dataed495b99fAdd CODE_OF_CONDUCT.md0bd3e273bUpdate compression_level of sent tarfiles to 5 instead of 9348ab7a1eAdd feature that allow the copy of code blocks in markdown + Update copyrightcf2938bf2Update web-ui docs according to the next major version79a46e2cfUpdate the logic behind the check for linux os9a325c7a9Add new check for integrations in BunkerNet job707256076Add now the scheduler will pass his own env as well to jobs9578ace02Remove not used INTEGRATION file in BunkerWeb container8c919c676Update links in the home page of the web UIad64ce22eRemove no longer needed packages that were fixing old CVEs29cb6fe16fix header phase and fix error templated3d18e15aMerge branch 'dev' of github.com:bunkerity/bunkerweb into deva83254bf2fix wrong log in access859343e18Merge pull request #437 from bunkerity/dev50829293cMerge branch 'ui' into dev8e22b1f21Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev9849ce10cfix wrong error check on phases and add missing ttl for *list cache items3b5c083fcSoft merge branch "1.4" into "dev" + changing versions4d95e32f1update error page1da4b78f0Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev915b51c3bfix error pages for default http server535f1a055Merge pull request #436 from bunkerity/staging0afe038aaWIP Ui3b6c3815efix default-server-http.confb5fa473aeMerge branch 'refactor' into staging2fddbd862refactor - disable asn checks for non global IPs, use resty.template with antibot and various fixes8d63e3974refactor - fix various errors and add missing dependencies23725d483Update prod shields.io link in README.md303f380c7Update demo.gif file3c375039eOptimization on the download of mmdb filesa7773dae2Update intro-overview.svg5eb884fe9Fix bug when showing cache files for services in the UI3fac889ffRemove no longer used modsec rules for the UIc3106e70eUpdate README.md and edit the demo GIF + edit the .prettierignore file928ed2d6crefactoring and road to nginx 1.24.034ab94640Update python image in Dockerfiles + Add gevent to requirements for the UIaa96c8503update css649d29b05change news base url217d1aa50enhance style + menu scripte6ff51e20Refactoring and Linting of py files and json666b7a1barefactor - blacklist, errors, greylist, letsencrypt and redis496edb83aAdding thel documentationee83cea7fAdd ascii art showing randomly when starting6d1914d62Update python deps648f15e42Add new core plugin update-check2075a5d4crefactor - badbehavior, blacklist, bunkernet, cache, cors, country and dnsbl5dd52186bFully adding vagrant in the doc3a03f07f1Changing vagrant integration64997bae8Adding vagrant integration03ec271e2refactor - improve clusterstore interface and automatically retrieve variables for plugins29c57915cantibot inherit from plugin840c29568continue work on refactoring1ec83f256renamed session to sessions8c2908157save workafc0ac198init work on refactoring4cd3fc644Merge pull request #434 from syrk4web/stagingbfc872be2change flash logic when login049e9c1eaUpdate python depsbf9b94ebfAvoid Autoconf from running in root92e698458magento - fix docker example (again)a771bdb18magento - fix docker example7c21b3da2deps - update lua-resty-session to v4.0.3d4fae4b57session - add missing settingsa85044220init work on redis session986f506e7add missing API_WHITELIST_IP in mattermost and moodle examples41e8f5c93fix wrong init of counter in badbehavior and fix nextcloud/docker example8e7205062ci/cd - reduce dynamic subdomains for k8s tests because of annotation size limit of 63 chars1bc42204dci/cd - use dynamic random subdomains to bypass LE rate limita1e44f6e4Merge pull request #431 from gin-gitaxias/staging7ccd3ef92fix moodle/swarm example and disable reverse-proxy-websocket test8b54073a7fix missing backslashes in autoconf custom configs and add missing full reload after custom configs update622f2eb2aautoconf - check if service exists before adding config5d14813befix typos after basic testing9f7060564autoconf - add missing import and fix double lock release937cd10eerefactoring and various improvements6af3b985afix deadlock in autoconf/swarm and fix missing favicon in default and loading pagesf6ed21b3bautoconf - fix global custom configs not supported in k8s/swarm modeeee03c4aeautoconf - fix variable typo in k8s watchecf4e77b3autoconf - fix deadlock in watch loop0b71819d2watch services for autoconf/k8s and support real IP in default http serverd3d0136bfvarious redis fixes and improvementse80965ca9lua - fix wrong variable name in access220374db4ci/cd - fix syntax error in jobs9b8606d40fix redis hostname for k8s files and only append tasks with a desired state of running for autoconf/swarmc843be074reverse proxy - allow all chars for URL settings6a65104e7fix return value of clusterstore.connect and disable auth basic for LE challengesb429201ecadd missing LUA import for clusterstore and fix prestashop docker examplea9ce32c26added a more precise scan response and modified .json like askedf4442b642ci/cd - fix syntax error in k8s test class1c3c0d63bci/cd - fix missing k8s create infra jobe8c6d04aaci/cd - various fixes for k8s tests1caa9a1e7adding reverse-scan5d41a5b98Merge pull request #1 from gin-gitaxias/reverse-scan77fb8c420Add files via upload1bb79b155linux - add geoip deps to rhel rpmcf8644602Merge branch 'staging' of github.com:bunkerity/bunkerweb into stagingea1394b04ci/cd - add linux/rhel tests, fix docker/behind-reverse-proxy, fix missing stream module for linux/fedora and remove placement constraints for swarm87bd26da0Add threatmap to READMEb3eb64745ci/cd - temp disable autoconf tests and add missing packages for linux/centos202f21aabfix syntax error in ApiCaller55a36f719fix docker/joomla, fix autoconf/nextcloud and fix API calls for swarm tasks1c3f094cdci/cd - fix wrong yaml edit for swarm and append LE settings for k8sf07c0e66aci/cd - various fixese8ee460effix CVE-2023-0464 and CVE-2023-0465dd2c8cbcdMerge branch 'staging' of github.com:bunkerity/bunkerweb into staging2d11a1c72fix nextcloud modsec rule id, fix k8s pvc definition and remove useless logs from linux/start.sh4f334a577Add sleep between BunkerNet registering and ping to the API to avoid being rate limited283828e8fFix Now support WebDAV methods in the ALLOWED_METHODS setting's regexe50c92250various fixesb8b50b165Remove check for messages after creating the service - tests-UIe88406b5dFix ui tests with the new UI922b32b2eMerge pull request #429 from syrk4web/staging671db37f7fix autoconf/cors, fix docker/wordpress, fix wrong image name for k8s/scheduler and upgrade tests instances for swarm/k8sbe71b0781format logs instance to avoid error9e1876fealogs fix + checkbox fix4d245f9fechange cache/download to jobs/download6d16a766ffix service delete + change style5e598e90cfix bw-data volume not reused between docker tests, fix wrong bw-data volume path for autoconf tests, add let's encrypt to autoconf tests and fix temp env not generated for linuxdc8b7dbe7fix form inputbf22faddcremove php-cookie-flags from tests, use HTTP(S)_PORT for temp nginx on linux and fix wrong volume path for autoconf tests6c6845a79enhance some responsive + change api461789aedci/cd - fix BW CVEs and fix Linux restart318228e59change and fix service logicfa7c7ac91ci/cd - add www volumes for autoconff88eced33Handle services settings sent to the UI better357dc3e3aMerge pull request #428 from syrk4web/staging283306a07Remove CVEs fix, it's no longer needed for now276a96c55Merge branch 'staging' of github.com:bunkerity/bunkerweb into staging19870f154various fixes for linux and get ui tests exit code from container2485a47b2Update python depsbd88f9743fix id rename error82d8180d8Merge branch 'staging' of https://github.com/syrk4web/bunkerweb into staging41f43c46dfix multiple0f632803fMerge branch 'staging' of https://github.com/syrk4web/bunkerweb into staging53f480a66enhance multiple logic + fix conflict1cf4a5665disable healthy checks for docker-poryx and dummy app in ui tests, add --no-reload-linux flag to generator and fix missing self arg in autoconf041142a4fadd healthchecks to ui and autoconf docker images4f9748cc2earlier init autoconf in DB, healthcheck for scheduler and fix syntax error in linux/start.sh54813ecd4Merge branch 'staging' of github.com:bunkerity/bunkerweb into stagingd97b5e104various fixes8031c5060Start handling disabled checkboxes + multiples58ab870b2increase cors/k8s/swarms timeout and fix tests/ui container namescceda705bupdate flash count on removee91f3dc22Add a log when database is ready in UI + Small refactor of the Configurator1e9a55c24Add small tweaks to the UI and scheduler Dockerfiles7dc26dafaFix disabled checkboxes no longer always have the value no with the UI7dc25b3a5fix redmine/docker example, remove double AUTOCONF_MODE in integrations, remove useless backslash in start.sh/linux, rename container for ui/tests55d24a8d1Change mmdb-country job to download the file only if needed9e009f7beMerge branch 'staging' of github.com:bunkerity/bunkerweb into staging73b640bd3fix cors/docker example, add missing AUTOCONF_MODE=yes to integrations YMLs, proper save_config for Linux and fix image name for UI tests87bccaad6Add `AUTOCONF_MODE` setting to scheduler in integrations examplesd331131c0increase timeout for php-multisite, add API_LISTEN_IP setting, edit default variables.env for Linux and add more logs for tests578a1a8c8Add more precise logs in the jobs pluginscb808c0adFix bunkernet-ip.list file not being created in case of an error (same as 1.4)c8d39ba6bFix scheduler no longer running as root + Fix permission errors with downloaded plugins4a67a5f56Merge pull request #426 from syrk4web/staging4dea680acenhance style + some fixd81088272Change the category if the user needs to log in in the UIe003b751dFix when saving plugins with pagesb829e4edfFix false positive error with plugin page in web UIfc3ef3346Add UI logs into consolece85bc6b8Fix openssl no longer prints progression in the console2e144bf46Merge pull request #424 from syrk4web/stagingdefb2c333Change the way the error page is rendered2ae37ce8dFix regex for ANTIBOT_HCAPTCHA_SITEKEY settingf335364fcLint antibot.lua16842fef1Fix errors with missing % symbol + fix errors because of the symbol5f5a5a890Fix css in antibot html filesccde5c74ffix real ip jobsd3402ff3fchange loading, error and test filesa02218bc8end examples refactoring5845446b9Revert "Fix errors regex, authorize same path for multiple errors"be0df4160Fix errors regex, authorize same path for multiple errors89812362acontinue examples refactoring5d214497bFix don't try to add an instance when saving the configuration with the UI808b7b220Update jobs connect to the database only when neededaa0eff749Fix regex in redis plugin that was breaking the UI + fix ui.conf missing comma + remove unused variables in templates1ac434a5bUpdate python deps9c22f1e97Refactor the py filescfe5c6063examples refactoringe37e6c346Fix mixup of swarm and kubernetes when reading env variables + refactoring0356250d9Fix problem with the bunkerweb container and plugins548d157feFix check if the Database is on read-only before trying to write7c5aa4897Update version string size to support new format61b9517a8Fix error when multiple jobs are trying to write in db at the same time8c67d08aeLint code966f57ceainit work on examples refactoring0210ddd88Add realip settings values to the initial BunkerWeb settings6f29756ddci/cd - pull only interesting images for UI tests2b1dbb1d4fix default cert path again and ignore pull errors for UI tests74a11c2edfix wrong cert/key path for default serverb3769b6e3fix missing then in blacklist.lua, disable site search in redis.init(), remove counter from reverse-proxy/stream config and fix ui tests compose pullc7d8b7dc1update resty core and http lua to support latest version of stream lua and various fixes related to ci/cda62ef9f54add missing init-stream-lua.conf and various fixes for ci/cd65611020dfix duplicate datastore http/stream, fix missing /var/www/html for linux and various fixes in testsb28668d68ci/cd - revert back to old condition for pulling images706305917ci/cd - fix wrong autoconf local image name, add missing secrets for tests-ui, fix wrong IMAGE_TAG for tests-k8s and try to fix pcre issue on linux2d440d26eci/cd - add missing runs-on for reusable tests-ui93945f391ci/cd - add ui tests5e31b6c4afix CVE-2022-1304 for autoconf, add missing load_module for ngx_stream_lua_module.so and fix missing -lpcre in configure step01fab4162ci/cd - fix CVE-2022-1304 and wrong TEST_DOMAINSaa614b75aci/cd - replace Test.py with latest one, fix yaml paths, print logs when k8s stack is not healthy and fix wrong linux docker image name88a295517ci/cd - fix log() callb95d1bc6dci/cd - add missing log() and fix TYPE for linux tests2604d9a56ci/cd - trying a hack to support dynamic runs-oned4d94529ci/cd - trying to fix runs-on problem53410e831ci/cd - remove steps609210021ci/cd - inherit secrets for tests workflowa168f2bceci/cd - fix rhel build and runs-on for tests8bf211bc5ci/cd - fix linux package generation (again)9250faa52ci/cd - fix linux package generation139eaa2ddci/cd - add missing scripts7149a34ccci/cd - add empty .trivyignore and rename redhat to rhel5c5dbcfc7ci/cd - fix type in push-packagecloud workflowe826c619fci/cd - fix wrong quotes in delete-infra workflowb24cbf73dci/cd - fix wrong quotes in tests workflow99e27c430ci/cd - add missing input in tests workflowee0e608deci/cd - fix negative conditions10f9658f5ci/cd - fix wrong jobs name in needs27bac0382ci/cd - trying to fix dynamic runs-on97627cf83ci/cd - pass runs-on to reusable workflows8969b1e72ci/cd - remove version from reusable workflows8ca292fb3ci/cd - change reusable workflow paths8e73eb87cci/cd - fix syntax errors46e3078ddci/cd - crash test incoming95c5e2e47ci/cd - move dynamic runs-on from reusable to staging workflow131857a9bci/cd - fix wrong indent in staging/delete-infra-*fc1cab1afci/cd - remove subfolder and continue work on staging25729fda7ci/cd - init workbb2d868faRefactor tests5e3dadbfeRefactor ui7fe168892Refactor scheduler36b5c372eRefactor Instance and remove unused method596258559Accept incoming changes for misc jobsc5a10aaa3merge default-server-cert job06acae405rename *CUSTOM_HTTPS* to *CUSTOM_SSL* and continue work on stream support6bf59b59aRefactor the plugins jobs7a8a75901Fix multiple CVEs (see comment) (finally)10ec01e7bFix wrong env var name in realip plugin947ecf81fstream - add is_stream variable to check if we are in stream or http mode4f4c8ebf0init work on stream support79036e975add ngx_devel_kit and lua-resty-env deps, support set_by_lua hook for plugins and init work on whitelisting support with modsecurityc2402b118fix duplicate root error when bw is starting, add modesec rule to core ui and init work on k8s/swarm integration filesdbd052e9aRemove unnecessary import and use parent list of supported custom conf insteadfb917960bRevert changes on the custom conf regex for the autoconf26de0a233Lint files0faa34ac7Add a regex to the setting REDIS_HOST1d9459202misc - add missing page.conf1b113236aMerge branch 'dev' of github.com:bunkerity/bunkerweb into dev29b373148misc - default pages for default server6cb714be0Start adding integrations examples99b85ec8aFix Apicaller error with swarm37114ee2fMerge branch 'dev' of github.com:bunkerity/bunkerweb into dev902fe6ad0bw - init work on redis7bf034fc9Fix being able to delete autoconf services from UI (shouldn't be)916caf2d6Merge (soft) 1.4 branch into dev branchf8e31f287Update mattermost to use a static image0f35c05eeIgnore multiple CVEs due to missing deps in python:3.11-alpine846e26e41Fix multiple CVEs (again)ebc7fbbceFix multiple CVEs (see comment)f4081ebd3Handle more errors with Bunkernet job3b01b5144Upgrade the way the jobs run_once are executed8fa94d6a5Edit DockerController regex to handle more custom confs and fix modsec conf mixingc92d4224fUpdate python deps + add cryptography for autoconf and MySQL579975899Fix checkbox not being sent when unchecked + double settings tab in UI935805721Fix CVE CVE-2023-22490 and CVE-2023-23946c671ccf7aAdd unauthorized_handler to UI5ac64758eMerge pull request #417 from syrk4web/devfdd0da35dMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev34d12cd55Fix file manager always use the database now + create log file for UI if not exists47ccd9f04Log events back in the UI39b0f3f19fix + show one mult group7828c0225add checkbox fallback + DL scripte425eef9aFix weird shinanigans when saving services configb75bc0344Adjusting upgrade on file variables.env79dabf763Change the way bunkernet check on which instance type it is3f462fb3bOptimize logger84f3a894fFix cache files not showing on UI93933bde7Fix custom conf MODSEC CRS being interpreted as MODSEC onlyc22bccc76Correcting nginx version for debian installation8bedc9ce6Correcting doc3a60b3463Modifying doc for packagecloud problem9efa21709Correcting fedora packagecloud probleme3410058fCorrecting Ubuntu/Debian60ac00f5ffix inp value6b13fbb84change svgc89205016Adding Rhel integrationcb77a7010change logs datepicker8b0d8a9d3remove log + fix service tabfacb597eefix float buttons89930f1a3Remove encoding from Database engine args6122d59d8Update python depsd3a02be59Rhel cannot be supported yeta51aa27e4Add some checks and solutions to rare syntax errorae8e65057Fedora upgrade working Correcting backup during upgrade Database backuped TroubleShooting some errors with OS Centos working77f41a059Backuping old confs working8fcba30abUpgrade Debian/Ubuntu working2e9a0c79efix select hover style64961e395Remove unused importsb662d8453Update python deps and remove oracledbe9d981a56Fix checkbox being disabled every time39418790afix popover content3d96fdb34update dashboard580f33e56new file el is hidden on nav4f6244e74Lint code1f2076756Update Python depsdcf9e301eFix UI not exiting correctly with gunicornf1a28b01bMerge pull request #408 from syrk4web/dev5739144e3Fix bwcli /bans commanddf7bbb960Update VERSION to 1.5.0dd0f56bb0Add password type for settingsd83d3aa3dFedora working Modifying centos systemd Adding %postun to rpm Modifying postun deb Centos workingb85e6ee6bUpdating to Fedora 37ca0d88fccUpgrading script: Ubuntu & Debian working835f85d5denhance input field stylec4b5ddb95Add setting to intercept specifics error codes86c81a621Merge pull request #407 from syrk4web/deve6cb5b0b0Made the UI independent + update job download plugins0ce5f216dhandle password inp44ce5381cFix CVEs12b4cfa22Merge pull request #406 from syrk4web/devd7ee3ad66fix file manager dropdownefbcfd0e2Beginning of automation testing for linux packages50b83790aMerge pull request #405 from syrk4web/devbf1d19f33remove prefix multiple input4d49f2f4bImproving and correcting problems on packagesf5d87849aFix errors in the UI when a service have multiple domainsd6d1dd1ceMerge pull request #403 from syrk4web/dev0f5a73430add condition for servicesa5256dd80Fix IPv4/Ipv6 CIDR regex591a20cd8Merge branch 'dev' of https://github.com/bunkerity/bunkerweb into devc56fccbf2Adjustements to upgradea3a5c1c74Add ui tests requirements to the updated python depsb1c99e408Add tests for the UI65f2bf09bRemove the idea to store logs inside the database7beb400b4Fix stop gathering all the logs every time with the auto updateab163ce13Fix services settings saves and plugins deletion6932f3dedAdd a new script to update python deps and update python depsd14372075Fix tar error when sending /etc/nginx to BW9edf789abUpdate python deps4b3b9b326Merge pull request #397 from syrk4web/dev557db479crefactorise logs script13f1dadf5Merge pull request #396 from syrk4web/devadf96cadcremove useless filesd2a634e7fplugins + global_config fix1aaac2dcfAdd regex for settings.json871807b80Add small fixes and tweaks4c5172edaCorrection of problems331d58324Fixing detailse9c1b0cf8Adjusting some detailsc220e5997Linux UI fix13fbbfb67Update job database while locking the threadsea4ceae7bFix isPage logic in menu (UI)8ee0ec88fRemove test files in UId81c52654Lint ui files and change .prettierignore file5cc80d2baMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into deva6295248cMerge pull request #394 from syrk4web/dev38b59954aLint yml files146338de6Refactor every .py filefcd8d8746open another tab for doc051192791change style9c80cdb32add plugin page logic to menu7689dac76Filter CVEs fixes in Dockerfiles0c8dfaaabUpdate bw and autoconf Dockerfiles for let's encryptc5d3e77c1Fix letsencrypt permission error and optimize the ownership commands in scheduler8304116fdSend more variables to the home page front4379e21eaShow dirs of every services even if they don't have a custom config148d9d2d4Remove user override in the job scheduler when executing jobsc6498eda7Add new php-cookie-flags examplef97e056ffUpdate jobs13fe4b6eeEdit core plugins regex + make COOKIE_FLAGS multiple + edit DB model accordingly2b2eadf44Merge pull request #392 from syrk4web/dev342fe956fchange data creating new servicebb7ca889cenhance darkmode + fix + factorisationcdc3cfc81add toggle multiples + style191c88238Merge pull request #388 from syrk4web/devdbe49bb8fUpdate intro image7bdc46057Change how the edit works in the config (UI)364ef13b5Fix error by calling a method on the wrong variable1142ace55Fix rare error with the jobs return code477e87a2fnews script + multiples groupsa04f983a0Merge pull request #385 from syrk4web/deve5574fbdcchange flash messages styleb1ca47253Small tweaks and handle services variables better98bda4d1eRemove unused line in Templator0b1be727fOptimized the storage in the Database47526dc8aMerge pull request #384 from syrk4web/dev00d3073b0get custom method and check disabled state02d10f619Fix datepicker.js not being found because of the capsda634af4aAccelerate send_files methodbe0ee60cdhandle stop signals with the web-ui064f9eef9Remove lines that will never be use in save_configec15a4e88Handle stop signals from Docker in the schedulerc49f50da2Move BunkerWeb entrypoint to the correct dir48bbb5e39Merge pull request #382 from syrk4web/devb944de9e8change service multiple script07ab3deb0Remove unused lines in selfsigned joba4e863f09Update authentik and migrate the example to the 1.5eeb810546Migrate authelia example to the 1.5e2b2505d8Fix saving config for multiple settingsa0c2db7a0Fix how the config is get from the database4595295bdfix tab focus style + dark mode style0bd6d5655add flash script to login + enhance style6f5aab11dfix footer padding37380b977fix get multiple settings only3f6432f4bMerge pull request #381 from TheophileDiot/devff84656cdUpdate examples + add static versions0e29d9f1fenhance and fixc195ffc86Fix autoconf not working properly with the shared volume291d64e29Update community example + linting4346322f7fix services settings on modal openf2daf7368Merge pull request #380 from TheophileDiot/devba9c16a5dMerge branch 'dev' into dev0db1550f2Changed the way jobs' cache files are downloadedfa54ebd49Made a few tweaks + change the plugins for the services modals0290f509eadd plugin_name (change values)77931b623add plugin_name6560ca086test0d0f1aa95Merge pull request #378 from TheophileDiot/dev03e98985eMigrate more examples and lint016a8cd6dchanges5263be27dChange the way jobs are downloaded + folder created in configs7813b51dbMerge pull request #377 from TheophileDiot/devc4bd535acAdd autogen back for docker and the autoconf243c4ca78Merge pull request #376 from TheophileDiot/deve9687a5b1Remove unnecessary comments8537eea89Merge pull request #375 from TheophileDiot/dev3c9574daeLinux: Updating nginx to 1.229f84e02d8refactoring services modal logicb105896b2add rename formff83b342dfix issues8e31672acMerge pull request #374 from TheophileDiot/devb3d80d7a6Generate requirements with python3.9 + use new resolver6bbbe70eeMerge pull request #373 from TheophileDiot/deve33bad4b9Fix comments + updated passbolt to support the 1.537f21c5d4Temporarily comment the post fetching343d9d09eShow plugin pages even if there are none0a4f0eb57Fix error with jobs wrapper1d4998356Fix darkmode + Add new variables to pass to the front547021e7bFix job fetching for never ran jobs0954e82f4Fixes some bugs in the UI related to the plugins3c5f6002dfilter script + manage files + fix css + enhancee988aacf3Merge pull request #371 from TheophileDiot/devcce181a29Update customcert job9ba06b64dUpdate README7f2eadaccUpdate python version for the scheduler and requirements8d6c3d0b8Fix db get_configcc748a048enhance responsive + add loader3bafe137drefactorisatione9dfb59f3handle settings type multiple (fetch, add, remove) on services8e5dda520Changed the way the config is get from db368122181start multiple add and delete logicfee59a51eseparate multiple from others inputs50ba22914upload plugins + jobs template + global enhance94b0e6a0dChanges on the flashed messages2e0a733cdMerge pull request #370 from TheophileDiot/dev103e4a0aeUpdate modsec CRS to v3.3.4f0f9d7dcfMerge pull request #369 from TheophileDiot/dev4dabe6daeAdvancements in the examples migration to 1.5115bfbdc1Merge pull request #368 from TheophileDiot/dev81ad9e9acUpdate examples and add docker-proxy82ab6c7c4Revert "Remove unsafe deps in the requirements and install setuptools manually"b578823a1Remove unsafe deps in the requirements and install setuptools manually7fb61b5efNo longer dump the jobs to the front37ece3de1Merge pull request #367 from TheophileDiot/dev719d779e0Start updating the examples to the 1.52889b2638Merge pull request #366 from TheophileDiot/dev3c3bb7f20Fix the way we fetch the config from the database (with suffixes)f0d0dac91Add the variables back instead of the "_" so it doesn't create an error62ab9944cFix scheduler errors with sqlite in autoconf739190051Make the bunkernet not run in a thread to avoid errors840ef8cf8Fix typo in selfsigned job5a95e6703Edit the way the UI updates the config34b5aba1cMerge pull request #364 from TheophileDiot/devb7f60dbdcUpdate deps and requirementsa0634b573Merge pull request #363 from TheophileDiot/devc0efdf9c0Replace /usr/sbin/nginx with nginxdb35e575eRename variables so they make more sensb22cc44d8Change the way jobs are sent from the database4e96e57e0Make certbot compatible with 1.5aaeda5300Change the jobs logic + add support for arm657722922enhance templates844b06e28Fix how the jobs are sent to the front3a0727b5clogin template done0f5756cfbenhance logs + prepare jinja variables08e7c2104plugins done + add name to settings6b5d6e07eRevert changes on the check_settings function3ccc12d78add dropdown + responsive3ed3fbe99Autotonf now update the instances tooe56f96d04Update database model + Save instances to database + add the option to add logs into the databasec87c3637dstart plugins template3a5d14952Made few tweaks with the home page + remove useless functions55e76b280Fix path for dropzone's scripts64d261accChange the way logs are parsedf13455d11send timestamp with ms7aac0c352fix msfb2e41c11logs params2967ed98cfix fetch4f9b2120etestf1e614faechange ternary operator for fetchfa5719db7fetch logs + liveUpdate filter2a2f2f1e9Fix scheduler error208716722Merge pull request #361 from TheophileDiot/devfa98003f2Thread the jobs run_once89e8839bbOptimize the regex for the core lists51c5836aechange logs script/template + continue jobsf61b4428bMerge pull request #360 from TheophileDiot/1.5a96771881Change the logs date format + start editing the logs endpointd30adf670Changing rhelbf19cfe3dMigrating Linux to 1.5. Still some details to adjust to be perfect0cd6ed1afWhen downloading new plugins, update the database properly + update job every time now8f75af3d6edit the .dockerignore4f4beeef9Create the database variable even when passing the variables, just in case7347fe9bcupdate jobs only onceb509ce16eCopy the files after installing the requirements64601ebf5Remove useless warningsc9238f993Merge custom configs generation to avoid repetition192c6755cUpdate db for the jobs that are ran only oncec14765c6cChange the way jobs are sent and how we update external plugins888bedd51Change how jobs are send from the databasebabb1c72cRevert "indentation"44c74f9beRevert "indentation"984b6c5f0ci/cd - speedup codeql by ignoring some folders not containing python files355c947a4start jobs template + enhance menu272de0b8bci/cd - fix codeql config pathd9fc713c4ci/cd - move codeql config to filec2503d63dci/cd - add codeqlb098478bdenhance service + darkmode scriptfa1739439ci/cd - init work on dependabot82df3f17fci/cd - init workf02adf300indentationc1031cb2cindentatione8581ecb4enhance news/menu/base + logs scriptseb99d00daRevert "enhance news, menu + end logs scripts"a7d3d0452enhance news, menu + end logs scriptsc7556a39aMerge pull request #358 from TheophileDiot/1.5e02e9c9ecEdit how plugins work with the UIf1d7add73Merge pull request #357 from TheophileDiot/1.51252d1651Add the jobs feature and add the link when using sqlite2154c7f54Update database default DATABASE_URI7957f63b8Merge pull request #356 from TheophileDiot/1.573668b476Optimize plugin gatheringb3cfc1f01Remove unnecessary lines and add plugins_errors endpointb57e50db2Send needed settings with the services in uia0e66ab30Change Database default path for the sqlite filefdd393826add ui work in progress6b9a6a7e3Merge branch '1.5' of https://github.com/TheophileDiot/bunkerweb into 1.5277e37bceRevert "add ui"05d4b77bbMerge branch '1.5' of https://github.com/TheophileDiot/bunkerweb into 1.5e7e43e64dAdd dark_mode to uid40a93cb7Revert "add ui"d102f027fadd uib70d97671add ui7db7aee7cMerge pull request #355 from TheophileDiot/1.570844ca60Fix database with autoconf1a7d8978bMerge pull request #353 from TheophileDiot/1.593c74154afix fedora python deps bugf2eabc0dffix centos python dep bugd199f124bremove exits in ingress controller3ec15eb4bUpdate the docs from dev5a8f81256Merge branch 'dev' (softly)d214352b7Merge pull request #352 from TheophileDiot/1.5891757dabAdd support for arm + change scheduler python version8dd377562Merge pull request #351 from TheophileDiot/1.5630cf8b88Change the way services are sent to the UIb0c09b4deMerge pull request #350 from TheophileDiot/1.5fa655e6f0Remove no longer used install.sh and uninstall.shc8fbcbeaeMerge pull request #349 from TheophileDiot/1.532101c3dcMove UI deps, Make the DB compatible with PostgreSQL, MySQL and Oracle035eed8f6ui - add custom PYTHONPATH in Dockerfile2a3e24bd2Merge pull request #348 from TheophileDiot/1.53984c4b0dSeparate deps and change prettierignore file and pyproject47afdc88eMerge pull request #347 from TheophileDiot/1.501bb6f5e6Stop converting the files content to base64 when sending them to frontc35874797Return dumps of settings instead of the dicta8f27ccb1Merge pull request #346 from TheophileDiot/1.5edce79936Update the structure and the paths04578aab3Changing path Linux folder5ae714fc7Merge pull request #344 from TheophileDiot/1.5f65a4cdd6SMall tweaks on the UI + edit the ConfigFiles edits06aa73fcfMerge pull request #343 from TheophileDiot/1.50811aad7fEdit scheduler and change DB858f6e00fChange python versionb279d0240Fix BunkerWeb gen on startef7fa5b4fMerge pull request #342 from TheophileDiot/1.511bcd9824Merge branch '1.5' into 1.5bacef768cAdd integration manually in bunkerweb5ec179affThe UI get the custom configs from the database0e6a5f3f9Merge pull request #341 from TheophileDiot/1.5eec00ba2bUpdate the Database and make it easier to gen479b556fbMerge pull request #340 from TheophileDiot/1.5375776e7dFix UI path_to_dict with the cache filesdf62fd410Merge pull request #339 from TheophileDiot/1.51f58d0c51Edit dockerfiles6c07f9967Merge pull request #338 from TheophileDiot/1.5069b45f37Add some tweaks850530cd0Merge pull request #337 from TheophileDiot/1.501b414552Make the Database support every feature + updatesa12d013fcMerge pull request #334 from TheophileDiot/1.55f8353c11Adapt everything so that the UI can work with every integration (some more tests are needed)fe8962592Merge pull request #333 from TheophileDiot/1.566fb266f8Centralize Database and optimize requests7a03ed33fUpdate pip in Dockerfiles every timeb09c05d3bUpdate BunkerWeb deps9c02d5f9eMerge pull request #330 from TheophileDiot/1.57d743e198Update the database and the core plugins accordinglyce6f01cf0Merge pull request #329 from TheophileDiot/1.59140dc324Optimize Database connection and ApiCaller81307c82cMerge pull request #328 from TheophileDiot/1.50edef7c52Use Python 3.11 where we canfe774e000temp nginx is dead, long live to the IS_LOADING setting0bf402fd7Merge pull request #327 from TheophileDiot/1.548242b9a3Get all config with generator0b73ea856Merge pull request #326 from TheophileDiot/1.509378458ddb.get_config() get entire config and doesn't filter anymore100849023Merge pull request #325 from TheophileDiot/1.58b54762fcFix db init with autoconfcfaeb1013Merge pull request #324 from TheophileDiot/1.57e53bfe55Fix gen for Docker integration54530d535Merge pull request #323 from TheophileDiot/1.579eea0e99Linting + starting to migrate bunkerweb to the 1.5316b84ad3Merge pull request #318 from TheophileDiot/Feature-specific-order-for-pluginsba56c9f55Merge pull request #317 from TheophileDiot/Fix-scheduler-error-reload-nginx-linuxa8f79e58fMerge pull request #303 from TheophileDiot/Fix-custom-conf-disappearingb2a7e053bMerge pull request #314 from TheophileDiot/Feature-blacklist-ignore96e656273fix indent01cecf14eMerge pull request #313 from TheophileDiot/Feature-max-client-size-edit-modsec873ccad9bAdd MODSECURITY_SEC_RULE_ENGINE and MODSECURITY_SEC_AUDIT_LOG_PARTS (#292)97bf473e1deps - add update checker for deps (#293)5af2fb778Complex example using autoconf (#271)bd4c94e83Add specific order for core plugins and check thema96a8a8c2Fix incorrect message while reloading nginx + more details on error446ff93a4Add ignore blacklist feature5fdcc9e58add g/G to the available file measurement unitsd207aa4bfVariable MAX_CLIENT_SIZE change the SecRequestBodyLimit value57ad9d7eeFix old custom configs where never deleted7860aeab9Merge pull request #312 from TheophileDiot/devcac220023Fix small typo in autoconf integration5d9dc88ccMerge pull request #307 from TheophileDiot/Restrict-access-IP-NET40863f28aMerge branch 'dev' into Restrict-access-IP-NET67d514b53Merge branch 'master' into dev51e96416dMerge pull request #304 from TheophileDiot/Fix-Endless-loading-after-update-serviceace1dfca2Merge pull request #308 from TheophileDiot/Fix-docb9e5badd9Fix last typosa9865f850Fix typo in plugins.mde3d0120a0Fix minor typos in the doc9214bb939Merge pull request #309 from TheophileDiot/Fix-flask-dev80c1b225bReplace flask development server with gunicornde0954facFix typos in the docs27b4ff330Add the greylisting feature06f65ffe2Change the exposed port to 7000b0a887a15Fix errors and warnings when editing a service803ff8cb5Fix CUSTOM_CONF_SERVER_HTTP disappearing after 60 minutes (autoconf)94ce249d7[#290] Fix typos in docs478e98018ci/cd - temp disable k8s test8f44e108bci/cd - add docker system prune72caf907aci/cd - temp disable swarm tests01acb1cf3ci/cd - temp disable nextcloud/swarmfc3c7892dci/cd - add missing prepare for prod tests2a04a5642ci/cd - update ruby version for CentOS builder6afdb298flua - fix pcall for asn/country mmdb lookup04019a617tests - fix nextcloud/swarm34649bf33docs - add Ansible to README469a5343eci/cd - remove old linux packages before building4244399ebroad to v1.4.3 🚀66029a316tests - edit prod workflowd0c245ba8tests - fix bug when testing if a swarm stack is healthy5633d5ff5tests - remove mongo-express/swarm61d57b4ebtests - fix mongo-express/swarm76f035e21fix wrong DENY_HTTP_STATUS setting in docs, fix autoconf ghost/prestashop tests and some UI warns/errorsb35dbdffctests - fix ghost/docker7e226301dtests - fix prestashop/docker8f273a929ci/cd - fix missing comment chars45f4e06acroad to v1.4.37fe58ddd5tests - disable systemd start limit561e64a89tests - road to debian29933fdebtests - add unzip package to linux container7915da6dfdocker - fix CVE-2022-3209d8f6c2756tests - fix configs perms for linuxcb56e7d04tests - add chown for custom linux configse84734314tests - fix linux/drupal (again)4caae414dtests - fix linux/drupal8a23b96bftests - disable linux/moodlea4fd701d5tests - temp disable linux/proxy-protocol39ed524f0tests - add missing variables.env for moodle/linuxd0e3f3ae2tests - call cleanup-linux.shb0fa57b05tests - replace restart with stop+start for linux testsec1136085tests - print logs when setup_test fails3be348ebetests - add haproxy cleanup for linux tests884ca0f6dtests - add missing variables.env files for linuxe4321629ftests - road to linux tests 🚀c277a33e9tests - add missing which command for fedora512c60c51tests - add some debug info when linux/setup faile64cc29a8tests - create /run/php folder for rpm linux distros42d29743blinux - fix 755 perm on /opt/bunkerweb505d5c2aetests - fix behind-reverse-proxy/linux70992a0b5tests - fix haproxy logging again7e5465c59tests - fix haproxy logging againf5606b693tests - fix haproxy directive265742cd9tests - haproxy add logs0580662cclinux - copy current variables.env to make temp one8e15e2a40linux - set /opt/bunkerweb permissions to 75517801caebtemp disable arm552588adftemp disable arm5849c66e6tests - fix www.conf052dc2346tests - increase php logs verbosity for linux tests331c7e954tests - add debug log file for PHPf71ad0f65php - fix fastcgi_params path34c648830trying to fix PHP bug in Linux5c99a4b0erefactor linux/start.sh and fix tests/cors www copyeb6f0d673tests - fix purging wrong folder for linux tests6ea38b1f7bunkernet - fix wrong import in register jobb5c07dda0tests - add cleanup for linux tests17b6b0fdctests - fix PHP www.conf for Linux512ed7200tests - add cors/linuxd8071e4c4tests - install php-fpm790fa37aetests - fix behind-reverse-proxy/linux6005a8f73tests - fix behind-reverse-proxy/linux again and again09f56a1c6tests - fix behind-reverse-proxy/linux again0c4d2edf1tests - fix behind-reverse-proxy/linuxd53c54d4btests - add behind-reverse-proxy/linux093d426bcbetter management of registration with BunkerNet and fix syntax error in LinuxTest3762c3874tests - copy variables.env for Linux tests55525abf1tests - fix mattermost/k8s23f8ec957UI - fix container CVEsa38ca5138docker - dont generate config if already presente92938f00autoconf - fix container CVEsc2ad79a79Docker - fix CVE-2022-374348eefb4bf5examples - fix mattermost/k8s6d1ef606fexamples - fix nextcloud/k8s95c4ce723enable bad behavior on default server and various k8s fixese295b020etests - increase redmine timeout and add pvc cleanups1e499db50examples - fix gogs/k8sa64276136disable bad behavior if client is whitelisted and fix redmine/reverse-proxy-multisite examples115d517c7tests - add delays7c1474cd8examples - fix moodle/k8s port number305870cc2examples - edit moodle/k8s port number3df0f8505tests - add delay to moodle897528b73tests - fix magento/k8s again4f4c446f7examples - fix magento/k8s again69848dcccexamples - fix magento/k8s0516f0a83tests - assign bunkerweb-controller to srv141524a9e3tests - force pv0d44b098ftests - fix prestashop URL0e315dc5ftests - edit prestashopHost value5741391detests - change k8s service type of prestashop to clusterip6adff9cebtests - increase timeout and remove pvc for prestashop/k8s97a2caf06tests - fix Kubernetes missing variable assign865f4f1b5tests - fix prestashop/kubernetese8305b0b6tests - fix missing prestashop/kubernetes.yml840b875f7docs - edit plugins page978bbe9caexamples - fix missing configs subfolder in nextcloud/bw-data502c9f2feexamples - fix radarr/swarm1c4f8bf55tests - automatic volumes prune for swarm testsb6e2ad22atests - fix joomla/swarm216686fc8tests - add delay parameterd648b1fbetests - increase magento timeoutd3b725294tests - wait until swarm services are runninga48200bc0examples - fix reverse-proxy-singlesite/swarmb429dd804tests - increase timeout for swarm healthy check0440c61d0examples - fix gogs/swarmae36b9899docs - quick edit on PHP9a83fadd8examples - fix gogs/setup.swarm.sh permissions09141f204examples - fix magento/swarmedf5421bfexamples - fix permissions for magento/setup-swarm.shc67564c7ctests - increase timeout when doing requestsb07637009examples - fix mongo-express/swarmec35b0a54examples - fix mattermost/autoconf95e3022ebexamples - fix autoconf/reverse-proxy-singlesited63538fd5examples - fix wordpress custom conf variable name for docker/autoconfe01b24072tests - ignore error when replacing patterns in files (binary files)217924fe4examples - fix reverse-proxy-singlesite regexbb6d02e0fexamples - escape dollars in reverse-proxy-singlesite compose files5c42fb58dtests - fix reverse-proxy-singlesite2f8c5a1e9examples - fix host for reverse-proxy-multisiteaf866e825edit docs/integrations for ansible and fix examples/mongo-express compose filee90d4cc7etests - fix json for reverse-proxy-multisite70ac3c01btests - fix missing arg no_copy_container07a962466tests - inline configs for docker/autoconf87c57c67ctests - refactoring on the road, still needs some work8fb03a317tests - on the road of refactoringdc8570ca8tests - add status type151378570tests - refactor mattermost example4e7d795eatests - support custom cleanup-kubernetes.sh script and refactor some k8s tests with helm chartscc9d228abupdate compose version to 3.3 for swarm examples so config directive is supported181957147remove trailing space in DockerController and add missing bunkerweb prefix for autoconf-configs example324feb593autoconf - fix missing configs update for DockerController22398d567cors - fix typos in autoconf.yml5119c8da7gogs - missing setting for autoconf0fca93e3etests - sleep 30s between autoconf tests17e14f4d5tests - fix wildcard with sudo3a46d318etests - remove only content of subfolders4eff0c3f9tests - fix behind reverse proxy urlbf58a17b8gogs - add setup-docker08d8bc880tests - remove whole subfolders in bw-datab38f7c54etests - add kubernetes-configs and fix missing s in urls06f7fb096tests - fix docker-configs (again)b7101eb47tests - fix docker-configsa08b51bd0tests - fix gogs expected stringb2bcfb8c7tests - fix hardened expected stringd3014b42fexamples - refactoring in progress7eae49719tests - prevent default rate limitbe21b3933tests - fix sudo cp again7bb881aa3tests - fix renamea607bd67ctests - replace python cp with sudo cp6d06a32cctests - list example_data as rootc5526ef2fMerge branch 'dev' of github.com:bunkerity/bunkerweb into dev75b2ae868tests - fix example_data path for docker72965e230Merge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev201e2cf0fCorrection logs Linux203397444tests - init cors and fix example_data path for autoconfd8c8ceab3tests - fix LinuxTest setup and init work on integrating examples with the new test systemc02d888b3examples - rename setup scripts for drupal9a9f9ebf3examples - fix linux-setup.sh for drupal6e381ee02tests - disable copying bw-data files for k8s and swarm tests0ee09d47dtests - force removing directories with AutoconfTestda2f6cb4ftests - force removing directories with DockerTestd1d2e51a3cleanup tests directory and init tests refactoring for drupalc14b08faaexamples - edit authelia configuration.yml file for Linux integration80fee58e4bunkernet - add default api server in jobs37690a7a4configs - enable default server if TEMP_NGINX is setb3fdd109alinux - fix wrong variables.env path when running jobs once193449512Merge branch 'dev' of github.com:bunkerity/bunkerweb into devf5ede7897examples - fix authelia variables.env767a7ab31Adjustements doc Ansible/Linux81b370366wait until Linux test container is initialized and fix variables.env for authelia44fbf0315authelia - extract tarball to tmp02db54ce0examples - follow redirect when downloading authelia for linux14d61854eadd sudo to linux dependencies and curl to linux test images6f35561fatests - fix cp and end_fun for LinuxTest2505bc015tests - add linux to authelia kindsb1df38374tests - temp enable docker410212b15tests - run docker cp in a shellf2ac7bca7tests - fix typo in LinuxTesta0948923etests - copy local files for Linux tests458ebe07ftests - dynamically find deb/rpm name2205043e7tests - fix LinuxTest.docker_exec()d370f1b05tests - add missing chmod import to LinuxTestbf6dd93aatests - replace rmdir with rmtree for LinuxTest773517311Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev850a8057cignore CVE-2022-30065 until we have a fixe6271ccd6Final proofreading FPMf0ddb8328docker - fix CVE-2022-30065 for autoconff260bcf23Small adjustementsfa319ec10tests - fix argv len check029406453tests - fix typo in LinuxTestf47ab0adctests - integrated LinuxTesteca010231FPM Linux/Ansible Doc4d61e96e4tests - LinuxTest on the roadc9c730346tests - fix linux.sh58a82ddcdtests - copy Linux packages to local directory8062d043ctests - fix Linux dockerfile path0a09f8a75fix CVE-2022-29458bb425bc36tests - init work on Linux testsaa729daebexamples - remove double $ from kubernetes authelia7edd55544fix k8s example for authelia and ignore error code when doing debug_fail for k8s tests0fd77a809examples - fix typo in kubernetes authelia720f36f47tests - init kubernetes refactoringea98b453dtests - use unique domains for swarm tests4bd0129e4tests - also edit root domain6e47b2991tests - add sleep in the end of SwarmTest.init()abc500a4dtests - fix domains for SwarmTest378047794examples - fix authelia swarm compose version4a5e50005fix typo in SwarmTest and fix authelia swarm example3b73c50c3tests - ignore docker stack ps return codeba6fddb56tests - init swarm refactoring9ecd2bd98examples - add missing network aliases to authelia autoconf7bbf77b7afix authelia autoconf example and debug fail before cleaning testsf02fe1ed9tests - remove only subdirectory on new tests and add cleanup when test failed0383cadd6tests - fix compose filename for autoconf testsaeba0ba72tests - add missing AutoconfTest object67608a463tests - add missing decode8b3b1291ctests - from replace/rename functions to class method1c5c81d2ctests - add missing importfa2d52d80tests - remove useless log and return boolean from Test.end68bf5ef85tests - remove wrong cleanup call424b37bectests - change permissions as root2780ee190tests - add debug_fail function07b0bb38ddocker - fix CVE-2022-29187 for ui and autoconfb47c2696edocker - fix CVE-2022-29187fdb8ca3catests - replace internal _log with logger.logeb59a9377tests - init refactoring for autoconf2e0542dbbtests - ignore case when performing test0a996bf12tests - replace match with search48a6ba632tests - fix rm command991ddb9ebtests - remove file as root1e1d7d7f1tests - replace variable typo in get requestebc94f515tests - add missing char when replacing Docker volumese4f6017d6tests - replace example domains with test domainsdfc5f2e79tests - export runner envc07f85a42Merge branch 'dev' of github.com:bunkerity/bunkerweb into devab57be657tests - fix missing copytree import and self parameter5f79aea4bfpm single/multiple docker&autoconfcc760a646tests - fix datetime import againdb2c35cb3tests - fix datetime import28f1b4f73tests - rename variablee1183a0d4fix tests.json for authelia and exit when test exception occurs16573a397tests - do not run as rootde8cee491tests - add missing imports56afbd457tests - run as root590ad46cdtests - fix missing chmod import and Test.init log call8d580bc16tests - fix missing Test importa91fc7307tests - fix indent and isfile import773a37d45Merge branch 'dev' of github.com:bunkerity/bunkerweb into devb64af8526tests - DockerTest on the road0d3e1e2a1Update the plugins docs85217b57cFix a typo in the plugin page in the docsba75154d0Add url_for function to custom plugins templatesc055ec7ecFix duplication in plugins2c4efe9d0Add Plugin Pages feature795dfc077Add static map files8b4b3f3b0ansible docs2e4758e94tests - DockerTest improvementc155227ectests - init work on refactoringdde185141tests - increase timeout for magentoe62523d1dlua - use pcall with mmdb functions658ab7504docs - add ansible diagram8d6397a6bMerge branch 'dev' of github.com:bunkerity/bunkerweb into devf5c86cc4eexamples - add cors example8760110fbMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into devcc4f0b26aQuickstart Ansible and integration7b769361acors - init work on core plugin for CORS97e607110linux - rename bunkerweb-ui.env to ui.envc3ee7929bdocs - change target of the web UI demo link to blank969a1e5d7Merge branch 'dev' of github.com:bunkerity/bunkerweb into dev5bf59c85ddocs - replace web UI gif with YT video430f665cdMerge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev5be21f9bfAdding www folderafdd4de5afix regex checks with *_CUSTOM_CONF_* setting, add doc about DENY_STATUS_CODE5586b3733misc - add DENY_HTTP_STATUS setting (403 or 444)90e58f261fix ui.env path for Linux integration and add docs for autoconf with rootless dockera00607af2docs - add instructions for podmane880b7d59docs - add infos about Docker in rootless modefc925ccb1edit docs typo for UI and variable typo in autoconf571422131ui - fix CVE-2022-2097287e763e0autoconf - fix CVE-2022-209789f81140acontainer - fix CVE-2022-2097 (again)a5c98f709container - fix CVE-2022-2097429214727tests - fix data folder permissions (again)6b1c5a93etests - fix data folder permissionsfb85d1d2dautoconf - fix typo in variablefdcbc8d36custom conf - fix wrong path with multisite configsb2bb93bcfexamples - fix docker-configs again2b59086f6examples - fix docker-configse09d4901econtainers - fix regex for *^CUSTOM_CONF_*3594618e4examples - fix typo in docker-configs (again)e44311281examples - fix typo in docker-configs738e3b6e1containers - use python hack to get env var values from string5ac80a135containers - replace compgen command with a python hack because compgen -e do not display var with dots8f258486efix multiple CVE with curl/libcurl and add autoconf/docker CUSTOM_CONF configs examples2dc18a794autoconf - support both configs from files and autoconfe0a700506autoconf - init support of custom variables using labels385b7c413docs - add docs for custom config using labelse25babe3dcustom conf - dockera5457a164custom conf - init setting support0a1e8be71examples - add missing setup.sh for mattermost70c60f2a9tests - add mattermost and radarrf2dfb0172examples - edit mattermost and add radarr1a8eef2c8fix autoconf import for IngressController and init work on mattermost examplecb106a112autoconf - fix indent in IngressController492648eebautoconf - fix 410 exceptions (k8s)1425ad0b4docs - update settings listf7290b2c7v1.4.2 releasec0a8a356clinux - include bwcli in /usr/local/bin40007b086add slack to official plugins and init work on EXTERNAL_PLUGIN_URLS setting6478512e4scheduler - only send /data folder if apis are present7aa6852d3autoconf - fix missing scheduler in autoconf mode and missing apis list7bba81b16autoconf - fix wrong variable name for environment5cb61380dautoconf - add missing call to ConfigCaller constructorb2758cea7autoconf - init work on _get_static_services methoda18d77aeeautoconf - init work on static server configs as env var4a699ef6cfix missing local Linux images import in ci/cd, and fix bug related to jobs in Linux integration5690a58abfix IFS checking permissionse55928a37fix bwcli commands when using Linux integration0f2388b1ffix permissions check when file has space in the name2b43a9cbfMerge branch 'dev' of https://github.com/bunkerity/bunkerized-nginx into dev5ecf39ee0Fix web-ui example with X-Script-Namead091493cexamples - add various certbot-dns examplesa65606c36examples - add certbot-dns-ovhcd0d70b8fcache dev Linux images in ci/cd and disable site config generation for autoconf/swarm/k8se21a35017plugins - support log_default() hook, same as log() but for default serverc563731e8autoconf - fix overwrite configs file when using Docker autoconf3c417d2fflinux - fix fedora NGINX version in Dockerfile, fix missing arg when building DEB/RPM and force NGINX version DEB deps970082f92linux - force NGINX version in RPM deps4a2504c3breflect ci/cd changes to devfd0c7b1e5ci/cd - add automatic build for Linux images1e6d62ce7fix packagecloud yank name1a4e21481docs - edit supported architectures for prebuilt Docker imagesbcaca6f03v1.4.1 release424214fd5add changelog and add missing s in authentik url82b42d5b9Merge pull request #259 from Brawdunoir/masterdb4e2cf26update linux docs, minor fix in ingress example and update default value for bunkernet job0ef82619btemp disable automatic tests for authentik and test automatic arm build on dedicated hardwaref2655e331remove arm build again, fix proxy_*_timeout directives and add authelia exampled51ae1c1bRemove USE_ before authbasic plugin settingscd0438b8csupport REVERSE_PROXY_*_TIMEOUT settings, remove useless push in CI/CD and try to build arm on GH runnersf9a042526add docs about compiling BW from source on Linux, add docs about packages pinning on Linux and fix regex for REVERSE_PROXY_AUTH_REQUEST and REVERSE_PROXY_AUTH_REQUEST_SIGNIN_URL15ac64b05let's encrypt - fix bug when AUTOCONF_MODE=yese0f8895e9init support for auth_request and add authentik examplee85229835don't send local IP to BunkerNet on default server, fix certbot new when MULTISITE=no and fix unknown reason in get_reason972a284efdocker - drop support for prebuilt arm images5258d8e58docs - edit linux install procedureacb4bea97reflect CI/CD changes for master pushes42067e864GHA - temp disable armv7 build until we have a fix for cryptography dependency217bddabfGHA - different caches for armv7 and armv8 imagesc5fba1367fix GHA typos1b21f9eacfix UI tag in GHA jobs389e05094fix links in docs and change cache location for GHA jobs05a89c303fix registry URL in GHA jobsa0ed8a27eadd debug flag to GHA buildx stepsd0ac5e305update GHA actions versionb16f8f11aupdate GHA actions versiona23ed06e6fix typo in GHA jobs6b9be078brefactoring of GHA jobs8e198ed82linux - fix documentation link in systemd unit filesc3b527afeactions - fix RPMs path972e5471dactions - fix linux deb/rpm generationb246c6d7efix wrong branch name in actions and image name for linux testsb78fd5542fix freetype CVE945241339actions - rename main branch to master1af2264fatemp stop push to private repo6f28708c1docs - add missing settinga9f886804bunkerweb 1.4.03a078326cMerge pull request #199 from Myzel394/patch-1d43b82b75remote API - only do action if 4033850cacb9prepare for v1.3.2c00c7f46alua - verify certs when doing HTTPS requests163af4a49prepare for v1.3.298e85eb99docs - update security tuning sections : distributed blacklist and request limit2e63bb025docs - reflect kubernetes/swarm changes into the doc6546a0edbdisable country ban if IP is local, update default values of PERMISSIONS_POLICY and FEATURE_POLICY, upgrade archlinux packages before testingab0038174ui - fix ROOT_FOLDER bug in serve-files.conf9f7097de0request limit - fix some LUA code24d6337a5limit req - multiple url supportbfb5319c1limit req - add burst and delay parameters4c77a1482use annotations as env var in Ingress definition, fix cidr parsing for reserved ips, fix missing empty when job is external, fix ping check for remote api and init work hour/day support for request limit4e45fa387integrations - acme without shared folder when using k8s/swarma9a26b82dfixed typo00d91dcaajobs - move certbot hooks to python650ad7ea4integrations - fix missing acme folder when using Swarm or Kubernetes7045c0c2bjobs - fix encoding error on CentOSf0f432487remote API - ban IP from distributed DBfdc02be05remote API - basic send of bad IPsfb799765ajobs - fix str/bytes helld53f02b5bapi - client side (untested)7b9722facjobs - add remote API31ed4ff83centos - update ca-certificates in install scriptbc5f3ee88fix CVEs and add init to Debian test imagea6b21aae8fix typo in settings.json, bump Debian to bullseyes, init support of Arch Linux64aa9c253init work remote API5d94cc8f4docs - init changes about storagelesse7ee21cbbantibot - fix path for templates and dataa0f8cbdacantibot - fix LUA typo in recaptcha mode178d7a684Merge pull request #182 from Nakinox/patch-2ca81535bbswarm/k8s - less storage, more API062fa3e78integration - continue work on storageless config for k8s and swarm95f2d2af9Update docker-compose.ymle55dff812api - init work on storageless configurationf0f1c79d4v1.3.1 release3d2f5e238conf - add REVERSE_PROXY_KEEPALIVEb079c99fbMerge branch 'patch-15' of github.com:thelittlefireman/bunkerized-nginx into keepalive2e403c6ebconfig - add CUSTOM_HEADERf75a05584config - add REVERSE_PROXY_BUFFERING148edf681tests - add github token to trivy scannera19d8aa04Merge pull request #180 from vepito/vepito-patch-1480cff86bMerge pull request #179 from thelittlefireman/patch-1635df3423dmissing blank line29f4069deswitch the use cases72e438459Fix typo related to non-HTTP configurationa4a264773jobs - fix docker reload and only do cron jobs when necessary892e53369Missmatch in docs with modsec foldera05614160deps - use ModSecurity v3.0.4 instead of v3.0.5 to avoid memory leak0772a9ba8docs - edit badge version33e0ffd5bMerge branch 'master' into dev4cb3e089elinux - git SHA1 commit in install.sh8808f161cdocs - dev to master links and VERSION upgrade1c60ec980tests - fix volume wait with linux testsb13ff3456add REDIRECT_TO_REQUEST_URI variable and edit environment variables docs58f2926e9docs - various examples fixes9de628f3eMissing proxy_set_header for keep alive6cc1abc89Allow keep alive connection when ws is offa824e1568linux - rename cronfd52bb7c8linux - fix cron jobs0938b20ebUI - use sudo for Linux integrationb948e08bdUI - use systemctl on Linuxfde14d162linux - fix unknown scheme error and do nginx reload as root in UI8a4eb3f2aremove .site files (gen), uninstall remove folder at the end (linux) and run jobs when reloading local instances (UI)2a0b84074ui - fix bug when Docker is used but Swarm is disabled, add jobs from API /reload and fix docker-compose docaec22d1a8ui - edit docs and fix CSRF028fc61b4docs - add dns_resolvers and permissions to Linuxa903960b4docs - fix missing subfolder in Linux quickstart guidea28f06f08linux - run temp nginx to solve let's encrypt challenges6c8bc6b34tests - fix Linux systemd bug when writing to /tmp folder2b3b4a5c3linux - systemd support57e4247ealinux - systemd unit filef9d4e9089docs - edit k8s php service port and append suffix to hosts4f024ec56docs - add DNS_RESOLVERS for k8s integrationbc46fc3d4append suffix to ingress hosts0be1da18aremove old conf before generation, dynamic DNS for PHP and reverse proxy and swarm fixes in quickstart guide3cedc0ae1quickstart guide fixesf1d5c07ccautoconf - various kubernetes fixesc9a6b6c27autoconf - fixed infinite lockb199464a7various bug fixes related to Swarm integration4a9d64d9dadd favicon to web UI and fix some tech docs31536a3felinux - reload as root7b47c7304examples - minor fixes in architecture images83e7ce9cdexamples - polishing before next release0ad5159a3docs - add changelog for next version6240d8e28ui - read variables.env when Linux is used2f80f64dddocs - last polishe98da9b63docs polishing and fix install.sh gpg --verifyd9f770696docs - web UI75f299978docs - special foldersef34b2cecdocs quickstart / multisite9b9110214docs - quickstart guide / php9e2a8070edocs - quickstart guide / reverse proxy733136ac1docs - init quickstartfa172ce5adocs - linux integrationf6a9184aedocs - k8s integrationd37dc2b62docs - swarm integrationf7c115edfdocs - add autoconf doc to Docker sectiondfbb09136docs - init integrations/Docker8e4a65fecfix global.env generation and add web UI gif to README0573ba7b5ui - centering things without breaking sticky navbar and menubcd421de0ui - various bug fixes more or less related to UI2ec28c79cdocs - fix README tocfec60a4b1ui - minor styling fixesdd7d1a2c7ui - fix example, subpath behind reverse proxy and add socket proxy rights for swarm0c1883472docs - edit kubernetes overview image and add configuration section on the readme4e6eab794docs - fix wrong swarm imageb23135b66docs - add docker and kubernetes imagesace9be397docs - add autoconf and swarm images8958e5107docs - add overview imageb2cfc15c2security - add security policy94bef079aexamples - add architecture images50266c228examples - add the last missing README.md stubs22e2fe869examples improvement - added some README.md stubs55186bbefexamples improvement - hardened, joomla, kubernetes, load-balancer and moodled8286ced7examples improvement - certbot cloudflare and wildcard, clamav, crowdsec, ghost and gogs44de2253dexamples improvement - traefik alternative, autoconf reverse proxy and basic website6d73fbdedexamples - update authelia and autoconf-phpb6809266aautoconf - let's encrypt support for ingress controller4e178b474autoconf - basic ingress controller support for kubernetes021147f9dautoconf - fix wait and redis5a26d06c8autoconf - fix infinite lock and honor DOCKER_HOST env varbc01427deignore CVE-2021-36159 and redirect job logs as root when using autoconf652614f41autoconf - use DNS for Swarm instances discovery24d9cce82autoconf - various bug fixes in Swarm modef866ef632autoconf - minor fixes, prepare Swarm testing1a32e7c02autoconf - various bug fixes with DockerController7180378d0autoconf - init Config refactoring6e66571fbvarious cleaningf44e41cedjobs - lock and reload management26db144dfautoconf refactoring and fix CVE-2021-36159a68ad53c3autoconf - controller classes01bba1d3fautoconf - init refactoring before k8s integration059707443k8s - init work on parsing ingress rules, helpers to setup on k8s, basic examplesbc3c17a2fexamples - init k8s example556836b49autoconf - init annotations parser for k8s22612f175minor edit on Linux tests and init work on k8s API50c279617jobs - improved log and reload managementef8969e2ccertbot - add USE_LETS_ENCRYPT_STAGING=yes/no env var for using staging or production servers of let's encrypt0dc2a5ec2edit visibility of Job members and integration of a generic checker for nginx9a207dfdcfix missing import in generator, expand networks to ips in jobs and init work on a generic checker with shared dict and redis supporta60fbbb5bhotfix - fix CVE-2021-33560a1b9010d9pull v1.2.8 fixes when applicable3178545c2v1.2.8 release36b8760d4resolve bugs on the stable version8bb6676f5settings - fix PHP_* again4234f82c0settings - edit EMAIL_LETS_ENCRYPT regexb99fb27dffix missing parameter when calling reload in autoconf and edit REMOTE_PHP_PATH regex876fcd181conf - add WORKER_PROCESSES26dc79615jobs - fix line edit280d18986jobs - avoid reload when not necessary5f845680fjobs - edit referrers and user-agents data and init work on autoconf integrationd12369c90jobs - various bugs fixed and old files removed366e39f59jobs - SelfSignedCert, runner and reloader71741b2d3jobs - cache management2fca4cd01jobs - logging and error managementfccf14627jobs - python stubsb3684efafjobs - init work on refactoring82548378acrowdsec - move as external pluginb926b0db6examples - use example.com instead of website.com6713f56eclinux - fix centos install2b923c05ccompile and install LUA 5.1.5 to /opt/bunkerized-nginx/deps and introduced REDIRECT_TO feature71cf3cf5cuse local sources when building Docker image, add LOCAL_PHP and LOCAL_PHP_REMOTE to settings.json and fix pip bug related to removed working directory8e3dbf1c7fixed some fedora bugs, support LOCAL_PHP and LOCAL_PHP_PATH and sample variables.env49ada6a8clinux - init work on fedora support947e86f7clinux - uninstall scripta12561a85remove useless nginx-keys folder and add lua_package_cpath to http conf6b19bd026deps - add cjson LUA files to deps folder6738b28b9deps - move dependencies to dedicated /opt/bunkerized-nginx/deps folder to avoid messing with the system010c0fd6drename gen/requirements.py to requirements.txt, add git/bash to Docker deps and fix typos in READMEecf30a71fdeps - init work on single install scriptffc4fc950deps - manual compile/install of libmaxmind and upgrade lua-resty-coreb9955699bMerge pull request #152 from thelittlefireman/patch-11860fd1aceUpgrade despseb5d13fb8Upgrade lua-nginx module to 0.10.20ca41987cdUpgrade corerules to 3.3.0 & modsecurity to 3.0.53af1b397fUI - digging bugs from services, still some work to do72a09eac6UI - add CSRF protection0d3f7d392UI - admin authentication and bootstrap update6be082e0aUI - init work on admin account4947796c9UI - fix instances bugsba197dfa4UI - bind gunicorn to 127.0.0.1/0.0.0.0:50004dd1ff847UI - copy from helpers, systemd service and instances page updatef771ec43fui - init Instances class to support Linux and API for Docker/Swarme241b0c93logs - move everything from /var/log to /var/log/nginxd03a1a6e3linux - add jobs.log2c9c9fb62linux - run master process as rootdeb28c599autoconf - fix folders2ea7331dajobs - disable post-jobs when SWARM_MODE=yes on SIGHUP92ee40819whitelist - fix /.well-known/acme-challenge whitelist for let's encrypt2ccfb26e8docker - fix CVE-2021-3356070f9f8417templates - add missing new line when necessaryc4aef1d60authelia - choose portal or auth basic modea385183d8authelia - various fixescec47f3a7body injection feature and add authelia to documentationc894c8370authelia - add variables to settings.jsonf73b088f7authelia - initial work130c6752dMerge pull request #148 from aFresquetIntech/devf97ea6785Create .env850429986Correction4a8da40cfreverse-proxy-zammad0114c7b09examples - edit basic PHPbebe89afblinux - edit path for default errors, ignore comments in variables.env, install/prepare certbotb2cceb608linux - fix centos37f5e4ed7linux - fixed debian/ubuntu but still some work needed on centos98568a57clinux - fix /var/log and typo in daemon directive499192287linux - fix daemon directive and rights on /etc/nginxbcb8acc36linux - add RX permissions to /opta9279053alinux - add executable right to gen/main.py60057a17elinux - fix tests docker cp and pass single -c argument to sud0366fcc0linux - started work on bunkerized-nginx commandb448d91caactions - fix centos test and docker image name when pushinge309ce6fddocker - fix permissions on /opt37090dc66actions - fix manifest error with buildx and load6bb6facd8add load: true when autobuilding images and move from /bin/sh to /bin/basha1fcbd4b8fix actions and configure09a2a4f9egithub actions refactoring1e02368e8linux/docker - common /opt/bunkerized-nginx folderbbb5134a3fix configure arguments and CRS includeb0f93fb84fix Dockerfile againc892f037dfix Dockerfile731c0f61dlinux - init work on installer93543d396Linux - use the same dependencies script for Docker5ec9e6ab4linux - CentOS 7 installcc0d0af8dlinux - ubuntu installer43d2097d1linux - nginx install on Debianf880e5e2alinux - continued work on install helpers for Debian9636013f5linux - started work on installer15bdb076chotfix - fix docs get_git_branchd62c4f466v1.2.7 releasead52ef326autoconf - prevent race condition by checking health state3bd3b6fd7Merge pull request #145 from thelittlefireman/patch-10e41acc20cUpgrade ModSecurity-nginx to v1.0.23c721dc2aadd HEALTHCHECK to Dockerfile and append 10.0.0.0/8 to DNSBL whitelist491d879fejobs - cleaning the mess when using autoconf without swarm mode52534510efix bug when AUTO_LETS_ENCRYPT=yes and certbot can't resolve challenges2c7337576jobs - fix syntax error9e4961ccbdocs - rename sitemap to bypass rtd rewrite01857d8acgen - display the reason when ignoring a variableab9f9e0a4jobs - fix jobs when MULTISITE=yes29dc64ca3actions - add Docker cache to speedup auto build on the dev branchb5cd4e037docker - build and push images from GitHub actions because of future DockerHub restrictions on autobuild16101144cself-signed cert - fix bugs95510e6e1settings - add underscore to CUSTOM_HTTPS_CERT/KEY regexdd5890e76geoip - fix bug when using GeoIPc3a437fa8docs - rename the sitemap to avoid conflicts ?518ddd323docs - custom robots.txt177a82ee6docs - automated sitemap.yml39db7b368v1.2.6 release9442e5914jobs - fix jobs in Swarm modefcc6b3b5evarious bug fixes related to Swarm678ad70b0docs, various fixes and certbot-cloudflare examplee8f5db0b2docs - add plugins system8295f6aebplugins - clamav example388fc1a0eplugins - started basic plugin system62217a321add contributing guidelines and license53e433b1areadme - replace some badgesf640157b1Merge pull request #138 from bunkerity/feature-request-templated646f3e5bUpdate issue templates4b31d005ecrowdsec and generator fixesd2135c19cdocs - road to v1.2.68cda1baf7fix web ui multiple variables and add default error pages445032406dnsbl - disable checks when IP is local74fb01536web UI - init work on using docker-socket-proxyee178de6aweb ui - mostly finished templating integration (needs some testing)7323525b6ui - show only multisite vars for settings82e47f147ui - Dockerfile fixes and missing get_config function2db967ad1templating - road to web ui1d96620aetemplating - init integration into web ui99c259bf1templating - prepare integration into uic7b81cfc1various bug fixes related to HTTPSdfce0c06dautoconf - fixing various bug when SWARM_MODE=yes0f8e56a66templating - fixing bugs with autoconff950abdc2templating - started integration into autoconf4a73ae819various bug fixes on templates and nginx update to 1.20.1e2f02ee91templating - prepare integration for autoconfa991b262eremove ClamAV because of GPL and started work on read-only filesystema8bc17e83templating - started integration into docker imageec19f9308templating - added missing features in site templates23aa05300templating - auth basic support289ad106ctemplating - multisite supportbbc5bbc9etemplating - fix some site templates633a07686templating - init work on site templates996c45df4templating - init work on global templates801530baftemplating - road to full jinja2 templatesc65dda391templating - init work on templating with jinja2ea891969ctemplating - updated settings.json with global settings698ae17c4templating - init work on generic settings management664563284antibot - basic pow with javascript16e5ede13antibot - custom templates8260746felogs/lua - add logger toolde560490dfix LUA array variables and add LOG_LEVEL to the troubleshooting section96db3a450log - add LOG_LEVEL variable73543f4b0hardening - add no-new-privilegesd9bb97be5lua - move global vars from lua to site config (untested)863283d09started work on moving variables from .lua to nginx600484b16crowdsec - fix bugs and update example7c6a13c54examples - improve nextcloud example so it works with webdav clientsb3bb4ec40remove unnecessary dependencies and update doc about certificate bundle69f465720examples - fix typo BAD_BEHAVIOR_STATUS_CODESd02985d21check permissions for missing volumes and add comment about permissions on examplesb0ca85ff7v1.2.5 - performance improvement2f115c444Merge pull request #131 from bunkerity/issue-templates7f15741eaUpdate issue templates288b8eb85docs improvement + road to v1.2.561c08fb97docs - troubleshooting01ef47a66docs - security tuning improvement71515a910doc - volumes lista33d0658cdocs - road to a beautiful documentation0b3ff6a9fbad behavior - move from fail2ban to pure luaeb2d0d330performance - rsyslog and fail2ban removing5bcbb3863doc - official document startedca660b250init work on official doc3a34436cdadd AquaeAtrae example for ROOT_SITE_SUBFOLDERb1d03cd11performance - move bad user-agents and referrers checks from nginx to LUA with caching42c3fb874add sandbox allow-downloads to the default value of CONTENT_SECURITY_POLICYf1c043604add missing backslash in the quickstart guide and update autoconf examples with the depends_on directivefd61df205performance - move external blacklists checks from nginx to LUA009d6fb5achoose connection and nofile numbers, increase error_log level to get modsecurity rules, add MODSECURITY_SEC_AUDIT_ENGINE varba4185a42jobs - fix automatic reload70976d0fbfix user-agent not blocking and add documentation on bundle when USE_CUSTOM_HTTPS=yes062a39c63integrate AquaeAtrae work - add ROOT_SITE_SUBFOLDER83841b290jobs - edit adren work on external blacklists10dc58cb6Merge pull request #126 from adren/patch-6668754686Merge pull request #125 from adren/patch-584b1933f6Merge pull request #124 from adren/patch-415f6d0a32Merge pull request #123 from adren/patch-3e628361a8Merge pull request #122 from adren/patch-1f8d71e067improved way to generate user-agent file02ae3b6bdchange IFS before subshell2fb0e7c47deduplicate list of user-agents9adcc2f1amore optimized way to generate map referrer file7b98db4d1improve the generation of blocking file (abusers)ddb2b8591improve generation of block file (Tor exit nodes)da1a460a6huge improvement to generate blocking file07be62684hotfix - fix API in autoconf swarm mode3bb164395hotfix - move API_WHITELIST_IP edit to lua.shbc2568a17v1.2.4 - nginx 1.20.0 support5ec74880dupdate README for v1.2.4f84fd7c9afix permissions issues for autoconf and fix volume for ghost example6521d7a27fix client cache so it works in combination with reverse proxy and examples update813607fbcimprove crowdsec example and disable modsec logging when not necessary843644f80log - replace some WARN tags from LUA logs with NOTICE to avoid confusion19fa0eb25log - print modsec_audit.log to make debugging easierb4df28722log - send logs to remote syslog server5ce41edc0api - whitelist IP/network for APIa3cfb50b4example - fix certbot wildcard25494acacexample - wildcard certificate with certbota98dae1fbfix CVE-2021-20205 and examples update1a7abab57nginx 1.20.0 support42b7a57f0fix autoconf bug when removing config with multiple server name and increase default LIMIT_CONN_MAX for average website with HTTP202f9fbe5fautoconf - fix certbot bug when multiple server_name for one service69fe06677autoconf - fix bug when multiple server_name for one service74417abc9fixing bugs - run as GID 101 instead of 0, different permissions checks in swarm mode and disable including server confs in swarm modeba7524a41fixed LUA bugb55aafb99finding the LUA bugdeeb7a76aMerge pull request #117 from thelittlefireman/patch-9ee8aaa4e7fix lua crash 2605d59a45Fix lua mistakeb85c991b6bug fixes - /usr/local/lib/lua rights and syntax error in site-config0d3658adfREVERSE_PROXY_HEADERS - use proxy_set_header instead of more_set_headers0b22209c9documentation - userns remap featuree44a1f3e1added the uri to limit_req_zone key to limit bruteforce attack on a specific resource instead of the whole serviceaa614f82fprint error when permissions are wrong on common volumesc03d410b0refactored whitelisting of user-agentse190167bfCIDR support with whitelist/blacklist IP31e72dce1fix /usr/local/lib/lua rights and multiple server_name support with autoconfb8105fc55feature - whitelist URIe73c10fd8crowdsec - fix permissions on /usr/local/lib/lua and on /var/log filesa122a259cminor fix on AutoConf logs and auto disable etag with reverse proxy7c4894d3bautoconf - fix remove event, generate config from nginx vars, more logs533c2a103fix sed script when writing site env5611d544dremove reference to USE_PHP397182f18add link to twitter accountc5c5fb17bv1.2.3 - swarm support017a7780fREADME update, default cron update and new parameters to ui34d9db7a8web ui - bug fixes361c66ca6fixed bugs with MULTISITE variables and swarm exampleafc667885road to v1.2.3 - fixing bugsc40fb3317road to swarm - automatic reload after jobs93ad3c0b5road to swarm - let's encrypt fixceed90488road to swarm - still some mess to fixb8027d2baMerge pull request #102 from thelittlefireman/proxy_custom_headers8d03a14a6Merge pull request #103 from thelittlefireman/fix_truncated_3d16f4517aEnhancement add custom proxy headers #9789ca91b3fFix truncated variables (last commit)6a714e2ecroad to swarm - fix race condition on initial configuration0d3da0353prepare /www directory, fix log socket path and whitelist acme challenges path33163f65binit work on disabling root processesa2543384croad to swarm - add openssl to autoconf, fix api_uri in LUA, fix file rights3591715f2road to swarm - fixing things95f7ca5b2road to swarm support - needs a lot of testing816fa47cbintroducing SWARM_MODE env var7756c2df3Merge pull request #98 from mromanelli9/fix/readme7509ec2f2basic API to be used in swarm mode6e93575e1remove ALLOWALL from X_FRAME_OPTIONS optionsba4c97755remove old anchor781e4c8cbautoconf little work on swarm supporte04c783d1autoconf - init work on swarm modee12b656bdMerge branch 'patch-7' of https://github.com/thelittlefireman/bunkerized-nginx into devcae05447dcustom crontab values4b58e2265Merge branch 'patch-5' of https://github.com/thelittlefireman/bunkerized-nginx into dev6b56e21a0Merge branch 'whitelist_ua' of https://github.com/thelittlefireman/bunkerized-nginx into dev544a09e8dUpdate lua-cs-bouncer8386dd4a2custom config outside server blockf052a2516Merge branch 'pre_server_confs' of https://github.com/thelittlefireman/bunkerized-nginx into dev43750f553Merge pull request #73 from thelittlefireman/patch-49142afdb5Merge pull request #72 from thelittlefireman/patch-366c4fed79Fix env variable with space are truncated 2f41846e9dFix env variable with space are truncated92cc705b9Reduce memory usage : set cron tasks at different hours.47fb3a05bUpgrade crowdsecurity/lua-cs-bouncer5940f402cimprove default tls securityd9ca275d5Add before `server {}` config.8353bd9c8Allow to add a whitelist by site on user-agentd902e2f29Add last missing reverse proxy header1a8b8043cAdd LIMIT_CONN var to server.conf65120a7e9Add USE_CONN_LIMIT info to Readme.mdb093a4755Add default values for LIMIT_CONN73dbf03c9add USE_LIMIT_CONN zone to global config6ee746236Add USE_LIMIT_CONN to site-configfa935eb6eedit nginx.conf to add limit_conncf231e13cAdd limit-conn.confd5d699252v1.2.2 - web UI (beta)50f95420bREADME update - road to v1.2.2dc382c3e0various fixes - autoconf process order, multisite config and examples0026328f2edit default FAIL2BAN_IGNOREIP subnets9023ab5aeMerge pull request #67 from thelittlefireman/patch-2124474ad6Edit README.md to add FAIL2BAN_IGNOREIPeac9c8f51Prepare FAIL2BAN_IGNOREIP to avoid self blocking1ee490de6Prepare FAIL2BAN_IGNOREIP to avoid self blocking825e6a747crowdsec v1 integrated09a984c86started crowdsec v1 integrationfd7afa17bfix missing ';' in includeb9b7fdfccMerge pull request #63 from thelittlefireman/patch-158e1d66bcUI - minor alert css fix7026643f8UI - fix missing MULTISITE env var when managing services06f688fe9fixed stop and reload operationsc65b78b1cUI - instances/services backend update (needs testing)f9b9b9546UI - introduced multiple config parameters (like reverse proxy) in frontendb5fe6335cUI - instances backend started951f3957fUI - default service values0f520b891UI - services backend started569ad75c4UI - config.json refactoringbd7b6af66UI - load config template from json459bb8ea1UI services modals and default CSP update (fix new tab links)208b5acb3UI - minor services list improvement59b2fed41UI - basic services lista4871a915Add missing proxy headers026783f01Fix missing reverse proxy headers811585345Fix missing proxy headers on site-config.shc5f283b00UI - minor front update03ce7a648fix modsec double inclusion when MULTISITE=yes3f7e2c54bJOBS - fixed some job script and right temp nginx reloadbb0f46d8aJOBS - fix job_logc5b32dfc4fix CVE-2020-1971 again9a4f96ad1fix CVE-2020-1971f258426f5JOBS - fallback to old conf in case reload failed119e96361JOBS - be more verbose about jobs failure/success373988670Merge pull request #54 from thelittlefireman/patch-42a956f2cdFix #5215a37a868UI - minor UI improvement3a3d52790UI - basic read fixese6b5f460cUI - basic read from docker API002e3ed2bsecurity tests for autoconf and ui7b55acbe8web UI example and CVE-2020-8231 fix again559b7835dui - automated build4ea01bd93print some logs when blocking botsa73891a3bfix CVE-2020-823126199f52cremove additional / in modsecurity include5c3f94a84edit reverse proxy var name in README043fcdc13autoconf - automated buildb86ded3d1autoconf - multi arch Dockerfile92569679bdynamic reload of nginx by sending SIGHUP15e74e486more work on standalone autoconffd0a6412dinit work on standalone autoconf419fdfc86fix auth basic when MULTISITE=yes0bc1f652bv1.2.1 - autoconf feature (beta)6c7461e29integrate thelittlefireman workd01bc5e01Merge branch 'patch-1' of https://github.com/thelittlefireman/bunkerized-nginx into dev75c69c810last fixes before next release ?e26b8482aAdd missing EMAIL_LETS_ENCRYPT parameterf618c73e6road to v1.2.178c1e5c67examples - same domains for internal tests481e10d3ereverse proxy - websocket exampleaae2a7198autoconf - php examplef3bf04e39dirty fix to disable default server when MULTISITE=yes36cbb927cautoconf - various fixes95153dbc5moved UA, referrer and country check after whitelist and blacklist check26947179amoved UA and referrer check to LUA88f27bfebautoconf - reverse proxy example and pass default vars3cc1615c4fix user-agent script8bacf722aMerge branch 'fix/variable-naming' of https://github.com/mromanelli9/bunkerized-nginx into dev2bfc4b41ffirst work on automatic configuration587d4a92eincorrect variable namingc311d0c82add crawler-detecter bad UA0d03f49ebwebsocket support with reverse proxy2112c306acustom log format8f9dcc5ablast fix ?2fe05d3fdfixing scripts again and againdb04c0345fix referrers agained8bd902bfix referrers script3a7aa5d9cblock bad referrers9ec9de6camultiple lets encrypt certificates when MULTISITE=yes791342cbefix LUA DNS code when answers is nil2f23671c3fail2ban fix when MULTISITE=yese350a717ffix default DNS_RESOLVERSe818acb0dprestashop exampleb92f74ed9dirty fix for CVE-2020-289289688e6650check all vulnerabilities with trivy700dfc018v1.2.0 release42e4298b5readme update - v1.2.0 changes813b42cfaphp and nextcloud examples fix58fcf0a72added Permissions-Policy header587918380custom headers to remove203259688automatic trivy scaneaf817d57php config and examples fixesdd7768c85whitelist/blacklist country at LUA level to avoid SEO issuesfe1d724c9country whitelist/blacklist0635eb368various bug fixesfbf81c94bcached blacklists dataed451877aexamples update and multiple REVERSE_PROXY_* on single site0f18e9c55reverse proxy support via env vars8f7cb5318proxy caching support60fbbc101move some http directives to server0f0593456various fixes8cdc155acmultisite examples and certbot renew fix1abe1da89brotli supportf18c054b4gzip support4dea1975eclient cachingc2b05c463fix BLOCK_COUNTRY bug and add support for ModSecurity custom confs when multisite=yes2da51d92amultisite - bug fixesbd7997497autotest through github actionse89e34a84auto test fixff02878ddauto test setup44b016be9road to multi server block support36c4f3e06v1.1.2 - CrowdSec integration and custom ports798f6c726examples - nextcloud fix and tomcat761c14a0bcustom HTTP and HTTPS ports4a07eca69crowdsec integratione1274a608passbolt example3ec81cd84Fix broken line in README95752ff0cv1.1.1 - TLS 1.2 support8623510f8https fix95a76b11fpeterkimzz integration and dhparamb0e4740a7[New Features] - Added "HTTPS_PROTOCOLS" environment value to enable to customize TLS version. default value is "TLSv1.3". (because TLSv1.2 sometimes needed) - READMD.mde84360857README update - v1.1.02f6866789logrotate copytruncate1d63838eeexamples - fix port numbere4bdd4af5examples - nextcloud fix and moodle2c33463afrenamed logrotate script9ff210bedwordpress and nextcloud examples0b7301886install CRS by tag in compile.she1356e3eblogrotate.conf update and some cleanup34a0da444logging fix again022a653ebdisplay fail2ban.log and logging bug fix4c11a9125automatic docker tags with VERSION88b52478cautomatic Secure flag on cookiesce82e22dbremove integrated PHP397415211antibot - check IP with sessions and recaptcha68d798855tor hidden service example16eab0f63README update6a22f7711load balancer example222426854Merge pull request #13 from FacundoAcevedo/patch-1d63c57985Fix typo in the link in the TOCe19a7c693run master nginx process as non-root user7a8795883dockerfile fix - compile01095bd72gpg fix and secure git clone0e6729c62check GPG signature of nginx sources040b6a223Merge branch 'patch-1' of https://github.com/fabianmoronzirfas/bunkerized-nginx into dev5f62120e4fix(typo): add missing »find«e8503b9ccARM build fix676571e4ause nginx:stable-alpine as base image34254a09eexamples and DNS_RESOLVERS fix81cff3648readme updatee166b1feaawesome gif resizedf08bba8ccawesome gifccf439228session secret fixc1d44387bbasic antibot feature through recaptcha v3135126e3freadme fixac251b0f6Merge branch 'master' of https://github.com/ZILosoft/bunkerized-nginx into devac242c977Update README.md2909b7989basic antibot feature through captcha446ee3761basic antibot using javascript6e1c43c4cbasic antibot feature through cookie652d8ac97fixed typo in manifestde1952b5fREADME - toc update and title fix16a458db2README improvementf27d80e0dvarious fixes and lua loggingfc3d911ffimproved blacklist/whitelist/dnsbl with luaef7d842ffarm64v8 auto build and master manifest0e5704983manifest for automated buildsaaef37007improved logging with rsyslog6e3c2ddccintegrated ajarmoszuk work919b418d5Added the ability to self generate SSL certificatesfb1a0182eAdded the ability to see Real IPs if Nginx is running under another proxy (such as Traefik).2e0a8307di386 fix again181003efei386 fixfca7bb075automatic builds764038d40README updatef4c43a214block proxies and abusers3a9afa47bMerge pull request #5 from ajarmoszuk/patch-12c12df3b9update default req_limit values2f967a9f4Update entrypoint.sheba5f6280req limit44155b5d6dnsbl ipairs fix829c1c697some fixes and README updatef3721a50dsitewide auth basicb56e4e765dnsbl feature1654e913alua support3e5ca583cremote PHP-FPM supportbcd17dbeaautomatic geoip update14ec9f3e6logrotate and compile fixes5b5e6e33aawesome logo1aa1dcf50logrotate supportf30a06d94syslog integration and fail2ban improvementcd19841ecreadme - details about modsec include order94b29a6cafixed some include ordersbf605ce59custom root folder and little fixesb14b09ad5default CSP update4f5e5f013readme improve76bd069f2php POST max size and custom HTTPS cert1d6ab7275http basic auth fix472ec31cdreadme fixcaa415e12http basic auth8561d47becreate a customized image4bede275ffix typoefcf93710inspectFile fixccaaa8b57readme fixb83111ad1realip, minor fixes and READMEa2be2e8aeimproved README : format, modsec, fail2ban and clamav48a0036d2updated readmebf0bef289clamav support193070b14fail2ban support716e54e59custom http/server confs and better modsec customization43403f69edisable default server69ac95b29block country and various fixesecf2de8b7multiple let's encrypt domains8427564f4user-agents escape fixc56bde4f0fix certbot-renew.sh syntax834afa132http to https redirectd5f8c7647custom modules and write access5bcdb0219f**k markup ?3233f3b76fix readme62eda8173improved README09e6b50e5custom conf5d16f6a8ffix README1b5f6deb2cookie flags and maxmind updateea1dbc617updated readme0b703ea55content security policy1e642e2f1initial readmee90060ce6initial work70f849fbbInitial commit REVERT: 205dac0e8 Change release version to v3.0.9 REVERT: 49c056126 CHANGES: wording update REVERT: dbe107e28 Update some copyright notices REVERT: 7b1cf0e99 Merge pull request #2890 from martinhsv/v3/master REVERT: 264dd4831 Fix: possible segfault on reload if duplicate ip+CIDR in ip match list REVERT: 49281b6c0 Merge pull request #2886 from martinhsv/v3/master REVERT: db84d8cf7 Add some member varialbe inits in Transaction class REVERT: 1feaa7d24 CHANGES entry for previous PR REVERT: ca7040f71 Merge pull request #2876 from martinhsv/v3/master REVERT: 5f632a5ed Minor updates to v3 issue template REVERT: 3311dda0e Debug log: enhance message for SecRequestBodyNoFilesLimit REVERT: 55d6aa94e Resolve memory leak (bison-generated position.filename) REVERT: ea80d3166 Merge pull request #2864 from martinhsv/v3/master REVERT: ec1232a69 Support equals sign in XPath expressions REVERT: dabf79eec CHANGES entry for previous PR REVERT: 860b1183a Merge pull request #2854 from airween/v3/logescape REVERT: 6dd00be22 Refactorized multiple prototypes REVERT: d63d8849a Remove previously removed fn proto from header REVERT: cb2df476b Merge branch 'v3/master' of https://github.com/SpiderLabs/ModSecurity into v3/logescape REVERT: 105c5909a Add more fields to encode filter: rev, ver and tag REVERT: c7306d174 Extend utils::string::toHexIfNeeded() to encode '"' and '\' characters optionally REVERT: 62ec4edc4 Regression tests: remove dependency on modsecurity.org REVERT: 69545eade Remove some no-longer-used parser definitions REVERT: 3b7ca3e44 Escape log field 'data' value REVERT: 5dfc0a256 minor refactoring and CHANGES update REVERT: fb01ad94e Minor change to satisfy cppcheck REVERT: f037bd268 Merge pull request #2791 from wfjsw/feature/pcre2-jit REVERT: 54ff1ea53 init m_pcje in the constructor of verify_cc.cc REVERT: 37d3a20da fix REVERT: 12e6e325d Merge pull request #2839 from martinhsv/v3/master REVERT: 0c0e4a25c Merge branch 'v3/master' into v3/master REVERT: 503804beb Add CHANGES entry for previous PR REVERT: e56f53b71 Merge pull request #2596 from ffontaine/v3/master REVERT: af860e2ee Support comments in ipMatchFromFile file via '#' token REVERT: 1550e3017 add fallback for JIT_STACKLIMIT REVERT: 07514f977 Add CHANGES entry for previous PR REVERT: 40f7a5067 Merge pull request #2831 from airween/v3/filestmpcontentfix REVERT: aa44c7b72 Fix FILES_TMP_CONTENT collection key naming mechanism REVERT: 398e17423 Add CHANGES entry for previous PR REVERT: 700a9e9ff Merge pull request #2806 from hughmcmaster/as_help_string REVERT: 933daee34 Merge pull request #2828 from martinhsv/v3/master REVERT: 791964a0e During configure, do not check for pcre if pcre2 specified REVERT: f05f32230 Use AS_HELP_STRING instead of the obsolete AC_HELP_STRING macro REVERT: de01b0273 Add CHANGES entry for previous commmit REVERT: ec31e04a3 Merge pull request #2714 from hughmcmaster/libxml2 REVERT: d76c52775 build/libxml.m4: Check for libxml2 via pkg-config then xml2-config REVERT: 82f75dc0c Remove now-unneeded cppcheck suppression REVERT: 47fe75de3 Fix tests to match previous typo fix REVERT: 222e09ea0 Fix typo in debug log text REVERT: 5d2b86c1b Merge pull request #2801 from martinhsv/v3/master REVERT: e9a7ba4a6 Fix two rule-reload memory leak issues REVERT: 17f3bb0b3 Merge pull request #2800 from martinhsv/v3/master REVERT: 53cf6eb6b Correct whitespace handling for Include directive REVERT: 0840a29c3 Advance bison version to v3.7.6 REVERT: 8f06f9bd3 CHANGES: Preparing for next version REVERT: 996c7e1e1 Change release version to v3.0.8 REVERT: de3a9b5aa Merge pull request #2796 from martinhsv/v3/master REVERT: 622eb9e6c Adjust parser activation rules in modsecurity.conf-recommended REVERT: d6c10885e Merge pull request #2795 from martinhsv/v3/master REVERT: fa6e41857 Multipart parsing fixes and new MULTIPART_PART_HEADERS collection REVERT: 651897346 remove jit stack REVERT: 648cad380 Address some cppcheck complaints REVERT: b0b459d3a Merge pull request #2707 from liudongmiao/v3-example REVERT: 36a2231a7 Add CHANGES entry for previous commit REVERT: f923838e4 Merge pull request #2761 from GetPageSpeed/v3/master REVERT: af27018de Fix msc_transaction_cleanup function comment typo REVERT: 8c409149c Merge pull request #2788 from lookat23/v3/master REVERT: 0d81b636b feat: PCRE2 JIT REVERT: 228218ae6 Fix the mismatch between comments and code in the msc_transaction_cleanup function REVERT: 7b094ea84 Merge pull request #2785 from martinhsv/v3/master REVERT: b41139acd Fix: MULTIPART_INVALID_PART connected to wrong internal variable REVERT: 369002d70 Create SECURITY.md REVERT: c3b7a7f4f Change some args from pass-by-value (satisfies cppcheck) REVERT: d2a1080db Add CHANGES for previous commit REVERT: 18012e572 Merge pull request #2758 from martinhsv/v3/master REVERT: a41fc30db CHANGES: Preparing for next version REVERT: 204908cf5 Prevent segfault for #2755 REVERT: 14c94e2eb Restore Unique_id to include random portion after timestamp REVERT: 97550881f Add cppcheck suppressions REVERT: 1bdd04740 Change release version to v3.0.7 REVERT: 841c06a9f Correct CHANGES entry for previous commit REVERT: 0362af4db Move PCRE2 match block from member variable REVERT: 770662c0d Add CHANGES entry for previous commit REVERT: 8d8000132 Merge pull request #2738 from martinhsv/v3/master REVERT: 76c0c864e Add CHANGES entry for previous commit REVERT: 844e1bf6e Merge pull request #2727 from liudongmiao/patch-1 REVERT: 7b696d8c5 Add SecArgumentsLimit to modsecurity.conf-recommended REVERT: 0b6bd39a5 Add CHANGES entry for previous merge REVERT: 83c302e6a Merge pull request #2688 from ziollek/lmdb_single_env REVERT: 82326ffe2 shift lmdb initialization to provider constructor which is called only once REVERT: 00483e400 swtich singleton to thread safe version REVERT: 606f5721c Change some parms to const reference (satisfies cppcheck) REVERT: 0be89cc15 Correct CHANGES entry for previous merge REVERT: 763db3f63 Merge pull request #2732 from martinhsv/v3/master REVERT: f7f8a9827 Fix initcol error message wording REVERT: 563fabebf Merge pull request #2731 from martinhsv/v3/master REVERT: 6e56950cd Tolerate other parameters after boundary in multipart C-T REVERT: 6b7f2b0d6 fix memory in transaction.cc when log REMOTE_USER REVERT: 3975f0f8f Fix minor CHANGES typos REVERT: 59531be2f Merge pull request #2723 from martinhsv/v3/master REVERT: 1aa7616c1 Add DebugLog message for bad pattern in rx operator REVERT: ced56c5b0 Merge pull request #2719 from SpiderLabs/v3/dev/pcre2_a REVERT: f84614fe0 Support PCRE2 REVERT: a1980c841 fix argv in examples REVERT: 89186b7e3 update lines for modsecurity.cc on supress list for static check REVERT: 3b50b2634 remove destructor, close environment only once REVERT: 1fa95ec2e set initialized flag, remove unnecessary semicolon REVERT: 46f40899e Fix parallel lmdb readonly transactions REVERT: 5519f6cfa Update CHANGES for SecRequestBodyNoFilesLimit impl REVERT: f5efd9ab8 Merge pull request #2686 from SpiderLabs/v3/dev/issue_2670_a REVERT: 4c526fc21 Support SecRequestBodyNoFilesLimit REVERT: 6bd1c7764 Add exclusions due to newer cppcheck version REVERT: 5106307cc Change one parm from pass-by-value to reference-to-const REVERT: 378e31c79 CHANGES: Adds info about #2602 REVERT: d0813fec4 Merge pull request #2602 from LMDB/issue2601 REVERT: 4e37985b2 Update CHANGES file for recent commits REVERT: b89c737ad Merge pull request #2677 from gleydsonsoares/loadFromUri_zap_duplicate_words REVERT: 2cde1933a Merge pull request #2680 from SpiderLabs/v3/dev/issue_2606_a REVERT: cc83a1bac Merge pull request #2673 from martinhsv/v3/master REVERT: 2d51efae4 Add ctl:auditengine action support REVERT: b052adf0b tweak loadFromUri: zap duplicate words in comment REVERT: 3ee6e108d Fix multiMatch msg, etc, population in audit log REVERT: cb80837e6 Remove old commented-out re: audit log, relevant REVERT: ef1b8d8d9 Merge pull request #2667 from martinhsv/v3/master REVERT: 1a965a49a Fix some name handling for ARGS_*NAMES: regex SecRuleUpdateTargetById, etc. REVERT: 76ce6739b Correct previous CHANGES update REVERT: 630b1e0a4 CHANGES: Adds info about #2635 REVERT: 2de14cb00 Merge pull request #2635 from Mesar-Ali/patch-1 REVERT: f82b98c04 Confusing variable name in setRequestBody method REVERT: 52958fa73 Merge pull request #2661 from martinhsv/v3/master REVERT: f34b49f66 Multipart names may include single quote if double-quote enclosed REVERT: c072ac29e Merge pull request #2656 from martinhsv/v3/master REVERT: 0275c8847 Add SecRequestBodyJsonDepthLimit to modsecurity.conf-recommended REVERT: 19d50f4da Add a const to satisfy cppcheck REVERT: 13e8be83c CHANGES: Preparing for next version REVERT: c3d7f4b56 Change release version to v3.0.6 REVERT: d16c3250a Add a few cppcheck suppressions REVERT: d8afc4029 Merge pull request #2642 from martinhsv/v3/master REVERT: ac79c1c29 Support configurable limit on depth of JSON parsing REVERT: 5aec781d3 Confusing variable name in setRequestBody method REVERT: ec86b242e Update README.md REVERT: a6e107484 Fix #2601 misuses of LMDB API REVERT: d2b700d7a build/libmaxmind.m4: fix build with host-pkgconf REVERT: 465db29b7 docs: correct project name REVERT: 873a94a73 CHANGES: Preparing for a next version REVERT: bf881a4ed Change release version to v3.0.5 REVERT: cd5fba897 Handle URI received with uri-fragment REVERT: faad65d38 Merge pull request #2586 from martinhsv/v3/master REVERT: bffd68e4d Add commented-out sample rule to engage JSON Processor for more subtypes REVERT: 5a0ae73ba Update README.md REVERT: 3bfe4b81a build: Fix pcre's JIT support detection was not working REVERT: 662c05f89 build: Adding a new path while searching for liblua. REVERT: a589f6b69 Build: using PKG-CONFIG in a new fashion REVERT: 754daebfb Update README.md REVERT: 65e7e474b fix missing parentheses in filename* parsing REVERT: 7fccb0d22 Cosmetic: pleasing cppcheck REVERT: 6fdba42c0 Cosmetics: Having cppcheck pleased REVERT: 66ba7b065 Cosmetic: fix static warning REVERT: 1e2ccc157 test: Fix optimization test REVERT: 1376882f7 Fix typo REVERT: 4127c1bf5 README: States the sponsor note REVERT: a18d18a28 Revert "Adds hyperscan to the build matrix" REVERT: 4cdcc1533 Revert "Adds suppor for HyperScan in the bulid system" REVERT: a496865e9 Adds hyperscan to the build matrix REVERT: 912704b6d Adds suppor for HyperScan in the bulid system REVERT: 2e69ce6cc build: Fix curl include path REVERT: 50fc347ed Fix rules dump REVERT: 6ca028b6f Fix memory leak in rx operator when pattern includes macro REVERT: 9764b1fb3 CHANGES: Fix entry for ARGS_NAMES REVERT: 53d36ab63 Updates libInjection REVERT: 102f4bdd9 Make the `configure` step more reliable REVERT: fbea73120 Fix: FILES variable does not use multipart part name for key REVERT: f1f2527c0 Using setenv instead of putenv on SetEnv action REVERT: 03b3e472d cosmetics: Please static check REVERT: e8bd2151f Having _NAMES, variables proxied REVERT: dd458dedb github workflow: having bison from brew REVERT: 3748d62f1 Changes copyright dates on the code REVERT: 33f7b46bc Using GitHub Workflow instead of Travis REVERT: b3cfd8881 Having Travis working again REVERT: f948d637f Having the QA on GitHub workflow REVERT: e6bdadeb6 tests: Prints test number on segfault REVERT: 9b40a045b Cosmetics: fix some cppcheck complains to please QA REVERT: 310cbf899 Fix the typo REVERT: f18595f42 Makes regular expression selection on collections key case insensitive REVERT: 560f81200 Adding DragonFlyBSD support. REVERT: afefda53c Fix Path to projekt logo REVERT: d72be1c47 Fix: Only delete Multipart tmp files after rules have run REVERT: 1b7aa42c7 Issue-2423: Meta-actions like 'msg' should be applied at end of chain REVERT: 2672db103 Add support for new operator rxGlobal REVERT: 785958f9b Fix maxminddb link on FreeBSD REVERT: 4b425850c Cosmetics: fix cppcheck warnings REVERT: 8da787a39 Merge pull request #2424 from martinhsv/v3/master REVERT: 8436c7899 Fix IP address logging in Section A REVERT: 995f22b3c Having Bison 3.7.2 REVERT: 377fb723c Makes lua 5.1 workable again REVERT: e9dce44f6 build: Minor fixies on Lua detection REVERT: 9e6d8b7bb CHANGES: Adds support to lua 5.4 REVERT: 8c85b7836 Adds support to lua 5.4 REVERT: ae3ad5eaa cosmetics: Address some cppcheck complains REVERT: 51d06d7a8 CHANGES: Adds info about #2378 REVERT: fe1238514 GeoIP: switch to GEOIP_MEMORY_CACHE from GEOIP_INDEX_CACHE REVERT: 0eb3c123f Merge pull request #2348 from martinhsv/v3/master REVERT: b9620c26a rx:exit after full match; fix TX population after unused group REVERT: a1a8c0fda Merge pull request #2342 from martinhsv/v3/master REVERT: 07ce43cce Correct CHANGES file entry for #2234 REVERT: a2be19d8e Fixing Typo REVERT: f0f1c2b1a Merge pull request #2317 from nikolas/patch-3 REVERT: feda5b758 Merge pull request #2321 from nikolas/patch-4 REVERT: 45dec2068 readme update: Packing -> Packaging REVERT: ba1ae16fc Fix typo in readme: GtiHub -> GitHub REVERT: 3b1de9567 Merge pull request #2315 from nikolas/patch-1 REVERT: 733073998 fix typo in readme: rearchitechted -> rearchitected REVERT: 7e0bc2691 Using performLogging function REVERT: a1547eaa3 Regression tests: audit log compare support and test cases REVERT: 7a48245ae Creates RuleUnconditional REVERT: f63bd1a45 Moves Rule[WithActions|WithOperator] to their own files REVERT: 8274be066 Refactoring: Having RuleMarker in a separated file REVERT: bdedfd246 Refactoring: Renames RuleBase to Rule REVERT: 59d426888 Refactoring: renames Rule to RuleWithOperator REVERT: 8eb7b8fe6 Refactoring: Splits Rule into Rule and RuleWithActions REVERT: 43f8aee6b Splits Rule class into: Rule, RuleBase, RuleMarker REVERT: fda03c001 Yet another refactoring in Rule REVERT: b66224853 Refactoring in Rule: Meaningful structures name REVERT: 96849c07d Makes action name a shared pointer REVERT: 9c526b364 Avoids copy on the transformation operation REVERT: 8cfb289ce Lets reserve some memory for rule message REVERT: a609249d6 Makes m_id a shared pointer REVERT: 343b86c2a Makes m_fileName a shared pointer REVERT: 14b2bd77a Makes m_uri_no_query_string_decoded a shared pointer REVERT: d7d5cd2a9 Makes m_serverIpAddress a shared pointer REVERT: 8df35dead Makes m_clientIpAddress a shared pointer REVERT: 196adcae2 Removes reference counter for RulesSet REVERT: f2f5c9c95 Removes reference counter from audit_log writer REVERT: 4b88fdc51 Removes reference counter from log write agent REVERT: 5ebfa5eac Removes referece count from audit logs REVERT: 4b94fabef Removes reference count form Actions REVERT: 6b0ad8049 Having default actions as o shared pointer REVERT: 9d158611c Makes Rule a shared pointer REVERT: f1d22f9b0 Fix version check REVERT: 6367e6d5e Having a class Rules REVERT: fb7714f20 Creates class RulesSetPhases REVERT: 7a0ad4308 fuzz: minor adjustment on op_test REVERT: 6de5c5984 Adds some operators to the fuzzing tests REVERT: edd0a4bb2 Updates the fuzzing example REVERT: 88789a577 parser: Using bison 3.5.2 REVERT: 1e26bf207 Revert "Creates the RulesSetPhases clas" REVERT: 072e4edc5 Creates the RulesSetPhases clas REVERT: 014adabda cppcheck: Adds rules_set_properties.cc supressions REVERT: 6a742cdf7 Refactoring: Renames RulesProperties to RulesSetProperties REVERT: bad5892b9 tests: Adds secargumentslimit.json to Makefile.am REVERT: f57265a3e Support configurable limit on number of arguments processed REVERT: 4e9ba44d0 build: Keep the installation of rules.h REVERT: 4671608d5 cppcheck: more suppressions REVERT: 22ec30773 Fix 7495675d540b3b3ccce681773205a4fe34daeb64 REVERT: b7e28c246 static: fix static checks REVERT: 7495675d5 Refactoring: Renames Rules to RulesSet REVERT: 0c3e8b6b5 parser: cosmetics: makes it easy to read REVERT: 6a0df8ca5 parser: new bison version REVERT: 136db3e58 Multipart Content-Disposition should allow filename* field REVERT: 1b1fdc055 Fix rule-update-target exclusions for plain (non-regex) variables REVERT: f7e4c1d9f CHANGES: Adds info about #2235 REVERT: e9bcaf441 test for uClinux in configure script REVERT: fe84d2bae Fail when CANONICAL_HOST cannot be determined REVERT: 2b09e7e01 CHANGES: Adds info about #2253 REVERT: f76a1a667 modsecurity.pc.in: add Libs.private REVERT: 357c14000 Changens copyright year REVERT: fe98ce4c7 Cosmetics: address cppcheck warnings REVERT: 68ef2dece Cosmetics: address cppcheck warnings on src/variables REVERT: ff9152ed7 Cosmetics: address cppcheck warnings on src/utils REVERT: ff590174d Cosmetics: address cppcheck warnings on src/operators REVERT: 9101a8ab1 Cosmetics: address cppcheck warnings on src/actions REVERT: a6620604d build: fix yajl messages REVERT: 4f13fecba cppcheck: make static analysis more pedantic REVERT: cd9b8aa93 cppcheck: Organizes the suppression list REVERT: 86a5f471a Cosmetics: fixed static analysis issues. REVERT: 1fc584791 Travis: abusing -j REVERT: 2e8833733 Test suite: improvements REVERT: 7c6bf810e CHANGES: Preparing to 3.0.4+ REVERT: 753145fbd Change release version to v3.0.4 REVERT: 047016805 Fix: audit log data omitted when nolog,auditlog REVERT: 6624a18a4 Fixed inspectFile operator does not pass FILES_TMPNAMES REVERT: 05e9e7cf3 XML: Remove error messages from stderr REVERT: 42a16c71c CHANGES: Adds info about #1645 REVERT: 7b1b00b5e filter comment or blank line for pmFromFile operator REVERT: ea7cacf28 Additional adjustment to Cookie header parsing REVERT: 6395fe07c Restore chained rule logging to be more like 2.9 REVERT: 038522ad9 Small fixes in log messages to help debugging REVERT: b8160cce6 Fix Cookie header parsing issues REVERT: 7ba77631f Replace Cookie parsing method REVERT: 199a9db3e Fix nolog rules logging to part H REVERT: 9cac167fa Fix argument key-value pair parsing cases REVERT: 68c995ca9 Fix: audit log part for response body for JSON format to be E REVERT: c41ab312f Updates test cases REVERT: 01c7a2689 Fix test issue-1974 REVERT: d4dc3dbf2 Make sure m_rulesMessages is filled after successfull match REVERT: 42da29fed Merge pull request #2155 from patros/v3/master REVERT: 592927793 Avoid using NULL string (match) in Pm::evaluate REVERT: beedddd6c Fix @pm lookup for possible matches on offset zero REVERT: 1d552673a Correct minor README.md typo REVERT: d5b93c101 Update README.md REVERT: 341a5d01e CHANGES: Regex lookup on the key name instead of COLLECTION:key REVERT: 2bdc5f9d0 Adds test case to cover issue #2005 REVERT: 74eee9330 CHANGES: Adds info about #2106 REVERT: 96d36afec Add Missing throw in Operator::instantiate REVERT: 6ab464ab7 negative lookup on the key name instead of COLLECTION:key REVERT: 47dd9c5df Refactoring on the VariableValue class REVERT: cbd15ec13 CHANGES: Adds info about #2113, #2111 REVERT: c0142cf32 Changed compared variables of range id intervall in ruleRemoveById ctl action. #2111 REVERT: 9ebebfc83 Fix test case 1960 REVERT: b6995c528 test case: Adds test case for issue 1960 REVERT: f50700e9d CHANGES: Adds info about #1960 REVERT: 50abc072c Make block action execution dependent of the SecEngine status REVERT: 1cc22966d CHANGES: Adds info on "Having body limits to respect ..." REVERT: a4e848411 Having body limits to respect the rule engine state REVERT: c7fe50e5b CHANGES: Adds info about #1872 REVERT: 20b90364f Adds test case for #1872 REVERT: 1b8d69da0 Fix dict element regular expression selection on SecRuleUpdateTargetByTag REVERT: 547236231 Fix SecRuleUpdateTargetByTag with regular expressions REVERT: b5823d4e0 CHANGES: Adds info about #2099, #2102 REVERT: 2c136a2d9 Adds test case for #2099 on the test case list REVERT: 7a93bea8f Added some test cases related to #2099 REVERT: db298696f Adds missing check for runtime ctl:ruleRemoveByTag REVERT: 7e8782d97 CHANGES: Adds info about #2063 REVERT: 86ce479b5 Adds new operator to check for data leakage of Austrian social security number REVERT: 6d266fae8 fixes typo REVERT: f752291af CHANGES: Adds info about #2057 REVERT: 49900eec9 Fix variables output in debug logs REVERT: 25e444583 CHANGES: Adds info about #2059 REVERT: 75a5c8d33 correct typo validade in log output REVERT: a0a99319a CHANGES: Adds info about #2068 REVERT: 4a3e9734e fix/minor: Error encoding hexa decimal REVERT: 033942c92 CHANGES: Adds info about #2073 REVERT: 1acd87a80 Limit log variables to 200 characters REVERT: 61c11251b parser: Fix filename REVERT: 0669c2e64 parser: new bison version REVERT: b57441838 regression: Using github instead of modsecurity.org for SecRemoteRules REVERT: 4e76c6adf Renames namespace Variables to variables REVERT: b9ed15022 Fix namespace utilization on seclang-parser.yy REVERT: 6d5198b1a make check: Updates test cases list REVERT: ccd90c51c Increment OVECCOUNT value for bigger regex's REVERT: 44efae6cd CHANGES: Adds info about #2024 REVERT: a6e6bc2b5 Allow empty anchored variable to use REVERT: b392a1ca3 CHANGES: Adds info about #2016 REVERT: 2d3fbbc56 Modified affected test cases, which checked wrong variables REVERT: 17d79ed7b Fixed data collecting in multipart parsing REVERT: ac61bf5fd CHANGES: Adds info about #2017 REVERT: 4b3e6328e Fixed validateByteRange parsing method REVERT: 3dda0ea2c Adds a regression test strdup to valgrind suppressions list REVERT: 2dff76826 Removes a memory leak on the JSON parser REVERT: 145f2f35b tests: Updates secrules-language-tests REVERT: f77db2cc2 CHANGES: dds info about #2011 REVERT: bd6a02d69 Fix test issue-1831.json on LMDB REVERT: 37cf60b8d Fix use of deleted Regex copy constructor in LMDB code REVERT: 79a24ef88 Enable LMDB in Travis CI configuration REVERT: dc78c0e18 Fix: Extra whitespace in some configuration directives causing error REVERT: df3c3f62b Cosmetics: coding style REVERT: ad28de4f1 Refactor regex code REVERT: e0a0fa05c CHANGES: Info on #2002 REVERT: ae0207634 Fixed buffer overflow in Utils::Md5::hexdigest() REVERT: 3c1fba278 CHANGES: Adds info about #1990 REVERT: 7c19ffea6 Implemented merge_bodylimitaction_value() for BodyLimitAction REVERT: 3c41751ed Implemented merge_ruleengine_value() for RuleEngine REVERT: 161c25633 Implemented merge_boolean_value() for ConfigBoolean REVERT: 2d11ff1a1 Implemented merge() method for ConfigInt, ConfigDouble, ConfigString REVERT: 78b7fa4e2 Adds missing drop.h REVERT: d00ea5111 Adds initial support to drop action REVERT: ba4273b8e CHANGES: Adds info on #1978 REVERT: 9b24199a2 Complete merging of particular rule properties REVERT: 428388369 CHANGES: Adds info on #1984 REVERT: 8af8cad90 Use of AC_CHECK_FILE prevents cross compilation. REVERT: a9e9da869 CHANGES: Adds info on #1980 REVERT: 77854ed1b Fix inet addr handling on 64 bit big endian systems REVERT: dccb5e9e5 GitHub: Adds issue template REVERT: 1ecd97130 CHANGES: Updates issue #1973 REVERT: 0a85b599b Fix tests on FreeBSD REVERT: e756dd039 README: Adds link to v2 repo REVERT: 07330e53f CHANGES: Updates issue #1969 REVERT: 25bb1f1bc Changes ENV test case to read the default MODSECURTIY env var REVERT: b736f0292 Regression: Sets MODSECURITY env var during the tests execution REVERT: 407b6c0f4 Fix setenv action to strdup key=variable REVERT: af137442d CHANGES: Adds @steven-j-wojcik to 0xb7c36 and 0x5ac20. REVERT: d2b14de26 Allow 0 length JSON requests REVERT: d29f2a898 CHANGES: Adds info about #1966 REVERT: 65e866cb3 Fix "make dist" target to include default configuration REVERT: 2d3d56aa4 CHANGES: Adds info about #1949 REVERT: 3d2030426 Replaced log locking using mutex with fcntl lock REVERT: 5a4ada39b CHANGES: Adds info about #1959 REVERT: 3b3004d24 Correct the usage of modsecurity::Phases::NUMBER_OF_PHASES REVERT: ce3abf262 Adds support to multiple ranges in ctl:ruleRemoveById REVERT: e712d30c5 Fix setvar to understand Rule variable in collections REVERT: cbf2fe970 Adjust boundary test cases for the less strict parsing REVERT: b638e523a Make the boundary check less strict as per RFC2046 REVERT: ecad8c6c7 Fix buffer size for utf8toUnicode transformation REVERT: 454669ffe CHANGES: Preparing to 3.0.4 REVERT: 4e6e4243a Change release version to v3.0.3 REVERT: e4d6d61cf Adds Victor to the AUTHORS file REVERT: 6cbcdd024 Fix libInjection version on configure summary REVERT: 9ada0a28c Changes the default configuration to mimic v2 behavior on multipart REVERT: 31c8d4c52 CHANGES: Adds info about #1943 REVERT: 9d80983e5 Fix on top of #1943 + adding test cases REVERT: 39f4a5d7d Fix double macros bug REVERT: 18cdffdbc Encapsulates int[N] in a class to avoid compilation issues REVERT: e3b9f7c91 Fix SecUnicodeMapFile support REVERT: 84ece3edc Add test case for SecUnicodeMap REVERT: 065c2e67b Adds test case for #1850 REVERT: e1e8a01ed Override the default status code if not suitable to redirect action REVERT: bfe917b6b parser: Fix the support for CRLF configuration files REVERT: 3f0ea9097 Test case skeleton for #1941 REVERT: 662fe63a4 Add unicode.mapping file to v3/master branch REVERT: b05901e8a Changes the regression test client to read the interception msg REVERT: 1e5df5312 CHANGES: Adds info on 0xb7c36 and 0x5ac20 REVERT: 91daeee9f Only calling server log if the message is not disruptive REVERT: 448897d29 Marking message as disruptive before generate log msg REVERT: 973c1f102 Fix rule line number REVERT: fa5f3784f Using shared_ptr instead of unique_ptr on rules exceptions REVERT: e63344c3d CHANGES: Adds info on 0xb2840 and 0x3094d REVERT: ef7f65db9 Changes debuglogs schema to avoid unecessary str allocation REVERT: 23e0d35d2 Fix the SecUnicodeMapFile and SecUnicodeCodePage REVERT: 3d83ed257 CHANGES: Adds info on 0xca270 REVERT: 69cd61439 Changes the timing to save the rule message REVERT: 8088d6af7 Fix crash in msc_rules_add_file() when using disruptive action in child rule inside of chain REVERT: 466a427ab CHANGES: Adds info on #1897 REVERT: ec1112c64 Fix memory leak in AuditLog::init() REVERT: 8c549c65c CHANGES: Adds info on #1901 REVERT: b12a8f5c6 Fix RulesProperties::appendRules() REVERT: f1da6dd29 CHANGES: Adds info on 0x3077c REVERT: 8bda7c0a4 Fix RULE lookup in chained rules. REVERT: 120108fd3 Adds support for /32 in @ipMatch cidr notation. REVERT: a5a40a71a Makes matchedvars inline REVERT: b58018e77 Fix multimatch behavior to match what we have on v2 REVERT: a47738ab0 CHANGES: Adds info about: 0x14316 REVERT: dba73f536 Using values after transformation at MATCHED_VARS REVERT: 7c50fa7c0 Small fix on @detectXSS test case REVERT: 85ecd190d Adds full support to UpdateActionById. REVERT: 3e8e28da4 Refactoring on the RULE variable REVERT: 554251bad Refactoring on the Rule class REVERT: 74841779f Adds partial support to UpdateActionById REVERT: 68398a51f CHANGES: adds info on #1922 REVERT: 004047ef6 Add correct C function prototypes for msc_init and msc_create_rule_set REVERT: c1925a467 CHANGES: adds info on #1909 and #1185 REVERT: 20ef01d75 Allow LuaJIT 2.1 to be used REVERT: 28f6f2201 Match m_id JSON log with RuleMessage and v2 format REVERT: bc3d3f191 Adds support to setenv action REVERT: 4dd281275 Adds new transaction constructor that accepts the transaction id as parameter. REVERT: c721e101c Adds request IDs and URIs to the debug log REVERT: 0e8cd767e CHANGES: Adds info about: 0x028e0 and 0x275a1 REVERT: cdf2da1a0 Adds test case related to issue #1725 REVERT: 98b9ae659 Having a better organization for Variables:: REVERT: ee50fea26 Handling key exceptions on the variable itself REVERT: 0d53111cb CHANGES: Adds info about: #1859 REVERT: 5aa79c17f Add test cases for m.setvar in Lua scripts REVERT: 6f458b520 Fix on top of jmx's m.setvar commit for USER collection in Lua scripts REVERT: 45cdb0ed9 fix: function m.setvar not work in lua script REVERT: c2bc69526 parser: Fix typo on SanitiseArgs REVERT: 9c73c09ab parser: Updates the generated parser file REVERT: a71987145 Fix matching condition and adjust test case REVERT: 379f37009 Fix SecResponseBodyAccess and ctl:requestBodyAccess directives REVERT: 5c048e3cc Explicitly include time.h to fix building the examples REVERT: dce2fed31 Add exception to linker as OpenBSD doesn't like static REVERT: 0c0b09ec5 Use glob.h when using OpenBSD REVERT: d97688804 Fix parser to support GeoLookup with MaxMind REVERT: 0a88e0237 Allow libMaxmind to work with Ubuntu PPA packages REVERT: dfbff090b test case: Adds test case related to #1831 REVERT: 764a2e43f parser: Fix simple quote setvar in the end of the line. REVERT: 738e32872 CHANGES: Adds info about: #1847 REVERT: 788b69642 Fix pc file REVERT: 16ab99ce3 modsec_rules_check: uses the gnu `.la' instead of `.a' file REVERT: d7b972635 good practices: Initialize variables before use it REVERT: d302b99ec Adds test case for: #1812 REVERT: 4585216ae Adds more tests to REQUEST_BASENAME REVERT: a85ca00a5 Fix utf-8 character encoding conversion REVERT: 90197bdd9 CHANGES: Adds info about: #1807 REVERT: aa158ceef Set the correct variable (m_requestBodyType) and add test case REVERT: f999f54ed Adds support for ctl:requestBodyProcessor=URLENCODED REVERT: dc4382da5 CHANGES: fix contributor list on: #1818, #1820, #1810, #1808 REVERT: 0ac23a47c Add LUA compatibility for CentOS and try to use LuaJIT first if available REVERT: 857bf9da5 Allow LuaJIT to be used REVERT: 156527a6f CHANGES: Adds info about: #1814 REVERT: dee989844 Implement support for Lua 5.1 REVERT: eed6b5f86 CHANGES: Adds info about: #1818, #1820, #1810, #1808 REVERT: d810de916 #1818: Variable names must match fully, not partially; also revert to hash table lookup instead of linear search; add test case REVERT: 65aa7ae5e Improves the performance while loading the rules REVERT: 4e3a1f715 CHANGES: Adds info about: #1785 REVERT: fd8e72fd9 Allow empty strings to be evaluated by regex::searchAll REVERT: 7def498c4 Added some documentation for multipart boundary check REVERT: a3980bbea CHANGES: Adds info about: #1790 REVERT: ae38c23bb Adjustments on top of #1790 REVERT: 544fb50c1 Add basic pkg-config info REVERT: 81708a6cf CHANGES: Adds info about: #1787 REVERT: e51297b43 Improvements on top of #1787 REVERT: edb5993d5 Fixed LMDB collection errors REVERT: 1527f4e2f Updates the test cases described on Makefile.am REVERT: 6a25ebb2b CHANGES: Adds info about: #1747 REVERT: 76887b8b2 Added new tests, aligned to new UNMATCHED_BOUNDARY flag value REVERT: 4d0ca9449 Modified the false pos. UNMATCHED_BOUNDARY error flag REVERT: af4afd348 Fixed false positive MULTIPART_UNMATCHED_BOUNDARY errors REVERT: 95048d5fc Fix ip tree lookup on netmask content REVERT: 202a15bea Changes the behavior of the default sec actions REVERT: 61c956e3f CHANGES: Adds info about: #1754 & #1778 REVERT: 892beb536 Refactoring on {global,ip,resources,session,tx,user} collections REVERT: 550e9d3f3 CHANGES: Adds info about: #1786 REVERT: f928e4476 Revert "Fix memory leak in msc_rules_* C APIs" REVERT: b85a64561 Fix race condition in UniqueId::uniqueId() REVERT: b586fa9c1 Cosmetics on README REVERT: 19d4f2007 Experimenting with SonarQube/SonarCloud REVERT: f533ca999 CHANGES: Adds info about: #1765 REVERT: 58701e7e1 Fix memory leak in msc_rules_* C APIs REVERT: 6db26cee8 CHANGES: Adds info about: #1783 REVERT: 45e531236 Return false in SharedFiles::open() when an error happens REVERT: a02bd3a3b CHANGES: Adds info about: #1769 REVERT: fd9a161e7 Use rvalue reference in ModSecurity::serverLog to avoid string copy REVERT: ccd7b9f67 travis: Temporarily disables -jN REVERT: 87e64e3c2 Actually fix setvar parsing of quoted data REVERT: e4c822e66 Code cleanup: Initialize variables and others good practice REVERT: a278bb673 Testing travis with parallel build REVERT: b0b484f45 Build in parallel. REVERT: 137bd88b2 CHANGES: Fix info about: #1771 REVERT: b5528bb8d fix when multiple lines for curl version REVERT: 42a472adb Check if response body inspection is enabled before process it REVERT: 389cc2535 CHANGES: Adds info about: #1757 REVERT: 2669add8e Fix memory leak in processContentOffset REVERT: cc7203503 Remove an unused variable REVERT: 8750ee5d3 CHANGES: Adds info about: #1759 and #1733 REVERT: 5e4085069 Fix setvar parsing of quoted data REVERT: e47125c55 CHANGES: Adds info about: #1758 REVERT: 98b4e7546 Fix LDFLAGS for unit tests. REVERT: e48fa2f81 HANGES: Adds info about: #1761 REVERT: cd1a058c3 Code cosmetics: Clean up MD5 hexdigest REVERT: d0b423fdd Adds time stamp back to the audit logs REVERT: 6f92c8914 Disables skip counter if debug log is disabled REVERT: a1b6cceb6 CHANGES: Adds info about: #1737 REVERT: d0a63aac0 Define m_secmarker_skipped as an integer type REVERT: bb2ecdf4d Add missing escapeSeqDecode, urlEncode and trimLeft/Right tfns to parser REVERT: a939d19fa CHANGES: Adds info about: #1738 REVERT: 6d5bb42bd Normalizes Bison version REVERT: 2037a08b3 Fix STATUS var parsing and accept STATUS_LINE var for v2 backward compatibility REVERT: a806f26be CHANGES: Adds info about: #1750 REVERT: 268f34bbc Fix memory leak in modsecurity::utils::expandEnv() REVERT: f888f4e5e CHANGES: Adds info about: #1751 REVERT: e7ea5433d Initialize m_dtd member in ValidateDTD class as NULL REVERT: 3ee65a31c CHANGES: Adds info about: #1739 REVERT: f7beb1757 Fix broken @detectxss operator regression test REVERT: 6a710b3a4 CHANGES: Adds info about: #1743, #1744 REVERT: 3d06e1b8b Fix github_issue reference in regression test REVERT: 5e65d560f Fix utils::string::ssplit() to handle delimiter in the end of string REVERT: 501835837 Fix variable FILES_TMPNAMES REVERT: 077b18252 CHANGES: Adds info about: #1729, #1730 REVERT: 8285a9746 Fix memory leak in Collections REVERT: ea7d1ff54 CHANGES: Adds to be released marking REVERT: 8d0f51bed Change release version to v3.0.2 REVERT: 871a13186 CHANGES: Adds info about version issue REVERT: 2e87c4e75 Fix version number on libtool REVERT: f67ff0aa6 Change release version to v3.0.1 REVERT: 01625bbb3 CHANGES: The correct is: ruleRemoveByTag not ruleRemoveById REVERT: ff0d451a5 Fix maxmind test case REVERT: 0ca599474 Adds support for ctl:ruleRemoveByTag action REVERT: 9537cfcee Fix SecUploadDir configuration merge REVERT: ab3afb2ed CHANGES: Adds info about: #1716 REVERT: dcbb06be4 Include all prerequisites for "make check" into dist archive REVERT: 9505ca7e6 CHANGES: Adds info about: #1715 REVERT: 601e0d704 Adjust tests for @inspectFile operator REVERT: 138e30169 Reverse logic of checking output in @inspectFile REVERT: c61155424 Adds support to libMaxMind REVERT: 15b38fbe5 Travis: adds --without-maxmind option REVERT: df169ea10 Adds support for libMaxMind REVERT: 7bff76d79 Parser: Updates the generated parser files REVERT: 480a2f89d Disable SecCollectionTimeout parser error REVERT: 22334c9bb Adds capture action to detectXSS REVERT: b59d19e95 CHANGES: Adds info about #1701 REVERT: e50c317b7 Temporarily accept invalid MULTIPART_SEMICOLON_MISSING operator REVERT: 70ace0faa Adds capture action to detectSQLi REVERT: 0f361b706 Adds capture action to RBL REVERT: df25c48f5 Adds capture action to verifyCC REVERT: 77a885da5 Adds capture action to verifySSN REVERT: 60b246909 Updates bison parser REVERT: 0b494c4cd Adds capture action to verifyCPF REVERT: 64ce41280 Prettier error messages for unsupported configurations (UX) REVERT: a66acebc0 Add missing verify*** transformation statements to parser REVERT: 8bb64c3ee Code cosmetics: removes an unused piece of code REVERT: 450c966da Fix a set of compilation warnings REVERT: c8666fae3 Check for disruptive action on SecDefaultAction REVERT: 6842d4bba Fix block-block infinite loop. REVERT: c51e3e242 CHANGES: Adds info about #1636 REVERT: 4ac14a262 Cosmetics on top of: #1636 REVERT: a0bea7356 Correction remove_by_tag and remove_by_msg REVERT: 5e8062cf7 CHANGES: Adds info about #1691 REVERT: 8d61a3df9 Fix LMDB compile error REVERT: 854a661a2 Fix gcc compilation issue REVERT: dca642369 Fix on top of #1677 REVERT: f16eb8b54 CHANGES: Adds info about #1640 REVERT: ebc068b8c Fix msc_who_am_i() to return pointer to a valid C string REVERT: 3fa3094ee CHANGES: Adds info about #1652 REVERT: 9dff36f59 Added some cosmetics to autoconf related code REVERT: ccb1068e8 CHANGES: Adds info about #1678 REVERT: b50658d1e Fix "make dist" target to include necessary headers for Lua REVERT: 93ccad191 CHANGES: Adds info about #1677 REVERT: ccc1f2031 Fix "include /foo/*.conf" for single matched object in directory REVERT: 3539c59a6 Adds regression for base64 transformation REVERT: ab78b0cfb Add missing Base64 transformation statements to parser REVERT: e3b6b4ccf Fix resource load on ip match from file REVERT: 6f718f9d4 Updates on CHANGES REVERT: 0461c1c06 Fix examples compilation while using disable-shared REVERT: ac100785d Fix compilation issue while xml is disabled REVERT: ff782ddfa Having LDADD and LDFLAGS organized on Makefile.am REVERT: 2b052b0ed Checking std::deque size before use it REVERT: eeec7efb6 Renames collection::Variable to VariableValue REVERT: de7c5c89b Using shared var for variables names REVERT: 6f7fdd949 Using direct variable access instead m_collections REVERT: 43bba3f94 Removes the depricated MacroExpansion class REVERT: f17af9572 Using RunTimeString on setvar action REVERT: a6830c76f parser refactoring: ops no longer carry a payload REVERT: a299997e0 Using run time string on the operators REVERT: 6a97dbee7 Using stack to save parser state REVERT: b5e996602 Removes useless state REVERT: 2d892a317 Adds support for multipart vars on the parser REVERT: 6fe8655ed Adds support for RunTimeString REVERT: cd30509f3 Fix the debuglogs for the regression tests REVERT: c3b19e7f8 Updates CHANGES file REVERT: 2ba788d2d perf improvement: Checks debuglog level before format debug msg REVERT: a03772630 Updates CHANGES file REVERT: 768a76a61 perf. improvement/rx: Only compute dynamic regex in case of macro REVERT: 4a23891c8 Updates the CHANGES file to reflect the changes on bench utility REVERT: d162d4e20 Fix uri on the benchmark utility REVERT: e6712358f Merge pull request #1639 from defanator/v3/skip_lua51 REVERT: f4a05b6e1 Configure: actually disable Lua on systems with liblua5.1 REVERT: c1cd668ac Change release version to v3.0.0 REVERT: eaa4770c5 Fix issue related to Lua script load REVERT: c98e66547 Improvements on LUA build scripts and support for LUA 5.2 REVERT: de36fca86 Adds info about 0xfd84e on the changes file REVERT: e9f3312ea fixed compilation error with disable_debug_log flag REVERT: 81e1cdced Adds info about issue 1615 on the changes file REVERT: 8bcef4187 Improve benchmark tool REVERT: e98be6dc5 Adds info about issue 1622 on the changes file REVERT: af7e6ee16 Correction lua header REVERT: 9c0ed6109 Fix assorted minor memory management issues REVERT: b7698d689 Fix memory leak in @fuzzyHash REVERT: 68152d8d2 Adds test case for issue #1576 REVERT: 3fb71f32d Coding style fixes REVERT: 023e7acba Refactoring on the JSON parser REVERT: 23cf656f9 Adds support to WEBAPPID variable REVERT: 082a3e328 Adds support to SecWebAppID REVERT: 37c34f3e6 Adds missing cflags for LUA and SSDEEP REVERT: ec667a460 Adds support for SecRuleRemoveByTag REVERT: 381cf8ac2 Makes ssdeep enabled by default on the build scripts REVERT: 4d7fd5c30 Adds support for update target by message REVERT: 7d7c0c03c Adds missing SecRuleScript test case REVERT: bff326e80 Adds lua as a travis option REVERT: 7fa5ca9ba Makes lua optional REVERT: e52bd7d63 Adds support to SecRuleScript directive REVERT: cb3363c7d Adds support for the exec action REVERT: 7bec78a5a Adds support for transformations inside Lua engine REVERT: a676f313c Initial support for Lua script engine REVERT: 1866a3a9e Adds support for the @inspectFile operator REVERT: 1189e9b0e Adds support to LUA in configure scripts REVERT: 9369efcb9 Adds support to the collection RESOURCE REVERT: a9d54c30a Fix on ssdeep search script REVERT: e6106ae0e Fix regression tests for fuzzyHash REVERT: 9c83b39ea travis: Adds ssdeep option to our regression soup REVERT: 7622866f9 Adds support for @fuzzyHash REVERT: 4ecfed316 Adds CHANGES info about #1598 REVERT: 968d83f1f Fix build on non x86 arch build failed on ppc64/ppc64le/arch64/armv7hl/s390x due to how this arch represent chars REVERT: 371fc0321 Fix memory issue while changing rule target dynamic REVERT: 351beb056 Adds missing info to the CHANGES file REVERT: c4fcb36f4 Fix log while displaying the name of a dict selection by regex REVERT: 93e18ca5e Support pipes inside quoted variable selection REVERT: 34e8b140e Setting http response code on the auditlog REVERT: 274f9e5aa Refactoring on RuleMessage class, now accepting http code as parameter REVERT: 39fb75c34 Having disruptive msgs as disruptive [instead of warnings] on audit log REVERT: 30797a458 Parser: Pipes are no longer welcomed inside regex dict element selection. REVERT: 1518c43d6 Adds test case for issue #1565 REVERT: 1ad95254c Avoids unicode initialization on every rules block REVERT: 20edf9ab7 Removes xml initialization from CURL if/def REVERT: 41bf7f716 Calls xml init and xml cleanup to avoid memory leak REVERT: 30364628a Makes clear to the user when audit log is empty due to missing JSON sup. REVERT: d3f979f1d Makes auditlog more verbose on debug logs REVERT: e09304a08 CHANGES: Adds info about #1583 REVERT: d285bc02b Add missing statements REVERT: 63bef3d14 Support to JSON stuff on serial logging REVERT: 2988c5bb0 CHANGES: add info about #1536 REVERT: fa7973a4e Removes a regex optimization added at #1536 REVERT: 9e9db08b8 add @rx macro expansion test to list in Makefile REVERT: 10c4f9b1b add a test for macro expansion in @rx REVERT: a76030256 support macro expansion in @rx REVERT: 210e72aa2 Consideres under quote variable while loading the rules REVERT: 658c9b5da Adds CHANGES info for #1571 REVERT: a5266d6d1 Store the connection and url parameters in std::string REVERT: ba4e2e373 Adds CHANGES info for #1572 REVERT: 495b47d8a Eliminate some reorder and sign warnings REVERT: 490971399 Adds CHANGES info for #1562 REVERT: 082a0d3ac Adds ios::[open|app] to the parallel.cc to fix write over SELinux REVERT: 48be601ca Very first version of our changes file REVERT: 1c91e8077 Extends acmp_prepare to pm_from_file REVERT: 7d786b335 Makes pm mutex optional via configuration flag REVERT: 119a6fc07 test-only: Placing a mutex while evaluating the pm operator REVERT: a2427df27 fix: ignore .git directory while generating the release file REVERT: 04f700998 Adds a simple release script REVERT: cca364253 Changes release tag to -rc1 REVERT: 224f6ef26 Fix configuration schema on the configure summary REVERT: 7ac6bf724 Fix memory issues while resolving variables REVERT: 003a8e8e5 Uses shared_ptr on variable names REVERT: 9d062f53a Merge pull request #1543 from defanator/remove-SecRequestBodyInMemoryLimit-from-conf REVERT: 5c737c2c0 Treat _NAMES variables as collections (#5) REVERT: 9069a453e Revert "Treating ARGS_NAMES as an array instead of scalar" REVERT: 43e3ff91e Fixes a bug with an unitialized variable. REVERT: 3a048ee2d Support --enable-debug-logs=no option of configure script (#2) REVERT: f6af42c23 Remove SecRequestBodyInMemoryLimit from configuration template REVERT: 1d3c4c670 Treating ARGS_NAMES as an array instead of scalar REVERT: 81879cd13 parser: SecRequestBodyInMemoryLimit is now returning an error msg REVERT: 2cf636cf7 parser: Adds generated parser files after 0xfce65 REVERT: 0be821ded change parsing of SetVar actions REVERT: e0ebf2854 Adds `$' as a valid character in ruleRemoveTargetById REVERT: 4b9bd499e Fix to_hex_if_need function on string utils REVERT: 8d6209f65 gitignore: Adds binaries from examples to the ignore list REVERT: 5e76d8563 Update test cases to include test propesed at #1523 REVERT: 31f1d0446 add validateByteRange regression test to list in Makefile REVERT: 58872e7ed adds a test for validateByteRange with bytes > 127 REVERT: 86e74fac5 validateByteRange: correctly handle bytes > 127 REVERT: 7665d96a1 Improve action-allow test titles REVERT: fc06915cc Extend RESPONSE_BODY test case. REVERT: 31655e2c9 Updates secrules-language-tests REVERT: 0a3dd824f Updates libinjection to v3.10.0 REVERT: b8789ab9f add a test for negated implicit @rx operator REVERT: 039bd2cc8 fix negated implicit @rx operator REVERT: ca9cbf4dd Fix for @rbl operator to correctly recognize known supported RBL providers REVERT: 9d4ed5251 test: Counts the disabled tests as skiped on the test summary REVERT: d66f0c7e0 Add support for disabled test cases. REVERT: ab14b7c08 Add support for disabling test cases. REVERT: c22658ec8 Adds `msc_update_status_code' method to the libmodsec api REVERT: fff5a5765 Changes auditlog type to serial by default REVERT: bf281eb4d Relaxing the audit log sanity checks to allow empty relevant status REVERT: 09ee47149 Handle zero byte rule files correctly. REVERT: 945ee27a8 parser: Adds SecRuleUpdateActionById is not yet supported REVERT: d7eab6b7a Adds support to SecRuleRemoveByMsg REVERT: 562c2b2f5 parser: Adds support to tag action without quotes REVERT: b4051246b Adds support to SecResponseBodyMimeTypesClear REVERT: 48f147026 Adds support to SecArgumentSeparator REVERT: a30253852 parser: Adds SecWebAppId not supported note REVERT: 2c4e65f7e parser: Adds support to quoted paramenter in SecDataDir REVERT: bb2fe0e03 parser: Adds note saying that SecServerSignature is not supported REVERT: e6cfd5379 parser: Adds SecRuleScript not implemented note REVERT: cd533e00e parser: Adds support to quoted arguments on SecUploadDir REVERT: b5d0dc240 paser: Adds support for quoted argument on SecTmpDir REVERT: 5ffc5c163 parser: Adds support to quoted arguments in asorted configurations REVERT: 9abc37157 parser: Adds msg: ContentInjection is not yet supported REVERT: 06447ea3d parser: Adds support to double quotes on adit logs file REVERT: c525cbfb2 parser: Adds ability to inform auditlog status without quotes REVERT: 9ee412735 parser: Improves the reading for the url in the redirect action REVERT: 8c66a1b4c Adds support to double quotes on debug logs conf REVERT: 0508395f8 Forces REQBODY_ERROR to zero whenever there is a valid XML REVERT: b36c4260c Adds a graceful error if there is no memory for request body inspection REVERT: 9a41942ce Optimization on the macro expansion function REVERT: 53ff0e1a5 Adds initial support to SecHttpBlKey REVERT: 515e07350 Rename FromNowOneAllowType to FromNowOnAllowType. REVERT: bce5ef770 Add the missing g in Transaction::GetReponseBodyLenth() REVERT: 56baef5f1 Fix test case as consequence of the changes at #1514 REVERT: 5e06a67fb Demote log lines to improve debug log SNR. REVERT: 5c7892ce8 Reduce use of underscores in log output. REVERT: e3b9e6061 Ignore droppings from make check. REVERT: 4d1739a2c Ignore built files. REVERT: 024264661 Adds test case for the ctl:ruleEngine action REVERT: 4bec6b001 Adds support to ctl:ruleEngine REVERT: 1f1e8324b Includes HTTP version and response code on auditlogs/F REVERT: 43cb8ed65 Adds support to C section on auditlogs REVERT: 15ca5ceab Yet another change on the audit log permissions REVERT: b58c8fe7e Changes the default file creation permission to 1600 REVERT: 27a8abc05 Changes the auditlog new derectories permission to 1872 REVERT: 337216fd8 fix: remove target by {id,tag} are now considering collections REVERT: 7c2dbf48c Typo in the debuglogs for rules::getFinalVars REVERT: e14dc602e Adds support to SecRuleUpdateTargetById REVERT: 9ce7d022c Fix memory leak in the regression utility REVERT: 52c5631ae Adds test case to UpdateTargetByTag REVERT: fba9c20ea Adds initial support to SecRuleUpdateTargetByTag REVERT: 65bd06fb7 Adds verifyCPF operator to the unit test list REVERT: 74bb022a2 Updates unit test cases REVERT: 25175dd80 Adds support to verify CPF operator REVERT: 787b388f8 Yet another update on the unit test repository REVERT: ddac1fb6f Upgrades the unit test repo to the most recent version REVERT: a7f7532a2 Adds verify ssn operator to the unit test list REVERT: ad8182e2a Adds support to the verify ssn operator REVERT: d465c2f1a Removes the beauty of the JSON logging REVERT: 1edd3570e Adds a set of sanity checks to validate API inputs (2 of 2) REVERT: 508a2b5a4 Adds sanity check on SecRemoteRules directive input REVERT: 49b7ea99e Adds a set of sanity checks to validate API inputs (1 of 2) REVERT: 5a32b389b chunks example: Sets the freed variables to NULL REVERT: 6d77c76b2 Implements intervention support inside using chunks example REVERT: f5b47a807 Duplicates the url variable in the disruptive action REVERT: c3a0d8d9b Fix collections element selection by regex REVERT: 3ebc2d61f Enables random number generation REVERT: 4726912ec Audit Log: Adds space after response size REVERT: 20134ef24 Fix examples/using_bodies_in_chunks compilation REVERT: e1f52a1cf Adds using bodies in chunks example REVERT: 9cb3f23b5 Adds support to setrsc action REVERT: 616a95bfe Adds -lpthread to the reading_logs_via_rule_message example REVERT: e795253ec Fix crash on SecRuleRemoveById malformated parameter REVERT: 2a5085255 Using multiple threads in reading logs via rule message example REVERT: 8fbb9e812 Using pthreads to avoid concurrent access to the collection REVERT: 37868d153 Add missing feature: t:uppercase transformation REVERT: 9d70345d3 Add missing hexDecode transformation to seclang parser REVERT: a90b2a3ff Code cosmetics: init a vector. REVERT: e1d3abc8e Removes memory leak on the counter variable modificator REVERT: c49688fd7 Verify if a certain resource exists before do any other sanity check REVERT: 6143eb99e Removes LMDB from the default configuration options REVERT: 37619bae7 Removes local cache for transformations REVERT: 0e05b7bb8 Avoids to load a directory structure as a rules file REVERT: c97db2f36 Adds verbose message when a resource is not found. REVERT: 77a658c7c Updates libinjection version REVERT: 6421ff087 Forces disruptive to be first-rule-only REVERT: 7e5925006 Fix JSON parsing error message REVERT: b58f713fe add support for soap+xml REVERT: e2bbe9858 XML Parser: removes unnecessary message from debug logs REVERT: ba070c9ea Speeds up utils::string::toupper function REVERT: b3c8e97ff Parse fix: accepting variables in between quotes REVERT: c7053e572 Postponing the decision to whenever save or not a log message to the last rule REVERT: 4d03ef512 Fix TX dictionary element name on logs REVERT: 5f60bb522 Yet another fix on the debuglogs merge REVERT: cf4deaa3a Using uint64_t instead of u_int64_t REVERT: d15b57895 Fix the Multipart parser error for unknown content type REVERT: 80cfca6fa Fix the debug log level merge function REVERT: 2a54bf23e Fix the debug log merge function REVERT: eb12b1514 Flush [shared-] file after write it REVERT: dbcf5a719 API CHANGE: Rules::merge signature was change to includes error msg REVERT: 5e59d1912 Improves macro expansion speed and variable set attribution REVERT: f17da09fc Avoids call `toupper' twice while resolving a variable REVERT: 85f98c8a6 Fix "make dist" after recent changes to parser REVERT: c290c73f9 Updates travis' badge REVERT: 53485c7f7 Fix pcre_exec offset values REVERT: e79712095 Minor fix in the decision on whenever the log callback should be called REVERT: e2af60e76 Expands log_cb to share ruleMessage structure instead text REVERT: 9ea5b475b Fix missing initialization on rules-check utility REVERT: 6d61bd6b5 Adds rules-check utility REVERT: d2c5b31b1 Uses FILE instead of _IO_FILE REVERT: e2bd87d07 Fix minor parser errors REVERT: c3cb23f47 Removes the ';' from the x-www-form-urlencoded body-processor comparison REVERT: d6363607a Accept quoted regexp in the collection selection REVERT: 39761ce7b Discards the `charset' from the C-T while checking for body processors REVERT: 7ab192e90 Using method instead of procol in the audit logs. REVERT: fcad29015 Having the DebugLogs using the SharedFile schema REVERT: 7f9cd7661 Improvements on the SharedFiles class REVERT: 01c13da51 Fix segfault due to invalid memory access on SharedFiles class REVERT: 87f6b478f Fix typo in returned string REVERT: cc25390dc Fix copy/paste typo REVERT: 027d50b76 Adds first version of `processContentOffset' REVERT: 7aae5dc18 Fix Regex::searchAll to behave like global modifier REVERT: 4d66481bf travis: Installs cppcheck on MacOS X REVERT: 616cf84c3 Adds check-static to travis.yaml REVERT: 4ad3574cf Adds offset regression tests and assorted fixes on var's offsets REVERT: 795994bb0 Adds support to error_log in the regression tests REVERT: ae8c2a486 Adds ZenHub Badge to Readme REVERT: 073b0f6d6 Small changes in the README, including: having ModSecurity logo REVERT: aba68a7b6 Adds ModSec log to the git repository REVERT: efb90bb55 Adds OWASP rules to the gitignore list REVERT: 71a9677f3 Adds configure.h to system.cc in oder to read the MACOSX def REVERT: 09cfa2869 Removes dup on travis build matrix REVERT: 44121bdee Updates secrules-language-tests REVERT: 158ec7b2e Adds support to resources on the unit tests REVERT: b021c15e4 Adds a little more build options to the travis file REVERT: c06daba39 Adds support for curl resource on the regression tests REVERT: f9552ede2 Adds missing file REVERT: 36ab4b952 Fix lmdb compilation issue REVERT: 6f4746211 Fix compilation when YAJL is not present REVERT: 9d3399055 Very first travis file REVERT: d85169952 Adds references to the collection variables REVERT: e95efa05c Fix assorted memory and static analysis errors REVERT: 8d0583eda Increments the cppcheck suppression list REVERT: f40a6edec Adds valgrind suppression list REVERT: f2d149fc5 Extends the direct access model to other collections REVERT: ca24b6bb0 PoC: Adds support to direct access on ARGS collection REVERT: 17e5a6357 Removes memory leak on the "offset" feature REVERT: c1f11ab4e Cosmetics: assorted fixes on the coding style REVERT: a88dc8efa Changes the check script to detect segfaults REVERT: ff65d618e Adds missing Makefile.am file REVERT: ecbf292f6 Adds first PoC for the operator offset feature REVERT: 9a8fc3116 Instantiates the Class variable earlier REVERT: ba6b972ca Makes global collection allowed to be set by setVar REVERT: b516cc6de Adds operation unset to setVar action REVERT: e95555132 Contionuation of 1 time variable patch REVERT: 703da3c4f Adds PoC about 1-time variable resolution and draft for offset REVERT: 6abbb7e91 Fix regular expression test case and updates the test list REVERT: 1e8b37411 Removes the depency on bison/flex if it is not a parser build REVERT: 3eccfaf1f Disables parser generation on all builds REVERT: 03d0570e9 Deletes the Rule object in case of a parser failure REVERT: 1aa2a9c01 Avoids memory leak by cleaning loc stack on Driver's destructor REVERT: 8edffe353 Dirty hack to make the parser workable REVERT: 839ac6258 Fix memory leaks in parser failures REVERT: a6f07f621 Makes the lexical errors a little bit more verbose REVERT: 5880524db cosmetics: Improves the tokens organization REVERT: 9a1faab66 Deletes driver in case of parser failure REVERT: 808fd2335 Avoids a second initialization of the Audit Log class REVERT: 557c29fd4 Changes variables destructor to virtual REVERT: 0c37ba336 Fixed utf8ToUnicode bad memory access REVERT: a8e5cce74 Moving the rules deletion to the RuleProperties class REVERT: 068a3eb51 Fixed bad memory access in utf8ToUnicode class REVERT: fd341145d Fixed memory leak in the acmp implementation REVERT: 60402d8b8 Renames defaultActions to m_defaultActions in RulesProperties REVERT: 7927ddda9 Renames rules to m_rules in RulesProperties REVERT: 5086fef49 Fix parser while continuation line is used between var and op REVERT: 59114dd59 Refactoring on the operators parsers (2/2) REVERT: 9cda4c0be cosmetics: Having the parser in a better shape regarding operators 1/2 REVERT: 3a413080f Fix string size on regexp search all REVERT: 36d6bb966 Fix substring constructor in regex search all REVERT: e181cb7e0 Fix lmdb collections backend REVERT: b12cc9128 Adds valgrind suppression regarding rules load REVERT: 8bd5f03a3 Fix memory leak on the regression tests REVERT: f62dc287c Uses pointer instead of std::string copies while applying transformations REVERT: 63f3f2fd8 Avoids unnecessary elapsed time calculations REVERT: a7f465cf3 Avoids string copy by working with pointers while resolving variables REVERT: 7834cf857 Fix memory leak on the benchmark utility REVERT: 168fa22e1 Collections cleanup: removes resolveFirstCopy method REVERT: 6fff8c954 Performance improvement: makes the collections lookup faster REVERT: 15b81d09e Refactoring on the transformation classes REVERT: bbb61d560 Changes the saving selection for the audit logs REVERT: 10cdf8fed Enforces that relevant status on the AuditLogs REVERT: 88fb456a1 Cosmetics: Reduces the static analysis warnings REVERT: 9c7416da9 Refactoring the actions classes REVERT: 73877d403 Adds support to section "E" in the auditlogs REVERT: 317808fe5 Adds section "H" to serial audit log REVERT: 2d29740ca Cosmetics: better format the serial audit logs REVERT: c1e96d6c2 Fix rules messages in the audit logs REVERT: 1218d8c84 Fix the audit log engine status selection REVERT: 2e9a35c35 Refactoring on the audit logs implementation REVERT: 9707d46e4 Adds `debug_log' headers in the no install list REVERT: 64e292792 Moves debuglog stuff inside the debug_log namespace REVERT: a3787fedb Fix building with -Wl,--as-needed linker option with older ld versions REVERT: 31d5d7908 Removes charset=UTF-8 from content-type variable REVERT: 8f1665059 Fix install and dist targets after 768cc74f, 9733cacd, bfc30dad REVERT: 47f2e7ff4 Use correct debugging CFLAGS in readme. REVERT: 89987806c Add (void) argument to be ANSI C compliant REVERT: 1719e1d7e test-cases: updates the remote reference REVERT: cce6179dc Refactoring: new structure for logging alerts REVERT: bfc30dad3 Refactoring: how to report to error logs REVERT: e6b58014d Cosmetics: Fix some static analysis report REVERT: 9bd37ccb6 Refactoring: Rule class REVERT: a776cce6d Changes RULE variable group to be save at transient collection REVERT: 2930d40d5 Changes the actions to affect the ruleMessage instead of transaction REVERT: 8fa0523fe Adds initial support to the multiMatch action REVERT: 9116a19bc Using the decoded uri in REQUEST_URI instead of the encoded one REVERT: 7a36499f2 Makes @pm compatible with the brand new capture schema REVERT: eecb90cfd setvar: needs review REVERT: c339194c0 Changes operator rx to use regexp::searchAll REVERT: 9c7988d88 Adds support to regexp::searchAll REVERT: d3a4ec760 Removes slash from REQUEST_BASENAME REVERT: 293a84966 Adds m_uri_no_query_string_decoded to transaction REVERT: ab8808315 parser: Fix the expanded list inclusion REVERT: c98be42f8 Limits the transformation output to 80 chars in the debug logs REVERT: f5898e94c Fix documentation typos REVERT: 85edff522 Fix return value of msc_rules_merge() REVERT: 464350150 parser: Improves the include error when the file does not exist REVERT: 8b4f1bc46 Fix rule file inclusion path REVERT: 361ec8340 benchmark: Removes the \n\r on the user agent REVERT: 8ceaf99d5 Updates the CRS script to target the recent v3.0.0 release REVERT: 3ab5c8057 Updates the fuzzer sub-project REVERT: ee996a837 Adds configure option to [disa|ena]ble the library examples REVERT: 936ec0b47 ~Rule will delete chainedRule REVERT: 1b2877681 Fixed install and dist targets after 3ee7b24 REVERT: 3ee7b2492 Adds refCounter to actions REVERT: ad05c74c3 Moves mbedtls to others and renames msc_string.h to string.h REVERT: 2244e874e Moves static methods from class String to the namespace string REVERT: 62a0cb468 Renames utils/msc_string.[h|cc] to utils/string.[h|cc] REVERT: 424418f54 Renames msc_system.[h|cc] to system.[h|cc] REVERT: 4ced1d18e Using full path in the header inclusion REVERT: 768cc74f0 Moves RuleMessage to its own file REVERT: ac4cb53d0 parser: Better understands escaped quotes in operator parameters REVERT: 1bf53c057 Deletes ruleMessage by the end of the rule execution REVERT: 5fa02f17c Fix Utils::hexdigest REVERT: 507ec44cc Refactoring on `utils.cc' and adjacents REVERT: b48dccff7 Removes unused `urldecode_uni_nonstrict_inplace_ex' REVERT: 78d6d2098 Moves `phase' related functions from `utils' to `utils/phase' REVERT: f1e742c15 Moves system related functions from `utils' to `utils/system' REVERT: 73c4d6917 Moves string related functions from `utils' to `utils/string' REVERT: 9733cacd4 Refactoring: moves ctl_ actions into ctl namespace REVERT: 2bb9d7988 Cosmetics: huge refactoring in the parser REVERT: d3de1c743 Adds missing action-ctl_rule_remove_by_id.json REVERT: 721983a05 Adds missing ctl_request_body.* REVERT: 75a5000b1 Cosmetics: coding style REVERT: 471164460 dds support to CtlRequestBodyAccess REVERT: 10d263cd3 parser: Relax the characters accepted by ctl:ruleRemoveByX REVERT: fead97155 Cosmetics: Fix typo. Remove not Remote REVERT: 1c21d1aeb Adds support to action CtlRuleRemoveById REVERT: 161cc36ac Adds support to action CtlRuleRemoteTargetById REVERT: 9245369a5 Adds support to action CtlRuleRemoteTargetByTag REVERT: 730d7dbd2 Cosmetic: Coding style fixes. REVERT: 8757840bc Refactoring on the operators: negation is now being handled globally REVERT: 28a44b966 SecLang uses RESPONSE_STATUS as variable, not STATUS REVERT: 678a97d0f Refectoring on the DebugLog mechanism REVERT: f3bbcfc7e Removes SecDebugLog directive from the test cases REVERT: 8ac15e291 Removes wrong test case: there is not transformation ge REVERT: 4e3a599f6 Add hack to fix MacOS X build REVERT: 049f1abb6 Fix compilation error REVERT: b48e4b3a3 refactoring: Moves Phases enum to outside ModSecurity class REVERT: c680ddf2c Refactoring on rulesProperties class REVERT: ae8698d8c Makes JIT support in PCRE to be optional REVERT: 13b6a3ecf Fix: Rules ID are validated during a set merge REVERT: ecd3fd0dc build: avoids compilation problems due to non existence of the lmdb.h REVERT: 8f5c1c3cf parser: avoids parser error while loading an empty file REVERT: 5553b2a5b Moves web server message to appropriate place and removing the garbage REVERT: 16b8ef98f Fix: placed missing variable initialization REVERT: 56cbbeff5 Adjust the phase value between the core and the rules REVERT: 115afffe3 Cosmetic: Limit the matched log size REVERT: a1a1c71d6 Makes LMDB support optional REVERT: 0a22f880d Adds support to custom operator's message in case of a match REVERT: ad6183811 Considering collection RULE independent of the case at macro expansion REVERT: 241269eed Adds missing `nog_log' action REVERT: c3378ec52 Fix the size of the rules and actions vectors REVERT: 8d84ff6f4 Accepting both: normalizePath and normalisePath REVERT: fb0afdb34 Fix @validateByteRange initialization REVERT: ed18c73cd include pre-generated parser sources into the distribution REVERT: 062dd17f1 Cosmetics: reducing the compilation warnings REVERT: 0e5f72977 Changes MATCHED_VAR behaviour REVERT: 665df0451 Cosmetics: avoid compilation warnings REVERT: 5febc7b26 Looking for lmdb in the right location under MacOS REVERT: 7f7bd9984 Adds missing file: rules_exceptions REVERT: f723870f1 Fix case sensitive variable resolution in in memory backend REVERT: 5d64f7381 Makes RULE collection to be resolved inside a macro expansion REVERT: 5514b6614 Adds missing file: rules_exceptions.h REVERT: 52808b6cf Allows REQUEST_HEADERS:Content-Type to be null REVERT: c961373fc Adds missing header REVERT: 8416eca98 Initializes m_maturity in the rule class REVERT: 37079ef66 Adds support to SecRuleRemoveById REVERT: d781b00f7 Fix the `log' action and the webserver error callback REVERT: 8d9abfb46 Makes tests output buildbot friendly REVERT: c0ebd45a6 Reduces bison required version to test it over the buildbots REVERT: 8a135cff9 Extends the possible names for liblmdb0 REVERT: 75e2e9d4d Fixing multiprocess_c compile error REVERT: 4cf6c714a Cosmetics: Fix coding style REVERT: 3615c84ee Adds check-coding-style target to our Makefiles REVERT: f26824bcf Adds more suppressions to the cppcheck REVERT: 4078677b7 Cosmetic changes: applies changes suggested by static analysis REVERT: 247f24c5b Removes check-valgrind files after a maintainer-clean REVERT: 46f4b84a0 Removes collections db after maintainer-clean REVERT: 3f38b5668 Renames `testdb' to `modsec-shared-collections' REVERT: 4c8aa5409 build: Adds missing lmdb.m4 REVERT: 085d50c12 include test cases into the distribution REVERT: 063850a4c exclude build-time required headers from install target REVERT: 2aa1d1447 fixed build of unit tests (broken by 34e0284) REVERT: 649365481 automake: include all needed files into "make dist" target. REVERT: ee9f3ebc5 configure: conditional creation of Makefiles in test subdir. REVERT: 38b338d1d Adds test case for regular express selection REVERT: ad481be09 lmdb backend: Adds support to select variables using regex REVERT: de8245d8f in-memory backend: Adds support to select variables using regex REVERT: 4daf9d8ab Adds a test case for WEBSERVER_ERROR_LOG REVERT: 833089eb7 Adds method resolveFirstCopy to collections REVERT: 6e4226ee4 Adds support to global collections shared among different process REVERT: ac6498327 Adds cppcheck target on makefile REVERT: 7bcc9cf0d Bug fix: variable resolution inside global collections REVERT: 20689145d Renames examples/multithread_c to multiprocess_c REVERT: cd5a116ca Simplifies the multi thread sample REVERT: 5daf4873b build: Searching for LMDB during the configuration phase REVERT: afd7a21d1 Correctly handle return values from pcre_study(3) REVERT: e231503bc Simplifies the collection interface REVERT: f43704dbe Add explicit 'return true;' for Transaction::extractArguments() REVERT: 45850d17d Fix typo (= vs ==) REVERT: 71acdaf8c Accept new line + caridge return in the rules parser REVERT: 578dabea8 Informs the https client a key if any is given REVERT: 3d1d0514f Fix pass action behaviour: now only ingore actions within the same rule REVERT: b332018cc Adds regressiont test for issue #1152 REVERT: f72bd587e Adds support to the allow action REVERT: e77e4c4c1 Adds missing test case to Makefile.am and initializes the skip var REVERT: b0f69b126 Adds support to the `skip' action REVERT: f00e625c8 Unbreak build with custom location of libyajl.so REVERT: 90adb5393 Adds support to JSON request body parser REVERT: 247747060 Adds support to the resource collection REVERT: bad3e1361 parser: Fix commented SecRule parser REVERT: 7d06c32b0 Adds error messages while failed to init a collection REVERT: 193fa2e80 Changes regressions tests to fit the recent modification on the parser REVERT: 0c0a9b308 Accepts component signature between brackets REVERT: 74a34261a Adds function removeBracketsIfNeeded to utils REVERT: 731707994 parser: Reporting the right column position in case of error REVERT: 37c18326c parser: Avoid to duplicate the invalid character REVERT: 0fdde5253 Fix setvar action to accept equals nothing REVERT: cf2ffe7e1 Fix the line counter while showing an parser error REVERT: e5583c24b Removed parserError from the rules class REVERT: 02909f7cd parser: arbitraty text can be used instead of operator REVERT: 0d53dda1a Adds support to @unconditionalMatch REVERT: 60be385eb Adds support to the SERVER_NAME variable REVERT: df1f7c5e0 Adds support to the RESPONSE_PROTOCOL variable REVERT: b8bd0c596 API CHANGE: response status is now set on processResponseHeaders REVERT: a36b2da86 Adds support to the STATUS variable REVERT: 56d084a7f Adds support the variable rule REVERT: 45bfb594b Adds missing tests cases REVERT: 6052d2628 Adds support to URLENCODED_ERROR variable REVERT: c5262d54f Fix argument uri decode order REVERT: dbaf79fb8 Adds extractArguments facilitator method REVERT: 5c088c8be Adds addArgument method to transaction class REVERT: ebe842475 Adds support to REQBODY_ERROR_MSG and REQBODY_ERROR REVERT: 7bd6e9a2b Makes XML request body processor to be selected only by ctl:equestBodyProcessor REVERT: 7cb27eb9f Implements the support to fill the REQBODY_PROCESSOR variable REVERT: 734f63bd0 Adds support to REQBODY_* varibales in the libmodsec parser REVERT: 767289c8d Fix compilation for libpthread users. REVERT: 647019a80 Use internal PCRE based implementation of regular expressions instead of std C++ regex library. REVERT: 21777aec4 Fix invalid memory read in msc_tree REVERT: 8b9041c2d Fix memory leak on VerifyCC operator REVERT: a4c7d534f Fix invalid memory write on base64 forgiven decode REVERT: 7be5fde62 Fix memory leak on the @pm operator REVERT: 1b35e57c4 Adds more suppressions to the valgrind list REVERT: 9cec9db79 Fix memory leak in the method toJSON from Transaction class REVERT: f833a6108 Fix memory leak on html dentity decode transformation REVERT: e6c542c5b Fix invalid read on sql hex decode transformation REVERT: 991902662 Fixes regarding memory management REVERT: cb91af537 Enforce bison requirement to 3.0.4. REVERT: 32f22d1a7 Use explicit variable size for copying char. REVERT: 57ad70bb2 Add missing 'retrun's for functions declared return value. This change fixes SIGILLs on executable built with clang 3.4. REVERT: 1e6b40ebe Fix some improperly formatted test cases REVERT: 8cdb13807 Adds support to make check-valgrind REVERT: f0155e3f3 Adds support to `make check` REVERT: 2e3da7ea2 Better support for multipart REVERT: 9e5cf2de8 Adds Upload configuration paramters to the libmodsec parser REVERT: 967c8c90f Fixed minor behavior on the trasnformations and added sha1-mbedtls REVERT: f35d28b8d Loads the transformations test cases during the unit test REVERT: 8d4990327 Adds support to the transformations parity[even|odd|zero]7bit REVERT: 59b1fe030 Adds sqlHexDecode tranformation to libmodsecurity parser REVERT: 1fe0e3420 Adds support to sqlHexDecode transformation REVERT: bd2e95953 Adds support to the hexDecode transformation REVERT: 2b056485d Adds support to Utf8ToUnicode transformation REVERT: d70f08d01 test: Using regexp to transform binary representation into binary blobs REVERT: b7e82261c Adds support to removeComments transformation on libmodsec REVERT: 08df949bf Adds md5 transformation to the libmodsecurity parser REVERT: 7ccf54d33 Adds md5 transformation REVERT: bf4a9d763 Adds support to base64DecodeExt transformation REVERT: 056753d57 Adds support to base64 encode transformation REVERT: bb5cbc969 Fix return value of Utilis::Base64::decode REVERT: e48f468cb Adds support to base64 decode transformation REVERT: 348cf3bfa Adds support to the REMOTE_USER variable REVERT: a3ae686f2 Adds base64 support via mbedtls REVERT: 4b9cff3ec Partially adds the REMOTE_USER variable support REVERT: f989ecd5c Adds support to SecXMLExternalEntity REVERT: 6a7b970fe Adds support to ctl:requestBodyProcessor=XML REVERT: 9202ffb17 Replacing include subdirectory name, transaction --> collection REVERT: 1f45d6cea Adds full support to the libxml action REVERT: a9e6716c6 Variables are now receiving the rule instance as parameter REVERT: 8c714af8e Actions refactoring: now there is a clear definiation on the action name REVERT: 1b88947d9 Adds support 'xmlns' action to the libmodsec parser REVERT: 3e8defb85 Adds support to the operator @validateDTD REVERT: 6a4075250 Adds XML variable, xml body request processor and @validateSchema REVERT: 35636674e Adds the missing regression tests for USERID REVERT: 758ecb5d6 Adds support to USER collection, setuid action and USERID variable REVERT: ff9aa5c7c Adds support to the variable SESSIONID REVERT: a2a47798e Adds support to the collection SESSION and setsid action REVERT: 33a704e91 Fix macro expansion: no more % abandoned by the end of variable REVERT: 572811027 Declaring variable outside the for loop REVERT: c85529158 Adds support to the cmd_line transformation REVERT: d0e000228 Fix the regression tests as reported on #1142 REVERT: 3062ff2aa Using Collection instead of GlobalCollection REVERT: 64c4f23a4 Collection class was changed to be a simple interface REVERT: bc887cdcf Fix Valgrind regression test script REVERT: 5643d2fa2 Warming up to the remote collections support REVERT: ff165a403 Adds support to the multithread example REVERT: 1539a8c3e Fix the coding style of the pull request #1115 REVERT: 8b3b01406 updated transformation file to include removeWhitespace transformation REVERT: 883b804d9 adding removeWhitespace transformation REVERT: 0a60924c8 Reduces the amount of warnings REVERT: 6f93563fc Fix in parser: now understanding the removeCommentsChar transformation REVERT: 19137452c Updates `secrules-language-tests' reference. REVERT: a5a21ea19 added remove_comments_char to address issue #971 REVERT: 8da49842d Fix typo on the audit logs. REVERT: 85d8b8e9b Fixed typo error in the HTTPS client implementation REVERT: 8d052853a Adds support to https audit log output REVERT: e5acc95de First version of `global' and `ip' collections REVERT: 214cc1578 Cosmetics: Reduce the coding style warnings REVERT: c43391072 Fix some issues reported by the static analysis REVERT: 28008be61 Build: Adds /usr/lib64 as possible path for YAJL REVERT: d528b8ea6 Build: Looking for YAJL's LD flags instead of CFLAGS REVERT: e3dd2937e Installs the library file in the right path [lib|lib64] REVERT: 88ca73654 Avoids the installation of test utilities during `make install' REVERT: e0926fee3 Fix parser error while dealing with operator negation REVERT: 47a62b98b Saves `MATCHED_VAR' and related before execute the actions REVERT: 778db259c Treats the keys of the sec language variables as case-insensitive REVERT: 30d9ade19 Fix macro expansion: Now support } and/or }% to close a variable REVERT: f44143436 Fix parser error on free text operator REVERT: 1f68075a2 Process the logging phase on the benchmark utility REVERT: 1e3cafb73 Fix memory management on the rules' messages (try 2) REVERT: 71970915b Using `clear' to clean up lists instead of clean via integration REVERT: 163483e8d Fix memory management on the rules' messages REVERT: ed8b0c85d Fix `capture' memory management REVERT: e34645437 Fix memory leaks on the collections/variables management REVERT: 49fc1f8b7 Fix memory leak on the benchmark utility REVERT: 8647d63e9 Fix m accuracy initialization inside the Rule class REVERT: a2ffb3615 Adds "matched" line to the audit logs REVERT: 362b376ac Adds verbose logs to audit logs while deciding or not to save a request REVERT: 77a1dcab9 parser: fix issue with skipAfter action REVERT: 049e4eb69 Adds support to the @rbl operator REVERT: 4bdb4ed63 Fix chained rules execution order REVERT: 8143f8ea8 Adds support to the action `maturity' REVERT: 714df8db2 Adds support to the action `accuracy' REVERT: 5a2a81a56 Adds support to the action `ver' REVERT: 77900ed4e Fix rules `messages' on the auditlog REVERT: 947437326 General improvements on audit logs information REVERT: 31117d757 Fix error on older systems REVERT: b9b3e8290 Fix AuditLog parts selection REVERT: 934394239 Adds mutex around the write operation on the auditlogs REVERT: b4691aa74 Updates python bindings version REVERT: b46dc3457 Temporarily disable the HTML ENTITY DECODE transformation REVERT: a102b5ce2 Improves the method fill the ARGS collection REVERT: 98f45f357 Using a better number generator to avoid conflicts REVERT: 36dfe81da Adds YAJL_CFLAGS to the project core REVERT: fc225ff00 Fix whoAmI() call on Transaction REVERT: b06eaadac Places the classes related to audit log into a separate namespace REVERT: 2830525f8 Adds missing file: script.lua REVERT: aaf995cc7 Adds missing file: transaction.h and removes assay.cc from git REVERT: e45ad3b08 Updates Python bindings git hash REVERT: 4db5cc7d2 Refactoring on Transaction class: adding comments and renaming variables REVERT: 6f1e6f37d Fix trasanction cleanup on the C API REVERT: a51e70751 Renames class Assay to Transaction REVERT: f3fd5d662 Adds owasp/2 experiemntal rules on the test set for benchmark REVERT: d780fd629 Fix the parse to distinguish between @pm content and a variable REVERT: 702551ed4 Adds support to action `exec' to sec lang parser REVERT: 331df90ba Enables OWASP CRS optional_rules on becnhmark test case REVERT: 923620fbd Adds support to the action `allow' in the sec parser REVERT: 7901c2c89 Adds the actions SetSID and SetUID to the seclang parser REVERT: ab92bed6f Parser improvement: Supporting variables selection with regex REVERT: 3acc013e4 Improves the secrules parser REVERT: ed13cab9f Adds script to download and configure benchmark script to use owasp v[3,2] REVERT: f23908f14 Improves the secrules parser REVERT: a4d8dfd5e Adds ModSecurity recommended configuration file REVERT: 29680d69a Updated geoip m4 file to support from path REVERT: 527325826 Fix libxml configure script REVERT: 8c7b6199f Optimization on the tolower function REVERT: 076289236 Small fix on pull request #982 REVERT: e38a468a2 Updated with suggestions from @zimmerle for code style REVERT: b3ab9a408 Support for correct implimentation of REQUEST_URI REVERT: dd35b4776 Removes initcol debug messages REVERT: a225f8b5b Fix SecResponseBodyMimeType test case REVERT: 6ebe6dfd8 Merge pull request #1038 from pwnbus/update_readme_shell_syntax REVERT: ebf2c8855 Update readme to use shell syntax REVERT: decf04d26 Adds support to SecResponseBodyMimeType REVERT: c2d9a153c Adds support to afl fuzzer in the build system REVERT: 7cebc632e Adds Python bindings to the main ModSecurity git repo REVERT: 913e22a77 Adds initial support to initcol action REVERT: fb3696ac0 Fix a few things to provide an easy interface for script bindings REVERT: ac10d8863 Changes the operator evaluate method to only support two arguments REVERT: 215c4d107 Fix ARGS_POST and ARGS_GET variables order on the parser REVERT: 2a950a435 Fix various minor bugs in the regression test suite REVERT: 42ce0475b Coding style: changes the namespace in the comments REVERT: 0694cd30c Adds support to libxml2 detection on the build system REVERT: 80b82d370 Adds the Global LDADD option and fed according to the platform REVERT: 467c977af Fix compilation without the GeoIP headers installed on the system REVERT: 854ca4c1c Removes libinjection sources from the main project and add it as subfolder REVERT: ea636e80e Clarifies conditional by placing its parts into parentheses REVERT: b5a43871e Changes library namespace from ModSecurity to modsecurity REVERT: a69e49a1b Makes DebugLogs optional by compilation flag REVERT: fbf8ea74f Makes YAJL dependency to be optional REVERT: cf4377df7 Makes libCurl optional during configure REVERT: d8793e444 Prints rules language tests version on the configure summary REVERT: 43c9b9216 Adds information about libInjection version at configure summary REVERT: 45711b522 Update issue-960.json with 3rd test. REVERT: d8361d57c Adds a regression test for issue #960 REVERT: 8c0e96f31 Prints a fancy summary after the configure script REVERT: 18c862a84 Adds the concept of `resources' to the regression test utility REVERT: 09a958544 Makes @geoLookup optional depending on the availability of libGeoIP REVERT: 21cae53d4 Improves the libgeoip detection during configure REVERT: 283c8c818 Fix some static analysis warnings REVERT: ac61d1c40 Adds missing file REVERT: de7984828 Code cosmetics REVERT: 3c45a5713 Fix regression tests structure : using method instead of protocol REVERT: c035e76ed Avoid segfault if parser `ref' is empty REVERT: f65b08b06 Fix parser to accept redirect action without single quote REVERT: 7a300eb94 Fix pcre cflags variable and adds LDFLAGS for dependencies REVERT: 47233adf3 Revert "Adds experimental operator cache" REVERT: 4dcefa104 Adds more plausible names for libgeoip REVERT: ca33ba420 Temporary adds the missing optimization.cc REVERT: 9e295dedc Adds rules optimization test app REVERT: 326696976 Adds experimental operator cache REVERT: c204f1f00 test: Increases the cache size of the urldecode transformation REVERT: bb30d42b5 Speed up the random number generation REVERT: 45638ccc9 Limit the amount of transformations inside the cache storage REVERT: 5bef19aa4 Variables resolution results now stored into a std::vector instead of std::list REVERT: 2ee5d4ca8 Testing performance enhancements by enabling transformations cache REVERT: e641c3cc1 Huge improve in the variables resolution time REVERT: 4a771f8c2 Fix pkginclude_HEADERS REVERT: 48704c27a Removes some memory leaks REVERT: 061ba0131 Refactoring: Create class Collection to hold collection properties REVERT: b6ae0585c Refactoring: Place m_variables inside Collections REVERT: 787be9812 Refactoring: Pass all the control over the variables to the Variables class REVERT: 6f617e6ca Refactoring: Move Variables and Variable to independent files REVERT: 776502e02 Refactoring: changes ModSecurityStringVar to transaction::Variable REVERT: 7afc07914 Cosmetics: Fix static analysis warnings REVERT: 11a1045f4 Adds support to capture this fingerprint of the detectSQLi operator REVERT: 93031d93d Cosmetics: Fix coding style issues REVERT: ffb973700 Replaces libpcrecpp by libpcre REVERT: 2a062b7fe Not using pcrecpp on verifycc anymore REVERT: 4168ebc2b Adds support to EscapeSeqDecode transformation REVERT: 1716add77 Adds support to replaceNulls transformation REVERT: 993247870 Adds support to hexDecode transformation REVERT: 93c3bc804 Adds hexEncode transformation REVERT: 0ae09201f Adds support to replaceComments transformation REVERT: 7e826633f Adds support to the transformation normalisePath and normalisePathWin REVERT: 7ab75ac01 Adds support to length transformation REVERT: 8d78952e1 Fix jsDecode transformation REVERT: 333174417 Fix cssDecode transformation REVERT: 743fb651d Adds partially support to t:sha1 transformation REVERT: 91d29d284 Adds support to urlEncode transformation REVERT: e3e8bac13 Adds support to URL decode transformation REVERT: 0227fe9d6 Adds support to t:compressWhitespace REVERT: 3d2ec2a3f Fix unit test utility to get it working with t:removeNulls REVERT: 17faef565 Adds support for trim, left and right trim REVERT: 59af8ab84 Cosmetics: fixed the coding style REVERT: 90c74beca Fix the init method signature in some operators REVERT: 4a5e6b3e5 Fixed bad test cases REVERT: e7803ebd0 Fix bug on regexp matched results REVERT: 3fff34300 Adds missing variables REVERT: 827b15f5c Marks redirect action as disruptive REVERT: c1e3eac09 Fix variable exclusion regression test (label only) REVERT: e65f0db13 Fix on the variable parser REVERT: 95a707964 Warn about parser error during the regression test REVERT: c800214e6 Fix pcre_exec matched string REVERT: 0285c944f Fix collections resolution REVERT: b0089cfde Adds MODSEC_NO_LOGS option to be part of the configure REVERT: 74045beab Performance improvement while expanding macros REVERT: 335133855 Performance improvement of setVar action REVERT: e57ee8908 Searches for included configuration using the resource policy REVERT: e54ef7205 Looks for external resources in the same path of the rule REVERT: 5cc9e9450 Splits operator into OPERATOR and FREE_TEXT on sec lang grammar REVERT: df819dc43 Removes SPACE token form the GRAMMAR REVERT: 54c51e251 Fix parser shift/reduce problem on state 133 REVERT: 03eabd9c1 Fix shift/reduce conflict in the sec lang grammar. REVERT: 941b9e75c Adds support to rules with actions without quotes REVERT: 0087a602f Fix phases execution REVERT: 8255ce86c Adds reference to filename and line number to lexer errors REVERT: 900af2cd4 Adds possibility to use include with wildcards and env vars REVERT: cb9524ffd Adds support to collection in the parser REVERT: d084ab5f2 Fix the "line counting" on parser errors REVERT: 70e2a4b37 Adds support to include path between quotes REVERT: b49709101 Cosmetics: Fix coding style REVERT: f6e0b447b Merge branch 'libmodsecurity' of https://github.com/SpiderLabs/ModSecurity into libmodsecurity REVERT: 1cf1e313c Added some comments about msc_set_log_cb REVERT: d044c7aae Removed some extra comments REVERT: 2c39f83b5 Fix the regression test regexp validation REVERT: f93c0de94 Disable NO_LOGS by default REVERT: 076a02951 Huge performance improvement: passing variables as pointers avoiding copies REVERT: 2451bf05d Using pcre (with JIT) instead of pcrecpp REVERT: ed86c24df Adds checks for the NO_LOGS definition and improved the vars resolution time REVERT: 3e067e740 Core is now ready to deal with SecRulesEngine set to Off REVERT: 11e1a67d5 Fix disruptive action flow while RuleEngine is in DetectionOnly REVERT: 490ad23e4 Uses macro expansion before apply redirect action REVERT: 90df21bbb Removes the \' from setvar before name the collections REVERT: d0c215d78 Adds support for the server log integration REVERT: 5228b685b Fix disruptive actions execution REVERT: 081fe235a Cosmetic: fix variable-REQUEST_BODY.json format REVERT: 6782fd098 Cosmetic: Makes the parser error more verbose on the regression tests REVERT: 5b18db779 Makes multipart debug messages goes over modsec debug log not stdout REVERT: a52a3a71e Fix some regression tests to fit the most recent changes REVERT: 639ccf7dd Fix the rule execution debug log, so that tests won't complain REVERT: 7f747d1dd Fix multipart parser in crlf blobs REVERT: c8f91ca85 Adds expected results when a regression test failed due to unexpected debug logs REVERT: e88d2120f Including space in the list of readable characters for debuglog REVERT: 7a468a8fb Cosmetic: Prints regression test results in a better shape REVERT: 9d60dc6df Adds macro expansion for all operators REVERT: 320bcde89 Adds rule number to the debug logs and printing expaded variables REVERT: 4bf7f7a44 Adds 'expandKeepOriginal' method to macro expansion class REVERT: c425b24ff Extends redirect action to support url without quotes REVERT: 530b15831 Adds scripts to call the tests using valgrind REVERT: b1e845211 Limits the variable size into the debuglogs and print it in hex if needed REVERT: 8772daec4 Adds functions limitTo and toHexIfNeed into utils.cc REVERT: 97214edf6 Fix multipart parser on binary content REVERT: 23d843259 Fix rule.h include on modsecurity.cc and seclang-parser.yy REVERT: a0a2d2c77 Adds support to read request body from a file REVERT: 140a62a2b Changes rule_id to long in order to have it visible by systemtap REVERT: 2a8f45b89 Adds transformations removeComments and replaceComments to the seclang parsers REVERT: 3c5386991 Adds transformation normalisePath to seclang parser REVERT: 92563da93 Adds t:utf8toUnicode and variable XML to the seclang parser REVERT: 736183b7f Adds ctl:forceRequestBodyVariable to the seclang parser REVERT: 4095ae7b5 Adds action accuracy to the parser REVERT: 1079b5ba5 Adds action maturity to the parser REVERT: 09651baf9 Adds action ver to the seclang parser REVERT: 254b29265 Adds action expirevar to the parser and fix the line counting REVERT: ee8b88637 Adds parser support to ctl:[auditEngine|ruleEngine] REVERT: ec6a5a0cd Adds support to t:sha1 and t:hexEncode at seclang parser REVERT: d1fa2cfa7 Parser: Fix redirect action and adds SecRule first line-only comment syle REVERT: 5c3a4b608 Adds support to SecMarker and skipAfter REVERT: b048794f4 Adds support to unconditional rules REVERT: 4e8bb276b Fixing compilation problem on newer versions of gcc (Fedora 22+) REVERT: 010c18f63 Adds support to SecDefaultAction configuration directive REVERT: f2ed890ea Now accept SecRules regardless of the letter case REVERT: 8675383c0 Updated build instructions for Fedora REVERT: 9a0c9d493 Updated build instructions for Fedora REVERT: 84eba7ad1 Updated build instructions for Fedora REVERT: 9cd9f7f11 Updated readme to reflect required Fedora packages REVERT: d963e2dc2 Updated readme to reflect required Fedora packages REVERT: 3cd54e753 Updated readme to reflect required Fedora packages REVERT: 7afd93196 Adds contains to the list of operators compatibles with the capture action REVERT: 3de845fac Fix macro expansion string replacement REVERT: 45d81e1c0 Adds sanity check to the rule id action REVERT: 6ab88472b Adds a simple regression test for the operator @rx REVERT: a63aa50f1 Changes the default operator to be @rx not @pm REVERT: ea4cd5322 Accepts phases with its name instead of a number REVERT: 035040cd1 Adds sanity check to confirm that the rule has an ID and it is not duplicated REVERT: aae8036c0 Cosmetics: Fix debug log message REVERT: 5d24b237b Fix default parts to be logged on audit logs REVERT: fa4f72d90 Adds support to ctl:auditLogParts variation REVERT: e89e395a3 Fix various minor issues on the auditlog schema REVERT: 24b7d7266 DebugLogs are now being redirected to the correct files REVERT: 01542e28c Allows blank line (or line with space) at the end of a rules file REVERT: e76af0eab Correctly handling nginx configuration merge REVERT: 004ef066e Fix rules chain and action execution REVERT: f2da6bb81 Fix the ruturn value while loading the rules REVERT: c586ba017 Removes an unused state from the seclang parser REVERT: 15893e312 Fix regression test and example: checking if rules are loaded ok REVERT: e94226f1d Fix some build issues REVERT: fd8578351 Fix segmentation fault in the regression tests REVERT: a16850271 Adds missing file REVERT: 1065e297b Fix several minor issues on the seclang grammar REVERT: e78d7f5b9 Makes the parser understand some missing configuration directives REVERT: a453a656c Fix continuation line and VARIABLENOCOLON REVERT: 0b225f023 Parser: adds support to SecRequestBodyInMemoryLimit REVERT: 2d56aa521 Cosmetics: fix actions on yy file REVERT: a230a4ff3 parser: Adds support for continuation lines REVERT: ef9961540 parser: Understanding @pm if no operator is provided REVERT: 101fddfc9 Extends DICT_ELEMENT to support "-" REVERT: d5bf95502 Using DetectionOnly instead of DetectOnly REVERT: b7fb65fe6 seclanguage: ignore lines starting with "#" REVERT: cff74e7ce Fix ValidateUrlEncoding corner case REVERT: 1de6d07df Adds support to the @detectSQLi operator REVERT: 4baee88eb Adds support to the @detectXSS operator REVERT: f0535ae11 Adds libinjection repo as submodule REVERT: ad65a1abe Adds @noMatch operator REVERT: 73c6c8cf7 build: searching for pcre/geoip on /opt/local directory REVERT: d5fe21ce3 Code cosmetics: reduce the amount of cppcheck warnings REVERT: 21400ba45 Adds support to the @verifyCC operator REVERT: 1b0a91833 Adds support to the @validateUrlEncoding operator REVERT: b325834f1 Disables c++11 mutex, until we have a better approach REVERT: ac2f0bfd0 Cosmetic: avoiding warning by including full path instead of file.h REVERT: 2ff0a44df Eliminates the sec language grammar shift-reduce problem REVERT: a324ff931 Fix validate byte range table initizliation REVERT: 187be64ed Fix operator instantiation/selection REVERT: 9a7506f9e Adds support to the beginsWith operator REVERT: 209a3db47 Adds support to the @endsWith operator REVERT: 577736abb Code cosmetics: Fix the coding style. REVERT: fb161a69a Removes some warnings by adding missing returns REVERT: c5a435534 Fix geolookup operator instantiation REVERT: 64cbb1533 Adds support to the @containsWord operator REVERT: 2f81b62d1 Adds missing return to ValidateByteRange::init REVERT: b883888c0 Adds support to the operator @within REVERT: 218eab641 Fix libgeoip lookup during the build REVERT: 52c419df6 Updates secrules-language-tests version REVERT: f231df16a Adds support to the ValidateUtf8Encoding operator REVERT: 9096055ea Reduces bison dependency to 3.0 REVERT: 70c2621af Adds support to the strmatch operator REVERT: f62e17c67 Adds support to the @eq operator REVERT: 2f1bcf6cb Ignores the parameters order on the test case REVERT: 9231f507b Fill PATH_INFO with decoded value REVERT: 9431678f8 Adds missing return true on RequestBodyProcessor::Multipart REVERT: 7c406529e Prints "failed!" for failed test cases REVERT: 317c71e81 Using raw uri value to feed QUERY_STRING variable REVERT: 70b25668b Checks if assay is set before calling the log method REVERT: 0a91f2aa4 Changes the rule in the example folder to something really simple REVERT: ce0d81c0d Adds sanity check for inputs REVERT: 5cc38abfe Updates the reference for secrules-language-tests REVERT: c06179f18 Adds support for Log and Rev actions REVERT: ad9393a8c Adds support for the tag action REVERT: f519717bd Adds support to the msg action REVERT: 5fdb5b7d2 Adds support to macro expansion in setvar action REVERT: e12d95b10 Adds support to the TX collection and setvar action REVERT: a9e0fbb41 Adds variable variations test cases REVERT: 88c53575b Adds support to & (count) and ! (exclusion) as variables variations REVERT: 4308ee028 Adds t:none transformation REVERT: 522f195aa Adds support to urlDecodeUni transformation REVERT: 6dad6af4a Adds RemoveNulls trasnformation REVERT: 62d004cf0 Adds support to the transformation normalisePathWin REVERT: 1353403c9 Adds support to the HtmlEntityDecode transformation REVERT: ce298165d Adds support to the cssDecode transformation REVERT: 1924b4ebc Adds lowercase transformation REVERT: 391002c66 Adds support for jsDecode transformation REVERT: 4f47651a6 Adds variable TX and action "capture". REVERT: be4a0cb41 Adds REQUEST_COOKIES and REQUEST_COOKIES_NAMES variables REVERT: 0720fd479 Adds operator @pmFromFile and @pmF REVERT: 57ceef1fe Update test cases submodule REVERT: d4dd9c86d Accepts Suricata format on @pm operator REVERT: 95efb99a8 Adds support to the @pm operator REVERT: 774d89735 Adds support to the operator @ipMatchFromFile and @ipMatchF REVERT: 6cd4c0492 Adds support to the Rx operator REVERT: 3a4cef6fb cosmetic: Fix ValidateByteRange coding style. REVERT: 8575c1078 unit-test: Fix the geoip debug code REVERT: 17f88f582 Using libpcre instead of c++11 regex REVERT: 2f4d4691c Disables @containsWord operator to enable the libpcre migration REVERT: a4cf218a3 Removes chrono references to make it compile with gcc 4.8.x REVERT: 933ade596 Cosmetics: 1st paragraph of README file is now with lines smaller than 80 chars REVERT: 7ff38e901 Temporarily disable Geo Lookup logs to avoid crash on unit tests REVERT: f811ec651 Adds support to @ipMatch operator REVERT: bf0169b52 unit-tests: Releases operator after use REVERT: a05fa8287 Adds support to the validateByteRange operator REVERT: c2d33823f Adds method init to Operator class REVERT: 7b4554216 Adds support to the operator le REVERT: 606f03be4 Adds support to the operator gt REVERT: 235bf9c01 Adds support to the operator gt REVERT: 170cb60c8 Adds support to the @streq operator REVERT: 35901c1eb Adds support to the operator ge REVERT: 4462fd84e Adds support to negative on the contains operator REVERT: f41f9e1f0 Adds "negation" property to the operators signature REVERT: 2f3a8f088 Updated wording and grammer in README REVERT: 6beca48c5 Fix C api signatures REVERT: e016b72a8 Handles better the memory utilization REVERT: 0e7c13e3c Adds more regression tests to SecRemoteRules REVERT: 7ba5c76c7 Returns elegant errors if rules load operation failed REVERT: b8f7fb441 Adds support to SecRemoteRules and Include directives REVERT: ec9a97324 Fix actions: returning string copy after evaluation REVERT: b2bbe24e2 Process the request body even if there is nothing to be done REVERT: 76b34af35 Adds support to load remote rules REVERT: 70bc15cb7 Adds support to quoted ID action REVERT: 64543e3aa Using A-Z instead of A-z while parsing with ?i: to avoid warnings REVERT: b5ca607e7 Places class Driver under the Parser namespace REVERT: 9c2158958 parser: Loads content straight from buffer. REVERT: d3eb0fd91 Driver class is extending the Rules class instead of duplicate elements REVERT: dc0b13ad7 Cosmetic: fix copyright header REVERT: 16bb253d0 Adds all variables to the 'Variables' name space REVERT: 261ee9f11 Adds support to BodyLimitAction and support for parser errors REVERT: 30b2624ec Adds support to parser error REVERT: 5b3fd479f regression: better format errors, making easy to read the output REVERT: 3f883df76 regression: Sorts test cases by file, making easy to read REVERT: 3f8fa64c9 regression: Allows to specify a single file or directory REVERT: a4af4f32c Fix transformations regression test REVERT: 667586c42 Adds UNIQUE_ID variable REVERT: d20a47fb0 Adds support to the variables: REMOTE_HOST, SERVER_{ADDR,PORT} REVERT: ae81bb143 Adds support to the variables: RESPONSE{BODY,CONTENT_LENGTH,CONTENT_TYPE} REVERT: ec34f676c Adds support to variables: REQUEST_{METHOD,PROTOCOL,URI,URI_RAW} REVERT: bc925e01e Adds support to the REQUEST_LINE variable REVERT: cb722c74b Adds support to REQUEST_HEADERS{_NAMES} and RESPONSE_HEADERS{_NAMES} vars REVERT: 97c0d561f Adds suppor to the REQUEST_FILENAME variable REVERT: 94eddfcf4 Adds support to the REQUEST_BODY_LENGTH variable REVERT: b6221c981 Adds support to REQUEST_BODY and REQUEST_BASENAME variables REVERT: 6f7d3fa67 Adds support to the TIME* variables REVERT: ad442fb20 Fix transformation regression test REVERT: dbbb2c526 Adds support to REMOTE_PORT variable REVERT: e8476771e Adds support to REMOTE_HOST variable REVERT: cc576533b Adds regression test to the REMOTE_HOST variable REVERT: f05632acb Adds regression test for the REMOTE_ADDR variable REVERT: 6af9e8e42 Fix QUERY_STRING variable REVERT: 7f76bb6df Adds PATH_INFO variable REVERT: 62fece782 Adds support to SecResponseBodyLimit directive and OUTBOUND_DATA_ERROR var REVERT: 8e59b1822 Adds support to variable MULTIPART_UNMATCHED_BOUNDARY REVERT: a9147b76a Adds support to the MULTIPART_STRICT_ERROR variable REVERT: 09beb1a5c Adds support to MULTIPART_NAME variable REVERT: 954e275b3 Adds support to MULTIPART_FILENAME variable REVERT: abec93263 Adds support to MULTIPART_CRLF_LF_LINES variable REVERT: 21f4c49a0 Adds support to MATCHED_VAR_NAME variable REVERT: b089c44c1 Adds support to MATCHED_VARS_NAMES variable REVERT: 09867791c Adds support to MATCHED_VARS variable REVERT: 9d6950196 Adds support to MATCHED_VAR variable REVERT: 4f20f5bf7 Adds initial support to chained rules REVERT: 9c066e319 Adds support to the INBOUND_DATA_ERROR variable and SecRequestBodyLimit direc. REVERT: 95c2fed89 Adds support to severity action and HIGHEST_SEVERITY variable REVERT: e189055ec Adds support to GeoIP operator and variables. REVERT: 41bf1490b Adds MODSEC_BUILD variable REVERT: 6e46c5c7f Adds support to FULL_REQUEST_LENGTH variable REVERT: e516ded1e Adds FULL_REQUEST variable REVERT: a264fc11c Adds support to the FILES_TMP_CONTENT variable REVERT: b6cccc798 Adds support to the FILES_SIZES variable REVERT: ebb16d043 Adds support to FILES_COMBINED_SIZE variable REVERT: e1cff89b4 Adds support to FILES_NAMES variable REVERT: fe6a9913c Adds test case for FILES variable REVERT: 5d5e10bfd Adds support for basic Multipart process REVERT: d0b7a9966 Adds support to the ENV variable REVERT: 27252bc80 Adds support to the variable DURATION REVERT: 33dff0f1b Refactoring on the variables resoluvtion method REVERT: 8c408ebcd Adds support to AUTH_TYPE variable REVERT: d86427f1d Minor fix on the auditlog regression tests REVERT: f0624bb08 Adds support to ARGS_GET_NAMES variable REVERT: e7ec09623 Adds support to ARGS_POST_NAMES variable REVERT: bc0553e72 Adds support to the variable ARGS_NAMES REVERT: 92c132b64 Adds support to the ARGS_GET variable REVERT: 492526cfc Minor fix on the actions test case REVERT: 85f065363 Adds support to the variable ARGS_POST REVERT: 228a5ce7c Adds support to ARGS_COMBINED_SIZE variable REVERT: 76b769cc8 Decodes the url content before assing values to varibles REVERT: b2954ff22 Fills ARGS variable even on POST REVERT: 9f869a6aa Adds test case for the variable ARGS REVERT: 80f13437e Refactoring on the variable read/store methods REVERT: f13a1bd88 Adds support the Parallel audit log index creation REVERT: 96a777a5c Adds initial serial audit logging support REVERT: 001d5ebf7 Properly deal with classes destructors REVERT: 0c98bdc80 Adds support to SecAuditLogParts REVERT: 5e33a1a3c Opens auditlog files and directories with the correct mode REVERT: c9620ac50 Writes audit log in parallel mode REVERT: 693238b23 Process the log phase independent of disruptive actions REVERT: 5e80e001e Adds Components information to the audit logs REVERT: 1ddb36a78 Adds SecComponentSignature configuration directive REVERT: 4aa521df6 Adds SecRuleEngine state information to the audit logs REVERT: 75a9cfa27 Uses an enumeration to determine the state of the SecRuleEngine REVERT: cb8d6249a Adds connector information to the audit logs REVERT: 2138dd136 Adds method setConnectorInformation to ModSecurity class REVERT: e42e7545d Adds ModSecurity version information to the audit logs REVERT: 8dab5ac30 Adds whoAmI method to ModSecurity class REVERT: aa8dc9115 Adds first version of Assay's materialization in a JSON format REVERT: 610b10bcd Adds ascTime function to utils REVERT: 888b9622c Adds random id to each assay REVERT: 311279402 Adds a time stamp to assay class REVERT: 278b51393 Adds protocol and http version to processUri method's signature REVERT: 210991084 Adds support to the server ID generation REVERT: aadbacf85 Adds basic regression test for AuditLog functionalities REVERT: fd8f26f76 Adds all auditlog related directives to the configuration parser REVERT: fc622c27d Checks if an assay is relevant to be saved as an auditlog REVERT: 0beae17b4 Adds 'http_returned_code' property to Assay class REVERT: 885fe14f3 Adds AuditLogWriter{Serial,Parallel} classes REVERT: e44d6e280 Adds actions 'auditlog' and 'noauditlog' REVERT: 71eb27bbe Adds a new constructor to Action it now receives kind as parameter REVERT: 616a2ae6d Adds AuditLog class REVERT: 7ea9ff883 Code cosmetic: Having the code following our coding style REVERT: 73154b51a Adds processLogging phase to regression tests REVERT: 64a34584c Build system fixes REVERT: 344aa901b Updates README.md: highlight that the project still under development REVERT: f262b404c Fixed issue #905 that dealt with compilation on c++ 5.x > REVERT: b9507e396 Decreases the bison requirement from 3.0.4 to 3.0.2 REVERT: 721f95115 Adds transformation functions stub REVERT: 95cb4c56a Very first commit: libmodsecurity REVERT: 33cbe0452 Opens space for libmodsecurity REVERT: 4a49d5b8d Adds information about the issue #871 on the CHANGES file REVERT: d9bebfb87 Compiles against ssdeep in non-standard location REVERT: 25666005e Modifies the CHANGES file to cite issue #609 REVERT: 1ed95ad93 Fix invalid storage reference by apr_psprintf() when creating a string from salt[]. salt[] is not '\0'-terminated, so apr_psprintf() needs to be told the extent of the bytes to read. REVERT: a9a39255b Version 2.9.0 REVERT: b304ab1aa Improves SecRemoteRules messages on IIS REVERT: f7c7a30db Uses our own version of ap_find_command REVERT: 462308be7 Improves the accuracy of version identification on status calls REVERT: a235b536a Fix apr_crypto.h include in modsecurity.h and msc_remote_rules.c REVERT: 2e09b8e54 Fixed comment incorrect comment REVERT: de74b131c Version 2.9.0-RC2 REVERT: b1e4954a8 Closes a file handle that was left opened on fuzzy hash REVERT: f6d6cea01 IIS: Creates IIS_VERSION definition REVERT: 6c0cdab35 IIS: Changes Curl version and removes OpenSSL dependency REVERT: 0d2d01ba2 Disables mlogc compilation with Curl was not found REVERT: 069122194 Reducing the amount of compilation warnings REVERT: fa77c9358 Fix typo on fuzzy hash match message REVERT: dc81e4f85 Informs problems and successfully loaded external resources during reload REVERT: fe22446bd Adds missing 'ModSecurity:' prefix to log messages REVERT: ce4cf24f6 Refactoring external resources download warn messages REVERT: d4a055e78 Checks HTTP code after performing a resource download REVERT: 87a401af0 Fix remote resources download while hosting SSL site on Apache REVERT: 23823bb2c Makes Curl no longer a mandatory depedency for ModSecurity core REVERT: 94fd570e3 Fix parser segfault on parser while parsing downloaded content REVERT: 23f6f6e6e Version 2.9.0-RC1 REVERT: b019f6056 fix typo REVERT: 277f2e1e6 iis: adds openssl to the build scripts REVERT: 9fe72b72d Improves the CA validation REVERT: b02256cf1 IIS: temporary removes ssdeep support on IIS REVERT: 85c7ba0c7 IIS: Adds ssdeep/libfuzzy to msi installer REVERT: 858d480ec iis: Copy yajl.dll into release files folder REVERT: 9f005c3de mlgoc: Adds option to enable or disable the SSL checks REVERT: 73d7955ac Fix the compatible IIS versions REVERT: eb61e891a Build: New alternative to identify the presence of libfuzzy REVERT: 723336f1f Adds regression test for FILE_TMP_CONTENT REVERT: 86787f2af Adds SecRemoteRules regression tests. REVERT: b5398abaf Forces downloads using https-only for resources or rules REVERT: 59fc24350 Adds the `crypto' option to SecRemoteRules directive REVERT: c54bb746c Adds SecRemoteRules as an build option REVERT: 38b992470 Adds the SecRemoteRulesFailAction directive REVERT: 9b836b652 Initial support to load rules from a remote server REVERT: 899ee0c36 Adds support to load remote resources to pmFromFile and ipMatchFromFile REVERT: 81bde0842 Adds curl support to main core REVERT: f45c6fe87 Build: fix the build script that looks for yajl REVERT: 288fedfd2 Adds real_server_signature symbol to msc_test REVERT: 59a1746be Using real server signature on status call REVERT: 8305600d5 Trims long `apache version' in the status call REVERT: cee205b10 Adds Status test case with the SecServerSignature being used REVERT: 2615a5dfc mlogc: Checks if curl supports CURL_SSLVERSION_TLSv1_2 before use it REVERT: 54bf71f8b mlogc: Changes the default SSL algo to TLS 1.2 REVERT: d554b94d1 Include apr-util's LDFLAGS REVERT: 66bb840a5 Adds doxygen configuration files REVERT: f2b45bfaf Automake: Using ../ instead of $(top_srcdir) REVERT: 11ede79bc Adds automake subdir-objects option REVERT: c64a681c6 Temporarily disable a test that is leading nginx buildbot to fail. REVERT: de1c028d1 Declares msre_var *rvar at the beggining of the function REVERT: a45fe95ed FuzzyHash: if disable giving an run time error instead of config REVERT: fa0c97ea7 Adds regression test to cover the @fuzzeHash operator REVERT: 7affec82a iis: Adds ssdeep support REVERT: 96865a92d Adds fuzzyHash operator REVERT: 873c628b1 Adds ssdeep support in our build system REVERT: accb1820e Adds collection FILES_TMP_CONTENT REVERT: 87df4827d Print YAJL version on startup. Closing issue: #703 REVERT: 79639b5e4 Accepts random port on FULL_REQUEST regression test REVERT: 6b5e9b127 Merge branch '0xbin-master' REVERT: ed52c5462 typo rectify REVERT: 046b55373 Fix ipMatch entry on ErrorLog and DebugLog REVERT: 5d92e448a Fixes subnets representations using slash notation REVERT: 731466cff Adds @ipMatch operator unit test. REVERT: d4c2b96b8 IIS: Changes event ID (Issue #676) REVERT: 0f7cbced8 IIS: Cosmetics: Removes CLFR. REVERT: 1d3c8349f IIS: Adds a VS Custom build to speed up the dev process REVERT: 3a7def63a IIS: Adds mlogc to ModSecurity solution REVERT: 90c5a420d IIS: Cosmetics: Files are better grouped in VS REVERT: c4a5a1e11 Version 2.8.0 REVERT: 50e4961dd Uses autotools to idenfiy if sys/utsname.h is present REVERT: 33231378d Increases the package version on the configure.ac REVERT: 480f6bac7 Merge pull request #692 from rcbarnett/master REVERT: 62a76e1ed Update CHANGES REVERT: ad5824c00 Fix type on the CHANGES file. REVERT: 0826380ac Version 2.8.0 REVERT: 385a2828e Code cosmetics: Reduces the amounts of warning. REVERT: 1e63e49db Uses %zu to print size_t instead of %d. REVERT: 503e8f6c8 Updates the libinjection REVERT: 66939d059 Adds initial support to @detectXSS REVERT: 47f5cf92d Removes forced chartset REVERT: efef989dd Renames Sec{Read|Write}StateLimits REVERT: 48d85c7d6 Places connection filter engine in a separated configuration REVERT: a15f8813e Honor the SecRuleEngine while filtering connections REVERT: 0037a0732 Using RadixTree instead of list to storage IPs REVERT: 80185e2a9 Bugfix: Missing ipv6 support check REVERT: b9fdc4fe3 Adds support to suspicious and whitelist to Read and Write limits REVERT: 8ff3de5b6 iis: Disables installer repair REVERT: d6dd1f0e9 iis: Adding VC110 files to the Windows installer REVERT: 28d4f9fce iis: Checks Win version before declare inet_pton REVERT: bd0980f63 Reverts commit: a4202146b8d26b6615bbab986383fe0afae60d77 REVERT: 93b12df72 iis: Removes unnecessary files. REVERT: fe727c702 iis: Updated OWASP crs to version 2.2.9 REVERT: 10db38431 iis: Adds cleanup methods to the installer REVERT: f8f06f793 IIS: Updates build_msi.bat to fit the new WiX install options REVERT: 4d7d1ba82 iis: Adds listing dependencies script REVERT: 619758c0c iis: Adds condition to avoid the use of 32b msi on a 64b os REVERT: 93a86f6f3 iis: Adds Visual C++ 12.0 Runtime to be part of the msi package REVERT: ec61749a6 Changes JSON parser to not accept parcial contents REVERT: 966e7e1ff Adds verification before access the strcmp REVERT: c5c269080 Adds origin to the paramenters that cames from JSON REVERT: 52bef20ce Adds unit test to the JSON parser REVERT: a95f37196 Adds JSON support on ISS port REVERT: 0787b4548 Adds support to JSON parser in the nginx module REVERT: 09ced44ff Supports the yajl version 2 REVERT: 8d4c3e4f5 Makes the build system to look for yajl using a macro file REVERT: e90874a69 Added sample JSON content-type rule REVERT: c23097ce1 Added support for JSON body processor REVERT: 410aca9d7 Optimization on the status engine call REVERT: 20014c808 Adds modsecStatusEngineCall to standalone API REVERT: d75e443b9 Adds regression test to SecStatusEngine REVERT: a6d93441c Places StatusEngine to be Off by default REVERT: e131e2222 Adds support to status engine on IIS version REVERT: f86a71f7a Adds SecStatusEngine On/Off switch REVERT: 0c6a661c6 First version of the status engine implementation REVERT: d93ce9cee Adds REQUEST_FULL and REQUEST_FULL_LENGTH variables REVERT: 62f3d0289 Adds utf8toUnicode.t to our unit tests REVERT: 5b0c933cf Fixes UTF8 to Unicode conversion bug in 4-byte encodings REVERT: 7e459827e Log why writing to audit log failed REVERT: 607dfd229 Fix segmentation fault if writing to audit log fails REVERT: 5342f3616 iis: Uses code 400 instead of 44 in modsecurity.conf REVERT: a0ed3dbbe Merge pull request #666 from derhansen/master REVERT: dda91f168 Standalone: independently destroy the connection and request pools REVERT: 27dd513ab Flip allocations that happen during initialization (typically) over to use non-global apr memory pools. REVERT: 31d7fc6d3 Code cosmetics: Place copy_rules in nice shape. REVERT: 62a6f228f Fixes for Parfait errors - mostly unhandled NULL pointer dereference and data type mismatch REVERT: 5f996d45f Adds regression test to SecRequestBodyLimitAction REVERT: 498b9b2e7 Don't reject a large request with ProcessPartial set REVERT: ab9aede2e Update status code for rule 200002 REVERT: 063dd640e Adds internal error messages while parsing the configutarion REVERT: da2ec008b Fixes a typo on the README.txt REVERT: 1694a0cf3 Merge branch 'nginx_regression' REVERT: f043ba33a Adds .a to the list of expected liblua extension REVERT: 5d2e3d432 test: 10-misc-directives.t is not considering log anymore REVERT: 8804b55cd test: Makes regression test mac friendly REVERT: 8314791c9 test: nginx: Adds timeout while listening for a socket. REVERT: 215042af2 test: nginx: Points the !# to envoriment. REVERT: d26e63951 test: nginx: Speeds up regression test in nginx. REVERT: fe14d9df4 nginx: Considering modsec state before apply any rules REVERT: 9bf1f6a2b test: removes uncessary ifDefine at 10-tfn-cache.t REVERT: 94097103c test: nginx: Adds missing environment variables. REVERT: 6c106b1fd test: disabling: SecAuditLogType Concurrent REVERT: 8e390899e test: nginx: Increses the timeout while reading the audit log. REVERT: 3cf170179 test: Adds loading tests also to nginx. REVERT: 795d6a64d nginx: Warn about not workable 'proxy' REVERT: 7478faa5c test: Adds support to handle different content in log depending on the version REVERT: 7ac515ee2 nginx: Adds proper support to SecServerSignature REVERT: 2a4358939 nginx: Removes problematic performance improvement REVERT: 21e25c50a test: nginx: Adds missing files REVERT: 176396ddc tests: nginx: Allow POSTs in static files REVERT: e20c80004 nginx: fix missing headers while SecResponseBodyAccess was On REVERT: 445783d06 tests: Sleeps over 20 seconds if nginx failed to exit immediately REVERT: fb4e1f1b6 tests: Adds random data to a post making it workable in nginx REVERT: 450d621ca tests: adds test-regression-nginx to the makefile REVERT: 96ad8267e tests: Marks the run-regression-tests-nginx.pl script as executable. REVERT: 93c5b8c6a Merge branch 'regression' REVERT: 0ad390d12 Tests: fixes tests/regression/rule/10-xml.t REVERT: ba0818ca3 tests: cleans up the apache configuration file REVERT: 6325ed8d4 Tests: fixes regression/misc/10-tfn-cache.t REVERT: ddb4fceb6 Tests: fixes regression/rule/20-exceptions.t REVERT: 0c99063aa Tests: fixes regression/rule/00-basics.t REVERT: 7c9ebfeb2 Tests: fixes regression/action/10-logging.t REVERT: 11287a6b9 test: fixes regression/misc/00-multipart-parser.t REVERT: b0025c88f tests: fixes regression/config/10-request-directives.t REVERT: e5560a6a4 tests: fixes regression/config/10-misc-directives.t REVERT: 0ddd2b463 Add mod_extract_forwarded.c to run before mod_security2.c REVERT: b788ce260 Clean the garbage character after the duplicated charset property REVERT: 74ec78400 libinjection sync REVERT: 227de9fb8 Reverts commit b1cbccdc6b18a0f3a4edda8a5dfa9f6621485e81 REVERT: 2f5af6af7 Merge tag 'refs/tags/v2.7.7' REVERT: 87115e770 Adds a default config script to nginx REVERT: 537b85edf Changes SecUnicodeMapFile in recommend configuration REVERT: 90a44f688 Updates the changes file REVERT: c473aabb4 Changes release version to 2.7.7 REVERT: b1cbccdc6 Added new directive (SecPdfProtectMethod) to enable the user to choose between using token redirection (falling back on forced download in some cases) and forced download (in all cases). REVERT: 9543e136c Fix typo causing build issues REVERT: 4a7d439de Merge branch 'release_2_7_6-rc2' REVERT: 6d3606aad Updates CHANGES files. REVERT: 1cde4d2dd Organizes all Makefile.am REVERT: 351b9cc35 nginx: generates config file using configure input. REVERT: da16d9e5d nginx: adds lua support REVERT: 5046c8327 iis: Cosmetics fixies on sqli. REVERT: ae252ee87 Regression tests: makes configuration compatible with 2.2 and 2.4 (try 2) REVERT: 65d9272fd nginx: Trying apxs and apxs2 while compiling nginx module REVERT: 35fd75d85 nginx: Trying apxs and apxs2 while compiling nginx module REVERT: 751a9f4e4 macos: Using glibtoolize instead of libtoolize REVERT: 6fc4cac37 regression-tests: makes configuration compatible with 2.2 and 2.4 REVERT: e9813cd0d Regression test: get it working with apache 2.4 REVERT: 7366f35c1 Code cosmetics. REVERT: 9bf2959c9 iis: Waiting for 5 seconds before move curl directory REVERT: f70f6f428 Redefines unixd_set_global_mutex_perms on tests REVERT: cef72855e test: Avoids conflict of fuctions definition REVERT: cc982ae42 test: Makes the unit tests to work again REVERT: ad330a44b iis: Avoids directory link while building REVERT: 69c5ccac6 QA: Avoids the utilization of 3rd filedescriptor REVERT: baaf50236 Supports WarningCountingShellCommand in cppcheck and vera REVERT: 388943440 Adds verbose quality check REVERT: b77e90152 Adds support for coding style and quality check REVERT: 7b1537058 iis: Using base_rules instead of activated_rules REVERT: 2ea5a74a7 iis: New improvements on the Wix installer REVERT: 1a12648c9 iis: Removes the installer helper dependency REVERT: 550d5aae2 iis: Remove readme.html REVERT: a2c5fc831 iis: Adds batch script to compile Wix REVERT: 3604763e1 iis: Adds Wix installer resources REVERT: a4202146b iis: Fix inet_pton build problem REVERT: b32cb7d9a iis: Adds Wix installer xml file.c REVERT: 7e03e3f84 iis: build_modsecurity.bat fixies REVERT: 947711890 iis: Adds release script REVERT: 79875b1af iis: fixies the Installer.cpp coding style REVERT: 91738f93b iis: Removes AppWizard remade file REVERT: adfbeb85d iss: Removes pre-compiled headers REVERT: 6adf25667 iis: Moves installer to InstallerHelper REVERT: 8c3b8d81b iss: Removes fart dependencies REVERT: 192599bf6 iss: Better err handling in build scripts. REVERT: e25c6b2e8 iis: Moves build_module.bat to build_modsecurity.bat REVERT: 9b7663fa7 iis: Fix mlogc build on windows REVERT: 28bbde1bb iss: Removes Post-Build event. REVERT: 368617ddb iis: Relative paths on the VS project file REVERT: cf5de78df iis: Identifies arch before unzip apache REVERT: 1447766e8 iis: Renamves winbuild to dependencies REVERT: 9f8cbf6ed iis: Removes unnecessary files from winbuild dir REVERT: b277e538f iis: Improves the iis build system REVERT: a946a163f iis: Fixes the vcxproj file REVERT: 26738d2e3 iis: Removes unecessary files from the build system REVERT: 0a772cb07 iss: Changes httpd version 2.4.6 REVERT: 3e6fb41d3 iis: Changes the version of the dependencies REVERT: e3c19d53d Removes standalone/Makefile.in REVERT: 1734221d9 Fix #154, Uses addn instead of apr_table_setn REVERT: 61e54f206 Merge pull request #579 from zimmerle/revert_139 REVERT: 7f7d00fa2 Revert "Merge pull request #139 from chaizhenhua/remotes/trunk" REVERT: b0c397784 Merge pull request #578 from client9/remotes/trunk REVERT: a5f175d79 libinjection sync REVERT: 88ebf8a0b Merge pull request #152 from client9/remotes/trunk REVERT: fcb6dc13e libinjection sync REVERT: f52242a01 libinjection sync REVERT: b76e26d81 Merge pull request #148 from zimmerle/bugfix_charset_missing_string_terminator REVERT: ff19dcd5c Bugfix: missing string terminator while mounting the charset (nginx) REVERT: 786773189 Merge pull request #147 from zimmerle/fix_nginx_build_config_top_of_trunk REVERT: 57330da9a nginx: Makes the build script to check for deps REVERT: 9a630eea2 Merge pull request #141 from client9/remotes/trunk REVERT: 11217207e libinjection sync REVERT: f8d441cd2 Fix Chunked string case sensitive issue - CVE-2013-5705 REVERT: 3901128f1 Revert "Fix Chuncked string case sensitive issue" REVERT: 16a815a3c Fix Chuncked string case sensitive issue REVERT: 10fd40fb0 Merge pull request #139 from chaizhenhua/remotes/trunk REVERT: 414033aaf Merge pull request #138 from client9/remotes/trunk REVERT: e0993fcd7 Fixed fd leackage after reload REVERT: 2268626c2 libinjection sync REVERT: 7e0a9ecf7 Fix logical disjunction and conjunction issues REVERT: 876d4f5f9 Merge pull request #136 from SpiderLabs/remotes/trunk REVERT: 2c2adc20f Fix IIS Makefile.win typo REVERT: 370069a08 Update CHANGES REVERT: 88a9282c6 standalone: fix mutex compilation error with apache 2.4 REVERT: 464ac1eca Fix crash when use SessionID as paramenter in SecHashKey REVERT: e6f94eac4 Update CHANGES REVERT: 50f9d0140 Merge pull request #130 from client9/remotes/trunk REVERT: 8b6efc013 Fix make (rx regex) test REVERT: cefddebe1 libinjection sync REVERT: 3f080fa8c Merge pull request #128 from client9/remotes/trunk REVERT: 15f3a3040 libinjection v3.3.0 sync REVERT: 65e97684b libinjection v3.2.0 REVERT: 7ca8830a3 Update CHANGES REVERT: 0fc4142a3 Change strncpy to memcpy REVERT: f44a535c9 Merge pull request #125 from client9/remotes/trunk REVERT: a6fd09b69 Fix null byte convertion into utf8toUnicode REVERT: 229d4e4fe Merge pull request #124 from client9/remotes/trunk REVERT: 9eca8b5ca v3.1.0 REVERT: b1f61617b Merge pull request #122 from client9/remotes/trunk REVERT: 83fdf34dd sync with 3.0.0 tag REVERT: c07b9a536 libinjection v3.0.0pre21 take 2 REVERT: 4064e74cc Fixed: Libjection 3.0.0 compilation errors REVERT: 9bf132334 Merge pull request #121 from client9/remotes/trunk REVERT: bebb45f3b SecUnicodeMapFile now accepts the code page. SecUnicodeCodePage is deprecated REVERT: 034bf1912 Fix double free REVERT: 885eeecef Fix outbound size of salt variable REVERT: b362ab0d9 Fix standalone makefile.am REVERT: a79e81849 Merge pull request #116 from chaizhenhua/remotes/trunk REVERT: 4ffdf9bf6 Nginx: Fixed segfaults on reload REVERT: 9851769ea Fixed: increasing compatibility with older versions of install REVERT: 5cf5ff043 Fixed: flush libxml2 output buffer REVERT: df0b04825 Setting crypt outpur buffer as libxml2 output size REVERT: 9517c3475 Fixed: URL normalization for SecHashEngine REVERT: 1b3b38e6d Added: Release to 2.7.5 REVERT: f955ba7e7 Added: severity action now supports strings REVERT: 5ee4c1786 Fix libjection Makefile REVERT: 867843c8a Merge pull request #113 from client9/remotes/trunk REVERT: 69b109594 fix makefiles REVERT: 4af03f208 Update to libinjection 3.0.0-pre8 REVERT: 760314a1c Fix make test REVERT: dafd9aeeb Fix make test REVERT: 0532d20e4 update to 3.0.0-pre2 REVERT: f003243d9 Merge pull request #106 from client9/remotes/trunk REVERT: 41111ba47 Merge pull request #110 from SpiderLabs/remotes/trunk REVERT: 0e269f1b3 Update CHANGES REVERT: ed24a6176 Merge pull request #108 from SpiderLabs/remotes/trunk REVERT: 9835a32c3 Merge pull request #107 from gwroblew/remotes/trunk REVERT: cf9493aaf Fixing build makefile for IIS version. REVERT: 3a3fda25f libinjection 2.0.0 REVERT: 2cf6cd5af Merge pull request #103 from SpiderLabs/remotes/trunk REVERT: b9a4322a3 Nginx: set to STABLE REVERT: 82593f1f2 Merge pull request #99 from SpiderLabs/remotes/trunk REVERT: 31df14919 Merge pull request #97 from SpiderLabs/remotes/trunk REVERT: bad458627 Nginx: Try to fix eats 100% cpu in ngx_event_pipe_write_to_downstream issue REVERT: 400a5f5f5 Nginx: Fix implicit declaration of base64 encode funtion REVERT: 35b36b703 Nginx: Fix UNIQUE_ID REVERT: 612637489 Merge pull request #96 from chaizhenhua/remotes/trunk REVERT: ffbd350d9 Merge pull request #94 from SpiderLabs/remotes/trunk REVERT: f31724e20 Merge pull request #93 from SpiderLabs/remotes/trunk REVERT: 1f4757d17 Reverting Quality of Nginx. CPU issue is not fixed REVERT: fed38c810 Fixed: return msgs at detectSQLi REVERT: db964c422 Fixed: return msgs at detectSQLi REVERT: 4bc068e58 Sync to 1.2.0, fix regression in small sqli detection REVERT: 2585964b6 NGINX set to STABLE REVERT: b2d76750c Update CHANGES REVERT: cd31b39ce Removed SecDefineRemoteAddr and fixed Apache 2.4 mod_remoteip integration REVERT: 06fc5e56c Merge pull request #85 from client9/remotes/trunk REVERT: d30cf4153 Merge pull request #83 from client9/remotes/trunk REVERT: ebcfe2c18 Update libinjection to version 1.1.0 REVERT: 1f271fdca Fixed: Rule 200003 returning default status REVERT: 84d27cca1 Remove unwanted comment REVERT: 6e038228c Update CHANGES security issues REVERT: 29ed5c4dc Added: SDBM_DELETE_ERROR variable REVERT: eb9538457 Fixed: SecPerfRuleTimes storing unwanted rules REVERT: 86d939fbe MODSEC-362 REVERT: 6cd3a14db MODSEC-362 REVERT: 08471afaf Merge pull request #80 from client9/remotes/trunk REVERT: 3ca159e7b sync with upstream, fix read-past-end errors REVERT: 9f36e55ad Merge pull request #78 from client9/remotes/trunk REVERT: c10551dcf sync with upstream: c89 support, win32 support, more detection, less false postives REVERT: b6b284ea6 test REVERT: 9aca58c3d Updated release version REVERT: aa18ec7f4 Updated copyright dates REVERT: 72d26e80e Fixed: libinjection for windows REVERT: 835661964 Fixed: tests for detectSQLi REVERT: 2c833f1c0 MODSEC-392 REVERT: c5e460504 Added Libjection tests REVERT: e97c12f8a Added Libjection REVERT: 417d7daf2 Added Libjection REVERT: f10669b34 Merge pull request #72 from chaizhenhua/remotes/trunk REVERT: fd2c30fa2 Nginx: minor improve REVERT: 9b13d245e Merge pull request #70 from chaizhenhua/remotes/trunk REVERT: fdf0ba540 Nginx Improved: set filter_need_in_memory flag so that nginx transfer response in memory, we do not need read from file buffer. REVERT: 1919c3a44 Merge pull request #67 from chaizhenhua/remotes/trunk REVERT: 74278a8e9 Nginx Improved response body filter, issue #56 might be fixed REVERT: 72a3389b6 Merge pull request #65 from chaizhenhua/remotes/trunk REVERT: e553761ae Nginx Improved: if "SecResponseBodyAccess off" do not copy response body buffer REVERT: 3da87da15 Fixed: typo REVERT: 20947937f Merge pull request #61 from chaizhenhua/remotes/trunk REVERT: ddd6bd2a7 Nginx Improved: modsec terminate handling REVERT: c30bb6d6d Fixed: SDBM deadlock REVERT: 3bd497946 Fixed: possible memory leak in rsub REVERT: 0840b1361 Fixed: chuck null pointer when unknown CT is sent and over in-memory limit REVERT: d8262fc6c Fixed: standalone Makefile.am REVERT: c71ef0508 Merge pull request #57 from chaizhenhua/remotes/trunk REVERT: 5ce1818a9 Nginx Fixed if "master_process off" is set nginx will crash at exit REVERT: 36c2e1bcc Merge pull request #54 from chaizhenhua/regression-tests REVERT: a951a83ee Nginx: Improved redirect action work for phases except log REVERT: e9af8a3ab Added Nginx regression test REVERT: 088c660d5 Improved build script REVERT: 04cdca84e Merge pull request #52 from SpiderLabs/remotes/trunk REVERT: d93be4804 Fixed: Regression tests with no ID present REVERT: ca78eba85 Fixed: Regression tests with no ID present REVERT: e8189d97b Merge pull request #50 from chaizhenhua/Bugfix REVERT: 42e9a5ab2 Nginx: Fixed internal request finalized after rewrite with regex REVERT: 86871ccab Fixed: Nginx crash in ngx_pool_context.c REVERT: 9b1d6bfc0 Merge pull request #49 from chaizhenhua/Bugfix REVERT: 6934acf0e Nginx: Fixed memory leakage REVERT: a87b06f9f Nginx: Fixed config file REVERT: a77e5dc0f Merge pull request #48 from gwroblew/remotes/trunk REVERT: b7d3a084c Fixed config.c to compile on Unix. REVERT: 22b8e6cfd Fixed: Nginx crash in ngx_pool_context.c REVERT: 022d5db21 Fixed config and memory leakage REVERT: a47a4ce4f Fixed two crashing bugs: race condition when module was initialized and failing config commands in libapr. REVERT: 601d3ed63 Fixed config.c to compile on Unix. REVERT: 5457ebe0d Nginx: fix makefile REVERT: 2fcc08952 Nginx: fix makefile REVERT: 5303c003b Update master to 2.7.3 REVERT: 3ff17fcd1 Update CHANGES REVERT: f73635ab5 Merge pull request #45 from gwroblew/remotes/trunk REVERT: bc235a855 Merge pull request #44 from chaizhenhua/SecDisableBackendCompression REVERT: 177b5b9c9 Nginx: Added SecDisableBackendCompression support Nginx: Added internel redirected request processing REVERT: 55850a9c8 Update CHANGES REVERT: a5c149204 [MODSEC-386] Added error msg for update target by id function REVERT: 43162f52c Fixed: Nginx return 500 when request body is off REVERT: df383b9b8 Better error messages for sdbm code REVERT: d4d80b38a Added SecXmlExternalEntity REVERT: 4db1f51f3 Added MULTIPART_NAME and MULTIPART_FILENAME variables REVERT: bc65c3e40 MODSEC-58 REVERT: 5fefb6a2c MODSEC-58 REVERT: 2472dcb54 Change release version REVERT: 25c4146eb Merge pull request #39 from gwroblew/remotes/trunk REVERT: 1ead2f631 Removing OWASP CRS copy. REVERT: c1ba71ab1 Fixed files overwriting in installer; added OWASP CRS. REVERT: 9725e71f0 ModSecurity: improving duplicate ID search REVERT: 8816254cc ModSecurity: fixed compiling with lua 5.2 REVERT: f9b113b86 Nginx: fixed compiling with lua REVERT: 4a8e536b0 Nginx: fixed SecRequestBodyAccess REVERT: 154e80750 Nginx: fixed crash in pcre REVERT: 34d5289e7 Merge pull request #36 from chaizhenhua/remotes/trunk REVERT: 1a89b6b8a Fixed deny not work in response phase, Fixed debug log message REVERT: 65d889664 Fixed Action Deny not Work REVERT: ed1d3d927 Fixed Action Drop not work REVERT: eabc39ad8 Added SecCookieV0Separator REVERT: b3418be75 Merge pull request #35 from chaizhenhua/remotes/trunk REVERT: ae0bee062 Merge pull request #34 from chaizhenhua/remotes/trunk REVERT: 972d9e2ab Added Response Phase for Nginx REVERT: 48bd09939 dos2unix standalone/api.c REVERT: df7cafe85 Merge pull request #33 from gwroblew/remotes/trunk REVERT: 635a57389 New IIS installer project files. REVERT: 406d48200 Fix issue in ipmatchf REVERT: 067e7d197 Fix issue in ipmatchf REVERT: ff335fddc Update CHANGES REVERT: 8148a8071 Update CHANGES REVERT: 49c505156 Merging 2.7.2 into master REVERT: adb38adc7 IIS version as stable REVERT: e15bbac21 Merge pull request #31 from gwroblew/remotes/trunk REVERT: c53e743c8 IIS version improvements REVERT: 54245c924 Merge pull request #27 from chaizhenhua/read_client_request_body REVERT: 0566d652c Fixed hang up when post multiple request REVERT: 22b8293fd Fixed content length error REVERT: 275cb28a0 Added 'ngx_modsecurity_write_body_cb' so that NGINX can deal with STREAM_INPUT_BODY REVERT: 604643c4b change CRLF to LF REVERT: d5a6df167 promote modsecurity_handler from CONTENT_PHASE to PREACCESS_PHASE, so that we can process and pass request to backend without internal redirect. REVERT: fc7b3ef22 Fixed valgrind complain REVERT: 213cd1e84 Fixed: detect comma plus white space as a cookie separator - change variable names REVERT: 80146b2c7 Fixed: detect comma plus white space as a cookie separator REVERT: 86e045572 Fixed compile error REVERT: 48030ca05 Merge pull request #22 from chaizhenhua/read_client_request_body REVERT: 82d44071d Fixed 'request body is larger ...' error REVERT: 231921ce2 Revert "Fixed request body is larger" REVERT: ee47cccb6 Fixed request body is larger REVERT: 3f6c14de5 Fixed msc_test crash using pcre jit in some platforms REVERT: f6bf1a2b9 Fixed compat issue with automake >= 1.12 REVERT: 973bfae33 Fixed compat lua_load() with lua 5.2.x REVERT: 21b877048 Added dirs to build nginx on Fedora REVERT: 344ec7dfa Added cleanup handler for finalize request REVERT: 5f97bec8d read client body in a better manner REVERT: 77ccd0b7b Fixed: ngx_http_read_client_request_body returned unexpected buffer type REVERT: cc6e8532f Merge pull request #18 from chaizhenhua/remotes/trunk REVERT: 6815d1769 Added drop action for nginx REVERT: f920303e8 Fixed change from double to single quotes in find_pcre.m4 REVERT: 7ed0c305f Fixed MODSEC-364 REVERT: 18e0c45e3 Fixed MODSEC-360 REVERT: adca6e4b2 Merge pull request #13 from hideaki/cpf_verify_fix REVERT: c98da92cf fixed bugs in cpf_verify REVERT: fc45a3fe3 Fixed compilation issue under Windows when APR ipv6 is disabled REVERT: bd3cb0c72 MODSEC-359 REVERT: 4564c6548 MODSEC-359 REVERT: 5c6bdb90f change msc_release.h to 2.7.2 REVERT: c4e9dbaed added APR_HAVE_ARPA_INET_H pre-compile macro REVERT: ac4815f49 modsecurity_config.h was empty breaking SecUploadModeFile directive REVERT: 2f7a1ac0e Merge pull request #12 from gwroblew/remotes/trunk REVERT: 0e2b07b00 Fixed \ handling in Include command on Windows. REVERT: a4c75689f remotestrunk REVERT: 0265607df Merge pull request #11 from gwroblew/remotes/trunk REVERT: bfdb28e2a Fix for broken logging of IP client address in some cases. REVERT: 42aa05408 remotestrunk REVERT: c2c491861 fix for issues in ssn_verify such as infinite loop. REVERT: 91e5f85cc fix for issues in ssn_verify such as infinite loop. REVERT: bd3d07024 Merge pull request #10 from hideaki/verifyssn_infinite_loop REVERT: 7beb244df fix for issues in ssn_verify such as infinite loop. REVERT: 00b22f0c5 Fixed NGINX compilation issues REVERT: d7280c61f Fixed NGINX compilation issues REVERT: 8560642b9 Update CHANGES REVERT: 19d71f794 Update CHANGES REVERT: 179b53661 Fixed crash with invalid commands and marked IIS server as non-virtua… … REVERT: d1c002d6c handle invalid escape sequence passed to strmatch operator REVERT: dc8d464e9 Merge pull request #9 from gwroblew/remotes/trunk REVERT: b31f83b29 Merge pull request #8 from hideaki/strmatch_coredump REVERT: 74b8daaad Fixed crash with invalid commands and marked IIS server as non-virtual, so many commands would work (like SecDataDir). REVERT: 9e6dddff8 handle invalid escape sequence passed to strmatch operator REVERT: 2b1c1ad74 Merge pull request #7 from gwroblew/remotes/trunk REVERT: f14eaeb3d Fixed build on Apache 2.4. REVERT: ee1112530 Merge pull request #6 from gwroblew/remotes/trunk REVERT: 2336cf929 Minor changes to IIS module. REVERT: b353bd60a Fixed build on Apache 2.4. REVERT: 267bfe6ca Minor changes to IIS module REVERT: 408f37015 Fixed byte conversion issue during logging under zlinux REVERT: ce3cf00a2 Fixed byte conversion issue during logging under zlinux REVERT: f22bca10f Fix error_message type REVERT: 6d9327f4a Fix error_message type REVERT: a01b85b89 Update CHANGES and doc/ REVERT: 9027fbbfd Update CHANGES and doc/ REVERT: 428cbcb6b Change names of HMAC feature to HASH REVERT: eb41bd44f Change names of HMAC feature to HASH REVERT: 451041cd8 Change names of HMAC feature to HASH REVERT: 208d9d3a9 Change names of HMAC feature to HASH REVERT: 5f98d8008 Change names of HMAC feature to HASH REVERT: 0757a9f87 Added -R option to libtool with pcre lib path REVERT: a528e1c92 Added -R option to libtool with pcre lib path REVERT: 53d422e9d Change names of HMAC feature to HASH REVERT: 3bca8d41f Change names of HMAC feature to HASH REVERT: af22ddf87 Merge pull request #3 from bnordgren/install REVERT: f23dbcba7 Merge pull request #2 from alanjumpi/remotes/trunk REVERT: 606cd72f9 Fixed small bug in install phase, where mod_security2.so ignores $DESTDIR REVERT: 18c42d513 TODO updated REVERT: 76fc19401 Merging with master REVERT: 3ef77de11 Merging to release 2.7.1 REVERT: f4fe08f7e Update CHANGES REVERT: 18429396a Fixed bug when used ctl:ruleRemoveByTag REVERT: b58598988 Update CRS info into README.txt REVERT: 05e3a1798 Update CRS info into README.txt REVERT: 95211c820 Update CHANGES REVERT: c0c722ccb Update CHANGES REVERT: 52a535cca Update CHANGES REVERT: 9fe676406 Update CHANGES REVERT: afea6dbe6 Fixed drop action was disabled by mistake for apache2 REVERT: a3a39a21d Update CHANGES REVERT: 14eff8470 Update CHANGES REVERT: d4bd47893 Update CHANGES REVERT: 3ab2289ec Fixed drop action was disabled by mistake for apache2 REVERT: 4346e54a1 Update CHANGES REVERT: 9f4bd2188 Update CHANGES REVERT: 2403a1a54 Fix some strange breakline situation in apache24 REVERT: 612d9e473 Fix some strange breakline situation in apache24 REVERT: b64185024 Update msc_release.h REVERT: ed74a60bf Update msc_release.h REVERT: df58972ab Update documentation REVERT: bfab0397f Update documentation REVERT: a27e3a901 Removed prng() function and added apr_generate_random_bytes REVERT: 6bc9ae2c4 Removed prng() function and added apr_generate_random_bytes REVERT: 8aa17b546 Removed prng() function and added apr_generate_random_bytes REVERT: 6f13bd11f Removed prng() function and added apr_generate_random_bytes REVERT: ee31c5ba9 Fix LibXml2.9.0 issue REVERT: d3164f8db Fix LibXml2.9.0 issue REVERT: a9266d4ca Updated getkey function REVERT: 75a5e1d3f Updated getkey function REVERT: 75a7cfb1b Update msc_release.h REVERT: 190afbfc3 Update msc_release.h REVERT: 79423f9cf Minor fix, two functions name change. REVERT: 72b079139 Minor fix, two functions name change. REVERT: 7dea71bd7 Update Reference Manual REVERT: 53cdabdf8 Update Reference Manual REVERT: 87c47a882 Fix rule 200002 REVERT: 6e107a8b1 Fix rule 200002 REVERT: 30526c6e4 Update CHANGES and msc_release.h REVERT: 8fd1c0f76 Update CHANGES and msc_release.h REVERT: ef3fa0b1f Added MULTIPART_INVALID_PART flag REVERT: 6335e5426 Added MULTIPART_INVALID_PART flag REVERT: af537253d Merging rev 2079 with the branch 2.7.x REVERT: 6900616fa Standalone: added Include command IIS: added locking, response processing check, fixed file chunk reading bugs REVERT: d7b9ad862 Update Reference Manual and CHANGES REVERT: f00cb1a4e Update Reference Manual and CHANGES REVERT: 513dba260 MODSEC-337 REVERT: 060cf0ab3 MODSEC-337 REVERT: 80abe0fdf MODSEC-226 REVERT: 0e85d9f75 MODSEC-226 REVERT: 7de3f1e50 MODSEC-297 REVERT: 735510071 MODSEC-297 REVERT: e6afef5c1 MODSEC-297 REVERT: 5c5107a86 MODSEC-297 REVERT: 88513bd28 MODSEC-336 REVERT: 2d519ff85 MODSEC-336 REVERT: 10e2eec5b MODSEC-336 REVERT: 0d2307192 MODSEC-336 REVERT: 9661ac4de MODSEC-261 REVERT: dc8352852 MODSEC-261 REVERT: 724060a29 Reverted SecCookiev0Separator REVERT: 919e3f5e2 Reverted SecCookiev0Separator REVERT: 4c7ab5974 MODSEC-261 REVERT: aee22ea46 MODSEC-261 REVERT: 73e87c035 module bugfixes (kyprizel) REVERT: 031080c72 Added unicode mapping directives to recommended file REVERT: 0499f1444 Added unicode mapping directives to recommended file REVERT: 20cd5d069 Added unicode mapping directives to recommended file REVERT: 57b80fedc Added unicode mapping directives to recommended file REVERT: 081a0af6e Update to release 2.6.8 REVERT: a9ab4632f Update to release 2.6.8 REVERT: 100168260 Fix MODSEC-315 REVERT: 18f98e755 Fix MODSEC-315 REVERT: 6059fc144 Fix MODSEC-333 REVERT: e821aaf04 Fix MODSEC-333 REVERT: db73e14ed branch 2.7.x REVERT: 09450c266 branch 2.7.x REVERT: 35a9a6c3e Changes from kyprizel (Eldar Zaitov) REVERT: ecb39070e branch 2.7.x REVERT: 22b1e2fb1 Fix typo REVERT: 203e34651 update msc_release.h REVERT: 8dc9ae913 Added client IP passing to IIS and two missing IIS installer files. REVERT: e4d2dabe0 Improved IIS build process and more fixes to handle Apache 2.4. REVERT: a63008b16 Changes from kyprizel. REVERT: 3425aa9b4 Fixing Apache 2.2 build. REVERT: 040d4469d Enable warning message with over SecRequestBodyNoFilesLimit REVERT: d5ccfbafc Fix compilation issues in server.c REVERT: 092559a58 Added missing functions to make non-Apache versions compile with Apache 2.4. REVERT: 9eaa6a9a4 Update CHANGES REVERT: dc4ec2df4 Fixed format string issue in ngx_log_error REVERT: 7ea0e1223 Libxml2 must be at least 2.6.29 for 2.7.0 REVERT: eeb331ca4 Added utf8toUnicode tfn - fix typo REVERT: 781a506bc Added utf8toUnicode tfn REVERT: 499819e23 standalone module enabled by --enable-standalone-module configure option REVERT: 1e7fd3e5f for build standalone infrastructure necessary for IIS/NGINX REVERT: 7b014be28 Update CHANGES REVERT: 1d36512c0 Standalone module shouldnt be default REVERT: d36120b41 Fix compilation issues in server.c and config.c REVERT: ada16d3e9 Fix compilation issues in server.c. Looks like unixd_config is different in apache major and minor versions REVERT: 054e015de Fix compilation issues in api.c REVERT: c9202a44b Update license REVERT: 1df668c94 Remove CRLF from Makefile.am REVERT: 2dbe4ab4f Second part of IIS/nginx merge into M2 trunk. REVERT: f3e31c75a Merging IIS and nginx code into M2 trunk. REVERT: 7f33b00f7 Fixed some dereferenced pointers REVERT: 8d5131a18 Fixed some dereferenced pointers REVERT: c09d6e57d Fixed some dereferenced REVERT: 221aba605 Fixed some dereferenced REVERT: d267142bb Fixed check if s->name & value is NULL REVERT: fc8edbb46 Fixed check if s->name & value is NULL REVERT: a95f337ed Fixed check if ip_strv is NULL REVERT: 7385b120a Fixed check if ip_strv is NULL REVERT: 928ae2a22 Fixed unused error_msg in msc_crypt REVERT: c24eaec77 Fixed unused error_msg in msc_crypt REVERT: 9d19e7b06 Make internal m_strcasestr default REVERT: 8cec8c7e6 Make internal m_strcasestr default REVERT: a4c68c863 Revert configure.ac. Waiting for the merge REVERT: bc5930086 Add license to standalone/ REVERT: 22b763257 Fixing missing code between branches REVERT: 429ba6ac4 Fixing missing code between branches REVERT: 76925c6e7 Update CHANGES REVERT: f624802d3 Update CHANGES REVERT: bdcecf50f MODSEC-328 REVERT: ecc2ee8fd MODSEC-328 REVERT: bf5cd6211 MODSEC-326 REVERT: eb7a9ed7a MODSEC-326 REVERT: e8bd4c05f Revert pcre message warning mismatch REVERT: 16376f075 Revert pcre message warning mismatch REVERT: 4460061d2 Fix return msgs REVERT: c4b12060c Fix return msgs REVERT: 5f6985183 Init variables REVERT: fdee16ddd Init variables REVERT: 592ec392d Remove ctl:ruleUpdateTarget* and add ctl:ruleRemovetarget* REVERT: 890a1cfb7 Remove ctl:ruleUpdateTarget* and add ctl:ruleRemovetarget* REVERT: 543a7db8a Check for strcasestr REVERT: 6b943dbb2 Check for strcasestr REVERT: 1e8259b4a Avoid double close() for multipart file descriptors REVERT: 912606fc3 Avoid double close() for multipart file descriptors REVERT: 1c3efe02f Update Reference Manual REVERT: 60960a1f0 Update Reference Manual REVERT: 71c1e7813 Fix replacing targets REVERT: 67cf78cd4 Fix replacing targets REVERT: f4d446574 Fix pcre version mismatch warning REVERT: d5866ff3e Fix pcre version mismatch warning REVERT: 3a05349e0 Fix setting key len for child conf REVERT: 2e055003c Fix setting key len for child conf REVERT: 21e21b23a Release 2.7.0-rc2 REVERT: 9c73ad68e Release 2.7.0-rc2 REVERT: 245f6dc61 Release 2.7.0-rc2 REVERT: ef64c7070 Release 2.7.0-rc2 REVERT: c22376aa5 Fix warnings REVERT: 027ae6eea Fix warnings REVERT: f896591fc Fix warnings REVERT: 3bb931e18 Fix warnings REVERT: 89fb40248 change release to 2.7.0-rc2 REVERT: 21be05c7f change release to 2.7.0-rc2 REVERT: 2791e7766 Fix code for windows REVERT: 81b74ba63 Fix code for windows REVERT: 5b46e6c61 Fix code for windows REVERT: 35d97d586 Fix code for windows REVERT: 6223499dd Update CHANGES REVERT: e2d0715c1 Update CHANGES REVERT: ad059c9e6 Add inet_pton for windows REVERT: de56a8bcf Add inet_pton for windows REVERT: ead368268 Add inet_pton for windows REVERT: 780db2039 Add inet_pton for windows REVERT: ab4d5acce Fix windows error compilation REVERT: 22e20c699 Fix windows error compilation REVERT: 88331d122 Fix windows error compilation REVERT: 04fa8bbd0 Fix windows error compilation REVERT: 8bf46a3d8 Fix PRNG code and windows compilation errors REVERT: 4ab785c19 Fix PRNG code and windows compilation errors REVERT: a958dfd49 Fix PRNG code REVERT: 575356f10 Fix PRNG code REVERT: d20354917 Improve random number generator REVERT: 4ef3cc8eb Improve random number generator REVERT: 3caaf60fa Improve random number generator REVERT: f72ba4d36 Improve random number generator REVERT: 517abc595 Improve random number generator REVERT: 39fcad456 Improve random number generator REVERT: 0ed1a1b8b Fix loop into getkey REVERT: 563017fce Fix loop into getkey REVERT: 51067c23d update CHANGES REVERT: 24b5c96c2 update CHANGES REVERT: 9d2b4568f 2.7.x REVERT: 56a396519 backport HURD and KfreeBSD build support REVERT: c5cc0bfa9 Update CHANGES REVERT: 28621131a Update Reference manual REVERT: e584123ab Fix quote validation in multipart code REVERT: 988e78e9a Fix quote validation in multipart code REVERT: 8ead49a9b Added id to recommended file rules REVERT: b6414bbdf Update reference manual REVERT: f16240985 Added null pointer check REVERT: 3457fcbd5 Added support to KfreeBSD and HURD REVERT: d88a24da1 fix rsub input parsing and add maturity, ver and accuracy actions REVERT: 480af9375 update CHANGES REVERT: 14156d831 Add ipmatchFromfile REVERT: d3ad05e9c MODSEC-312 REVERT: 4ed9015ea README.txt REVERT: c19269dc4 Update mlogc code REVERT: f0fab2a80 Fix apache 2.4 compilation issue during make test REVERT: 4888769e7 Update trunk for 2.7 REVERT: 866cb6d6b Update trunk for 2.7 REVERT: 4bebeb6dd Revert any lua change REVERT: 24ac0c4a9 Fix typo in CHANGES REVERT: 864212074 Code cleanups REVERT: 5b82006fe Code cleanup REVERT: 25d1816c2 MODSEC-282 REVERT: 9948c424a Fix typo REVERT: 2be4d8b02 Fix new apache api REVERT: 2046a43bf Fixed AP_SERVER_MINOR instead of AP_SERVER_MAJOR REVERT: e1e43cfa1 Fixed new apache API REVERT: 2e00ae0f4 Fixed new apache API REVERT: 992d075d8 Update doc/ REVERT: 7d327e8df Update lastest Apache API REVERT: 76e909c5a Rename collection timeout diretive REVERT: 6cf207ce3 update CHANGES REVERT: f92f8219d fix stream vars memory leak REVERT: 1daafed72 fix arg name with double dot in SecUpdateTargetById REVERT: f47fb8ebf Dont create new lua vms REVERT: 3090edd85 sqlHexDecode fully hex decode REVERT: 9cbc44eea Fix PCRE jit issue when not enable jit in configure REVERT: c48d84313 Enable default configure options REVERT: 3cb5edde2 Add extra debug info for pcre jit REVERT: 1c0ed192d Add pcre JIT support - experimental REVERT: 2a585fba8 Check for X in uppercase into sqlHexDecode REVERT: 162f219f1 MODSEC-273 REVERT: 16ae74172 Fix issue in sqlhexdecode REVERT: f6e53252b add collection timeout in the trunk REVERT: c3b0cfc35 add sqlHexDecode tfn REVERT: 150bc418d Fix issue in sqlHexDecode REVERT: d4079971c MODSEC-160 REVERT: 1bf5f4532 MODSEC-272 REVERT: 82dfd037c MODSEC-272 REVERT: c99d14797 MODSEC-270 REVERT: a4f0957b0 Revert hexDecode and add new sqlHexDecode REVERT: 5d0e3f910 change release version, doc, CHANGES REVERT: a16c002f3 Fix make test REVERT: ce0f5522b force pointers to null after free() REVERT: ea09d6848 fix free() typo REVERT: a2b45bfeb update CHANGES REVERT: 3ec3d652a fix multiple variables when appending new targets REVERT: 31183499e MODSEC-254 REVERT: b0e9468d6 MODSEC-249 REVERT: d43c7e0bf MODSEC-132 REVERT: 8a5a53431 MODSEC-258 REVERT: 0ae09036b MODSEC-255 REVERT: 5cacf63b3 MODSEC-142 REVERT: 77c4c70f5 Fix windows makefile REVERT: 9f526bbea Fixes on autogen.sh REVERT: 8ed0c1051 Fix build system with PCRE_ vars REVERT: 78880129b Fix urbl whitelist msg REVERT: 1cc9ac781 Update CHANGES REVERT: 3517f8659 update manual REVERT: cf7eecbe8 update msc_release REVERT: 6c89afcf7 MODSEC-211 REVERT: 6c71b2698 [Reverted] Check POST request for SecWriteStateLimit REVERT: 644d0b58f Check POST request for SecWriteStateLimit REVERT: 152164b77 CHANGES REVERT: de02ea5e4 Add new unicode map settings and fix requet body truncate bug REVERT: b2a486e4b Only reinject stream if data is changed by rsub REVERT: ad168c801 Only reinject stream if data is changed by rsub REVERT: 3d69126de Build and code fixes REVERT: d0da1372f Build and code fixes REVERT: 06dd5907b Build and code fixes REVERT: dc41b967b Fixed building with LUA REVERT: c41c3cee2 Fixed building with LUA REVERT: 9623fbd5b Cleanup unicode map file REVERT: f59591910 Implement unicode map REVERT: 646564cd4 Renaming GSB functions REVERT: c8d292105 Renaming GSB functions REVERT: 9ece2422c Remove unused geo code REVERT: 1341c4983 Remove log part K from default configuration REVERT: edf039b8a Fix MODSEC-245 REVERT: 6d7781754 Fix MODSEC-247 REVERT: 0cf21202e Update CHANGES - fix Marc name REVERT: d84face22 Update CHANGES REVERT: e1025d0f0 Change apr version macro by apache one REVERT: de463a85c Fixed matched_var bug REVERT: 3e0acbe16 Fixed matched_var bug REVERT: 50293aef9 Add domain to tx.1 whe gsblookup matchs REVERT: 5eaa1a734 Added SecWriteStateLimit for slow post DoS REVERT: c78903e98 Fix problem when buffering in input filter REVERT: 241f222a1 Wrong lenght information in input filter when forward stream variable REVERT: 1bfbe0c14 Fix issue counting requet body len REVERT: aa3fa1450 Fix issue in MATCHED_VARS_NAMES REVERT: 21c81331c Uncomment input stream REVERT: 352fc200b Remove extra useless files REVERT: b3b68d1e3 Edit CHANGES REVERT: 21dcfde3c Remove unused defines REVERT: b19f32bb3 Make clean and maintainer-clean removes unused files, also add # when rule chain doenst match REVERT: d4d349753 clean stream buffer REVERT: 0ee85b348 clean stream buffer REVERT: 0cc30904b Fix issue in input stream REVERT: 1aa4cace6 Fix compiler warnings REVERT: f468224a4 Change log_escape_nq to log_escape REVERT: 6b7edc4d4 Fixes, code cleanups, improvements REVERT: 0b3ed4181 Avoid *FLAGS resetting - Diego Elio REVERT: 162e0ff81 Remove unused localtime function REVERT: 123018cfc Rewriting parser for gsblookup REVERT: ab339c7b1 Rewriting parser for gsblookup REVERT: 8c8c583de Rewriting parser for gsblookup REVERT: 5328bcdea Rewriting parser for gsblookup REVERT: 3ed70ea17 Rewriting parser for gsblookup REVERT: 0eb1f68da Improvements on gsblookup - reduce multiple slashes REVERT: ab8c7e6f4 Improvements on gsblookup REVERT: cf97731cc Fix logging MATCHED_VARS issue REVERT: 352514f7d Fix comment to reflext the base64DecodeExt change REVERT: 808a7bbc1 Add support to AIX and HPUX build (untested) REVERT: 4ae9a91d7 Only change stream var->value if we have the realloced buffer REVERT: c1d3fd636 Applied patches from Diego REVERT: 9fb9aeb6a Detele useless files REVERT: 15338bbf9 Rename DecodeBase64Ext to base64DecodeExt REVERT: 7493f01ef Delete useless files REVERT: 0e4f88630 Delete useless files REVERT: f3f7d6488 Delete useless files REVERT: ef56f47b4 delete useless files REVERT: 748aea7b6 delete useless files REVERT: c4f3d121f Fix without-lua into trunk - Diego Elio REVERT: 43e3ea65b update recommended configuration REVERT: ec29fb539 update release trunk for 2.7.x REVERT: a21e03eaf Update CHANGES and Reference Manual REVERT: d68731a38 APR-Ipmatch operator REVERT: 4c6419cf7 Remove extra debug msg for log section K REVERT: 9cd2efd97 Added extra debug msg for log section K REVERT: 025d41f71 Added extra debug msg for log section K REVERT: 5bfb2973e Change rule comparing to log section K REVERT: 502e97642 Author at README_WINDOWS REVERT: ba651304d Fix make test REVERT: 6ea5cba17 Move version() to mod_security2 REVERT: 57140c25f MODSEC-37 REVERT: 30da07b59 MODSEC-37 REVERT: f64b5544a Move version() to mod_security2 REVERT: 371df205d Change license on msc_test REVERT: 9ca34a322 Change apr_cpystr to strncpy REVERT: 6047658d0 Cleaning stream out buf REVERT: d98231e11 Cleaning stream out buf REVERT: eec65ea29 Include sucess msg in ipmatch REVERT: 775f10598 MODSEC-221 REVERT: 843f7fc01 Test makefile REVERT: 7635bd5f1 Improvements in detection only REVERT: a9557a66c Add more char to escape in log_escape_re REVERT: 34d2f43a1 fixes for solaris compilation REVERT: 4643799ba fixes for solaris compilation REVERT: d878fce0c fixes for solaris compilation REVERT: 3b4c46f27 Improvements in detection only REVERT: 9c5e0a4f9 Improvements in detection only REVERT: b8828ad3f Improvements in detection only REVERT: 13980bd04 Improvements in detection only REVERT: ae006f7a8 Improvements in detection only REVERT: cb3353f13 Improvements in detection only REVERT: 3377831b3 Improvements in detection only REVERT: 50205ebf6 Improvements in detection only REVERT: 0f5b0debe Print when request is blocked when it is larger than the configuration REVERT: 6e3bb889c Print when request is blocked when it is larger than the configuration REVERT: 1e2f836b3 Print when request is blocked when it is larger than the configuration REVERT: ed06ed2ae Fix issue in detection only REVERT: 2a8c8a747 force process partial when use ctl to detectiononly REVERT: ed4e98c64 Fix issue on solaris REVERT: a75f2c0c6 Testing new approach to tag macro expansion REVERT: b64d28eb5 Testing new approach to tag macro expansion REVERT: 6b7c138a9 Testing new approach to tag macro expansion REVERT: f524cfee4 Testing new approach to tag macro expansion REVERT: 6d3b3802d return value to unique_id REVERT: 41f338a4d Include arpa/inet.h to *nix REVERT: 97bc9b056 Fix typo issue REVERT: cd41e9327 Fix typo issue REVERT: b2140ab72 include msc_gsb.h into re_operators.c REVERT: 6703a7df0 include msc_util.h into re_operators.c REVERT: 9ed1200c1 Fix ipmatch issues REVERT: 0d32c17c3 Memory pool fixes and code cleanup REVERT: 82a9652ae Tag test REVERT: 093cb2495 Tag test REVERT: 6031e7fda Improvements, bug fixes and cleanup from Tom Donavan REVERT: f0d6a06a9 Fix ipv6 bug to solaris REVERT: 463b0df78 MODSEC-219 REVERT: 5d540e059 MODSEC-219 REVERT: 5e480d85a Fix bug in pmf REVERT: b7a926c20 Fix bug in pmf REVERT: 9ddad65f0 Rsub escaping REVERT: 4aba02a10 rbl improvements REVERT: 2ff42243f Add escape option to rsub and rbl improvements REVERT: d69634166 ErrorDocuments and internal redirect hook is available for testing REVERT: 53b0276b0 set base url to tx when canon #2 REVERT: a99ca02d9 change return code at rsub REVERT: 8642c0134 gsb now saves the base url in tx.1 when match a full url REVERT: 0c8161081 add util remove escape function and apply it for gsb REVERT: c43867d64 change remove_escape function name REVERT: a9e010084 update license text REVERT: b3243374f New doc REVERT: 104f0de46 New License REVERT: 1a2d377e3 MODSEC-178 REVERT: a5ddb8189 Remove extra debug msgs REVERT: a2f01d31a Experimental reallocation memory for rsub REVERT: 3c5eae03b fix free function because of double free REVERT: 117cc1352 revert free operation REVERT: c0a097304 Remove free function because of double free REVERT: ede971a9e Fix unknown error msg on rsub REVERT: b5607ea87 Fix memory leak rsub REVERT: 21e422318 Fix ipmatch REVERT: c2504b100 Fix rsub REVERT: 49732256f Improvements, fixes and new features REVERT: 4f1ab2f71 Allow replace with substrings REVERT: a6c240537 Adjust gsb error msg REVERT: 7bd27c400 Gsb matched urls set into tx variable REVERT: a13887065 Gsb matched urls set into tx variable REVERT: 9380fdbdd Rename gsb db directive REVERT: 69551d2d0 Add Google safe browsing lookup REVERT: caa6d89f8 revert MODSEC-171 REVERT: c04a4edb4 MODSEC-144 REVERT: 8b52a7d1e MODSEC-173 REVERT: fa8c45e7c MODSEC-171 REVERT: d0c2a5d34 Add verifyCPF REVERT: 5464f300e Renaming opt and args of SecRequestProcessPartial(on,off) to SecRequestBodyLimitAction(ProcessPartial,Reject) REVERT: 98e6a1c28 Cleanup ipmatch function REVERT: 74666fe2c MODSEC-181 REVERT: c4100a184 rename Stream options to SecStream REVERT: e267c6ffe MODSEC-204 REVERT: 8cbcf7898 Add initial plataform check code into autotools REVERT: 7235a14b3 Add initial plataform check code into autotools REVERT: 7f838acdf Ipmatch now is not supported under windows REVERT: 3f1d91183 Make ipv6 portable REVERT: 8b907225e Make ipv6 portable REVERT: d170dd4eb MODSEC-57 REVERT: e0a49f0b0 Change ipmatch to msre_ipmatch REVERT: 025ca49cc Change ipmatch to ipMatch REVERT: f536ba11a Ipmatch mistake REVERT: d4d97505d Under CentOS inet_pton return invalid address for valid ip6, remove the return code for now REVERT: cd31e80b8 Cleanup ipmatch REVERT: 3c53fe5be Add ifdef when print lua version REVERT: 882e537c9 MODSEC-140 REVERT: 7f52d86e4 Include data edition, sanitizematched and few fixes REVERT: 37e8cba18 change old lookup algorithm REVERT: 8e9582bed MODSEC-196 REVERT: d0e2546f9 MODSEC-21 REVERT: fdded3383 MODSEC-60 REVERT: 8907f66f3 MODSEC-127 REVERT: 5040c5568 MODSEC-70 change loglevel to 3 REVERT: 86cc9d6e3 Request process partial under detectiononly REVERT: 1260d2b09 MODSEC-104 REVERT: 56fc2ea71 MODSEC-148 fix issues REVERT: c8033a59f MODSEC-148 REVERT: 60a1725d0 MODSEC-12 REVERT: 52c33e7c5 MODEC-105 REVERT: 549f05948 move 2.5.13 into trunk REVERT: df61af462 add breno user to authors file REVERT: d3293916e Change scope of state var so multiMatch works once again. REVERT: 68f79e7f0 Add the git-svn authors mapping file. REVERT: 78dfd8d82 Add the example lua script to doc dir. REVERT: 3a10f9fb8 Fix autoconf header and include path so trunk builds. REVERT: 7aa83b5c9 Change copyright date on alp2 files. REVERT: 86e9b42db Added alp2 as a build option. REVERT: b186e7349 Add some missing files. REVERT: ea34defc0 Added mod_remoteip.c to to postread_beforeme_list (MODSEC-158). REVERT: c7c65f9dd Change default install prefix to /usr/local/modsecurity. REVERT: 058283fb5 Add the ability to build custom request body parser extensions. Add an example for a request body parser extension. REVERT: f7f305991 Add license headers to extension examples. REVERT: 8553cab4a Moved api examples to "ext" dir and hooked them into autotools for building with "--enable-extentions". Upgraded to autoconf 2.65. REVERT: cea87f408 Fixed test/test-gregression build targets. REVERT: 42b981319 Update doc for new build system. REVERT: eb6b9274a Redo build system to properly use autotools and avoid compilation with apxs util. REVERT: 972e46825 Add an option to grab the latest release candidate or stable which is intended to be used on dev servers to stage production. REVERT: 98982e296 Added the SecDisableBackendCompression directive REVERT: b784acd31 Merged in 2.5.x changes into trunk. REVERT: f925a978a Update CHANGES REVERT: b48fdddf4 Merged changes from 2.5.x to trunk. REVERT: 6f548e91f Fixed bad merge in CHANGES. REVERT: 08edc0c26 Merge 2.5.x (2.5.12) changes into trunk. REVERT: ed11e27e0 Moving performance logging from level 3 to level 4 to prevent it from polluting the error log REVERT: e0f160840 Move writing to collections and GC earlier so that the results can be logged. REVERT: 0ecfe86c3 Add PERF_GC. REVERT: 5448b3fc2 Log the duration of garbage collection at level 3. REVERT: 5c4733f1a Add REQUEST_BODY_LENGTH. REVERT: b8837bbfb Change the format string from m (already taken) to M. REVERT: 4cd09b9da Revert unneeded changes in r1459. REVERT: c24e61ac8 Added missing conditional debug logging. REVERT: 9bd9f3359 Run phase 5 prior to mod_log_config. Now for real. REVERT: 86407062e Do not use 'total' to refer to PERF_COMBINED in the logs. Use 'combined' instead.' REVERT: 221af6f5c Add PERF_ALL, sepearate PERF_STORAGE into PERF_SREAD and PERF_SWRITE. REVERT: bc35ab7e0 Implement variables for access to performance measurements. REVERT: a4d5d50be Integrate with mod_log_config (MODSEC-108). REVERT: 7b56982f2 Implemented a new time-measuring mechanism. Added Stopwatch2. REVERT: d25937333 Add DURATION. REVERT: 51e7bfcc0 Document phase 5 changes in CHANGES REVERT: f740b4f22 Run phase 5 prior to mod_log_config. REVERT: ce106df27 Generate error messages when registration fails. Change all examples to use modsecurity.h to avoid the duplication of the optional function declarations. REVERT: c60ab6bfd Merged changes from 2.5.x into trunk. REVERT: c341899b4 Merge in changes from 2.5.x. REVERT: ea4b75d8b Document changes REVERT: d1c38bf02 Change SECACTION_TARGETS and SECMARKET_TARGETS to REMOTE_ADDR REVERT: 6d5e752cb Added URLENCODED_ERROR, which is raised when invalid URL encoding is encountered REVERT: 62f7e6823 Update CHANGES retroactively REVERT: 6a2930820 Remove one missed reference to the PDF UXSS filter REVERT: aa3b20ecc Optimise the unsetting of the previous data capture variables REVERT: 23c3237d1 Added missing log level checks before logging. REVERT: 7916942fe Remove unused variable REVERT: 76583d80f Added the missing log messages for the ctl action; optimised the existing log messages (MODSEC-99). REVERT: 839b7f81e Removed the obsolete PDF UXSS functionality (MODSEC-96). REVERT: 853b1f9fc Convert 'normalise' into 'normalize' throughout, but support the previous version for backward compatibility (MODSEC-103) REVERT: 1fb6f974d Update the documentation referring to phase processing REVERT: cb8b76f4e Process phase 1 in the same Apache hook as phase 2 (MODSEC-98) REVERT: 3b1298968 Merge 2.5.x changes into trunk. REVERT: b01f8190e Merged 2.5.x changes for 2.5.11 into trunk. REVERT: 8fe278e84 Change 'sanitise' to 'sanitize' everywhere, preserving the 'sanitise' action variants for backward compatibility. REVERT: 6d83f91b2 More updates to build, removing Apache based build files. REVERT: 9a526c090 Merge in 2.5.x build changes into trunk. REVERT: 55f54e17e Merge 2.5.x changes into trunk. REVERT: a1a67592f Do not log debugging message as a warning (MODSEC-91) REVERT: 21ecf99da Merge 2.5.x changes into trunk. REVERT: aa1e05302 Fix typo REVERT: 91b215562 Merge 2.5.x doc changes into trunk. REVERT: 826124b37 Merge 2.5.x changes to trunk. REVERT: 7379a4fb3 Merge 2.5.x changes into trunk. REVERT: 155608be3 Really remove the rules dir this time (not just contents). REVERT: 67f7f9377 Merge changes from 2.5.x, removing rules dir to its own structure. REVERT: 6adc53fd4 Merge 2.5.x changes to trunk. REVERT: 73fb8eae5 Merge latest 2.5.x changes to trunk. REVERT: 08e651a1c Merge in some doc typos from 2.5 branch (MODSEC-77). REVERT: 05bd24334 Merge 2.5.x changes into trunk. REVERT: e5becf840 Merge 2.5.x changes to trunk. REVERT: 12b9bcd33 Merge 2.5.x changes into trunk. REVERT: ffc5d968e Merge 2.5.x changes into trunk. REVERT: 944a08822 Merged 2.5.x changes back to trunk. REVERT: 31ddf4c86 Merge 2.5.x changes into trunk. REVERT: a16eb9677 Merge 2.5.x changes into trunk. REVERT: 9d26b16e2 Merge 2.5.x changes into trunk. REVERT: 48981bb7c Merge in changes from 2.5.x branch. REVERT: 5fcca65fc Merge 2.5.x build changes back to trunk. REVERT: 84099df54 Metadata. REVERT: 25a394452 Cleanup docs. REVERT: e30176125 Merge in 2.5 doc changes. Cleanup doc formatting. REVERT: f905bf083 Cleanup the API examples and add more docs. REVERT: dc0a2161a Merge 2.5.9 changes into trunk. REVERT: fa96c349e Merge 2.5 changes. REVERT: a06d8f8ce Fixed strict compiler warnings for mlogc. Updated mlogc copyright year. REVERT: bef5c53c0 Removed "make -C ..." in favor of a more portable method. Added verbose output option to configure. REVERT: 4f3c9d991 Small clarifications. REVERT: 9c3c0d8c8 Update the reference manual to refer to the new data formats documentation. REVERT: fd5cf18ca Add the data formats documentation. REVERT: facacae23 Fix a typo in the SecRuleInheritance example. REVERT: c012db7e6 Make a note of configure options that can affect performance (MODSEC-28). REVERT: 4a336dadf Removed an invalid "Internal error" message forcing auditing of a request (MODSEC-29). Cleaned up error messages prior to using send_error_bucket(). REVERT: c3c822ea0 Revert r1205 as it was fixed in mod_jk upstream. REVERT: becf69403 Updated REQUEST_BODY documentation. REVERT: 7b0e71f92 CHANGES text describing when REQUEST_BODY is populated was not accurate. REVERT: 3848ff5b3 Worked around mod_jk issue where a 401 response was not including the WWW-Authentication header (MODSEC-16). REVERT: 67c48bfdf Added ability to use ctl:requestBodyAccess=off in phase:1 to avoid limit check. Added regression tests for this as well. REVERT: c5e258f0b Added additional check for XML well formed. REVERT: b2c7424a9 Added a comment. REVERT: 309510d70 Change from ctl:requestBodyBuffering to ctl:forceRequestBodyVariable. REVERT: 5740f7a3e Tidy up. REVERT: 2ee69ce46 Document css_inplace_decode(). REVERT: 2f7ff8f7a Tidy up. REVERT: ec49ce05c Updated docs to point out some features are not available on all OSes. MODSEC-9 REVERT: ac767de86 Typo in SecRuleUpdateActionById example. REVERT: f20059b00 Make sure we fail to validate DTD/schema after a parsing error. Fixes MODSEC-5. REVERT: f5af5ef42 Remove declaration of an unused variable. REVERT: 34798e9ab Allow ability to force request body buffering to memory. Fixes MODSEC-2. REVERT: 139d651bb Updated the CHANGES. REVERT: deb6a816b Fixed MODSEC-2 by using the msr->hostname (ap_get_server_name(r)) vs r->hostname in the log. REVERT: 20cc39551 Added mlogc source. REVERT: 2818e66a9 Tidy up the code for the performance-measurement mode. Remove the per-phase measurements, which don't seem to work (at least not in my case). REVERT: acec75be4 Make PERFORMANCE_MEASUREMENT more accurate by removing stray msr_log() invocation. Clean the code a bit. REVERT: 9997cee04 Clarified that SecMarker IDs are the same thing as rule IDs. REVERT: 1b977e610 Clarifications in response to comments from Kiyohiko Kajihara. REVERT: a686b0633 Update configure to better find lua libs. REVERT: ab5cd9261 Update a regression test due to changed error message. REVERT: 7eef5ce7a Update test stup with new msr_log_* wrappers. REVERT: d419a2168 Update CHANGES. Sync up docs. REVERT: 225339525 Allow disabling processing of request body size limit in phase 1. See #518. REVERT: 5298e2954 Added XML warn/error output to debug log. See #519. REVERT: 458fe8423 Add parity transformations. See #516. REVERT: 94370b2c7 Update default action in unit test stub. REVERT: bb2e4b9a3 Fix cssDecode. See #512. REVERT: 5f648db89 Updated regression suite to use full path to LoadModule. REVERT: 10713fbd3 Sync up branches/2.5.x and trunk. REVERT: 9c6b26744 Change licence file to Unix format. REVERT: a05445e33 Tidy up whitespace. More characters in the commit messages than in the change itself! Way, way, more. This is what happens when you work too much. REVERT: 924ce68c5 Update readme to point to new exception filename. REVERT: 7899b5c6e Update licensing. REVERT: 6a33fedc8 Regression suite cleanup merged from 2.5.x. REVERT: 478389d5a Added regression tests for ctl:ruleRemoveById and disruptive actions in DetectionOnly mode. REVERT: ae40b8c21 Implemented cssDecode. REVERT: e6e06bff7 Update trunk CHANGES with 2.5.5 release. REVERT: 200d9e5fe Firewalls not fireballs ;) REVERT: 326208d02 Newer apaches default to text/plain instead of null. Make matching files a bit more robust. REVERT: 21f305095 Fixed warning for mixed CRLF/LF lines and LF lines in changeset:1070. See #504. REVERT: f072738c8 Remove an extraneous debug statement and update version date. REVERT: 0b1e2d674 Fix a minor typo in a comment. REVERT: d9ba0e98b Fixed a typo from changeset:1072. See #498. REVERT: 493e71a9e Tweak some regression tests. REVERT: e1e200c00 Disabled phase 5 after interception by mistake. Fixed REVERT: c3fd0231d Prevent phases from being processed more than once. REVERT: b2119411d Minor code cleanup. REVERT: 81d98de28 Log strict multipart errors at level 4. REVERT: 83ff6c479 Re-enable error output filter with a fix after more testing/tracing of code. See #498. Update versions to ready for release of 2.5.5. REVERT: 230837d4a Update/reorg some regression tests. REVERT: 16acbe494 Fixed issue where logging was not occuring unless "auditlog" was enabled. See #497, #4, #451 and #445. REVERT: f2449c6f3 Enable "auditlog" action by default. See #445 and #451. REVERT: e209cb768 More regression testing updates. REVERT: 6cd8459bc Update docs on persistant storage. See #479 and #495. REVERT: 0c95f9c64 Backport fix to improve request body processing error messages. See #504. REVERT: 4d2fa2741 Backported changeset:1056 to 2.5.x which handles a lacking new line after the final multipart boundary. See #502. REVERT: 6241dfe96 Fixed XML multithreading crash. See #501. REVERT: 0c1f2f2e0 Fixed blocking in phase 3 by reverting changeset:591 (for now). See #65 and #498. REVERT: 81145fe2b (Changeset Tracker. See #1234.) REVERT: c8e35797f Improve request body processing error messages (#504). REVERT: d06a3beab More tested regression tests. Cleaned up script. REVERT: 043a5d608 Handle the case when there isn't a new line after the final boundary in a multipart request. This fix takes care of the WordPress Flash file uploader problem. REVERT: 8844813c9 Some more updates/tweaks to the regression suite. Allow the ability to "make test-regression". REVERT: 3e58e99be Another small update to the regression tests. REVERT: 7ad2766e7 Some more updates for regression testing. REVERT: 4bc1fc39f Some reorg of regression tests. REVERT: 49e63a3e3 More regression updates. REVERT: 59629a6af Add/update regression tests. REVERT: 29cd97b24 Reorg. REVERT: 813127aa1 Added some basic regression tests. REVERT: f90ffeb97 Add the beginnings of a regression test suite. REVERT: eb77be6e0 Fixed issue where transformation cache used default (fixed in 2.5.4). REVERT: f394c6faa Add atomic updates for persistent counters. See #20. REVERT: 5f6cb3aea Update msc_test with -N, better error support and support for actions. REVERT: 8f7b861d9 Added mod_rpaf-2.0 and mod_custom_header to the beforeme list. REVERT: ec19e2517 Update changes with 2.5.4 release. REVERT: e74a17117 Update docs to show Lua as optional in the install instructions. REVERT: 56e9aba04 Add an action directory for tests. REVERT: 248bd0971 Update generated configure. REVERT: c63d0ea21 Update the performance unit test generation example scripts. REVERT: 6d3da8c39 Add the configure script (even though it is generated) to make it easier for others. REVERT: 40fba3355 Allow actions to be unit tested. Allow unit tests to be performance tested. Add an example script to generate @rx vs @pm tests. REVERT: cfeb3b976 Update CRS to 1.6.1. See #484. REVERT: 06eeb7ef0 Fixed crash if a persistent variable name was more than 126 characters. See #478. REVERT: 5735d5fc6 Fixed issue where the exec action may not be able to execute shell scripts. See #475. REVERT: b4f473f87 Expand macros in expirevar and deprecatevar. See #477. Cleaned up debug logs in actions. Warn on mismatched curly braces in macro expansion. REVERT: d37ab9482 Minor tweaks to msc_test build. REVERT: 27601f6b4 Remove some extraneous debugging. REVERT: 070e0bb0c Update CHANGES with current releases. REVERT: fa3462f48 Add the MODSEC_2.5 define to 2.6 for compatibility. REVERT: 563a8e0f0 Fixed issue where the exec action may not be able to execute shell scripts. See #475. REVERT: c50e5b0b3 Update versions for release. REVERT: 955163389 Add docs for macro expansion. See #462. REVERT: aa6be1614 Make sure all filehandles are closed at the end of a trasaction. See #464 and #465. Fixes a few typos in some error messages when we are over the limits. REVERT: b74b65911 Update version for trunk. REVERT: 5f09dbb3e Sync up trunk with changes from 2.5.x. REVERT: d797619fc Cleanup and update docs for 2.5.0. REVERT: 7a1e2db14 Fixed code according to Ivan's review. REVERT: bdc746baf Update rules to 1.6.0. REVERT: e4eaade2c Make Lua support optional since it is still experimental (--without-lua). If someone still uses SecRuleScript, however, it iignores it and just warns on Apache startup. REVERT: 63bccf793 Add additional CRS files. REVERT: aef091a84 Reverted r950 which moved the periods from the message to after the "[offset ...]" tag. This tag was intended to be interpreted as metadata. Enhanced the documentation from r951 to reflect "[offset ...]" as metadata and not the message. REVERT: 1fbf0c97f Update CHANGES, versions and dates for 2.5.0. REVERT: 8cf74f5c9 Update version dates. Fix a small typo in Lua example: nil, not null. REVERT: fb9585735 Add operator messages to documentation. REVERT: 258ef32ad Minor changes to operator messages. REVERT: 7ef661217 Make sure the test target gets the APR/APU CFLAGS. REVERT: f00e15cc0 More updates for Windows builds suggested by Tom Donovan at apachelounge. REVERT: cc2110b18 Updates to build on Windows with MS VC++ 8. REVERT: 1789b9935 Remove the generated apxs-wrapper on dist-clean. REVERT: 20bc34a53 Update core rules to 1.6.0-rc3. REVERT: de115fc4e Update core rules to 1.6.0-rc3. REVERT: 731ac3321 Update version date for 2.5.0-rc3. REVERT: 935677a78 Do not add alert message when a transformation is not specified in a Lua rule. REVERT: 2c74c55d4 Add the copywrite blurb in msc_lua.c. REVERT: e9d1a44ce Explicitly define the target msc_test.lo target output file. REVERT: 94f617ae1 Update CHANGES and release dates. REVERT: d3831d679 Include the pmFromFile data file. REVERT: 06715a0de Make sure to include the apxs cflags and apr cflags when building msc_test. REVERT: 96b3ea6f2 Update unit test framework to build with libtool and show test name in debug log. REVERT: 45e85e4c8 Update CHANGES and version dates. REVERT: d24976a83 Add message to failed tests as well. REVERT: 8e4310782 Add target name to validateUrlEncoding message. REVERT: 83c13abfe Add/update more unit tests. REVERT: 16b2821d5 Update string match text for @within to not include the target test. Make sure the empty string always matches (it does in @rx and @m so it should in other string operators). REVERT: 827a5831e A pattern of "" (empty string) should always match. REVERT: b579e704a Added unit tests for numeric comparison operators. REVERT: 50a9f76dd Fixed getting exit code for determining test status. REVERT: ac449776f Add pm operator unit tests. REVERT: 540de37e7 Fixed error detection for operator init. REVERT: b93466003 Cleanup unit test debug log on make clean. REVERT: f428d3768 Cleanup - remove extraneous whitespace and tabs. REVERT: 4b55882c4 Made msr_log() work with unit tests. Now display the message generated by operators for unit tests. REVERT: 46cb2beeb Cleanup build to be more portable at searching for libs. REVERT: fd8f4e319 Update CHANGES and versions for 2.5.0-rc3. REVERT: e2ad283fd Fix some sprintf formatters so they do not generate warnings. REVERT: d3d4c6694 Allow "none" transformation to start the transformation chain over and not crash. See #456. REVERT: 13b5cdd5f Expand macros in setenv (name and value). See #458. REVERT: 7250e4d03 Fix crash when there is no parameter to ENV target var. See #459. REVERT: 3232a2d41 Fix debug log "Expanded" msg to only print when expanded. REVERT: 7540f7118 Remove the "Experimental" tag from PDF and content injection functions. REVERT: e12a2f08d The apu is under the apr dir on Solaris. REVERT: 0903a061a Fix regression on non-solaris for lua (lua5.1, not lua51). REVERT: 8d05c9966 Add some further searching for apr/apu/lua for solaris. REVERT: 698bff5fa Make sure solaris can find the stupid httpd included pcre lib if need be. REVERT: 588b4fba8 Fix apr_size_t formatting. Do not bother with formatting errors on solaris. REVERT: b39bd8679 Fixed typo in lua finding script. REVERT: 229b1f9db Fix CPPFLAGS when building against httpd src libs. REVERT: 764fe94ab Wrap the apxs command so we can fix -R option not working on solaris. REVERT: d350c5f5d Add in a hack to find lua binary install. REVERT: 8f6f8c7c0 Add download links for lixml2 and lua in the docs. REVERT: af69a4514 Add some extra build files to clean up with "make dist-clean". REVERT: 4535b2e67 Cleanup CHANGES and set release dates for 2.5.0-rc2. REVERT: 8b207a536 Note in docs that the K part has fully qualified rules. REVERT: ed581b56f Revert part of the noauditlog fix in changelog:878. See #451. REVERT: 751ce0684 Add signature verification support to the rulset updater script. See #280. REVERT: 17219368c Added reading options from a config file, unpacking rulesets and email notifications to rules-updater.pl. See #280. REVERT: 7777c35a6 Add new type parameter to msre_rule_create() for msc_test. REVERT: f8dedc940 Update make to put mlogc in the tools dir. REVERT: 2aca5f63f Add a basic auto-rule-update script that can download the latest version. See #280. REVERT: 4c6dccada Fixed noauditlog. See #451. REVERT: 52ccced72 Cleanup building actionsets and use minimal default. See #445. Fully resolve all rules before logging. REVERT: 946a35004 Fixed removing cained rules with ctl action. REVERT: ef6f75f4f Update docs for SecUploadFileMode to include the "default" value. REVERT: f8adea949 Implemented SecUploadFileMode. See #448. REVERT: 09ada31a2 Fixed potential crash if actionset was NULL. See #441 and #442. REVERT: a3584993f Implement "block" pseudo-action. See #441. REVERT: 9dbc7807d Remove query string from error log. See #447. REVERT: e0c0d6690 Update severity documentation, deprecate numerical values. REVERT: 00731cc70 Update versions in preparation for 2.5.0-rc2. REVERT: c72057bc5 Cleanup CHANGES. REVERT: 85e0b4d96 Add parens for clarity. REVERT: 18e9ef080 Remove default transformations. See #445. REVERT: c4e1ede35 Fixed merging actionsets so we can build a more accurate rule for auditing. REVERT: 0d24a08f3 Implemented SecRuleUpdateActionById. See #442. REVERT: be096d8f7 Explain how to install mlogc after building. REVERT: c6c400394 More configure cleanup. Update docs for new install: configure && make && make install Spell check the docs. REVERT: 96ff268f6 Replace TABs with 4 spaces. REVERT: f4a44bc32 Remove an extraneous debug log. REVERT: c68beb2fa Update text version of my review (removed areas that were invalid and/or fixed). REVERT: 9fb03d277 Fixing code based on review comments... Cleaned up what vars are cacheable. Added parens around "*foo++" where it clarified the operation to be "*(foo++)". Added " at VARNAME" to operator matches where needed. Escaped var->name in the var generation (user-supplied data). Marked a bunch of TODOs as ENHs instead. Transformed some C++ style comments to C style. Removed the %0-9 macros code which was commented out. Optimized some ctl action code so that multiple ifs are else ifs. Implemented some error messages marked as ENH. Make commented out acmp debugging a configure-time option. Cleanup GEO debug log messages. Added relative filename support for geo dbs. Added help text to Sec* directives. REVERT: 99c41afc3 Added a check that SecServerSignature actually worked (Apache changed some of this code as of 2.2.4 and could potentially change it again and break this). Cleaned up some configure code. Cleaned up some extraneous cache logging. Cleaned up the output from the test script. REVERT: fabeaf505 Final mlogc configure cleanup. REVERT: 62dfbeb80 Do not bother with libcurl if there is no mlogc-src. REVERT: bc6c0c76a Add the ability to find curl for mlogc. REVERT: 0a6ac0559 Add the ability to build mlogc if it is in the mlogc-src subdir. REVERT: b5033e6e2 It is 2008 now :) REVERT: 800dacd74 Add text version of review. REVERT: 2d034c5ce Finished with pre-2.5 source code review. REVERT: 0b9c2810e Fix speling. REVERT: d8fa66515 Document data formats. REVERT: d106a5c4d Yet more review data. REVERT: b0f7dc1fc More review updates. REVERT: f15ef01be Tweak error message to make it clear it's not our fault. REVERT: b6446dc83 Fixed an old bug in ctl:auditLogParts that was fixed in 2.1.x, but not trunk. REVERT: 4b05cfe3d Update current review data. REVERT: 106a54f87 Fixed partial transformation caching and reduced some debugging output. REVERT: 31e3ada84 Fixed phase 5 rules not being excludable. REVERT: 433ecf342 Cleanup configure and add support for using apache src included libs (--with-httpd-src). REVERT: 7baf94992 Add --enable-FEATURE options to configure. REVERT: 4473e483c Update current review and report generation script. REVERT: c622e7ec9 Expand PERFORMANCE_MEASUREMENT output to break down the full rule timing into transformation, operator and full. Add a "Transformation completed in N usec." debug line to compliment the operator timing. REVERT: a53969a99 Add the beginings of a pre-2.5 code review ala Jupiter. REVERT: 2ab009ee9 Add files to support using eclipse w/Jupiter code review plugin. REVERT: 36dbd608c Add a review dir for testing/using Jupiter eclipse plugin. See: http://csdl.ics.hawaii.edu/Tools/Jupiter/ REVERT: baac392bf More configure cleanup. REVERT: 40c57f871 Cleanup configure script and add back unit tests (make test). REVERT: badb2791f Initial 'configure' based compilation (buildconf generates configure script). REVERT: be9931e00 Make sure all tests pass. REVERT: 402f6318b More test updates. REVERT: 2068357af Added m.getvars() and finalised Lua support. REVERT: 8924f605d Add some more test cases. REVERT: 6dd615646 Fixed returns for urlDecodeUni, urlDecode, urlEncode and normalisePathWin. See #439. REVERT: 9551218d2 Fixed URL decoding with invalid encoding. See #439. REVERT: a210e7325 Fixed return codes for base64Decode, base64Encode, compressWhitespace as well as replaceComments not adding the space for a comment w/o ending. See #439. REVERT: ef18503f0 More cleanup and fixes in the testing framework. REVERT: 78f83198d Remove \0ooo support from t:escapeSeqDecode. See #423. REVERT: 4104e261e Update verifyCC checks w/data Ofer sent me. REVERT: 9504be7d7 Fix a bug in testing framework where NUL is lost in parameter and add support for running only a single test in a conf file. REVERT: 246ed9cbc Make sure a zero-length CC# does not verify. REVERT: 59685455d Update core rules to 1.5.1. REVERT: f64c7c39e Lua: Added support for scripting to @inspectFile. REVERT: 4cecdf4c5 Added support for Lua to the exec action. REVERT: a45c4bb55 Lua: Fix compile warnings. REVERT: 4fcd787b9 Lua: Support relative filenames in SecRuleScript. REVERT: 235fd2c07 Lua: Add ability to retrieve values from persistent collections. REVERT: fa4738e86 Lua: Preserve entire scripts, not just main(). This allows for more complex logic to be written as the user can now use functions. It also allows room for future expansion. REVERT: 3860a702a Added support for unit testing operators. Only verifyCC tests written. REVERT: 3a8e0a4df Some more reorg of tests. REVERT: a04e03b2c Some reorg of tests. REVERT: 61e4623ba Move around some code to make unit tests easier to build. REVERT: 2103fb560 Rename msc-test to msc_test. REVERT: 4e7c243c3 Make libxml2 *required*. REVERT: 6974a1c78 Fixed l_log to prevent percentage characters from Lua interfering with formatting. REVERT: a0198a9e6 Polish up docs for md5/sha1. REVERT: f3fae3155 Adjust Lua debugging levels to 8, to avoid logging at level 9 from skewing the results. REVERT: 80aa065d2 Document the Lua functionality added so far. REVERT: e834a860d Avoid double close of DBM on error. REVERT: a96cbc0f6 Merge in Lua to test framework. REVERT: e357bb55a Add quoting to unparsed rule generation. REVERT: cdcb3bdb1 Lua: Added support for retrieving parametarised parameters (e.g. ARGS:p). REVERT: 4414cb852 Lua: Support retrieval of individual variables from scripts. REVERT: aef5a460b Fix Lua support. Enable logging from Lua scripts (using m.log()). REVERT: e0c444953 Update Makefile to compile with Lua support REVERT: afd3cbf14 Implemented SecRuleScript LUA_SCRIPT [ACTIONS]. REVERT: 6f6934e9d Code polish. REVERT: d2dee97a3 Fix jsDecode \xHH to verify HH is there and valid hex. See #439. REVERT: 5da9a05d1 Remove the callback from the verifyCC regex (not used anymore). REVERT: 499c3f316 Add initial unit testing framework. See #438. REVERT: 2657154ea Update docs for t:md5 and t:sha1 to note that they are in binary form and should be hex encoded to be human readable. REVERT: 8360aacc2 Use use new msr->rule_was_intercepted flag. See #425. REVERT: a99357ad5 Add ability to use <IfDefine MODSEC_2.5>. See #436. REVERT: a703c9c62 Minor allow bug fix. REVERT: dc081c5df Removed some code that implemented SecRequestEncoding. Left the directive in, as well as the structure member as they are harmless. REVERT: b9a28882b Enhanced allow. REVERT: 9b0ce5ae6 Move an extraneous debug log line from level 4 to level 9. REVERT: 8a1687bf3 Make phase 5 more strict and catch an inherited disruptive action. See #429. REVERT: 5bd9e0640 Add CHANGES entry. See #425. REVERT: 32100608e Handle actionset being NULL. See #66 and #429. REVERT: 05c8ccd07 Moved modsecurity_crs_55_marketing.conf. REVERT: d6beae556 Should have moved this not added. REVERT: f12cc94f9 Update props for rules. REVERT: 3c4eacf6f Update Core Rules to those in 2.1.4. REVERT: 4602f7d90 Remove tabs from CHANGES. REVERT: 9136d391d Forgoten CHANGES entry for last commit. REVERT: 476684e6e Stricter configuration parsing. See #66 and #429. REVERT: cd51a1004 Allow all rules to run in phase 5. See #425. REVERT: 515290434 Add 2.1.4 changes to trunk CHANGES. REVERT: f68f0156c Cleanup CHANGES. REVERT: 5065852df More efficient collection persistance and deletion on retrieval. See #345 and #426. REVERT: 4c11791a9 Escape cache value in log. REVERT: aa68fff10 Fixed decoding \9 with t:escapeSeqDecode. See #423. REVERT: 8aa31fd09 Change jsDecodeuni to jsDecode which also decodes all the other JS escapes. See #193. REVERT: b0de65913 Added t:jsDecodeUni handling unicode similar to t:urlDecodeUni. See #193. REVERT: cbf79d43b Update version to ready for 2.5.0-rc1. REVERT: 54cac6461 Add IS_NEW and IS_EXPIRED collection variables. See #345. REVERT: 220342850 Prefer "offset" to "pos". REVERT: e7e975696 Add var name to validateUtf8Encoding message. See #408. REVERT: 3c1d5a021 More efficient multimatch support and cleaned up debugging and messages. See #69. REVERT: 2dff0fb9f Speed up luhn algorithm and add multimatching capabilities to verifyCC. See #69. REVERT: 423fd0eea Update skipAfter docs to mention markers. See #416. REVERT: 715a8eae5 Implement SecMarker. See #416. REVERT: 37f5231cc Minor code fixes. REVERT: bbcf1d08f Added an APR-Util variant of character encoding conversion. REVERT: c25071b83 Initial experimental implementation of SecRequestEncoding. See #390 for more details. REVERT: 22873995f Rename placeholder type from RULE_PH_TARGET to RULE_PH_SKIPAFTER. REVERT: 2bf4556cd Checkin fix to rule removal code to avoid placeholders. REVERT: 9e9bb318b Rewrite the luhn algorithm to be faster and easier to read. See #69. REVERT: 13e209909 Add in verifyCC operator from mod_security2_op_verifyCC.c. See #69. This still needs to be fixed. REVERT: a6c2d867f Improvements to audit logging matching rules. See #93. REVERT: dcdce0cbc Added matching rules to audit log data. See #93. REVERT: 85053718d Cleanup log output for skipAfter. See #258. REVERT: ff12e6f1c Remove comment that is not needed. REVERT: 526bcc0b5 More informative change log message for fixing utf-8 validation. REVERT: c5c759d6f Forgot to update CHANGES. REVERT: d3a0a2887 Fix utf-8 validation (again\!\!\!). REVERT: 575e86388 Implemented SecRequestBodyNoFilesLimit (#103). REVERT: fd5e4fb32 Fix bugs introduced by the recent change to audit logging. REVERT: ab6a81fe7 Remove unused reqbody_status from modsec_rec. REVERT: 1cfc906fa Fixed apr_size_t formatting warnings by using portable %APR_SIZE_T_FMT instead of %lu. REVERT: 8cec4dd25 Some more debugging and fixes for skipAfter. See #258. REVERT: 4a08d7e6b Handle out-of-disk-space conditions gracefully when writing to audit log. REVERT: 800cfc2cc Added missing #else block for printf attributes. REVERT: e47fdeb42 Changed %p formatter to APRs %pp (wish that was documented). Marked msr_log() as a printf style function so GNU compiler can check formatting types. Fixed a few other warnings with msr_log() formatters. REVERT: 9447ae67b Added placeholder support for skipAfter so that it works with removed rules. See #258. REVERT: 1860e2a35 Renamed SecGeoLookupsDb to SecGeoLookupDB. REVERT: 6ca5b831f Document SecComponentSignature. Update CHANGES. REVERT: b163864ba Implemented SecComponentSignature. REVERT: e467d3cac Unified messages in the error log and in the audit log. REVERT: f0be2ff6b Added warning message when XML request body parser fails. REVERT: 2cefbda2e Fix quotes in an example. REVERT: 40c5b2004 Remove extraneous 'void *' cast. REVERT: aff690053 Initial full pass through code to fix issues with 64-bit/mismatch sign/mismatch size printf style formatters. Still need to look more into how we are handling time and convert to apr_time_t (or time_t) where appropriate. Still need to look into our use of 'long' as windows is LLP64 where 'long' is still 32-bit. REVERT: b9defc0ad Warn in the debug log when request body processing fails. REVERT: cd2287a41 Fix for an evasion false positive. REVERT: 83fb4b4da Fix more formatting errors/warnings on 64bit systems. REVERT: 7f71ae377 Fix another warning on %u used where %lu needed. REVERT: e45ea12fc Fix warnings on Solaris and/or 64bit builds. REVERT: faec5b8e9 Fix a possible loss of data warning when compiling 64bit reported by Marc Stern. REVERT: 2b346dd08 Updated input filter insertion code for sub-requests. REVERT: 8e9909006 Add the input filter if we have read the body (even if a sub-request). See #335. REVERT: 9d49adf02 Basic implementation of skipAfter (still need to implement placeholders so it works with removed rules). See #258. REVERT: 974298a76 Added ctl:ruleRemoveById action. See #259. REVERT: 9efa02f42 Change ctl parameters to be case insensitive. Initial implementation of ctl:removeRuleById. See #259. REVERT: f66e8c5b3 Document MULTIPART_CRLF_LF_LINES. REVERT: b0d514478 Fix blocking multipart FP, which affected Safari. REVERT: d5f3b9ce5 Fix multipart parser blocking FP with Safari ( (#317). REVERT: 793b57670 Added support for MATCHED_VAR and MATCHED_VAR_NAME. See #123. REVERT: b784e6cb7 Change from TX:LAST_MATCHED_VAR_NAME to MATCHED_VAR. See #123. REVERT: 83a788607 Now use memcmp() vs strncmp() in string comparison operators since we already short-circuit when the match will not fit in the target. Added @containsWord. See #182. REVERT: a6cf7957b Update ModSecurity chroot documentation. REVERT: da1399f0b Added TX:LAST_MATCHED_VAR_NAME. See #123. REVERT: e0e031d16 Oops, too fast to blame apr :) This bug was a forgotten NULL in the apr_pstrcat function. Apparently newer APRs can handle this. REVERT: dc71842ce Revert to apr_psprintf (vs apr_pstrcat) to get around what appears to be an apr bug with FC4. REVERT: 9d4965b29 Fix macro expansion in setvar. See #126. REVERT: 2d526f143 Fix typo in a comment. REVERT: b66157497 Document the 'tag' action. See #276. REVERT: 27ba3027b Move init of msr->msc_rule_mptmp before msr storage. REVERT: fe1021e36 More cleanup of error messages and marking as relevant. See #4. REVERT: 8b6f0e72a Wrap PERFORMANCE_MEASUREMENT variable as conditional compile. REVERT: 63a47c370 Prefer %d string formatter to %i so we do not get warnings on some platforms. REVERT: f3a8854fe Mark any error conditions/alerts as 'relevant'. Clean up/add error messages where this can happen. REVERT: 5022ddcad Cleanup more subrequest code. Do not run with subrequests in phase 3-4. Still need to look at phase 5 to see what I can cleanup there. See #135. REVERT: 86c9a9bf1 Cleanup CHANGES. REVERT: 9f898a0e0 Fixed comment. REVERT: 7c393c487 Fixed the wrong status being displayed in the error page. See #3. REVERT: 72f814933 Do not process subrequests in phase 2. See #135. REVERT: 426ce1aea Fixed deprecatevar. See #59. REVERT: a1955d09e Add crude performance measurement. REVERT: 009c3b0fa Document SecResponseBodyLimitAction. REVERT: 9ed3cf9e5 Added support for partial response body processing. REVERT: 59333a6a8 Update CHANGES. REVERT: 79ee3a6a7 Process debug log statements only if the debug log level is sufficiently high. REVERT: dfe09ff1b Fix content injection C++ style comments. REVERT: 2a707d437 Enable our output filters to intercept bodies of error responses (#65). REVERT: eb6b456f5 Fix potential buffer overrun by 1 byte in base64Decode caused by bad docs from APR-Util. See #255. REVERT: b217e4262 Merge in fix for ErrorDocument. REVERT: ad940d1ff Partially corrected the filter error code. See #3. REVERT: 53011819d Cleanup some doc formatting. Prepare trunk for use as 2.5.0-devN tree. REVERT: c8e5c7fcd Sync trunk from branches/2.1.x (merge in branch fixes). REVERT: 8a54517f0 Updated copyright dates in xsl files. See #253. REVERT: 1e603d8a3 Detect and use new API calls to get the server version/banner when available. REVERT: 8549546b5 Add a cast to unsigned char * to avoid warning. REVERT: b95cc3b37 Updated the manuals (trunk and the 2.1.x branch) to cover the new multipart stuff. More detail is needed but there is not enough time for that today. Also added back the impedance mismatch stuff and the PHP peculiarities. REVERT: ba85c17b0 Update minimal configuration template to use strict multipart parsing. REVERT: fa2b97ddb Tidy code. Small bug fixes. REVERT: 0769f2378 More multipart improvements. Added MULTIPART_MISSING_SEMICOLON. REVERT: d7a92cac2 Adjust hook placement so mod_breach_trans fixes the request before us. REVERT: 70e8246ae Update CHANGES. REVERT: 9e08017b3 Force rpaf and similar modules before mod_security2. REVERT: 9301461b3 Allow multipart C-T header to be up to 1024 bytes long. Some code cleanup (really ;). REVERT: 608f7f2b4 Fix LF line detection, add MULTIPART_CRLF_LINE, MULTIPART_CRLF_LF_LINES. REVERT: 239fa0095 Fix silly errors, typos. REVERT: baf6f59df Multipart parsing improvements. REVERT: e27516246 Quiet "warning: int format, pid_t arg" type warnings. REVERT: 28d44486e Fixed data corruption in the multipart parser. REVERT: 222f1f6f7 Cleanup. MULTIPART_STRICT_ERROR now returns 1 on parsing error too. REVERT: 323f9f81a Better discovery of partial quoting evasion. REVERT: b1949b7eb Another check for evasion through partial quoting of multipart boundary. REVERT: d0ac05c3e Add check for evasion using double quote inside multipart boundary. REVERT: 25fb1b262 Moved XML request body processor error to debug level 1. REVERT: 5898e9e11 Fixed a potential segmentation fault, introduced with recent changes. REVERT: 7c856eef1 Fix typo and make clearer the intent by using defined(). See #198. REVERT: 716d0fd41 Added a check for nul bytes in multipart part headers. REVERT: c85773b34 Added MULTIPART_UNMATCHED_BOUNDARY. Not very reliable, as it detects anything that looks like a boundary, which means any line that begins with -- but we don't think it's a boundary. REVERT: 70324713e Added checks to detect quoted boundary evasion (although we are not susceptable any more) and to detect duplicate final bounary. REVERT: 32905f9d4 Add ability to compile without API support (-DNO_MODSEC_API). See #198. REVERT: f4389c9a5 Update docs and CHANGES for logdata action. REVERT: 8f6385f78 Added logdata action (still needs byte limit). See #40. REVERT: 765dfd027 Fixed typo. REVERT: 9cfdd8f0d Rename TX_SEVERITY to HIGHEST_SEVERITY, fix and document. REVERT: b71687c7f Add ARGS_GET* and ARGS_POST docs. REVERT: c520886e1 Detect and prevent multipart evasion. REVERT: cb0cb9375 Sorted variables in the registration code. REVERT: 648037fdb Added TX_SEVERITY variable. See #60. REVERT: d2fd881c0 Fix typo in CHANGES. REVERT: f41c27a28 Added ARGS_GET, ARGS_POST, ARGS_GET_NAME, ARGS_POST_NAMES variables. See #136. REVERT: fe8c564ed Added MODSEC_BUILD variable. See #38. REVERT: 2ec596e83 Fix error message in validateByteRange to include the target variable name. See #157. REVERT: 5a6ce0142 Added logging of target variable expansion. See #62. REVERT: 820ba5f1d Add debug message when not buffering response body due to MIME type not configured. See trac #63. REVERT: 892938dee Enhanced multipart parsing to support quotted boundaries and LF line terminators (RFC demands CRLF but some applications use only LF). REVERT: 9695f2b81 Improvements in transformation cache (add options, document). Update CHANGES. REVERT: 43f7fa72f Remove non-ASCII characters. REVERT: b761c1c01 Merge in some doc changes. Fix some doc formatting issues. Update the CHANGES file. REVERT: 72832c1b3 Working on cache enhancements. See trac #14. REVERT: 3e5e2a06b Stricter validation for @validateUtf8Encoding. Capture the match in TX:0 when using "capture" action w/@pm operators. REVERT: 5a38dde99 Disable XML parsing by default in the included core rules. REVERT: bafe8ad77 Remove old comment. REVERT: 31f119664 Updated README files to refer to GPLv2. REVERT: 3facacf92 Emphasize the need to check REQBODY_PROCESSOR_ERROR in configuration example. REVERT: 73706c8bc Update documentation to emphasize the importance of REQBODY_PROCESSOR_ERROR handling. REVERT: 8b9d914ed Merge in code fixes to create msr context on request failure. REVERT: 4d03b029f Remove the error message on a failed request so we can handle it in a pater phase. REVERT: 9be72c39d Update to core rules 1.4.3 REVERT: e251a9bd5 Add back code to send an alert on request failure. REVERT: 656021c20 Fix typo. REVERT: bff23e3eb Updated the rule IDs documentation (reserved ranges). REVERT: 96edb02fe Updated documentation to specify libxml is no longer optional. REVERT: 881e8e66c Update LICENSE removing part that is not the licence (but can cause confusion). REVERT: 7fbf664ec Added cygwin to list of compilers that do not support hidden visibility attribute. REVERT: 8cd8f42d2 Clarified which variables are URL-decoded and which aren't. REVERT: f19622b04 Clarified that we are a GPLv2-only project. REVERT: 129a5ab25 Reserved a rule ID range for ScallyWack. REVERT: 698955aae Update changes to reflect the 2.2 -> 2.5 change. REVERT: 8dea31635 Update @within docs according to Ofer's comments. See #134. REVERT: 19887f9cc Added @within string comparison operator with support for macro expansion. See #134. REVERT: b58efb346 Update CHANGES. Reversion from 2.2. to 2.5. Update @pmFromFile to base relative filenames off of rule file path. REVERT: de739c60c Updated documentation for RESPONSE_CONTENT_TYPE and RESPONSE_CONTENT_LENGTH. REVERT: 8de8e44e0 Removed RESPONSE_CONTENT_ENCODING, which never worked as intended. REVERT: 5cb4823c4 Documented that we do not support atomic updates of persistent variables at this time. REVERT: 1c639cf7d Added two payload examples for XPath expression examples. REVERT: efe52d4e7 Initialize rules tmp pool properly. Update to latest core rules. REVERT: a4835b73f Fix bad merge of mem pool fix from trunk. Update to latest core rules. REVERT: 6569c444d Make rules/README UNIX style EOL. Merge another branch/2.1.x change. REVERT: d55e023bf Revert msr_log as macro (still work-in-progress) REVERT: 81d0f84ad Update copyright text to Breach Security, Inc. Merge in changes from branches/2.1.x REVERT: c39723c3a Document SecPdfProtectMethod. REVERT: 74738b29b Added new directive (SecPdfProtectMethod) to enable the user to choose between using token redirection (falling back on forced download in some cases) and forced download (in all cases). REVERT: 8b843127b Revert incorrect change to GET/HEAD detection code. This will teach me to always compile before I commit. REVERT: c7f5dc335 Configure PDF protection by token redirection to only work on GET and HEAD requests. If we attempted to work on other request methods we would probably break something as there is no way to preserve request bodies. The default was previously been to work on all requests. This behavious can still be changed using the SecPdfProtectInterceptGETOnly directive but I am going to leave it undocumented. REVERT: eec279c8d Cleanup code. REVERT: 6350e2bad Do not log alert message for subrequests. See #124. Cleanup CHANGES. REVERT: 23bd6b433 Do not pause if we are not the main request. See #124. REVERT: 46d7a5ec6 Move transformation cache rec def re.h from modsecurity.h REVERT: 71eb6e17a Added XPath references. REVERT: dd6755985 Move the transformation cache recort into re.h. See #14. REVERT: 11456dd87 Use pmFromFile instead of pmfile and p=phrase instead of parallel in docs. See #16. REVERT: e5c00d156 Added rule file/line to audit log messages. See #49. REVERT: f1607d007 Cleanup message output. See #16. REVERT: 86f648d26 Remove extraneous debug log message. REVERT: 84c0ca303 Fixed patch for subrequests to be more complete. See #124. REVERT: e887faac2 Add @pm/@pmfile operators (parallel patch). See #16. REVERT: f53c4241f Add entry to CHANGES. REVERT: db04c6442 Cleanup REVERT: af6160b9c Fixed problem with subrequests not being intercepted. See #124. REVERT: c594c205c Fix new string operators to all resolve macros. Rename startsWith operator in code to match docs. See #54. REVERT: 6cc0173cf Add caching for transformations. See #14. REVERT: 61238ca22 Argh! That last one was not meant to be checked in - reverting 281. REVERT: e11ff8542 Fixed log_escape_raw when length was <= 0 REVERT: 220abd344 Quiet uninitialized warning. REVERT: a1a0c24b8 Do not compile on Solaris with visibility attributes. REVERT: 3fbf2b93c Modify docs for t:urlDecodeUni. (See #122) REVERT: a627e96c7 Lessen "capture" debug log messages. REVERT: eaa8e444d Fixed decoding full-width unicode in t:urlDecodeUni for ASCII range 0xFF01-0xFF5E. Probably need more work/testing. (See #122) REVERT: 97a1718d3 Only calculate debug data when we are debugging. NOTE: Last commit message was wrong. REVERT: e03ea11f9 Only calculate debug data when we are debugging. REVERT: b60f20697 Remove use of GNU extention strnlen(). Fix CHANGES. REVERT: a68eb0488 Add geo lookup support. See #22. REVERT: d8abb48ad Fixed a problem with content injection that resulted in content being injected twice. REVERT: 2733cc739 Do not try to intercept a request after a failed rule. (See #53) REVERT: dfde8169e Documented the PDF XSS protection functionality. It's not much but it will do for now. REVERT: f1d4e0e2f Documented RESPONSE_CONTENT_LENGTH and RESPONSE_CONTENT_TYPE. REVERT: d8418c3aa Documented SecContentInjection, append, and prepend. REVERT: c0c5d8d89 Removed extraneous symbols from dso via DSOLOCAL. REVERT: fca9eabaf Merged the PDF XSS protection functionality into ModSecurity. REVERT: c559f3ee2 Change @eq to @streq. See #54. REVERT: 2aa6e6160 Exported API for registering custom variables. See #120. Simple example in api/mod_var_remote_host_port.c REVERT: b47059a5b Remove docs for HTTP_* vars. See #23. REVERT: cd62f2002 Add docs for new transformations and operators. See #54, #55 and #117. REVERT: 0c234c115 Cleanup debug log output: add rev to 'Invoking rule' line, remove clearing mem pool line. REVERT: fa13b02f7 Updated the CHANGES file with the RESPONSE_* variable changes. REVERT: e0a860292 Added experiemental support for content injection. REVERT: 20c0b11dd Added experimental RESPONSE_CONTENT_LENGTH, RESPONSE_CONTENT_TYPE. REVERT: 3661a294a Added experimental RESPONSE_CONTENT_ENCODING. REVERT: 3f7fc7c75 Added string comparison operators: @contains, @is, @beginsWith and @endsWith with support for macro expansion. See #54. REVERT: 0a1610f85 More debug log enhancements - quote values to easier see whitespace. REVERT: a3c3f25ae Fix macro expansion. See #118. Fix some debug log output to escape NULs properly in preparation for #54. Up version to prepare for 2.2.0 pre-releases. REVERT: b93eef9db Added t:length to transform a value to its character length. See #55. REVERT: 5482606c3 Added t:trimLeft, t:trimRight, t:trim to remove whitespace from a value on the left, right or both. (see trac #117) REVERT: d9a26780a Add SecAuditLog2 directive (trac #102) REVERT: e556a914f Remove tabs REVERT: f2c96bae2 I added notes about accessing response headers in phase:3 and phase:5. REVERT: e72540b0a I added the XML and HTML files for the Migration Matrix doc. REVERT: 82fdc7cf3 Format CHANGES to add space before '*' REVERT: 51a5418b4 Update changes to reflect merges into 2.1.x branch REVERT: eab433187 Add PCRE_DOLLAR_ENDONLY to doc REVERT: 00dcb2714 Add the PCRE_DOLLAR_ENDONLY option when compiling regular expression for the @rx operator and variables. (trac #57) REVERT: a93c77e9a Updated line/num/id debug output with a format that is easier to parse. (trac #47) REVERT: 9e669fcc7 Better CHANGES entry. (trac #43) REVERT: 383119a14 Really set PCRE_DOTALL option when compiling the regular expression for the @rx operator as the docs state. (trac #51) REVERT: f6de76b05 Removed CGI style HTTP_* variables in favor of REQUEST_HEADERS:Header-Name. (trac #23) REVERT: 485c664a4 Enhance debug log output for capturing to detect all regex/capture mismatches (trac #21). REVERT: 891859f9c Revert back to using captured regex execution as it seems to be more effecient as the ovector can be used for working space even if it is not used for captures. Warn when captures are used in the regex, but "capture" not specified. REVERT: 59928bfe6 This was not meant to be checked in yet (trac #42) REVERT: 4676132ed Add the file/line to the rule so we can use it in the debug log and eventually in the alerts. REVERT: 58afede3f Do not log 'allow' action as intercepted in the debug log. REVERT: d1ada359d Optimize regex execution to not capture unless 'capture' action used. REVERT: 09b704f11 Recycle the mptmp pool (trac #43). REVERT: 8876a03ab Recycle the mptmp pool (trac #43). REVERT: f508c0a33 Fix a compile warning. REVERT: 473a471bb Oops, forgot my parens. REVERT: bce096216 Fixed collection variable name printing in debug log (trac #45) REVERT: ab55a8716 Fix potential memory corruption in msre_create_var_ex allocating per-request data out of global pool. REVERT: 8898759c4 Add back the check for overflow on length REVERT: 9b56d6314 More generic Makefile REVERT: 4370819f7 Fixed potential DIV0 when a collection var was fetched in the same second as creation REVERT: 4e02be621 Fixed parsing of ASCIIZ for application/x-www-form-urlencoded forms REVERT: cf024ded0 Fix segfault when logging NULL text during request reading errors and upcoming fix for sending alerts on such errors. REVERT: ebdd0400d Generate an alerts for error log entries for requests we did not process *if* it has a UNIQUE_ID available. REVERT: 8aeff06fc Fixed faulty REQUEST_FILENAME. REVERT: f4fb4ed4f Updates to quiet some compiler warnings. REVERT: 79d232ccf Fixed some casting issues for compiling on NetWare (Guenter Knauf). REVERT: 3e95d3c34 Changed version number to 2.1.0. REVERT: 98188bd9b Document was not valid DocBook. Fixed. REVERT: 6ebecdb3e Small fixes. REVERT: f9999c440 Downgraded 'Connection reset by peer' from ERROR to NOTICE, as it has nothing to do with us. REVERT: b57a1f024 Fixed an invalid conversion specifier. REVERT: 6c5d19ed8 Removed the (harmless) message mentioning LAST_UPDATE_TIME missing. REVERT: 8eb0aa7e4 Updated fix message. REVERT: f807697e3 SecRuleRemoveById was unable to remove a phase 4 rule. REVERT: 08c231a6b Fix some spelling, grammer and formatting issues. REVERT: c48277409 Branched 2.1.0-rc7 REVERT: 3f80fdac3 Import ModSecurity 2.1.0-rc7 git-subtree-dir: src/deps/src/modsecurity git-subtree-split:bbccedbdd5
27 KiB
Plugins
BunkerWeb comes with a plugin system making it possible to easily add new features. Once a plugin is installed, you can manage it using additional settings defined by the plugin.
Official plugins
Here is the list of "official" plugins that we maintain (see the bunkerweb-plugins repository for more information) :
| Name | Version | Description | Link |
|---|---|---|---|
| ClamAV | 1.1 | Automatically scans uploaded files with the ClamAV antivirus engine and denies the request when a file is detected as malicious. | bunkerweb-plugins/clamav |
| Coraza | 1.1 | Inspect requests using a the Coraza WAF (alternative of ModSecurity). | bunkerweb-plugins/coraza |
| CrowdSec | 1.1 | CrowdSec bouncer for BunkerWeb. | bunkerweb-plugins/crowdsec |
| Discord | 1.1 | Send security notifications to a Discord channel using a Webhook. | bunkerweb-plugins/discord |
| Slack | 1.1 | Send security notifications to a Slack channel using a Webhook. | bunkerweb-plugins/slack |
| VirusTotal | 1.1 | Automatically scans uploaded files with the VirusTotal API and denies the request when a file is detected as malicious. | bunkerweb-plugins/virustotal |
| WebHook | 1.1 | Send security notifications to a custom HTTP endpoint using a Webhook. | bunkerweb-plugins/webhook |
How to use a plugin
Automatic
If you want to quickly install external plugins, you can use the EXTERNAL_PLUGIN_URLS setting. It takes a list of URLs, separated with space, pointing to compressed (zip format) archive containing one or more plugin(s).
You can use the following value if you want to automatically install the official plugins : EXTERNAL_PLUGIN_URLS=https://github.com/bunkerity/bunkerweb-plugins/archive/refs/tags/v1.1.zip
Manual
The first step is to install the plugin by putting the plugin files inside the corresponding plugins data folder, the procedure depends on your integration :
=== "Docker"
When using the [Docker integration](integrations.md#docker), plugins must be written to the volume mounted on `/data/plugins` into the scheduler container.
The first thing to do is to create the plugins folder :
```shell
mkdir -p ./bw-data/plugins
```
Then, you can drop the plugins of your choice into that folder :
```shell
git clone https://github.com/bunkerity/bunkerweb-plugins && \
cp -rp ./bunkerweb-plugins/* ./bw-data/plugins
```
Because the scheduler runs as an unprivileged user with UID and GID 101, you will need to edit the permissions :
```shell
chown -R 101:101 ./bw-data
```
Then you can mount the volume when starting your Docker stack :
```yaml
version: '3.5'
services:
...
bw-scheduler:
image: bunkerity/bunkerweb-scheduler:1.5.1
volumes:
- ./bw-data:/data
...
```
=== "Docker autoconf"
When using the [Docker autoconf integration](integrations.md#docker-autoconf), plugins must be written to the volume mounted on `/data/plugins` into the scheduler container.
The first thing to do is to create the plugins folder :
```shell
mkdir -p ./bw-data/plugins
```
Then, you can drop the plugins of your choice into that folder :
```shell
git clone https://github.com/bunkerity/bunkerweb-plugins && \
cp -rp ./bunkerweb-plugins/* ./bw-data/plugins
```
Because the scheduler runs as an unprivileged user with UID and GID 101, you will need to edit the permissions :
```shell
chown -R 101:101 ./bw-data
```
Then you can mount the volume when starting your Docker stack :
```yaml
version: '3.5'
services:
...
bw-scheduler:
image: bunkerity/bunkerweb-scheduler:1.5.1
volumes:
- ./bw-data:/data
...
```
=== "Swarm"
When using the [Swarm integration](integrations.md#swarm), plugins must be written to the volume mounted on `/data/plugins` into the scheduler container.
!!! info "Swarm volume"
Configuring a Swarm volume that will persist when the scheduler service is running on different nodes is not covered is in this documentation. We will assume that you have a shared folder mounted on `/shared` accross all nodes.
The first thing to do is to create the plugins folder :
```shell
mkdir -p /shared/bw-plugins
```
Then, you can drop the plugins of your choice into that folder :
```shell
git clone https://github.com/bunkerity/bunkerweb-plugins && \
cp -rp ./bunkerweb-plugins/* /shared/bw-plugins
```
Because the scheduler runs as an unprivileged user with UID and GID 101, you will need to edit the permissions :
```shell
chown -R 101:101 /shared/bw-plugins
```
Then you can mount the volume when starting your Swarm stack :
```yaml
version: '3.5'
services:
...
bw-scheduler:
image: bunkerity/bunkerweb-scheduler:1.5.1
volumes:
- /shared/bw-plugins:/data/plugins
...
```
=== "Kubernetes"
When using the [Kubernetes integration](integrations.md#kubernetes), plugins must be written to the volume mounted on `/data/plugins` into the scheduler container.
The fist thing to do is to declare a [PersistentVolumeClaim](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) that will contain our plugins data :
```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-bunkerweb-plugins
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
```
You can now add the volume mount and an init containers to automatically provision the volume :
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: bunkerweb-scheduler
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: bunkerweb-scheduler
template:
metadata:
labels:
app: bunkerweb-scheduler
spec:
serviceAccountName: sa-bunkerweb
containers:
- name: bunkerweb-scheduler
image: bunkerity/bunkerweb-scheduler:1.5.1
imagePullPolicy: Always
env:
- name: KUBERNETES_MODE
value: "yes"
- name: "DATABASE_URI"
value: "mariadb+pymysql://bunkerweb:changeme@svc-bunkerweb-db:3306/db"
volumeMounts:
- mountPath: "/data/plugins"
name: vol-plugins
initContainers:
- name: bunkerweb-scheduler-init
image: alpine/git
command: ["/bin/sh", "-c"]
args: ["git clone https://github.com/bunkerity/bunkerweb-plugins /data/plugins && chown -R 101:101 /data/plugins"]
volumeMounts:
- mountPath: "/data/plugins"
name: vol-plugins
volumes:
- name: vol-plugins
persistentVolumeClaim:
claimName: pvc-bunkerweb-plugins
```
=== "Linux"
When using the [Linux integration](integrations.md#linux), plugins must be written to the `/etc/bunkerweb/plugins` folder :
```shell
git clone https://github.com/bunkerity/bunkerweb-plugins && \
cp -rp ./bunkerweb-plugins/* /etc/bunkerweb/plugins && \
chown -R nginx:nginx /etc/bunkerweb/plugins
```
=== "Ansible"
When using the [Ansible integration](integrations.md#ansible), you can use the `plugins` variable to set a local folder containing your plugins that will be copied to your BunkerWeb instances.
Let's assume that you have plugins inside the `bunkerweb-plugins` folder :
```shell
git clone https://github.com/bunkerity/bunkerweb-plugins
```
In your Ansible inventory, you can use the `plugins` variable to set the path of plugins folder :
```ini
[mybunkers]
192.168.0.42 ... custom_plugins="{{ playbook_dir }}/bunkerweb-plugins"
```
Or alternatively, in your playbook file :
```yaml
- hosts: all
become: true
vars:
- custom_plugins: "{{ playbook_dir }}/bunkerweb-plugins"
roles:
- bunkerity.bunkerweb
```
Run the playbook :
```shell
ansible-playbook -i inventory.yml playbook.yml
```
=== "Vagrant"
When using the [Vagrant integration](integrations.md#vagrant), plugins must be written to the `/etc/bunkerweb/plugins` folder (you will need to do a `vagrant ssh` first) :
```shell
git clone https://github.com/bunkerity/bunkerweb-plugins && \
cp -rp ./bunkerweb-plugins/* /etc/bunkerweb/plugins
```
Writing a plugin
!!! tip "Existing plugins"
If the documentation is not enough, you can have a look at the existing source code of [official plugins](https://github.com/bunkerity/bunkerweb-plugins) and the [core plugins](https://github.com/bunkerity/bunkerweb/tree/v1.5.1/src/common/core) (already included in BunkerWeb but they are plugins, technically speaking).
The first step is to create a folder that will contain the plugin :
mkdir myplugin && \
cd myplugin
Metadata
A file named plugin.json and written at the root of the plugin folder must contain metadata about the plugin. Here is an example :
{
"id": "myplugin",
"name": "My Plugin",
"description": "Just an example plugin.",
"version": "1.0",
"stream": "partial",
"settings": {
"DUMMY_SETTING": {
"context": "multisite",
"default": "1234",
"help": "Here is the help of the setting.",
"id": "dummy-id",
"label": "Dummy setting",
"regex": "^.*$",
"type": "text"
}
},
"jobs": [
{
"name": "my-job",
"file": "my-job.py",
"every": "hour"
}
]
}
Here are the details of the fields :
| Field | Mandatory | Type | Description |
|---|---|---|---|
id |
yes | string | Internal ID for the plugin : must be unique among other plugins (including "core" ones) and contain only lowercase chars. |
name |
yes | string | Name of your plugin. |
description |
yes | string | Description of your plugin. |
version |
yes | string | Version of your plugin. |
stream |
yes | string | Information about stream support : no, yes or partial. |
settings |
yes | dict | List of the settings of your plugin. |
jobs |
no | list | List of the jobs of your plugin. |
Each setting has the following fields (the key is the ID of the settings used in a configuration) :
| Field | Mandatory | Type | Description |
|---|---|---|---|
context |
yes | string | Context of the setting : multisite or global. |
default |
yes | string | The default value of the setting. |
help |
yes | string | Help text about the plugin (shown in web UI). |
id |
yes | string | Internal ID used by the web UI for HTML elements. |
label |
yes | string | Label shown by the web UI. |
regex |
yes | string | The regex used to validate the value provided by the user. |
type |
yes | string | The type of the field : text, check, select or password. |
multiple |
no | string | Unique ID to group multiple settings with numbers as suffix. |
select |
no | list | List of possible string values when type is select. |
Each job has the following fields :
| Field | Mandatory | Type | Description |
|---|---|---|---|
name |
yes | string | Name of the job. |
file |
yes | string | Name of the file inside the jobs folder. |
every |
yes | string | Job scheduling frequency : minute, hour, day, week or once (no frequency, only once before (re)generating the configuration). |
Configurations
You can add custom NGINX configurations by adding a folder named confs with content similar to the custom configurations. Each subfolder inside the confs will contain jinja2 templates that will be generated and loaded at the corresponding context (http, server-http, default-server-http, stream and server-stream).
Here is an example for a configuration template file inside the confs/server-http folder named example.conf :
location /setting {
default_type 'text/plain';
content_by_lua_block {
ngx.say('{{ DUMMY_SETTING }}')
}
}
{{ DUMMY_SETTING }} will be replaced by the value of the DUMMY_SETTING chosen by the user of the plugin.
LUA
Main script
Under the hood, BunkerWeb is using the NGINX LUA module to execute code within NGINX. Plugins that need to execute code must provide a lua file at the root directory of the plugin folder using the id value of plugin.json as its name. Here is an example named myplugin.lua :
local class = require "middleclass"
local plugin = require "bunkerweb.plugin"
local utils = require "bunkerweb.utils"
local myplugin = class("myplugin", plugin)
function myplugin:initialize()
plugin.initialize(self, "myplugin")
self.dummy = "dummy"
end
function myplugin:init()
self.logger:log(ngx.NOTICE, "init called")
return self:ret(true, "success")
end
function myplugin:set()
self.logger:log(ngx.NOTICE, "set called")
return self:ret(true, "success")
end
function myplugin:access()
self.logger:log(ngx.NOTICE, "access called")
return self:ret(true, "success")
end
function myplugin:log()
self.logger:log(ngx.NOTICE, "log called")
return self:ret(true, "success")
end
function myplugin:log_default()
self.logger:log(ngx.NOTICE, "log_default called")
return self:ret(true, "success")
end
function myplugin:preread()
self.logger:log(ngx.NOTICE, "preread called")
return self:ret(true, "success")
end
function myplugin:log_stream()
self.logger:log(ngx.NOTICE, "log_stream called")
return self:ret(true, "success")
end
return myplugin
The declared functions are automatically called during specific contexts. Here are the details of each function :
| Function | Context | Description | Return value |
|---|---|---|---|
init |
init_by_lua | Called when NGINX just started or received a reload order. the typical use case is to prepare any data that will be used by your plugin. | ret, msg
|
set |
set_by_lua | Called before each request received by the server.The typical use case is for computing before access phase. | ret, msg
|
access |
access_by_lua | Called on each request received by the server. The typical use case is to do the security checks here and deny the request if needed. | ret, msg,status,redirect
|
log |
log_by_lua | Called when a request has finished (and before it gets logged to the access logs). The typical use case is to make stats or compute counters for example. | ret, msg
|
log_default |
log_by_lua | Same as log but only called on the default server. |
ret, msg
|
preread |
preread_by_lua | Similar to the access function but for stream mode. |
ret, msg,status
|
log_stream |
log_by_lua | Similar to the log function but for stream mode. |
ret, msg
|
Libraries
All directives from NGINX LUA module and are available and NGINX stream LUA module. On top of that, you can use the LUA libraries included within BunkerWeb : see this script for the complete list.
If you need additional libraries, you can put them in the root folder of the plugin and access them by prefixing them with your plugin ID. Here is an example file named mylibrary.lua :
local _M = {}
_M.dummy = function ()
return "dummy"
end
return _M
And here is how you can use it from the myplugin.lua file :
local mylibrary = require "myplugin.mylibrary"
...
mylibrary.dummy()
...
Helpers
Some helpers modules provide common helpful helpers :
self.variables: allows to access and store plugins' attributesself.logger: print logsbunkerweb.utils: various useful functionsbunkerweb.datastore: access the global shared data on one instance (key/value store)bunkerweb.clusterstore: access a Redis data store shared beetween BunkerWeb instances (key/value store)
To access the functions, you first need to require the modules :
local utils = require "bunkerweb.utils"
local datastore = require "bunkerweb.datastore"
local clustestore = require "bunkerweb.clustertore"
Retrieve a setting value :
local myvar = self.variables["DUMMY_SETTING"]
if not myvar then
self.logger:log(ngx.ERR, "can't retrieve setting DUMMY_SETTING")
else
self.logger:log(ngx.NOTICE, "DUMMY_SETTING = " .. value)
end
Store something in the local cache :
local ok, err = self.datastore:set("plugin_myplugin_something", "somevalue")
if not ok then
self.logger:log(ngx.ERR, "can't save plugin_myplugin_something into datastore : " .. err)
else
self.logger:log(ngx.NOTICE, "successfully saved plugin_myplugin_something into datastore")
end
Check if an IP address is global :
local ret, err = utils.ip_is_global(ngx.ctx.bw.remote_addr)
if ret == nil then
self.logger:log(ngx.ERR, "error while checking if IP " .. ngx.ctx.bw.remote_addr .. " is global or not : " .. err)
elseif not ret then
self.logger:log(ngx.NOTICE, "IP " .. ngx.ctx.bw.remote_addr .. " is not global")
else
self.logger:log(ngx.NOTICE, "IP " .. ngx.ctx.bw.remote_addr .. " is global")
end
!!! tip "More examples"
If you want to see the full list of available functions, you can have a look at the files present in the [lua directory](https://github.com/bunkerity/bunkerweb/tree/v1.5.1/src/bw/lua/bunkerweb) of the repository.
Jobs
BunkerWeb uses an internal job scheduler for periodic tasks like renewing certificates with certbot, downloading blacklists, downloading MMDB files, ... You can add tasks of your choice by putting them inside a subfolder named jobs and listing them in the plugin.json metadata file. Don't forget to add the execution permissions for everyone to avoid any problems when a user is cloning and installing your plugin.
Plugin page
Plugin pages are used to display information about your plugin and interact with the user inside the plugins section of the web UI.
Everything related to the web UI is located inside a subfolder named ui at the root directory of your plugin. A template file named template.html and located inside the ui subfolder contains the client code and logic to display your page. Another file named actions.py and also located inside the ui subfolder contains code that will be executed when the user is interacting with your page (filling a form for example).
!!! info "Jinja 2 template" The template.html file is a Jinja2 template, please refer to the Jinja2 documentation if needed.
A plugin page can have a form that is used to submit data to the plugin. To get the values of the form, you need to put a actions.py file in the ui folder. Inside the file, you must define a function that has the same name as the plugin. This function will be called when the form is submitted. You can then use the request object (from the Flask library) to get the values of the form. The form's action must finish with /plugins/<plugin_id>. The helper function url_for will generate for you the prefix of the URL : {{ url_for('plugins') }}/plugin_id.
If you want to display variables generated from your actions.py in your template file, you can return a dictionary with variables name as keys and variables value as values. Here is dummy example where we return a single variable :
def myplugin() :
return {"foo": "bar"}
And we display it in the template.html file :
{% if foo %}
Content of foo is : {{ foo }}.
{% endif %}
Please note that every form submission is protected via a CSRF token, you will need to include the following snippet into your forms :
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
Retrieving user submitted data is pretty simple, thanks to the request module provided by Flask :
from flask import request
def myplugin() :
my_form_value = request.form["my_form_input"]
!!! info "Python libraries"
You can use Python libraries that are already available like :
Flask, Flask-Login, Flask-WTF, beautifulsoup4, docker, Jinja2, python-magic and requests. To see the full list, you can have a look at the Web UI requirements.txt. If you need external libraries, you can install them inside the ui folder of your plugin and then use the classical import directive.