www/lua-resty-session3: port sticking to version 3

This is based upon www/lua-resty-session (v4), but is needed for
lua-resty-openidc.

The version 3.x is pinned in the lua-resty-openidc dependencies:
    9f3a4fcade/lua-resty-openidc-1.7.6-3.rockspec (L27)

There is apparently currently no clear plan on when/if lua-resty-openidc
will be updated to include changes for lua-resty-session 4.X, see
discussions on
    https://github.com/zmartzone/lua-resty-openidc/issues/480

Additionally to what the author submitted some changes by me:
 - add conflicts with www/lua-resty-session
 - give up maintainership of www/lua-resty-session

PR:		281142
This commit is contained in:
Baptiste Grenier 2024-08-30 22:12:38 +02:00 committed by Alexander Leidinger
parent 9db0090887
commit dfd76d0001
5 changed files with 76 additions and 1 deletions

View file

@ -336,6 +336,7 @@
SUBDIR += lua-resty-http SUBDIR += lua-resty-http
SUBDIR += lua-resty-lrucache SUBDIR += lua-resty-lrucache
SUBDIR += lua-resty-session SUBDIR += lua-resty-session
SUBDIR += lua-resty-session3
SUBDIR += luakit SUBDIR += luakit
SUBDIR += luakit-devel SUBDIR += luakit-devel
SUBDIR += lux SUBDIR += lux

View file

@ -1,9 +1,10 @@
PORTNAME= lua-resty-session PORTNAME= lua-resty-session
PORTREVISION= 1
DISTVERSIONPREFIX=v DISTVERSIONPREFIX=v
DISTVERSION= 4.0.5 DISTVERSION= 4.0.5
CATEGORIES= www CATEGORIES= www
MAINTAINER= netchild@FreeBSD.org MAINTAINER= ports@FreeBSD.org
COMMENT= Lua session library for OpenResty / ngx_lua COMMENT= Lua session library for OpenResty / ngx_lua
WWW= https://github.com/bungle/lua-resty-session WWW= https://github.com/bungle/lua-resty-session
@ -13,6 +14,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= luajit-openresty>=2.1:lang/luajit-openresty RUN_DEPENDS= luajit-openresty>=2.1:lang/luajit-openresty
# XXX: deps for filesystem, postgres, redis backends missing # XXX: deps for filesystem, postgres, redis backends missing
CONFLICTS_INSTALL= lua-resty-session-3*
USE_GITHUB= yes USE_GITHUB= yes
GH_ACCOUNT= bungle GH_ACCOUNT= bungle

View file

@ -0,0 +1,60 @@
PORTNAME= lua-resty-session
DISTVERSIONPREFIX=v
DISTVERSION= 3.10
CATEGORIES= www
MAINTAINER= baptiste@bapt.name
COMMENT= Lua session library for OpenResty / ngx_lua Version 3.x
WWW= https://github.com/bungle/lua-resty-session
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= luajit-openresty>=2.1:lang/luajit-openresty
# XXX: deps for filesystem, postgres, redis backends missing
CONFLICTS_INSTALL= lua-resty-session-4*
USE_GITHUB= yes
GH_ACCOUNT= bungle
NO_ARCH= yes
NO_BUILD= yes
LUA_MODSHAREDIR=${LOCALBASE}/share/lua/5.1
PLIST_FILES+= ${LUA_MODSHAREDIR}/resty/session.lua \
${LUA_MODSHAREDIR}/resty/session/ciphers/aes.lua \
${LUA_MODSHAREDIR}/resty/session/ciphers/none.lua \
${LUA_MODSHAREDIR}/resty/session/compressors/none.lua \
${LUA_MODSHAREDIR}/resty/session/compressors/zlib.lua \
${LUA_MODSHAREDIR}/resty/session/encoders/base16.lua \
${LUA_MODSHAREDIR}/resty/session/encoders/base64.lua \
${LUA_MODSHAREDIR}/resty/session/encoders/hex.lua \
${LUA_MODSHAREDIR}/resty/session/hmac/sha1.lua \
${LUA_MODSHAREDIR}/resty/session/identifiers/random.lua \
${LUA_MODSHAREDIR}/resty/session/serializers/json.lua \
${LUA_MODSHAREDIR}/resty/session/storage/cookie.lua \
${LUA_MODSHAREDIR}/resty/session/storage/dshm.lua \
${LUA_MODSHAREDIR}/resty/session/storage/memcache.lua \
${LUA_MODSHAREDIR}/resty/session/storage/memcached.lua \
${LUA_MODSHAREDIR}/resty/session/storage/redis.lua \
${LUA_MODSHAREDIR}/resty/session/storage/shm.lua \
${LUA_MODSHAREDIR}/resty/session/strategies/default.lua \
${LUA_MODSHAREDIR}/resty/session/strategies/regenerate.lua
PORTDOCS= README.md
DOCSDIR= ${PREFIX}/share/doc/lua${LUA_VER_STR}/${PORTNAME}
OPTIONS_DEFINE= DOCS
do-install:
@${MKDIR} ${STAGEDIR}${LUA_MODSHAREDIR}
@(cd ${WRKSRC}/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${LUA_MODSHAREDIR} "-name *\.lua")
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1725035042
SHA256 (bungle-lua-resty-session-v3.10_GH0.tar.gz) = 89ac564760d6a870b12f694dd23f123f8e2d5425c297bc10a8f1738528ec9bce
SIZE (bungle-lua-resty-session-v3.10_GH0.tar.gz) = 32125

View file

@ -0,0 +1,8 @@
Lua session library for OpenResty / ngx_lua
Features:
- Sessions are immutable (each save generates a new session), and lockless.
- Session data is AES-256-GCM encrypted with a key derived using HKDF-SHA256.
- Session has a fixed size header that is protected with HMAC-SHA256 MAC with a key derived using HKDF-SHA256.
- Session data can be stored in a stateless cookie or in various backend storages.
- A single session cookie can maintain multiple sessions across different audiences.