Skip site navigation (1)Skip section navigation (2)
Date:      Wed,  9 Aug 2006 16:54:15 +0200 (CEST)
From:      Simun Mikecin <numisemis@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/101713: [fix] devel/gsoap: valid file descriptor range checking is invalid
Message-ID:  <20060809145415.2DEC826D095@mail.logos.hr>
Resent-Message-ID: <200608091500.k79F0V8r022448@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         101713
>Category:       ports
>Synopsis:       [fix] devel/gsoap: valid file descriptor range checking is invalid
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 09 15:00:31 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Simun Mikecin
>Release:        FreeBSD 5.2.1-RELEASE-p9 i386
>Organization:
>Environment:
System: FreeBSD mail.logos.hr 5.2.1-RELEASE-p9 FreeBSD 5.2.1-RELEASE-p9 #1: Mon Jul 26 14:07:00 CEST 2004 root@mail.logos.hr:/usr/obj/usr/src.5.2.1-R/sys/MAIL i386
>Description:
Valid file descriptor range for select() is from 0 to FD_SETSIZE-1. Since
currently on FreeBSD FD_SETSIZE is 1024, the range is from 0 to 1023. It
means that file descriptors with values >= fD_SETSIZE are bad. Currently in
gsoap 2.7.8c source file descriptors with values > FD_SETSIZE are invalid.
if file descriptor has a value = FD_SETSIZE (1024) it will be used as
valid, but it should not.
>How-To-Repeat:
Try to use >1024 simultaneous open sockets using gsoap.
>Fix:
diff -urN gsoap.old/Makefile gsoap/Makefile
--- gsoap.old/Makefile	Mon Aug  7 13:12:38 2006
+++ gsoap/Makefile	Wed Aug  9 16:43:53 2006
@@ -7,7 +7,7 @@
 
 PORTNAME=	gsoap
 PORTVERSION=	2.7.8c
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	gsoap2
@@ -32,8 +32,8 @@
 .endif
 
 post-patch:
-	@${REINPLACE_CMD} -e 's/> FD_SETSIZE/> (int)FD_SETSIZE/g' ${WRKSRC}/soapcpp2/stdsoap2.c
-	@${REINPLACE_CMD} -e 's/> FD_SETSIZE/> (int)FD_SETSIZE/g' ${WRKSRC}/soapcpp2/stdsoap2.cpp
+	@${REINPLACE_CMD} -e 's/> FD_SETSIZE/>= (int)FD_SETSIZE/g' ${WRKSRC}/soapcpp2/stdsoap2.c
+	@${REINPLACE_CMD} -e 's/> FD_SETSIZE/>= (int)FD_SETSIZE/g' ${WRKSRC}/soapcpp2/stdsoap2.cpp
 	@${REINPLACE_CMD} -e 's/%%CONST%%/${CONST}/' ${WRKSRC}/soapcpp2/stdsoap2.cpp
 
 .include <bsd.port.post.mk>
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060809145415.2DEC826D095>