RE: Time for 2.4.11
Hello, Someone from this list pointed out that he had issues opening *.msg attachment. Now, I re-attach the plain text of the email I sent last week. Hope it works for all of you. I just want to check the status of the SO_REUSEPORT patch. Please let me know if you have any issues backport it. It has already been trunked for 7 months. After several modifications, we think it is ready to go to stable. Also, we have completed tests on all the existing 4 MPMs and different usage cases. Results look good to us. Please let me know. Thanks, Yingqi -Original Message- From: Lu, Yingqi [mailto:yingqi...@intel.com] Sent: Wednesday, January 14, 2015 9:20 AM To: dev@httpd.apache.org Subject: RE: Time for 2.4.11 I just want to check what the status on the SO_REUSEPORT patch is. Do you see any issues backport it? Please let me know. Attached is the email I sent last week on the same topic in case you missed that. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 4:54 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :) From: Lu, Yingqi yingqi...@intel.com Sent: Friday, January 09, 2015 9:57 AM To: dev@httpd.apache.org Subject:RE: Time for 2.4.11 Hi Jim, Thanks for your email. I think it should not be very hard to back port. After you trunked the original patch last June, I was working with Yann Ylavic last November to fix some minor issues. With current trunked code, there is no major API change to 2.4 version and we have tested with multiple workloads and usage cases for all 4 existing MPMs. It looks good to us. Please note, with current code, there is a new configurable flag called ListenCoresBucketsRatio. The default value is 0 which means SO_REUSEPORT is disabled. This is different than the original patch. The reason Yann decided to choose the opt-in way because he finds it safer, especially for backports to stable. Given this said, I think it would be a good idea to add some document to introduce the feature and the flag itself. This would allow users to take advantage of this. Please let me know if you have any questions. Again, thanks very much for the help, really appreciated! The whole work can be followed in three threads with name: 1. [PATCH ASF bugzilla# 55897]prefork_mpm patch with SO_REUSEPORT support 2. svn commit: r1599531 - in /httpd/httpd/trunk: CHANGES include/ap_listen.h server/listen.c server/mpm/event/event.c server/mpm/prefork/prefork.c server/mpm/worker/worker.c server/mpm_unix.c 3. Listeners buckets and duplication w/ and w/o SO_REUSEPORT on trunk Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Friday, January 09, 2015 5:47 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Let me look... how easy is the backport? On Jan 8, 2015, at 12:22 PM, Lu, Yingqi yingqi...@intel.com wrote: Hi All, Can we make the SO_REUSEPORT support into this new stable version? The first version of the patch was trunked last June. After tests and modifications, I think it is ready to go. Please let me know what you think. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Thursday, January 08, 2015 3:12 AM To: httpd Subject: Time for 2.4.11 Let's shoot for a TR next week. The work will keep me warm :)
Re: svn commit: r1651656 - in /httpd/httpd/branches/2.4.x: CHANGES server/mpm/event/event.c
On Wed, Jan 14, 2015 at 5:25 PM, Marion Christophe JAILLET christophe.jail...@wanadoo.fr wrote: Has really been merged into 2.4.x or is it an error ??? Error. I even double-checked in my email and missed it -- thanks.
RE: Time for 2.4.11
Hi Jim, Thanks very much for your replies. I do not think there is a 2.4 backport patch available. All my previous work are on top of the trunk version. However, I think you may be able to apply the svn commits on 2.4 since the work is pretty much self-contained. Please let me know if that works for you. Thanks, Yingqi Lu -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 3:07 PM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 I haven't had time to check... is there an actual 2.4 backport patch available, or do I need to craft one (or do the svn commits apply cleanly)?? On Jan 14, 2015, at 12:20 PM, Lu, Yingqi yingqi...@intel.com wrote: I just want to check what the status on the SO_REUSEPORT patch is. Do you see any issues backport it? Please let me know. Attached is the email I sent last week on the same topic in case you missed that. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 4:54 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :) RE Time for 2.4.11.msg
Re: Time for 2.4.11
I haven't had time to check... is there an actual 2.4 backport patch available, or do I need to craft one (or do the svn commits apply cleanly)?? On Jan 14, 2015, at 12:20 PM, Lu, Yingqi yingqi...@intel.com wrote: I just want to check what the status on the SO_REUSEPORT patch is. Do you see any issues backport it? Please let me know. Attached is the email I sent last week on the same topic in case you missed that. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 4:54 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :) RE Time for 2.4.11.msg
RE: Re: svn commit: r1611169 - in /httpd/httpd/trunk: CHANGES server/mpm/winnt/service.c
- Original Message - Subject: Re: svn commit: r1611169 - in /httpd/httpd/trunk: CHANGES server/mpm/winnt/service.c From: Mike Rumph mike.ru...@oracle.com Date: 1/14/15 12:24 pm To: dev@httpd.apache.org Hello Bill, Sorry to respond to this so late, but I see that this is up for a vote against httpd 2.4. We love any code review, early, late, post-release, whatever! Thanks for looking... I noticed a possible problem in the code. I have a question inserted below. + SC_HANDLE schService; + +#if APR_HAS_UNICODE_FS + IF_WIN_OS_IS_UNICODE + { + schService = OpenServiceW(schSCManager, + (LPCWSTR)mpm_service_name_w, + SERVICE_CHANGE_CONFIG); + } +#endif /* APR_HAS_UNICODE_FS */ +#if APR_HAS_ANSI_FS + ELSE_WIN_OS_IS_ANSI + { + schService = OpenService(schSCManager, mpm_service_name, + SERVICE_CHANGE_CONFIG); + } +#endif if (schService) { If neither of these defines are set, then schService appears to be uninitialized. Is this a problem? No, it cannot be an issue, nor are they mutually exclusive. One or both are always defined. I trust you didn't trip over this during compilation; good eyes though :) See also os/win32/ap_regkey.c for much more code that follows this pattern. This is the pattern behind all APR (and httpd) portability from win98 API to winNT (Unicode). For example, the internal representation of an apr_dir_t; #if APR_HAS_UNICODE_FS struct { WIN32_FIND_DATAW *entry; } w; #endif #if APR_HAS_ANSI_FS struct { WIN32_FIND_DATAA *entry; } n; #endif We have no members, w, or n, and therefore no directory entries, if one of these defines has not been set. apr_arch_misc.h contains these two macros. The pattern exists because it was possible to use the same binary on either OS. IF_WIN_OS_IS_UNICODE and ELSE_WIN_OS_IS_ANSI handled the dynamic behavior, if only one is set, those macros are a no-op. If both are set, those macros become if-else cases (against the version of Windows in use). With Win9x dead, it is past time to prune these, at least on trunk and apr-2.0. I'm not sure whether users are building the 'ANSI-only' flavor for use on modern Windows OS (as all 8bit chars devolve to the OEM code page of the installed version of Windows). So I left well enough alone for now (no harm to users moving from 2.4.10 - 2.4.11), and would plan to follow whatever decisions are made on dev@apr with respect to dropping 8-bit OEM code page logic, altogether, from trunk. Bill
RE: Time for 2.4.11
Hi Jim, I just checked and found the most recent commits regarding to SO_REUSEPORT patch work is done on Dec 4, 2014 with trunk version 1643179. There are also other commits done on this patch work as well. Please let me know if you need commits ID from all of them or the most recent one is good enough. I can help you find if you want. Thanks, Yingqi -Original Message- From: Lu, Yingqi [mailto:yingqi...@intel.com] Sent: Wednesday, January 14, 2015 3:35 PM To: dev@httpd.apache.org Subject: RE: Time for 2.4.11 Hi Jim, Thanks very much for your replies. I do not think there is a 2.4 backport patch available. All my previous work are on top of the trunk version. However, I think you may be able to apply the svn commits on 2.4 since the work is pretty much self-contained. Please let me know if that works for you. Thanks, Yingqi Lu -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 3:07 PM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 I haven't had time to check... is there an actual 2.4 backport patch available, or do I need to craft one (or do the svn commits apply cleanly)?? On Jan 14, 2015, at 12:20 PM, Lu, Yingqi yingqi...@intel.com wrote: I just want to check what the status on the SO_REUSEPORT patch is. Do you see any issues backport it? Please let me know. Attached is the email I sent last week on the same topic in case you missed that. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 4:54 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :) RE Time for 2.4.11.msg
AW: Time for 2.4.11
All of them are needed. Regards Rüdiger -Ursprüngliche Nachricht- Von: Lu, Yingqi [mailto:yingqi...@intel.com] Gesendet: Donnerstag, 15. Januar 2015 08:12 An: dev@httpd.apache.org Betreff: RE: Time for 2.4.11 Hi Jim, I just checked and found the most recent commits regarding to SO_REUSEPORT patch work is done on Dec 4, 2014 with trunk version 1643179. There are also other commits done on this patch work as well. Please let me know if you need commits ID from all of them or the most recent one is good enough. I can help you find if you want. Thanks, Yingqi -Original Message- From: Lu, Yingqi [mailto:yingqi...@intel.com] Sent: Wednesday, January 14, 2015 3:35 PM To: dev@httpd.apache.org Subject: RE: Time for 2.4.11 Hi Jim, Thanks very much for your replies. I do not think there is a 2.4 backport patch available. All my previous work are on top of the trunk version. However, I think you may be able to apply the svn commits on 2.4 since the work is pretty much self-contained. Please let me know if that works for you. Thanks, Yingqi Lu -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 3:07 PM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 I haven't had time to check... is there an actual 2.4 backport patch available, or do I need to craft one (or do the svn commits apply cleanly)?? On Jan 14, 2015, at 12:20 PM, Lu, Yingqi yingqi...@intel.com wrote: I just want to check what the status on the SO_REUSEPORT patch is. Do you see any issues backport it? Please let me know. Attached is the email I sent last week on the same topic in case you missed that. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 4:54 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :) RE Time for 2.4.11.msg
RE: Time for 2.4.11
I just want to check what the status on the SO_REUSEPORT patch is. Do you see any issues backport it? Please let me know. Attached is the email I sent last week on the same topic in case you missed that. Thanks, Yingqi -Original Message- From: Jim Jagielski [mailto:j...@jagunet.com] Sent: Wednesday, January 14, 2015 4:54 AM To: dev@httpd.apache.org Subject: Re: Time for 2.4.11 Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :) RE Time for 2.4.11.msg Description: RE Time for 2.4.11.msg
Re: svn commit: r1611169 - in /httpd/httpd/trunk: CHANGES server/mpm/winnt/service.c
Hello Bill, Sorry to respond to this so late, but I see that this is up for a vote against httpd 2.4. I noticed a possible problem in the code. I have a question inserted below. Thanks, Mike Rumph On 7/16/2014 1:15 PM, wr...@apache.org wrote: Author: wrowe Date: Wed Jul 16 20:15:49 2014 New Revision: 1611169 URL: http://svn.apache.org/r1611169 Log: mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for internationalization. Modified: httpd/httpd/trunk/CHANGES httpd/httpd/trunk/server/mpm/winnt/service.c Modified: httpd/httpd/trunk/CHANGES URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1611169r1=1611168r2=1611169view=diff == --- httpd/httpd/trunk/CHANGES [utf-8] (original) +++ httpd/httpd/trunk/CHANGES [utf-8] Wed Jul 16 20:15:49 2014 @@ -1,6 +1,12 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for + internationalization. [William Rowe] + + *) mpm_winnt: Normalize the error and status messages emitted by service.c, + the service control interface for Windows. [William Rowe] + *) SECURITY: CVE-2013-5704 (cve.mitre.org) core: HTTP trailers could be used to replace HTTP headers late during request processing, potentially undoing or Modified: httpd/httpd/trunk/server/mpm/winnt/service.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/winnt/service.c?rev=1611169r1=1611168r2=1611169view=diff == --- httpd/httpd/trunk/server/mpm/winnt/service.c (original) +++ httpd/httpd/trunk/server/mpm/winnt/service.c Wed Jul 16 20:15:49 2014 @@ -21,11 +21,18 @@ #define _WINUSER_ +#include apr.h +#include apr_strings.h +#include apr_lib.h +#if APR_HAS_UNICODE_FS +#include arch/win32/apr_arch_utf8.h +#include arch/win32/apr_arch_misc.h +#include wchar.h +#endif + #include httpd.h #include http_log.h #include mpm_winnt.h -#include apr_strings.h -#include apr_lib.h #include ap_regkey.h #ifdef NOUSER @@ -41,6 +48,10 @@ APLOG_USE_MODULE(mpm_winnt); static char *mpm_service_name = NULL; static char *mpm_display_name = NULL; +#if APR_HAS_UNICODE_FS +static apr_wchar_t *mpm_service_name_w; +#endif + typedef struct nt_service_ctx_t { HANDLE mpm_thread; /* primary thread handle of the apache server */ @@ -57,6 +68,32 @@ static nt_service_ctx_t globdat; static int ReportStatusToSCMgr(int currentState, int waitHint, nt_service_ctx_t *ctx); +/* Rather than repeat this logic throughout, create an either-or wide or narrow + * implementation because we don't actually pass strings to OpenSCManager. + * This election is based on build time defines and runtime os version test. + */ +#undef OpenSCManager +typedef SC_HANDLE (WINAPI *fpt_OpenSCManager)(const void *lpMachine, + const void *lpDatabase, + DWORD dwAccess); +static fpt_OpenSCManager pfn_OpenSCManager = NULL; +static APR_INLINE SC_HANDLE OpenSCManager(const void *lpMachine, + const void *lpDatabase, + DWORD dwAccess) +{ +if (!pfn_OpenSCManager) { +#if APR_HAS_UNICODE_FS +IF_WIN_OS_IS_UNICODE +pfn_OpenSCManager = (fpt_OpenSCManager)OpenSCManagerW; +#endif +#if APR_HAS_ANSI_FS +ELSE_WIN_OS_IS_ANSI +pfn_OpenSCManager = (fpt_OpenSCManager)OpenSCManagerA; +#endif +} +return (*(pfn_OpenSCManager))(lpMachine, lpDatabase, dwAccess); +} + /* exit() for Win32 is macro mapped (horrible, we agree) that allows us * to catch the non-zero conditions and inform the console process that * the application died, and hang on to the console a bit longer. @@ -245,16 +282,54 @@ static void set_service_description(void if ((ChangeServiceConfig2) (schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT))) { -SC_HANDLE schService = OpenService(schSCManager, mpm_service_name, - SERVICE_CHANGE_CONFIG); +SC_HANDLE schService; + +#if APR_HAS_UNICODE_FS +IF_WIN_OS_IS_UNICODE +{ +schService = OpenServiceW(schSCManager, + (LPCWSTR)mpm_service_name_w, + SERVICE_CHANGE_CONFIG); +} +#endif /* APR_HAS_UNICODE_FS */ +#if APR_HAS_ANSI_FS +ELSE_WIN_OS_IS_ANSI +{ +schService = OpenService(schSCManager, mpm_service_name, + SERVICE_CHANGE_CONFIG); +} +#endif if (schService) { If neither of these defines are set, then schService appears to be uninitialized. Is
Re: Time for 2.4.11
Get your backports into STATUS now, and test and vote on the existing (and to-be-entered) proposals asap! On Jan 13, 2015, at 12:05 PM, Jim Jagielski j...@jagunet.com wrote: Okey dokey... the idea is a TR on Thurs with a release next Mon/Tues. On Jan 8, 2015, at 6:11 AM, Jim Jagielski j...@jagunet.com wrote: Let's shoot for a TR next week. The work will keep me warm :)