mirror of
https://github.com/openwrt/packages.git
synced 2026-04-15 10:51:55 +00:00
conserver: update to version 8.3.0
version 8.3.0 (February 2, 2026):
- Don't use `true` variable (Stanisław Pitucha <stan.pitucha@envato.com>)
- Add VPATH to Makefile.in (saproj <saproj@gmail.com>)
- FileUnopen: always return a valid file descriptor (Jeff Moyer <jmoyer@redhat.com>)
- fix SEGFAULT on early exit with IPv6 enabled (Bjørn Mork <bjorn@mork.no>)
- In AddrsMatch, keep copies of addrinfos to free. (Darren Tucker <dtucker@dtucker.net>)
- Increase buffer size for GSSAPI exchanges (Alexander Bokovoy <abokovoy@redhat.com>)
- Show "(inactive)" rather than an invalid pty device name for ondemand consoles that
are closed. Show "(inactive)" rather than "(null)" for ondemand consoles that have
never been opened. (Greg Becker <becker.greg@att.net>)
- Prevent spy-mode clients from being promoted to the attached/writable state. (Greg Becker <becker.greg@att.net>)
- autoconf upgrade (Jörg Sommer <joerg@jo-so.de>)
- reinitcheck allows time units (Jacek Tomasiak <jtomasiak@arista.com>)
- reduce level of string alloc management debug messages (Greg A. Woods <woods@robohack.ca>)
- fix bug with parser and "#" lines, fix debug output in ParseFile()
- Fix clobbering of breaklist and replstring (Anton Lundin <glance@ac2.se>)
- Use strcmp() rather than strcasecmp() to compare console names when reading the config
file and creating the list of consoles. (Greg Becker <becker.greg@att.net>)
- Added passwordfile config option (Jason Ni <jni@hudson-trading.com>)
Drop upstreamed patches:
002-addrsmatch-freeaddrinfo.patch
002-fix-SEGFAULT-on-early-exit-with-IPv6-enabled.patch
Signed-off-by: Bjørn Mork <bjorn@mork.no>
This commit is contained in:
@@ -8,12 +8,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=conserver
|
PKG_NAME:=conserver
|
||||||
PKG_VERSION:=8.2.7
|
PKG_VERSION:=8.3.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/conserver/conserver/tar.gz/v$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/conserver/conserver/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=b88f1880f4090b42370e075ca9c8a6062fb553ee33f155b204714c43dc71cef3
|
PKG_HASH:=0595d202ec6ea3b2fdf51e126cd0094959d06593635f349ba2219566978478f0
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
--- a/console/Makefile.in
|
--- a/console/Makefile.in
|
||||||
+++ b/console/Makefile.in
|
+++ b/console/Makefile.in
|
||||||
@@ -10,7 +10,7 @@ mandir = @mandir@
|
@@ -11,7 +11,7 @@ mandir = @mandir@
|
||||||
|
|
||||||
### Installation programs and flags
|
### Installation programs and flags
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
--- a/conserver/consent.c
|
|
||||||
+++ b/conserver/consent.c
|
|
||||||
@@ -1308,7 +1308,7 @@ AddrsMatch(char *addr1, char *addr2)
|
|
||||||
{
|
|
||||||
#if USE_IPV6
|
|
||||||
int error, ret = 0;
|
|
||||||
- struct addrinfo *ai1, *ai2, hints;
|
|
||||||
+ struct addrinfo *ai1, *ai2, *rp1, *rp2, hints;
|
|
||||||
#else
|
|
||||||
/* so, since we might use inet_addr, we're going to use
|
|
||||||
* (in_addr_t)(-1) as a sign of an invalid ip address.
|
|
||||||
@@ -1346,17 +1346,19 @@ AddrsMatch(char *addr1, char *addr2)
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
- for (; ai1 != NULL; ai1 = ai1->ai_next) {
|
|
||||||
- for (; ai2 != NULL; ai2 = ai2->ai_next) {
|
|
||||||
- if (ai1->ai_addr->sa_family != ai2->ai_addr->sa_family)
|
|
||||||
+ rp1 = ai1;
|
|
||||||
+ rp2 = ai2;
|
|
||||||
+ for (; rp1 != NULL; rp1 = rp1->ai_next) {
|
|
||||||
+ for (; rp2 != NULL; rp2 = rp2->ai_next) {
|
|
||||||
+ if (rp1->ai_addr->sa_family != rp2->ai_addr->sa_family)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (
|
|
||||||
# if HAVE_MEMCMP
|
|
||||||
- memcmp(&ai1->ai_addr, &ai2->ai_addr,
|
|
||||||
+ memcmp(&rp1->ai_addr, &rp2->ai_addr,
|
|
||||||
sizeof(struct sockaddr_storage))
|
|
||||||
# else
|
|
||||||
- bcmp(&ai1->ai_addr, &ai2->ai_addr,
|
|
||||||
+ bcmp(&rp1->ai_addr, &rp2->ai_addr,
|
|
||||||
sizeof(struct sockaddr_storage))
|
|
||||||
# endif
|
|
||||||
== 0) {
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
From ec846dfedde7931689ff0a56be5ba75a5aefc9ea Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
|
|
||||||
Date: Mon, 5 Feb 2024 21:16:51 +0100
|
|
||||||
Subject: [PATCH] fix SEGFAULT on early exit with IPv6 enabled
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Some command line options, like e.g -V, will cause conserver
|
|
||||||
to exit before the IPv6 address variables are initialized.
|
|
||||||
Avoid the calls to freeaddrinfo() in these cases.
|
|
||||||
|
|
||||||
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
|
||||||
---
|
|
||||||
conserver/main.c | 10 ++++++----
|
|
||||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/conserver/main.c
|
|
||||||
+++ b/conserver/main.c
|
|
||||||
@@ -53,8 +53,8 @@ int fAll = 0, fNoinit = 0, fVersion = 0,
|
|
||||||
char *pcConfig = CONFIGFILE;
|
|
||||||
int cMaxMemb = MAXMEMB;
|
|
||||||
#if USE_IPV6
|
|
||||||
-struct addrinfo *bindAddr;
|
|
||||||
-struct addrinfo *bindBaseAddr;
|
|
||||||
+struct addrinfo *bindAddr = (struct addrinfo *)0;
|
|
||||||
+struct addrinfo *bindBaseAddr = (struct addrinfo *)0;
|
|
||||||
#else
|
|
||||||
in_addr_t bindAddr = INADDR_ANY;
|
|
||||||
unsigned short bindPort;
|
|
||||||
@@ -781,8 +781,10 @@ DestroyDataStructures(void)
|
|
||||||
|
|
||||||
#if USE_IPV6
|
|
||||||
/* clean up addrinfo stucts */
|
|
||||||
- freeaddrinfo(bindAddr);
|
|
||||||
- freeaddrinfo(bindBaseAddr);
|
|
||||||
+ if ((struct addrinfo *)0 != bindAddr)
|
|
||||||
+ freeaddrinfo(bindAddr);
|
|
||||||
+ if ((struct addrinfo *)0 != bindBaseAddr)
|
|
||||||
+ freeaddrinfo(bindBaseAddr);
|
|
||||||
#else
|
|
||||||
if (myAddrs != (struct in_addr *)0)
|
|
||||||
free(myAddrs);
|
|
||||||
Reference in New Issue
Block a user