Skip to content

Commit bc40c18

Browse files
committed
Updated information about mandatory dependencies.
1 parent 878682f commit bc40c18

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,25 @@ Windows build information can be found [here](build/win32/README.md).
7575

7676
## Dependencies
7777

78-
This library is written in C++ using the C++17 standards. It also uses Flex
79-
and Yacc to produce the “Sec Rules Language” parser. Other, mandatory dependencies include YAJL, as ModSecurity uses JSON for producing logs and its testing framework, libpcre (not yet mandatory) for processing regular expressions in SecRules, and libXML2 (not yet mandatory) which is used for parsing XML requests.
78+
This library is written in C++ using the C++17 standard.
8079

81-
All others dependencies are related to operators specified within SecRules or configuration directives and may not be required for compilation. A short list of such dependencies is as follows:
80+
The following dependencies are used to build libModSecurity:
8281

83-
* libinjection is needed for the operator @detectXSS and @detectSQL
84-
* curl is needed for the directive SecRemoteRules.
82+
* Flex and Yacc to produce the “Sec Rules Language” parser.
83+
* YAJL, as ModSecurity uses JSON for producing logs and its testing framework.
84+
* PCRE or PCRE2 for processing regular expressions in SecRules.
85+
* libinjection for the operators [@detectXSS](../../wiki/Reference-Manual-(v3.x)#detectxss) and [@detectSQL](../../wiki/Reference-Manual-(v3.x)#detectsqli).
86+
* Mbed TLS for basic encoding/hashing functions (base64, md5 & sha1).
8587

86-
If those libraries are missing ModSecurity will be compiled without the support for the operator @detectXSS and the configuration directive SecRemoteRules.
88+
All others dependencies are related to operators specified within SecRules or configuration directives and may not be required for compilation. If those libraries are missing ModSecurity will be compiled without the support for the associated operator or configuration directive.
89+
90+
A short list of such dependencies is as follows:
91+
92+
* libXML2 which for parsing XML requests.
93+
* curl is needed for the directive [SecRemoteRules](../../wiki/Reference-Manual-(v3.x)#user-content-SecRemoteRules).
94+
* LUA is needed for the directive [SecRuleScript](../../wiki/Reference-Manual-(v3.x)#secrulescript).
95+
* GeoIP/MaxMind to perform geolocation lookups using operator [geoLookup](../../wiki/Reference-Manual-(v3.x)%29#geolookup)
96+
* ssdeep is needed for the operator [fuzzyHash](../../wiki/Reference-Manual-(v3.x)%29#fuzzyhash).
8797

8898
# Library documentation
8999

0 commit comments

Comments
 (0)