mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
news/inn: Update to 2.6.5
Changes: https://github.com/InterNetNews/inn/releases/tag/2.6.5
This commit is contained in:
parent
9519769c05
commit
6aae4e4be1
4 changed files with 16 additions and 86 deletions
|
@ -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}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue