Compare commits

...

10 Commits

Author SHA1 Message Date
Tom G. Christensen
71d526c4bf openssh: update to 10.0p1 2025-04-15 18:49:13 +02:00
Tom G. Christensen
e10968a9d7 openssh: remove unused patches 2025-02-21 17:31:53 +01:00
Tom G. Christensen
dc6f4be6ab openssh: update to 9.9p2 2025-02-20 18:11:53 +01:00
Tom G. Christensen
40f0f5d7f8 libssh2: update to 1.11.1 2025-02-14 10:37:00 +01:00
Tom G. Christensen
3c995ef0d0 rsync: update to 3.4.1 2025-02-13 14:21:09 +01:00
Tom G. Christensen
e6c03913fb openssh: rebuild with big-endian fixes 2024-10-30 17:14:28 +01:00
Tom G. Christensen
91eb6389d5 libidn2: update to 2.3.7 2024-10-05 22:18:23 +02:00
Tom G. Christensen
28d4c58f7c openssh: update to 9.9p1 2024-10-04 17:43:27 +02:00
Tom G. Christensen
526e55d668 openssl3: update to 3.0.15 2024-09-27 20:11:38 +02:00
Tom G. Christensen
62a819d97a curl: update to 8.8.0 2024-07-03 21:22:02 +02:00
21 changed files with 404 additions and 25 deletions

View File

@ -6,11 +6,11 @@
###########################################################
# Check the following 4 variables before running the script
topdir=curl
version=8.4.0
version=8.8.0
pkgver=1
source[0]=http://curl.se/download/$topdir-$version.tar.xz
# https://curl.se/docs/caextract.html
certdate=2023-08-22
certdate=2024-03-11
source[1]=https://curl.se/ca/cacert-$certdate.pem
# If there are no patches, simply comment this
patch[0]=curl-7.68.0-socklen_t.patch
@ -19,6 +19,7 @@ patch[1]=curl-7.82.0-modern-openssh.patch
# No stdint.h
patch[2]=curl-8.2.0-no-stdint-h.patch
patch[3]=curl-8.3.0-no-stdint_h.patch
patch[4]=curl-8.8.0-no-stdint_h.patch
# Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
@ -70,7 +71,7 @@ install()
7.21.6 7.33.0 7.36.0 7.37.1 7.38.1 7.41.0 7.42.0 7.42.1 7.44.0 \
7.45.0 7.46.0 7.48.0 7.49.0 7.50.0 7.50.3 7.51.0 7.52.1 7.55.1 \
7.59.0 7.61.1 7.64.0 7.64.1 7.69.1 7.72.0 7.73.0 7.75.0 7.76.0 \
7.76.1 7.79.1 7.82.0 7.83.1 7.87.0 8.2.0 8.3.0
7.76.1 7.79.1 7.82.0 7.83.1 7.87.0 8.2.0 8.3.0 8.4.0
do
compat curl $release 1 1
done

View File

@ -1,5 +1,9 @@
CHANGELOG
---------
* Tue Jul 02 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 8.8.0-1
- Update to 8.8.0
- Update CA bundle to 2024-03-11
* Wed Oct 11 2023 Tom G. Christensen <swpkg@jupiterrise.com> - 8.4.0-1
- Update to 8.4.0 (fixes CVE-2023-38545, CVE-2023-38546)

View File

@ -0,0 +1,20 @@
--- curl-8.8.0/lib/dynhds.h.stdint 2024-05-22 07:55:00.000000000 +0000
+++ curl-8.8.0/lib/dynhds.h 2024-07-02 18:46:12.070001000 +0000
@@ -173,7 +173,6 @@
#ifdef USE_NGHTTP2
-#include <stdint.h>
#include <nghttp2/nghttp2.h>
nghttp2_nv *Curl_dynhds_to_nva(struct dynhds *dynhds, size_t *pcount);
--- curl-8.8.0/lib/dynhds.c.stdint 2024-05-22 07:55:00.000000000 +0000
+++ curl-8.8.0/lib/dynhds.c 2024-07-02 18:47:19.800002000 +0000
@@ -28,7 +28,6 @@
/* The last 3 #include files should be in this order */
#ifdef USE_NGHTTP2
-#include <stdint.h>
#include <nghttp2/nghttp2.h>
#endif /* USE_NGHTTP2 */
#include "curl_printf.h"

