xinetd, remove old bep file, bump version (#2056)

This commit is contained in:
Schrijvers Luc
2018-06-24 05:57:18 +02:00
committed by waddlesplash
parent 5dc2e288da
commit 365226b6b2
3 changed files with 135 additions and 77 deletions

View File

@@ -1,7 +1,14 @@
diff -urN xinetd-2.3.14/Makefile.in xinetd-2.3.14-haiku/Makefile.in
--- xinetd-2.3.14/Makefile.in 2003-08-15 14:00:45.017039360 +0000
+++ xinetd-2.3.14-haiku/Makefile.in 2011-01-20 16:23:31.770965504 +0000
@@ -76,26 +76,26 @@
From 54208b419757982ed670e2b875fb22b39385f3f6 Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Sat, 28 Apr 2018 13:06:05 +0200
Subject: import previous patch
diff --git a/Makefile.in b/Makefile.in
index a629a1f..403f049 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -76,26 +76,26 @@ dlibxlog: dlibsio dlibstr
install: build
for i in $(DAEMONDIR) $(BINDIR) $(MANDIR)/man5 $(MANDIR)/man8 ; do \
test -d $$i || mkdir -p $$i ; done
@@ -43,10 +50,11 @@ diff -urN xinetd-2.3.14/Makefile.in xinetd-2.3.14-haiku/Makefile.in
distclean: clean
rm -f config.cache config.log Makefile config.status xinetd/itox
diff -urN xinetd-2.3.14/configure.in xinetd-2.3.14-haiku/configure.in
--- xinetd-2.3.14/configure.in 2005-03-30 23:15:28.006815744 +0000
+++ xinetd-2.3.14-haiku/configure.in 2011-01-20 15:05:58.205783040 +0000
@@ -7,9 +7,9 @@
diff --git a/configure.in b/configure.in
index be80dce..cdf510c 100644
--- a/configure.in
+++ b/configure.in
@@ -7,9 +7,9 @@ AC_PROG_INSTALL
AC_PROG_RANLIB
AC_CHECK_LIB(compat, main)
@@ -59,7 +67,7 @@ diff -urN xinetd-2.3.14/configure.in xinetd-2.3.14-haiku/configure.in
AC_CHECK_FUNCS(getnameinfo inet_ntop)
AC_CHECK_FUNCS(difftime, ,
AC_CHECK_LIB(m, difftime))
@@ -27,8 +27,9 @@
@@ -27,8 +27,9 @@ AC_CHECK_FUNC(socket, ,
AC_CHECK_LIB(nsl, socket)))
AC_CHECK_FUNC(inet_aton, ,
AC_CHECK_LIB(nsl, inet_aton, ,
@@ -70,9 +78,10 @@ diff -urN xinetd-2.3.14/configure.in xinetd-2.3.14-haiku/configure.in
AC_CHECK_FUNC(setenv,[AC_DEFINE(HAVE_SETENV)])
AC_CHECK_FUNC(strsignal, [AC_DEFINE(HAVE_STRSIGNAL)])
AC_CHECK_LIB(c, sys_siglist, [AC_DEFINE(HAVE_SYS_SIGLIST)])
diff -urN xinetd-2.3.14/libs/src/sio/sio.c xinetd-2.3.14-haiku/libs/src/sio/sio.c
--- xinetd-2.3.14/libs/src/sio/sio.c 2003-06-01 21:57:23.013369344 +0000
+++ xinetd-2.3.14-haiku/libs/src/sio/sio.c 2011-01-20 15:47:03.457441280 +0000
diff --git a/libs/src/sio/sio.c b/libs/src/sio/sio.c
index 1b4f542..f815dc0 100644
--- a/libs/src/sio/sio.c
+++ b/libs/src/sio/sio.c
@@ -10,7 +10,7 @@
#include <sys/types.h>
#endif
@@ -82,9 +91,10 @@ diff -urN xinetd-2.3.14/libs/src/sio/sio.c xinetd-2.3.14-haiku/libs/src/sio/sio.
#undef HAVE_MMAP
#endif
diff -urN xinetd-2.3.14/libs/src/sio/siosup.c xinetd-2.3.14-haiku/libs/src/sio/siosup.c
--- xinetd-2.3.14/libs/src/sio/siosup.c 2003-09-06 14:41:59.013893632 +0000
+++ xinetd-2.3.14-haiku/libs/src/sio/siosup.c 2011-01-20 15:06:05.893386752 +0000
diff --git a/libs/src/sio/siosup.c b/libs/src/sio/siosup.c
index de68ee2..b4c4414 100644
--- a/libs/src/sio/siosup.c
+++ b/libs/src/sio/siosup.c
@@ -13,7 +13,7 @@
#include <unistd.h>
#include <syslog.h>
@@ -94,10 +104,11 @@ diff -urN xinetd-2.3.14/libs/src/sio/siosup.c xinetd-2.3.14-haiku/libs/src/sio/s
#undef HAVE_MMAP
#endif
diff -urN xinetd-2.3.14/xinetd/child.c xinetd-2.3.14-haiku/xinetd/child.c
--- xinetd-2.3.14/xinetd/child.c 2004-12-23 21:46:02.018350080 +0000
+++ xinetd-2.3.14-haiku/xinetd/child.c 2011-01-20 16:01:02.000000000 +0000
@@ -313,7 +313,11 @@
diff --git a/xinetd/child.c b/xinetd/child.c
index e7781b6..f237da1 100644
--- a/xinetd/child.c
+++ b/xinetd/child.c
@@ -338,7 +338,11 @@ void child_process( struct server *serp )
{
set_credentials( scp ) ;
if ( SC_SPECIFIED( scp, A_NICE ) )
@@ -109,10 +120,11 @@ diff -urN xinetd-2.3.14/xinetd/child.c xinetd-2.3.14-haiku/xinetd/child.c
}
if ( svc_child_access_control(sp, cp) != OK )
diff -urN xinetd-2.3.14/xinetd/confparse.c xinetd-2.3.14-haiku/xinetd/confparse.c
--- xinetd-2.3.14/xinetd/confparse.c 2005-04-08 21:35:48.018612224 +0000
+++ xinetd-2.3.14-haiku/xinetd/confparse.c 2011-01-20 15:27:06.675282944 +0000
@@ -716,8 +716,8 @@
diff --git a/xinetd/confparse.c b/xinetd/confparse.c
index b277bf9..d9d651d 100644
--- a/xinetd/confparse.c
+++ b/xinetd/confparse.c
@@ -745,8 +745,8 @@ static status_e check_entry( struct service_config *scp,
}
}
@@ -123,9 +135,10 @@ diff -urN xinetd-2.3.14/xinetd/confparse.c xinetd-2.3.14-haiku/xinetd/confparse.
if ( SC_IS_RPC( scp ) && !SC_IS_UNLISTED( scp ) )
{
struct rpcent *rep = (struct rpcent *)getrpcbyname( SC_NAME(scp) ) ;
diff -urN xinetd-2.3.14/xinetd/server.h xinetd-2.3.14-haiku/xinetd/server.h
--- xinetd-2.3.14/xinetd/server.h 2003-08-06 06:12:10.024641536 +0000
+++ xinetd-2.3.14-haiku/xinetd/server.h 2011-01-20 11:31:20.000000000 +0000
diff --git a/xinetd/server.h b/xinetd/server.h
index 43b282a..44fee7b 100644
--- a/xinetd/server.h
+++ b/xinetd/server.h
@@ -24,6 +24,9 @@
typedef int pid_t ;
#endif
@@ -136,9 +149,10 @@ diff -urN xinetd-2.3.14/xinetd/server.h xinetd-2.3.14-haiku/xinetd/server.h
/*
* This struct describes running servers
diff -urN xinetd-2.3.14/xinetd/signals.h xinetd-2.3.14-haiku/xinetd/signals.h
--- xinetd-2.3.14/xinetd/signals.h 2003-02-19 17:29:28.025165824 +0000
+++ xinetd-2.3.14-haiku/xinetd/signals.h 2011-01-20 15:02:27.000000000 +0000
diff --git a/xinetd/signals.h b/xinetd/signals.h
index 6acf97c..3aaf0b8 100644
--- a/xinetd/signals.h
+++ b/xinetd/signals.h
@@ -6,6 +6,10 @@
#ifndef _X_SIGNALS
#define _X_SIGNALS
@@ -150,9 +164,10 @@ diff -urN xinetd-2.3.14/xinetd/signals.h xinetd-2.3.14-haiku/xinetd/signals.h
#include "defs.h"
#if defined(NO_POSIX_SIGS)
diff -urN xinetd-2.3.14/xinetd/util.h xinetd-2.3.14-haiku/xinetd/util.h
--- xinetd-2.3.14/xinetd/util.h 2005-10-05 21:45:41.026214400 +0000
+++ xinetd-2.3.14-haiku/xinetd/util.h 2011-01-20 11:46:15.000000000 +0000
diff --git a/xinetd/util.h b/xinetd/util.h
index f46563d..d94730d 100644
--- a/xinetd/util.h
+++ b/xinetd/util.h
@@ -4,6 +4,10 @@
#include "pset.h"
#include "defs.h"
@@ -164,3 +179,29 @@ diff -urN xinetd-2.3.14/xinetd/util.h xinetd-2.3.14-haiku/xinetd/util.h
void out_of_memory(const char *func);
const struct name_value *nv_find_value(const struct name_value nv_array[],const char *name);
const struct name_value *nv_find_name(const struct name_value nv_array[],int value);
--
2.16.2
From 704349f11c61e50a55b5258b059fc9aad8e4b602 Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Sat, 28 Apr 2018 13:11:59 +0200
Subject: add a fix for CVE-2013-4342
diff --git a/xinetd/builtins.c b/xinetd/builtins.c
index 3b85579..34a5bac 100644
--- a/xinetd/builtins.c
+++ b/xinetd/builtins.c
@@ -617,7 +617,7 @@ static void tcpmux_handler( const struct server *serp )
if( SC_IS_INTERNAL( scp ) ) {
SC_INTERNAL(scp, nserp);
} else {
- exec_server(nserp);
+ child_process(nserp);
}
}
--
2.16.2

View File

@@ -1,45 +0,0 @@
DESCRIPTION="powerful replacement for inetd"
HOMEPAGE="http://www.xinetd.org/"
SOURCE_URI="http://www.xinetd.org/xinetd-2.3.14.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="567382d7972613090215c6c54f9b82d9"
BUILD()
{
cd xinetd-2.3.14
# if we don't have rpc/rpc.h then why does it still try to use it??
# let's change the #ifndef NO_RPC to #ifdef HAVE_RPC_RPC
sed -i 's/ndef NO_RPC/def HAVE_RPC_RPC/g' xinetd/*.c
# workaround while (SIGBUS == SIGSEGV) on HAIKU
sed -i 's/case SIGBUS:/\n/g' xinetd/signals.c
# save rlim_t
sed -i 's/XINETD_CHECK_TYPE(rlim_t/dnl XINETD_CHECK_TYPE(rlim_t/' configure.in
libtoolize --force --copy --install
aclocal
autoconf
mkdir -p ${DESTDIR}/`finddir B_COMMON_BIN_DIRECTORY`
mkdir -p ${DESTDIR}/`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man/man5
mkdir -p ${DESTDIR}/`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man/man8
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL()
{
cd xinetd-2.3.14
mkdir -p ${DESTDIR}/`finddir B_COMMON_BIN_DIRECTORY`
mkdir -p ${DESTDIR}/`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man/man5
mkdir -p ${DESTDIR}/`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man/man8
make install DESTDIR=${DESTDIR}
}
LICENSE="Xinetd"
COPYRIGHT="1992 by Panagiotis Tsirigotis
1998-2001 by Rob Braun"

View File

@@ -0,0 +1,62 @@
SUMMARY="A secure replacement for inetd"
DESCRIPTION="powerful replacement for inetd"
HOMEPAGE="https://github.com/xinetd-org/xinetd"
COPYRIGHT="1992 Panagiotis Tsirigotis
1998-2001 Rob Braun"
LICENSE="Xinetd"
REVISION="1"
SOURCE_URI="https://github.com/xinetd-org/xinetd/archive/xinetd-${portVersion//\./-}.tar.gz"
CHECKSUM_SHA256="620b25f4ab4d72fdf32b13797156ea40df2049f1c07e640177e5fec544e9a94c"
SOURCE_DIR="xinetd-xinetd-${portVersion//\./-}"
PATCHES="xinetd-$portVersion.patchset"
ARCHITECTURES="?x86_gcc2 ?x86_64"
PROVIDES="
xinetd = $portVersion
cmd:itox = $portVersion
cmd:xconv.pl = $portVersion
cmd:xinetd = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:gcc
cmd:libtoolize
cmd:make
cmd:perl
"
PATCH()
{
# if we don't have rpc/rpc.h then why does it still try to use it??
# let's change the #ifndef NO_RPC to #ifdef HAVE_RPC_RPC
sed -i 's/ndef NO_RPC/def HAVE_RPC_RPC/g' xinetd/*.c
# workaround while (SIGBUS == SIGSEGV) on HAIKU
sed -i 's/case SIGBUS:/\n/' xinetd/signals.c
# save rlim_t
sed -i 's/XINETD_CHECK_TYPE(rlim_t/dnl &/' configure.in
}
BUILD()
{
libtoolize --force --copy --install
aclocal
autoconf
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
}