[Privoxy-devel] pcre2 support

Gagan Sidhu broly at mac.com
Mon Mar 6 19:18:33 CET 2023


hi,

i saw the discussion about updating to pcre2, and i am sure it is more difficult than i think it is.

nonetheless i thought posting on sourceforge was the right place, but i didn’t realise there was a mailing list.

in follow-up to the discussion here; https://lists.privoxy.org/pipermail/privoxy-devel/2021-November/000505.html

and the “to-do” on sourceforge here: 

https://sourceforge.net/p/ijbswa/bugs/935/

i made a comment, which i will repost (with the “patch”) and solicit feedback.

i was hoping one of you would test it, and fix it wherever necessary.

main observations:

1. privoxy uses a custom match structure (pcrs_match) that cannot be accommodated with pcre2, which provides an opaque pcre2_data_match structure instead. 
	- i am not certain if the absence of pcre_extra is as-important, given that pcre2's equivalent of pcre_exec (pcre_match) no longer accepts this as an argument.

thankfully, i think we can use will rowe's patch for apache’s httpd 2.4.x to make the transition much easier:
	- https://github.com/apache/httpd/commit/c602ba14811ede722017c4e59e4e30d9990227b4

i have provided my own shitty patch that's attached. 

what makes me wonder if this patch may actually work (it compiles) is the ovector pointer variable. 

since we allocate a pcre2_data_match structure (i assign it to the dummy variable), which presumably contains all of the matches from the pcre2_match call, i am curious if the ovector pointer variable (which i assign to outputs) enables analogous behaviour, since you're dumping the results of pcre_exec to outputs.

anyways, here's the patch. like i said, it's not perfect. i hate autoconf as well. 
	-but the fans of my DD-WRT firmware probably miss privoxy since everything else is on pcre2, and i had to remove it due to space limitations.

i thought i'd give it a try and i am hoping some of this stuff will help speed up the process.

Thanks,
Gagan


More information about the Privoxy-devel mailing list