Re: [VOTE] Switch read/write repository from Subversion to Git

2023-05-04 Thread Ivan Zhakov
On 2023/05/04 08:34:32 Ruediger Pluem wrote: > This is a formal vote on whether we should move our read/write repository > from Subversion to Git. > This means that our latest read/write repository will be no longer available > via svn.apache.org. It > will be available via Git at >

Re: svn commit: r1902572 - /httpd/httpd/trunk/server/util_pcre.c

2022-08-01 Thread Ivan Zhakov
On 2022/07/29 06:19:03 Ruediger Pluem wrote: > > > On 7/16/22 10:28 AM, Ivan Zhakov wrote: > > On Wed, 13 Jul 2022 at 18:06, Yann Ylavic > <mailto:ylavic@gmail.com>> wrote: > > > > On Wed, Jul 13, 2022 at 1:38 PM Ivan Zh

Re: svn commit: r1902572 - /httpd/httpd/trunk/server/util_pcre.c

2022-07-16 Thread Ivan Zhakov
On Wed, 13 Jul 2022 at 18:06, Yann Ylavic wrote: > On Wed, Jul 13, 2022 at 1:38 PM Ivan Zhakov wrote: > > > > On Sun, 10 Jul 2022 at 19:52, Yann Ylavic wrote: > > > > > > Let me explain (maybe), I thought that PCRE2's match_data were not > > > only c

Re: svn commit: r1902572 - /httpd/httpd/trunk/server/util_pcre.c

2022-07-13 Thread Ivan Zhakov
On Sun, 10 Jul 2022 at 19:52, Yann Ylavic wrote: > > On Fri, Jul 8, 2022 at 7:15 PM Ivan Zhakov wrote: > > > > On Fri, 8 Jul 2022 at 19:58, Yann Ylavic wrote: > > > > > > The main downside is: > > > > > > > +#ifndef AP_PCRE_

Re: Issues with shipping apr_thread_current() in APR 1.8.0 and an alternative approach for PCRE2 allocations in HTTPD

2022-07-12 Thread Ivan Zhakov via dev
On Wed, 29 Jun 2022 at 01:28, Yann Ylavic wrote: > > On Tue, Jun 28, 2022 at 6:08 PM Ivan Zhakov wrote: > > > > On Tue, 28 Jun 2022 at 00:24, Yann Ylavic wrote: > > > > > > Hi Ivan, > > > > > > On Mon, Jun 27, 2022 at 8:19 PM Ivan Zhakov

