Skip to contentSkip to conversation

apr: set flag of inheriting O_NONBLOCK as no

PATCH In review [email protected] 2 participants 4 messages Nov 29, 2012

lore
Share & tools
lore
#0 lore raw

cover apr: set flag of inheriting O_NONBLOCK as no

From: "Roy.Li" <[email protected]>

The following changes since commit 99f003356be43bb361634359a5d3c520f72f0a08:

local.conf.sample: Enable disk space monitoring by default (2012-11-28 15:25:14 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib roy/apr
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=roy/apr

Roy.Li (1):
apr: set flag of inheriting O_NONBLOCK as no

 meta/recipes-support/apr/apr_1.4.6.bb |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.5.4
#1 lore raw

PATCH 1/1 apr: set flag of inheriting O_NONBLOCK as no

From: "Roy.Li" <[email protected]>

The flag ac_cv_o_nonblock_inherited is always set to yes in cross compiling environment. This flag is intended to think the socket, returned from accept(), inherit file status flags such as O_NONBLOCK from the listening socket, but socket never inherits file status from the listening socket on Linux (more information to man accept).

If ac_cv_o_nonblock_inherited is set to yes on Linux, clients can not access the same ip address(URL) with Apache web server via http(port 80) and https(port443) without redirection

---
 meta/recipes-support/apr/apr_1.4.6.bb |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-support/apr/apr_1.4.6.bb +2 -1
index 896f79f..3e7b0a9 100644
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0c35ff3c4c83b89d2f076e315caac28b \
 
 BBCLASSEXTEND = "native"
 
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
            file://configure_fixes.patch \
@@ -22,6 +22,7 @@ SRC_URI[sha256sum] = "9b635e60feb163e6fc6c375721f71f44d7e26d6b9cd52f6b86b04e65d2
 inherit autotools lib_package binconfig multilib_header
 
 OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
+EXTRA_OECONF = "ac_cv_o_nonblock_inherited=no"
 
 do_configure_prepend() {
 	cd ${S}
Signature · 1 line
1.7.5.4
#2 lore raw
Quoted 5 lines · On Thursday, 29 November 2012 at 06:36, [email protected] wrote:

The flag ac_cv_o_nonblock_inherited is always set to yes in cross compiling environment. This flag is intended to think the socket, returned from accept(), inherit file status flags such as O_NONBLOCK from the listening socket, but socket never inherits file status from the listening socket on Linux (more information to man accept).

meta/site/powerpc32-linux already sets this to no, so if this Linux-wide behaviour it should be moved to site/common-linux instead of being specific to apr.

Ross

#3 lore raw
Quoted 10 lines · Ross Burton
Quoted 5 lines · On Thursday, 29 November 2012 at 06:36, [email protected] wrote:

The flag ac_cv_o_nonblock_inherited is always set to yes in cross compiling environment. This flag is intended to think the socket, returned from accept(), inherit file status flags such as O_NONBLOCK from the listening socket, but socket never inherits file status from the listening socket on Linux (more information to man accept).

meta/site/powerpc32-linux already sets this to no, so if this Linux-wide behaviour it should be moved to site/common-linux instead of being specific to apr.

Ross

You reminds me, powerpc does not have this bug, but other arch have.

From man accept(), this is a Linux-wide behaviour, and it should be put to sit/common-linux.

-Roy

Quoted 2 lines
Signature · 2 lines
Best Reagrds,
Roy | RongQing Li