fcgi: update to 2.4.2, remove unnecessary patches, lint

fcgi got an update to 2.4.2 which included all of the patches we have
been carrying. Additionally, 2.4.2 changed the untar name from libfcgi
to fcgi so adjusting wrksrc accordingly.
This commit is contained in:
Colin Booth 2021-03-30 23:44:12 -07:00 committed by Érico Nogueira Rolim
parent 1fa8b42221
commit d930061787
4 changed files with 5 additions and 126 deletions

View file

@ -1,86 +0,0 @@
Author: Anton Kortunov <toshic.toshic@gmail.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfcgi/+bug/933417
Description: use poll in os_unix.c instead of select to avoid problem with > 1024 connections
Forwarded: yes, fastcgi-developers@mailman.fastcgi.com
diff --git a/libfcgi/os_unix.c b/libfcgi/os_unix.c
index 73e6a7f..af35aee 100755
--- libfcgi/os_unix.c
+++ libfcgi/os_unix.c
@@ -42,6 +42,7 @@ static const char rcsid[] = "$Id: os_unix.c,v 1.37 2002/03/05 19:14:49 robs Exp
#include <sys/time.h>
#include <sys/un.h>
#include <signal.h>
+#include <poll.h>
#ifdef HAVE_NETDB_H
#include <netdb.h>
@@ -103,6 +104,9 @@ static int volatile maxFd = -1;
static int shutdownPending = FALSE;
static int shutdownNow = FALSE;
+static int libfcgiOsClosePollTimeout = 2000;
+static int libfcgiIsAfUnixKeeperPollTimeout = 2000;
+
void OS_ShutdownPending()
{
shutdownPending = TRUE;
@@ -168,6 +172,16 @@ int OS_LibInit(int stdioFds[3])
if(libInitialized)
return 0;
+ char *libfcgiOsClosePollTimeoutStr = getenv( "LIBFCGI_OS_CLOSE_POLL_TIMEOUT" );
+ if(libfcgiOsClosePollTimeoutStr) {
+ libfcgiOsClosePollTimeout = atoi(libfcgiOsClosePollTimeoutStr);
+ }
+
+ char *libfcgiIsAfUnixKeeperPollTimeoutStr = getenv( "LIBFCGI_IS_AF_UNIX_KEEPER_POLL_TIMEOUT" );
+ if(libfcgiIsAfUnixKeeperPollTimeoutStr) {
+ libfcgiIsAfUnixKeeperPollTimeout = atoi(libfcgiIsAfUnixKeeperPollTimeoutStr);
+ }
+
asyncIoTable = (AioInfo *)malloc(asyncIoTableSize * sizeof(AioInfo));
if(asyncIoTable == NULL) {
errno = ENOMEM;
@@ -755,19 +769,16 @@ int OS_Close(int fd)
if (shutdown(fd, 1) == 0)
{
- struct timeval tv;
- fd_set rfds;
+ struct pollfd pfd;
int rv;
char trash[1024];
- FD_ZERO(&rfds);
+ pfd.fd = fd;
+ pfd.events = POLLIN;
do
{
- FD_SET(fd, &rfds);
- tv.tv_sec = 2;
- tv.tv_usec = 0;
- rv = select(fd + 1, &rfds, NULL, NULL, &tv);
+ rv = poll(&pfd, 1, libfcgiOsClosePollTimeout);
}
while (rv > 0 && read(fd, trash, sizeof(trash)) > 0);
}
@@ -1116,13 +1127,11 @@ static int is_reasonable_accept_errno (const int error)
*/
static int is_af_unix_keeper(const int fd)
{
- struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL };
- fd_set read_fds;
-
- FD_ZERO(&read_fds);
- FD_SET(fd, &read_fds);
+ struct pollfd pfd;
+ pfd.fd = fd;
+ pfd.events = POLLIN;
- return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds);
+ return poll(&pfd, 1, libfcgiIsAfUnixKeeperPollTimeout) >= 0 && (pfd.revents & POLLIN);
}
/*

View file

@ -1,17 +0,0 @@
Author: Tatsuki Sugiura <sugi@nemui.org>
Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504963
Bug-Debian: http://bugs.debian.org/504963
Forwarded: no
Last-Update: 2010-02-08
Index: libfcgi/libfcgi/fcgio.cpp
===================================================================
--- libfcgi/fcgio.cpp.orig 2010-01-23 19:13:53.000000000 +0900
+++ libfcgi/fcgio.cpp 2010-01-23 19:13:55.000000000 +0900
@@ -22,6 +22,7 @@
#define DLLAPI __declspec(dllexport)
#endif
+#include <cstdio>
#include <limits.h>
#include "fcgio.h"

View file

@ -1,17 +0,0 @@
Author: André Düwel
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfcgi/+bug/1248516
Description: reset file descriptor after closing
Fixes problem: FastCGI Application occasionally hangs in an infinite loop
after restarting of Apache.
Forwarded: no
--- libfcgi/os_unix.c
+++ libfcgi/os_unix.c
@@ -1199,6 +1199,7 @@
break;
close(socket);
+ socket = -1;
} /* socket >= 0 */
} /* for(;;) */

View file

@ -1,16 +1,16 @@
# Template file for 'fcgi'
pkgname=fcgi
version=2.4.0
revision=5
wrksrc="libfcgi-${version}.orig"
version=2.4.2
revision=1
wrksrc="fcgi2-${version}"
build_style=gnu-configure
hostmakedepends="libtool automake"
short_desc="Fast, open, and secure Web server interface"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="custom"
license="custom:fastcgi"
homepage="https://directory.fsf.org/wiki/Libfcgi"
distfiles="${DEBIAN_SITE}/main/libf/libfcgi/libfcgi_${version}.orig.tar.gz"
checksum=c21f553f41141a847b2f1a568ec99a3068262821e4e30bc9d4b5d9091aa0b5f7
checksum=1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc
disable_parallel_build=yes
@ -31,4 +31,3 @@ fcgi-devel_package() {
vmove usr/lib/*.so
}
}