View File

@ -6,7 +6,7 @@
###########################################################
# Check the following 4 variables before running the script
topdir=libidn2
version=2.3.2
version=2.3.7
pkgver=1
source[0]=http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libidn/$topdir-$version.tar.gz
# If there are no patches, simply comment this
@ -27,8 +27,6 @@ prep()
setdir source
# Do not build examples
${__gsed} -i 's/examples//' Makefile.in
# No stdint.h on Solaris < 10
${__gsed} -i 's/stdint.h/inttypes.h/' lib/idn2.h.in
}
reg build
@ -54,6 +52,7 @@ install()
compat libidn2 2.0.4 1 1
compat libidn2 2.1.1a 1 1
compat libidn2 2.3.0 1 1
compat libidn2 2.3.2 1 1
}
reg pack

View File

@ -1,5 +1,8 @@
CHANGELOG
---------
* Fri Oct 04 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 2.3.7-1
- Update to 2.3.7
* Sat Oct 02 2021 Tom G. Christensen <swpkg@jupiterrise.com> - 2.3.2-1
- Update to 2.3.2

View File

@ -6,7 +6,7 @@
###########################################################
# Check the following 4 variables before running the script
topdir=libssh2
version=1.11.0
version=1.11.1
pkgver=1
source[0]=http://www.libssh2.org/download/$topdir-$version.tar.gz
# If there are no patches, simply comment this
@ -18,7 +18,8 @@ patch[0]=libssh2-1.9.0-missing-stdint_h.patch
# Global settings
export CPPFLAGS="-I$prefix/include"
export LDFLAGS="-L$prefix/lib -R$prefix/lib"
configure_args+=(--disable-examples-build --disable-static)
export PATH=$PATH:/usr/tgcware/sbin
configure_args+=(--disable-examples-build --disable-static --disable-docker-tests)
reg prep
prep()
@ -50,6 +51,7 @@ install()
compat libssh2 1.8.2 1 1
compat libssh2 1.9.0 1 1
compat libssh2 1.10.0 1 2
compat libssh2 1.11.0 1 2
}
reg pack

View File

@ -1,5 +1,8 @@
CHANGELOG
---------
* Fri Feb 14 2025 Tom G. Christensen <swpkg@jupiterrise.com> - 1.11.1-1
- Update to 1.11.1
* Sat Jul 22 2023 Tom G. Christensen <swpkg@jupiterrise.com> - 1.11.0-1
- Update to 1.11.0

View File

@ -6,12 +6,13 @@
###########################################################
# Check the following 4 variables before running the script
topdir=openssh
version=9.8p1
version=10.0p1
pkgver=1
source[0]=https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/$topdir-$version.tar.gz
# If there are no patches, simply comment this
patch[0]=0001-regress-login-timeout.sh-increase-timeouts.patch
patch[1]=0007-Fix-authopt-test-on-platforms-without-IPv6-support.patch
patch[0]=0007-Fix-authopt-test-on-platforms-without-IPv6-support.patch
patch[1]=0001-regress-login-timeout.sh-increase-timeouts.patch
patch[2]=0001-Revert-simplify-sshkey_prekey_alloc-always-use-mmap.patch
# Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
@ -19,10 +20,10 @@ patch[1]=0007-Fix-authopt-test-on-platforms-without-IPv6-support.patch
# Global settings
export LDFLAGS="-R$prefix/lib -L$prefix/lib"
export CPPFLAGS="-I$prefix/include"
export CC="gcc"
export CC="gcc -std=gnu99"
make_check_target="tests"
configure_args=(--prefix=$prefix --mandir=$prefix/$_mandir --sysconfdir=$prefix/${_sysconfdir}/ssh --datadir=$prefix/${_sharedir}/openssh --with-default-path=/usr/bin:$prefix/${_bindir} --with-mantype=man --with-pam --with-privsep-user=sshd --with-privsep-path=/var/empty/sshd --with-superuser-path=/usr/bin:/usr/sbin:$prefix/$_bindir:$prefix/$_sbindir --with-lastlog=/var/adm/lastlog --without-zlib-version-check --enable-dsa-keys)
configure_args=(--prefix=$prefix --mandir=$prefix/$_mandir --sysconfdir=$prefix/${_sysconfdir}/ssh --datadir=$prefix/${_sharedir}/openssh --with-default-path=/usr/bin:$prefix/${_bindir} --with-mantype=man --with-pam --with-privsep-user=sshd --with-privsep-path=/var/empty/sshd --with-superuser-path=/usr/bin:/usr/sbin:$prefix/$_bindir:$prefix/$_sbindir --with-lastlog=/var/adm/lastlog)
reg prep
prep()

