RE: Time for 2.4.11

2015-01-14 Thread Lu, Yingqi
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

2015-01-14 Thread Eric Covener
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

2015-01-14 Thread Lu, Yingqi
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

2015-01-14 Thread Jim Jagielski
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

2015-01-14 Thread wrowe
- 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

2015-01-14 Thread Lu, Yingqi
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

2015-01-14 Thread Plüm , Rüdiger , Vodafone Group
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

2015-01-14 Thread Lu, Yingqi
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

2015-01-14 Thread Mike Rumph

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

2015-01-14 Thread Jim Jagielski
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 :)