news/inn: Update to 2.6.5

Changes: https://github.com/InterNetNews/inn/releases/tag/2.6.5
This commit is contained in:
Kevin Bowling 2022-02-26 14:58:49 -07:00
parent 9519769c05
commit 6aae4e4be1
4 changed files with 16 additions and 86 deletions

View file

@ -1,7 +1,7 @@
# Created by: torstenb
PORTNAME?= inn
PORTVERSION?= 2.6.4
PORTVERSION?= 2.6.5
PORTREVISION?= 0
CATEGORIES= news
MASTER_SITES= ISC
@ -49,8 +49,6 @@ SQLITE_DESC= Enable SQLite (for ovsqlite overview method)
PLIST_SUB+= SNAPSHOT=""
.else
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-storage_buffindexed_shmem.c
PLIST_SUB+= SNAPSHOT="@comment "
.endif
@ -74,8 +72,8 @@ CONFIGURE_ARGS+= --mandir=${MANPREFIX}/man \
UUCP_RNEWS_RUN_DEPENDS= uucp:net/freebsd-uucp
INNLIB_LONG?= 6.0.1
LIBVER_LONG?= 3.0.4
INNLIB_LONG?= 6.1.0
LIBVER_LONG?= 3.0.5
PLIST_SUB+= LIBVER=${LIBVER_LONG:R:R} LIBVER_LONG=${LIBVER_LONG} \
INNLIB=${INNLIB_LONG:R:R} INNLIB_LONG=${INNLIB_LONG}

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1611943855
SHA256 (inn-2.6.4.tar.gz) = f05e803e0b3772b235bfb11b688f1def3d422dbf30ccbbce973f7fe518ac7518
SIZE (inn-2.6.4.tar.gz) = 2610659
TIMESTAMP = 1645911831
SHA256 (inn-2.6.5.tar.gz) = 34236cb34486e8083111821388670e02de5588ac24e819ca4468eafbb7b67598
SIZE (inn-2.6.5.tar.gz) = 2646269

View file

@ -1,71 +0,0 @@
The problem seems to be that unsupported permission bits are being given to semget(2) as in the following snippet (there are several such instances):
storage/buffindexed/shmem.c:
id = semget(kt, 2, IPC_CREAT|S_IRWXU|S_IRWXG|S_IRWXO);
The semget(2) man page does not indicate that the usual file mode bits may be used. Instead, it allows:
SEM_R Read access for user.
SEM_A Alter access for user.
(SEM_R>>3) Read access for group.
(SEM_A>>3) Alter access for group.
(SEM_R>>6) Read access for other.
(SEM_A>>6) Alter access for other.
The allowed bits correspond to read and write bits of the file mode constants. The execute bit is not among the defined bits for semget.
The fix: do not set any permission bits except for the six allowed bits.
Note that the documentation for linux semget differs, and seems to allow but ignore the execute bits.
Patch attached with submission follows:
--- storage/buffindexed/shmem.c.orig 2015-09-12 15:25:22.000000000 +0200
+++ storage/buffindexed/shmem.c 2015-09-21 21:15:18.448425000 +0200
@@ -26,7 +26,9 @@
static int smcGetSemaphore(const char *name)
{
key_t kt = ftok( (char *)name, 0 );
- int id = semget(kt, 0, S_IRWXU|S_IRWXG|S_IRWXO);
+ int perm = SEM_R | SEM_A | (SEM_R>>3) | (SEM_A>>3) |
+ (SEM_R>>6) | (SEM_A>>6);
+ int id = semget(kt, 0, perm);
if (id < 0) {
syswarn("semget failed to get semaphore for %s", name);
@@ -37,15 +39,17 @@ static int smcGetSemaphore(const char *n
static int smcCreateSemaphore(const char *name)
{
key_t kt = ftok( (char *)name, 0 );
- int id = semget(kt, 2, IPC_CREAT|S_IRWXU|S_IRWXG|S_IRWXO);
+ int perm = SEM_R | SEM_A | (SEM_R>>3) | (SEM_A>>3) |
+ (SEM_R>>6) | (SEM_A>>6);
+ int id = semget(kt, 2, IPC_CREAT|perm);
if (id < 0) {
if (errno == EACCES || errno == EINVAL) {
/* looks like a wrong semaphore exists. remove it. */
- id = semget(kt, 0, S_IRWXU|S_IRWXG|S_IRWXO);
+ id = semget(kt, 0, perm);
if (id < 0) {
/* couldn't even retrieve it. */
- syswarn("cant get semaphore using %s", name);
+ syswarn("cant get semaphore using %s (key=%d)", name, kt);
return id;
}
/* try to remove it */
@@ -65,7 +69,7 @@ static int smcCreateSemaphore(const char
}
#endif
/* and retry creating it */
- id = semget(kt, 2, IPC_CREAT|S_IRWXU|S_IRWXG|S_IRWXO);
+ id = semget(kt, 2, IPC_CREAT|perm);
}
}
if (id < 0)

View file

@ -205,17 +205,17 @@ man/man1/simpleftp.1.gz
man/man1/sm.1.gz
man/man3/INN::Config.3pm.gz
man/man3/INN::Utils::Shlock.3pm.gz
man/man3/clientlib.3.gz
man/man3/dbz.3.gz
man/man3/inndcomm.3.gz
man/man3/libauth.3.gz
man/man3/libinn.3.gz
man/man3/libinnhist.3.gz
man/man3/libinn_clientlib.3.gz
man/man3/libinn_dbz.3.gz
man/man3/libinn_inndcomm.3.gz
man/man3/libinn_list.3.gz
man/man3/libinn_qio.3.gz
man/man3/libinn_tst.3.gz
man/man3/libinn_uwildmat.3.gz
man/man3/libstorage.3.gz
man/man3/list.3.gz
man/man3/qio.3.gz
man/man3/tst.3.gz
man/man3/uwildmat.3.gz
man/man5/active.5.gz
man/man5/active.times.5.gz
man/man5/buffindexed.conf.5.gz
@ -229,6 +229,7 @@ man/man5/incoming.conf.5.gz
man/man5/inn-radius.conf.5.gz
man/man5/inn.conf.5.gz
man/man5/innfeed.conf.5.gz
man/man5/innreport.conf.5.gz
man/man5/innwatch.ctl.5.gz
man/man5/localgroups.5.gz
man/man5/moderators.5.gz
@ -301,9 +302,11 @@ man/man8/radius.8.gz
man/man8/rc.news.8.gz
man/man8/scanlogs.8.gz
man/man8/scanspool.8.gz
man/man8/send-ihave.8.gz
man/man8/send-nntp.8.gz
man/man8/send-uucp.8.gz
man/man8/sendinpaths.8.gz
man/man8/sendxbatches.8.gz
man/man8/tally.control.8.gz
man/man8/tdx-util.8.gz
man/man8/tinyleaf.8.gz