View File

@ -1,5 +1,17 @@
CHANGELOG
--------
* Fri Apr 11 2025 Tom G. Christensen <swpkg@jupiterrise.com> - 10.0p1-1
- Update to 10.0p1 (due to an upstream mistake it will identify as 10.0p2)
* Wed Feb 19 2025 Tom G. Christensen <swpkg@jupiterrise.com> - 9.9p2-1
- Update to 9.9p2 (fixes CVE-2025-26465, CVE-2025-26466)
* Tue Oct 29 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 9.9p1-2
- Add big-endian fixes from 9.9 branch
* Sun Sep 22 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 9.9p1-1
- Update to 9.9p1
* Mon Jul 01 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 9.8p1-1
- Update to 9.8p1

View File

@ -28,6 +28,7 @@ $lprefix/$_sbindir
$lprefix/$_mandir
$lprefix/$_sysconfdir
$lprefix/libexec/ssh-keysign
$lprefix/libexec/sshd-auth
$lprefix/libexec/sshd-session
$lprefix/libexec/sftp-server
$lprefix/libexec/ssh-pkcs11-helper

View File

@ -0,0 +1,68 @@
From 7c71009d8d5954895a52aebfffd45803282775c2 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Sun, 22 Sep 2024 18:20:21 +0200
Subject: [PATCH] Revert "simplify sshkey_prekey_alloc(); always use mmap"
MAP_ANON is not available on Solaris < 8.
---
sshkey.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/sshkey.c b/sshkey.c
index 1db83788d..f679113df 100644
--- a/sshkey.c
+++ b/sshkey.c
@@ -754,25 +754,28 @@ sshkey_sk_cleanup(struct sshkey *k)
k->sk_key_handle = k->sk_reserved = NULL;
}
-#if defined(MAP_CONCEAL)
-# define PREKEY_MMAP_FLAG MAP_CONCEAL
-#elif defined(MAP_NOCORE)
-# define PREKEY_MMAP_FLAG MAP_NOCORE
-#else
-# define PREKEY_MMAP_FLAG 0
-#endif
-
static int
sshkey_prekey_alloc(u_char **prekeyp, size_t len)
{
u_char *prekey;
*prekeyp = NULL;
+#if defined(MAP_CONCEAL)
if ((prekey = mmap(NULL, len, PROT_READ|PROT_WRITE,
- MAP_ANON|MAP_PRIVATE|PREKEY_MMAP_FLAG, -1, 0)) == MAP_FAILED)
+ MAP_ANON|MAP_PRIVATE|MAP_CONCEAL, -1, 0)) == MAP_FAILED)
+ return SSH_ERR_SYSTEM_ERROR;
+#elif defined(MAP_NOCORE)
+ if ((prekey = mmap(NULL, len, PROT_READ|PROT_WRITE,
+ MAP_ANON|MAP_PRIVATE|MAP_NOCORE, -1, 0)) == MAP_FAILED)
+ return SSH_ERR_SYSTEM_ERROR;
+#elif defined(MADV_DONTDUMP)
+ if ((prekey = mmap(NULL, len, PROT_READ|PROT_WRITE,
+ MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED)
return SSH_ERR_SYSTEM_ERROR;
-#if defined(MADV_DONTDUMP) && !defined(MAP_CONCEAL) && !defined(MAP_NOCORE)
(void)madvise(prekey, len, MADV_DONTDUMP);
+#else
+ if ((prekey = calloc(1, len)) == NULL)
+ return SSH_ERR_ALLOC_FAIL;
#endif
*prekeyp = prekey;
return 0;
@@ -783,7 +786,11 @@ sshkey_prekey_free(void *prekey, size_t len)
{
if (prekey == NULL)
return;
+#if defined(MAP_CONCEAL) || defined(MAP_NOCORE) || defined(MADV_DONTDUMP)
munmap(prekey, len);
+#else
+ freezero(prekey, len);
+#endif
}
static void
--
2.36.6

View File

@ -6,9 +6,9 @@
###########################################################
# Check the following 4 variables before running the script
topdir=openssl
version=3.0.14
version=3.0.15
pkgver=1
source[0]=https://openssl.org/source/$topdir-$version.tar.gz
source[0]=https://github.com/openssl/openssl/releases/download/${topdir}-${version}/${topdir}-${version}.tar.gz
# If there are no patches, simply comment this
patch[0]=0001-Fix-fallback-for-missing-getaddrinfo.patch
patch[1]=0002-Include-sys-atomic.h-directly-on-Solaris.patch
@ -91,6 +91,7 @@ install()
compat openssl 3.0.11 1 1
compat openssl 3.0.12 1 1
compat openssl 3.0.13 1 1
compat openssl 3.0.14 1 1
}
reg pack

View File

@ -1,5 +1,8 @@
CHANGELOG
---------
* Sun Sep 22 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 3.0.15-1
- Update to 3.0.15
* Mon Jul 01 2024 Tom G. Christensen <swpkg@jupiterrise.com> - 3.0.14-1
- Update to 3.0.14

View File

@ -2,7 +2,7 @@
pkgname="${pkgprefix}ssl3"
name="openssl - OpenSSL shared libraries"
pkgcat="system"
pkgvendor="https://www.openssl.org"
pkgvendor="https://www.openssl-library.org"
pkgdesc="Cryptography and SSL/TLS Toolkit"
pkgver="$pkgver"
files(-,root,bin)
@ -16,7 +16,7 @@ $_sharedir/ssl
pkgname="${pkgprefix}ssl3u"
name="openssl-utils - OpenSSL utilities and manpages"
pkgcat="system"
pkgvendor="https://www.openssl.org"
pkgvendor="https://www.openssl-library.org"
pkgdesc="Cryptography and SSL/TLS Toolkit"
pkgver="$pkgver"
files(-,root,bin)
@ -27,7 +27,7 @@ $_mandir/man{1,5,7}
pkgname="${pkgprefix}ssl3d"
name="openssl-devel - Development support for OpenSSL"
pkgcat="system"
pkgvendor="https://www.openssl.org"
pkgvendor="https://www.openssl-library.org"
pkgdesc="Files needed for developing with OpenSSL"
pkgver="$pkgver"
files(-,root,bin)
@ -39,7 +39,7 @@ $_libdir/pkgconfig
pkgname="${pkgprefix}ssl3m"
name="openssl-devel-manpages - Development documentation for OpenSSL"
pkgcat="system"
pkgvendor="https://www.openssl.org"
pkgvendor="https://www.openssl-library.org"
pkgdesc="Development manpages for OpenSSL"
pkgver="$pkgver"
files(-,root,bin)
@ -49,7 +49,7 @@ $_mandir/man3
pkgname="${pkgprefix}ssl3h"
name="openssl-htmldocs - Documentation in HTML format"
pkgcat="system"
pkgvendor="http://www.openssl.org"
pkgvendor="https://www.openssl-library.org"
pkgdesc="OpenSSL documentation in HTML format"
pkgver="$pkgver"
files(-,root,bin)

View File

@ -6,11 +6,14 @@
###########################################################
# Check the following 4 variables before running the script
topdir=rsync
version=3.1.3
version=3.4.1
pkgver=1
source[0]=https://download.samba.org/pub/rsync/src/$topdir-$version.tar.gz
# If there are no patches, simply comment this
#patch[0]=
patch[0]=0001-Move-pathjoin-to-lib.patch
patch[1]=0002-Fix-build-with-no-stdint.h.patch
patch[2]=0003-Ensure-SIZE_MAX-is-defined.patch
patch[3]=0004-Missing-include-for-my_strdup.patch
# Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
@ -18,7 +21,8 @@ source[0]=https://download.samba.org/pub/rsync/src/$topdir-$version.tar.gz
# Global settings
export CPPFLAGS="-I$prefix/include"
export LDFLAGS="-L$prefix/lib -R$prefix/lib"
configure_args+=(--with-included-popt --disable-ipv6)
export CC="gcc -D__EXTENSIONS__"
configure_args+=(--with-included-popt --disable-ipv6 --disable-xxhash --disable-zstd --disable-lz4)
reg prep
prep()
@ -42,7 +46,7 @@ reg install
install()
{
generic_install DESTDIR
doc NEWS README COPYING
doc NEWS.md README.md COPYING
}
reg pack

View File

@ -1,5 +1,8 @@
CHANGELOG
---------
* Wed Feb 12 2025 Tom G. Christensen <swpkg@jupiterrise.com> - 3.4.1-1
- Update to 3.4.1
* Sat Apr 21 2018 Tom G. Christensen <swpkg@jupiterrise.com> - 3.1.3-1
- Update to 3.1.3

View File

@ -2,7 +2,7 @@
pkgname="${pkgprefix}${topdir}"
name="$topdir - File transfer utility"
pkgcat="application"
pkgvendor="http://samba.anu.edu.au/rsync/"
pkgvendor="https://rsync.samba.org/"
pkgdesc="Utility that provides fast incremental file transfer"
pkgver="$pkgver"
files(-,root,bin)

View File

@ -0,0 +1,155 @@
From 1afc1f962841edeba221a5188d255e26cb0f5c74 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:12:39 +0100
Subject: [PATCH 1/4] Move pathjoin() to lib/
To allow pathjoin() to be used from syscall.o when building the test
programs.
---
Makefile.in | 9 +++++----
lib/pathjoin.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
rsync.h | 4 ++++
util1.c | 22 ----------------------
4 files changed, 58 insertions(+), 26 deletions(-)
create mode 100644 lib/pathjoin.c
diff --git a/Makefile.in b/Makefile.in
index 6340403b..a532a1f7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -40,7 +40,8 @@ GENFILES=configure.sh aclocal.m4 config.h.in rsync.1 rsync.1.html \
HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h itypes.h inums.h \
lib/pool_alloc.h lib/mdigest.h lib/md-defines.h
LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/md5.o \
- lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattrs.o @LIBOBJS@
+ lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattrs.o \
+ lib/pathjoin.o @LIBOBJS@
zlib_OBJS=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \
zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o
OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
@@ -53,7 +54,7 @@ popt_OBJS= popt/popt.o popt/poptconfig.o \
popt/popthelp.o popt/poptparse.o popt/poptint.o
OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@
-TLS_OBJ = tls.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/permstring.o lib/sysxattrs.o @BUILD_POPT@
+TLS_OBJ = tls.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/permstring.o lib/sysxattrs.o lib/pathjoin.o @BUILD_POPT@
# Programs we must have to run the test cases
CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) getfsdev$(EXEEXT) \
@@ -170,11 +171,11 @@ getgroups$(EXEEXT): getgroups.o
getfsdev$(EXEEXT): getfsdev.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.o $(LIBS)
-TRIMSLASH_OBJ = trimslash.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o
+TRIMSLASH_OBJ = trimslash.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/pathjoin.o
trimslash$(EXEEXT): $(TRIMSLASH_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TRIMSLASH_OBJ) $(LIBS)
-T_UNSAFE_OBJ = t_unsafe.o syscall.o util1.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/wildmatch.o
+T_UNSAFE_OBJ = t_unsafe.o syscall.o util1.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/wildmatch.o lib/pathjoin.o
t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ) $(LIBS)
diff --git a/lib/pathjoin.c b/lib/pathjoin.c
new file mode 100644
index 00000000..f29834a0
--- /dev/null
+++ b/lib/pathjoin.c
@@ -0,0 +1,49 @@
+/*
+ * Utility routines used in rsync.
+ *
+ * Copyright (C) 1996-2000 Andrew Tridgell
+ * Copyright (C) 1996 Paul Mackerras
+ * Copyright (C) 2001, 2002 Martin Pool <mbp@samba.org>
+ * Copyright (C) 2003-2022 Wayne Davison
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, visit the http://fsf.org website.
+ */
+
+#include "rsync.h"
+#include "ifuncs.h"
+#include "itypes.h"
+#include "inums.h"
+
+/* Join strings p1 & p2 into "dest" with a guaranteed '/' between them. (If
+ * p1 ends with a '/', no extra '/' is inserted.) Returns the length of both
+ * strings + 1 (if '/' was inserted), regardless of whether the null-terminated
+ * string fits into destsize. */
+size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2)
+{
+ size_t len = strlcpy(dest, p1, destsize);
+ if (len < destsize - 1) {
+ if (!len || dest[len-1] != '/')
+ dest[len++] = '/';
+ if (len < destsize - 1)
+ len += strlcpy(dest + len, p2, destsize - len);
+ else {
+ dest[len] = '\0';
+ len += strlen(p2);
+ }
+ }
+ else
+ len += strlen(p2) + 1; /* Assume we'd insert a '/'. */
+ return len;
+}
+
diff --git a/rsync.h b/rsync.h
index 479ac484..b477ad10 100644
--- a/rsync.h
+++ b/rsync.h
@@ -1487,3 +1487,7 @@ const char *get_panic_action(void);
#elif defined HAVE_MALLINFO
#define MEM_ALLOC_INFO mallinfo
#endif
+
+/* pathjoin() is in lib/pathjoin.c */
+size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2);
+
diff --git a/util1.c b/util1.c
index d84bc414..0e6806b1 100644
--- a/util1.c
+++ b/util1.c
@@ -866,28 +866,6 @@ char *conf_strtok(char *str)
return strtok(str, " ,\t\r\n");
}
-/* Join strings p1 & p2 into "dest" with a guaranteed '/' between them. (If
- * p1 ends with a '/', no extra '/' is inserted.) Returns the length of both
- * strings + 1 (if '/' was inserted), regardless of whether the null-terminated
- * string fits into destsize. */
-size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2)
-{
- size_t len = strlcpy(dest, p1, destsize);
- if (len < destsize - 1) {
- if (!len || dest[len-1] != '/')
- dest[len++] = '/';
- if (len < destsize - 1)
- len += strlcpy(dest + len, p2, destsize - len);
- else {
- dest[len] = '\0';
- len += strlen(p2);
- }
- }
- else
- len += strlen(p2) + 1; /* Assume we'd insert a '/'. */
- return len;
-}
-
/* Join any number of strings together, putting them in "dest". The return
* value is the length of all the strings, regardless of whether the null-
* terminated whole fits in destsize. Your list of string pointers must end
--
2.36.6

View File

@ -0,0 +1,51 @@
From a551f279b7b93c47d0be5fbd29ca90def0d013e8 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:17:44 +0100
Subject: [PATCH 2/4] Fix build with no stdint.h
---
popt/lookup3.c | 8 +++++++-
popt/poptint.h | 8 +++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/popt/lookup3.c b/popt/lookup3.c
index e974cad8..792776cd 100644
--- a/popt/lookup3.c
+++ b/popt/lookup3.c
@@ -34,7 +34,13 @@
*/
/* -------------------------------------------------------------------- */
-#include <stdint.h>
+#include <config.h>
+
+#ifdef HAVE_STDINT_H
+ #include <stdint.h>
+#else
+ #include <inttypes.h>
+#endif
#if defined(_JLU3_SELFTEST)
# define _JLU3_jlu32w 1
diff --git a/popt/poptint.h b/popt/poptint.h
index 001c5c35..75575492 100644
--- a/popt/poptint.h
+++ b/popt/poptint.h
@@ -9,7 +9,13 @@
#ifndef H_POPTINT
#define H_POPTINT
-#include <stdint.h>
+#include <config.h>
+
+#ifdef HAVE_STDINT_H
+ #include <stdint.h>
+#else
+ #include <inttypes.h>
+#endif
/**
* Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
--
2.36.6

View File

@ -0,0 +1,24 @@
From e89c46bb50b64256abe47e3ac1934de186d415ef Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:21:10 +0100
Subject: [PATCH 3/4] Ensure SIZE_MAX is defined
---
popt/poptconfig.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/popt/poptconfig.c b/popt/poptconfig.c
index bf201e26..f0d52123 100644
--- a/popt/poptconfig.c
+++ b/popt/poptconfig.c
@@ -10,6 +10,7 @@
#include "poptint.h"
#include <sys/stat.h>
#include <unistd.h>
+#include <limits.h>
#include <fcntl.h>
#include <errno.h>
--
2.36.6

View File

@ -0,0 +1,24 @@
From 6a679eef0112fe073af8b068c1bc74cbeaed55c1 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:48:11 +0100
Subject: [PATCH 4/4] Missing include for my_strdup()
---
lib/getaddrinfo.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c
index 96d7a2ba..a1706096 100644
--- a/lib/getaddrinfo.c
+++ b/lib/getaddrinfo.c
@@ -44,6 +44,7 @@ TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*/
#include "rsync.h"
+#include "ifuncs.h"
#ifndef SMB_MALLOC
#define SMB_MALLOC(s) malloc(s)
--
2.36.6