Re: [PATCH] Rewrite ap_regexec() without using thread-local storage and malloc()/free() (was: Issues with shipping apr_thread_current() in APR 1.8.0 and an alternative approach for PCRE2 allocations i

2022-07-11 Thread Ivan Zhakov via dev
On Fri, 8 Jul 2022 at 19:15, Ivan Zhakov wrote: > > On Thu, 30 Jun 2022 at 20:14, Ivan Zhakov wrote: > > > > > > > I think that we could try an alternative approach for that part of > > > > > the problem. The alternative approach would have the same

Re: h2 worker pool -> mpm worker pool

2022-07-11 Thread Ivan Zhakov via dev
On Mon, 11 Jul 2022 at 10:17, Stefan Eissing wrote: > > > > Am 10.07.2022 um 18:56 schrieb Ivan Zhakov : > > > > On Mon, 20 Jun 2022 at 11:24, Stefan Eissing wrote: > > I would like to move the h2 worker pool into the mpm at some time in the > future. To be

Re: h2 worker pool -> mpm worker pool

2022-07-10 Thread Ivan Zhakov via dev
stion is what API would be suitable to implement for different MPM. Can we use something like implemented by APR threadpool: threadpool_task_push() threadpool_task_cancel() threadpool_task_schedule(apr_interval_t) ? -- Ivan Zhakov

Re: svn commit: r1902572 - /httpd/httpd/trunk/server/util_pcre.c

2022-07-08 Thread Ivan Zhakov via dev
er do I see > what are your grievances against thread_local.. > 1. tls storage is growing to maximum captures count. So it requires more than one or two allocations. 2. tls storage doesn't support dynamic MPM that uses native threads 3. access to tls storage requires hash lookup. 4. Windows build is currently broken due to tls storage API changes. 5. Using tls reserves the memory, even if pcre is not being used afterwards. This can be thought as of implicitly increasing the per-thread stack size. 6. With new code there will be no actual allocations in real-world cases. -- Ivan Zhakov

Re: svn commit: r1897460 - in /httpd/httpd/trunk: include/ modules/core/ modules/http2/ modules/ssl/ server/ server/mpm/event/ server/mpm/prefork/ server/mpm/winnt/ server/mpm/worker/

2022-07-08 Thread Ivan Zhakov via dev
r/util_pcre.c (original) > +++ httpd/httpd/trunk/server/util_pcre.c Tue Jan 25 17:34:57 2022 > @@ -269,7 +269,7 @@ AP_DECLARE(int) ap_regcomp(ap_regex_t * > * context per thread (in Thread Local Storage, TLS) grown as needed, and > while > * at it we do the same for PCRE1 ints vectors. Note that this requires a > fast > * TLS mechanism to be worth it, which is the case of > apr_thread_data_get/set() > - * from/to apr_thread_current() when APR_HAS_THREAD_LOCAL; otherwise we'll do > + * from/to ap_thread_current() when AP_HAS_THREAD_LOCAL; otherwise we'll do > * the allocation and freeing for each ap_regexec(). > */ > > @@ -318,7 +318,7 @@ void free_match_data(match_data_pt data, > #endif > } > > -#if APR_HAS_THREAD_LOCAL > +#if AP_HAS_THREAD_LOCAL > > struct apreg_tls { > match_data_pt data; > @@ -342,10 +342,10 @@ static match_data_pt get_match_data(apr_ > apr_thread_t *current; > struct apreg_tls *tls = NULL; > > -/* Even though APR_HAS_THREAD_LOCAL, we may still be called by a > +/* Even though AP_HAS_THREAD_LOCAL, we may still be called by a > * native/non-apr thread, let's fall back to alloc/free in this case. > */ > -current = apr_thread_current(); > +current = ap_thread_current(); > if (!current) { > *to_free = 1; > return alloc_match_data(size, ovector, small_vector); > @@ -391,7 +391,7 @@ static match_data_pt get_match_data(apr_ > return tls->data; > } > > -#else /* !APR_HAS_THREAD_LOCAL */ > +#else /* !AP_HAS_THREAD_LOCAL */ > > static APR_INLINE match_data_pt get_match_data(apr_size_t size, > match_vector_pt *ovector, > @@ -402,7 +402,7 @@ static APR_INLINE match_data_pt get_matc > return alloc_match_data(size, ovector, small_vector); > } > > -#endif /* !APR_HAS_THREAD_LOCAL */ > +#endif /* !AP_HAS_THREAD_LOCAL */ > > AP_DECLARE(int) ap_regexec(const ap_regex_t *preg, const char *string, > apr_size_t nmatch, ap_regmatch_t *pmatch, > > -- Ivan Zhakov

Re: [PATCH] Rewrite ap_regexec() without using thread-local storage and malloc()/free() (was: Issues with shipping apr_thread_current() in APR 1.8.0 and an alternative approach for PCRE2 allocations i

2022-07-08 Thread Ivan Zhakov via dev
On Thu, 30 Jun 2022 at 20:14, Ivan Zhakov wrote: > > > > > I think that we could try an alternative approach for that part of the > > > > problem. The alternative approach would have the same characteristics > > > > as the approach that had been used for

[PATCH] Rewrite ap_regexec() without using thread-local storage and malloc()/free() (was: Issues with shipping apr_thread_current() in APR 1.8.0 and an alternative approach for PCRE2 allocations in HT

2022-06-30 Thread Ivan Zhakov
cate for the number of captures in the regular expression (preg->re_nsub). An additional improvement would be to cap the allocation size based on the passed-in limit (nmatch). I'll try to handle that separately. Thoughts? -- Ivan Zhakov Index: server/util_pcre.c =

Re: Issues with shipping apr_thread_current() in APR 1.8.0 and an alternative approach for PCRE2 allocations in HTTPD

2022-06-28 Thread Ivan Zhakov
On Tue, 28 Jun 2022 at 00:24, Yann Ylavic wrote: > > Hi Ivan, > > On Mon, Jun 27, 2022 at 8:19 PM Ivan Zhakov wrote: > > > > For the longer version, let me first outline a few problems with the > > current apr_thread_current() API: > > > > 1) ap

Issues with shipping apr_thread_current() in APR 1.8.0 and an alternative approach for PCRE2 allocations in HTTPD

2022-06-27 Thread Ivan Zhakov
) a try. Thoughts? -- Ivan Zhakov

Re: svn commit: r1901500 - in /httpd/httpd/trunk: include/http_protocol.h server/protocol.c

2022-06-08 Thread Ivan Zhakov
Yes, I see now. But it will be an incorrect value in case of a string larger than INT_MAX. Not a big issue, but IMHO strings larger than INT_MAX also are not big issue. On Wed, 8 Jun 2022 at 18:26, Eric Covener wrote: > > On Wed, Jun 8, 2022 at 11:10 AM Ivan Zhakov wrote: > > >

Re: svn commit: r1901500 - in /httpd/httpd/trunk: include/http_protocol.h server/protocol.c

2022-06-08 Thread Ivan Zhakov
{ > +int rc; > + > +rc = ap_rwrite(str, INT_MAX, r); > +if (rc < 0) { > +return rc; > +} > +else { > +str += INT_MAX; > + len -= INT_MAX; > +} > +} > +} After this change apr_rputs() doesn't return value. -- Ivan Zhakov

Re: [VOTE] Release httpd-2.4.48

2021-05-23 Thread Ivan Zhakov
were the one to ask, I would say that r1889793 is too large to be released in a patch release, and should instead be included in 2.6.x. -- Ivan Zhakov

Re: [VOTE] Release httpd-2.4.47

2021-04-29 Thread Ivan Zhakov
s. Unfortunately, I don't have time right now to investigate this issue further, but I think it's a critical regression for the patch release. [1] https://tools.ietf.org/html/rfc7232#section-4.1 -- Ivan Zhakov

Re: svn commit: r1881590 - /httpd/httpd/trunk/modules/http/http_filters.c

2020-09-10 Thread Ivan Zhakov
able_unset(r->headers_out, "Content_Length"); > + apr_table_unset(r->headers_out, "Content_MD5"); > + apr_table_unset(r->headers_out, "Content_Range"); > + apr_table_unset(r->headers_out, "ETag"); > + apr_table_unset(r->headers_out, "TE"); > + apr_table_unset(r->headers_out, "Trailer"); > + apr_table_unset(r->headers_out, "Transfer_Encoding"); > Maybe I am missing some context, but header names use dash, not underscore. I.e Content-Encoding, not Content_Encoding. -- Ivan Zhakov

Re: [PATCH] Return HTTP 431 (Request Header Fields Too Large) for requests with large headers

2019-08-27 Thread Ivan Zhakov
On Tue, 27 Aug 2019 at 19:04, Roy T. Fielding wrote: > > > On Aug 27, 2019, at 5:19 AM, Ivan Zhakov wrote: > > > > On Wed, 14 Mar 2018 at 10:05, Ivan Zhakov wrote: > >> > >> Hi, > >> > >> Please find patch that changes HTTPD to return HTT

Re: [PATCH] Return HTTP 431 (Request Header Fields Too Large) for requests with large headers

2019-08-27 Thread Ivan Zhakov
On Wed, 14 Mar 2018 at 10:05, Ivan Zhakov wrote: > > Hi, > > Please find patch that changes HTTPD to return HTTP 431 (Request > Header Fields Too Large) for requests with large headers. This status > code is defined by RFC 6585 [1]. Currently HTTPD returns generic HTTP > 400

Re: svn commit: r1748461 - in /httpd/httpd/branches/2.2.x: ./ CHANGES support/ab.c

2018-10-14 Thread Ivan Zhakov
On Sat, 13 Oct 2018 at 23:37, William A Rowe Jr wrote: > > On Sat, Oct 13, 2018 at 2:06 PM Ivan Zhakov wrote: >> >> On Sat, 13 Oct 2018 at 20:00, Gregg Smith wrote: >>> >>> On 10/13/2018 8:32 AM, William A Rowe Jr wrote: >>> > Sorry, I don't

Re: svn commit: r1748461 - in /httpd/httpd/branches/2.2.x: ./ CHANGES support/ab.c

2018-10-13 Thread Ivan Zhakov
ilding mod_ssl with OpenSSL compiled with option --no-stdio. -- Ivan Zhakov

[PATCH] Return HTTP 431 (Request Header Fields Too Large) for requests with large headers

2018-03-14 Thread Ivan Zhakov
://tools.ietf.org/html/rfc6585#section-5 -- Ivan Zhakov Index: include/httpd.h === --- include/httpd.h (revision 1801146) +++ include/httpd.h (working copy) @@ -567,6 +567,7 @@ ((x

Re: svn commit: r1810012 - in /httpd/httpd/branches/2.4.x: libhttpd.dsp libhttpd.mak

2017-10-10 Thread Ivan Zhakov
EP)" > +ALL : "gen_test_char - Win32 Debug" "libaprutil - Win32 Debug" "libapriconv > - Win32 Debug" "libapr - Win32 Debug" ".\server\test_char.h" > ".\include\mod_watchdog.h" ".\include\mod_so.h" ".\include\mod

[PATCH] Remove unused enum values in mpm_winnt

2017-07-06 Thread Ivan Zhakov
Please find attached patch that removes unused values of io_state_e enum in mpm_winnt. -- Ivan Zhakov Index: server/mpm/winnt/child.c === --- server/mpm/winnt/child.c(revision 1801088) +++ server/mpm/winnt/child.c(working

Re: 2.2 and 2.4 and 2.6/3.0

2015-05-27 Thread Ivan Zhakov
committer, but I'm Subversion committer so I'm familiar with httpd code. -- Ivan Zhakov

Re: apr_pollcb

2015-03-13 Thread Ivan Zhakov
. -- Ivan Zhakov

Re: apr_pollcb

2015-03-12 Thread Ivan Zhakov
abstraction that is responsible for I/O and waiting for completion. [1] http://www.ulduzsoft.com/2014/01/practical-difference-between-epoll-and-windows-io-completion-ports-iocp/ -- Ivan Zhakov

Re: svn commit: r1526666 - in /httpd/httpd/trunk: CHANGES docs/log-message-tags/next-number server/mpm/winnt/child.c server/mpm/winnt/mpm_winnt.c server/mpm/winnt/mpm_winnt.h

2013-09-27 Thread Ivan Zhakov
and child could not have required permissions if compiled on Windows Vista [1]. It' better to request only required SYNCHRONIZE permission. -- Ivan Zhakov CTO | VisualSVN | http://www.visualsvn.com

Re: [ANNOUNCEMENT] Apache HTTP Server 2.2.12 Released

2009-07-31 Thread Ivan Zhakov
find Windows _source_ package for Apache 2.2.12. I mean zip archive like this http://www.apache.org/dist/httpd/httpd-2.2.11-win32-src-r2.zip. Is Windows source package also unofficial? -- Ivan Zhakov VisualSVN Team

Re: [ANNOUNCEMENT] Apache HTTP Server 2.2.12 Released

2009-07-31 Thread Ivan Zhakov
On Fri, Jul 31, 2009 at 11:11 AM, William A. Rowe, Jr.wr...@rowe-clan.net wrote: Ivan Zhakov wrote: I cannot find Windows _source_ package for Apache 2.2.12. I mean zip archive like this http://www.apache.org/dist/httpd/httpd-2.2.11-win32-src-r2.zip. Is Windows source package also unofficial

Apache requires read permissions for parent directories of configuration files

2009-06-22 Thread Ivan Zhakov
=90571 -- Ivan Zhakov VisualSVN Team --- server\config.c.orig 2008-12-02 16:28:22.0 +0300 +++ server\config.c 2009-06-21 23:35:24.41200 +0400 @@ -1351,8 +1351,8 @@ { char *newpath = NULL; apr_status_t rv; -rv = apr_filepath_merge(newpath, ap_server_root, file

Re: mpm_winnt incompatible and broken behavior on restart

2005-10-13 Thread Ivan Zhakov
On 10/13/05, Bill Stoddard [EMAIL PROTECTED] wrote: Ivan Zhakov wrote: Hi!We have Apache/Subversion server under Windows Server 2003. And I wascome into problem with restarting server that process long request(more than 180 seconds). It's usual for bug Subversion repository. Isee messages

mpm_winnt incompatible and broken behavior on restart

2005-10-12 Thread Ivan Zhakov
worker threads. Why is it? Why mpm_winnt behavior incompatible to perfork behavior which waits infinityle for stopping child processes? It causes really problems on maintance and also doesn't permit use MaxRequestsPerChild option. PS: Sorry if it is not right place for such questions. -- Ivan Zhakov