-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enforce YAJL mandatory dependency in configuration and codebase #3151
base: v3/master
Are you sure you want to change the base?
Enforce YAJL mandatory dependency in configuration and codebase #3151
Conversation
Thanks for this great PR again. I know I suggested to remove the optional state of libxml and libyaml, but now I thought it again - I think we should check the most popular architectures that each of them has both libxml and libyaml support (also pcre2). Eg. libmodsecurity is available on all platform in Debian, but libxml2 does not supported on ia64. I don't think this is a big problem, but may be we have to consider it. (I just checked libxml2 and only in case of Debian). May be we should ask the community - not just here, but on Slack. What do you think? |
Of course, I think it makes sense to check. With regards to ia64 (Itanium), it was discontinued by Intel back in 2020. Debian last release with support for ia64 was Debian 7 (wheezy) from 2016. They're now on Debian 12 and have support for just their last three releases (external paid support extends to Debian 8). So I guess this in particular won't be an issue. :-) |
A quick note on performance comparing the pcre & pcre2 builds (v3/master vs this branch), running the benchmark test with 100.000 requests (instead of 1.000.000). These were run on a couple of local environments, so they're provided just as a reference.
I think these indicate that there's no significant difference in performance between these two versions of the library. NOTE: I couldn't include a run on Windows from a different environment because work on PR #3132 only includes support to build with pcre2 already. |
Sure, I don't think that's a real issue (moreover check the build results of the package in Debian SID here; rows with darker background means that architecture is supported, but not mandatory; so it's no problem if the build fails there). I just thought we should think it over again, and perhaps we might ask the community - eg. ask them on Slack (or Twitter? 😄) |
Thanks for these tests!
yes, I didn't expect that there are any significant differences. But yes, it's good to see the fact.
Even though this PR is not actual at the moment, would you mind to create a separated PR where the PCRE2 will be the default regex engine? |
I'm updating the PR to simplify it and just focus on YAJL. The changes to make libxml2 and pcre2 mandatory can be resumed when there's feedback on that. |
9288a3a
to
ce49c8a
Compare
ce49c8a
to
d3b3d19
Compare
|
The goal of this PR is to enforce YAJL being a mandatory dependencies during configuration and simplify the codebase. Work on this PR originated in discussions about mandatory dependencies in PR #3144 and initially in this comment.
Summary of the changes: