openvpn-auth-oauth2
The source is a tarball from GitHub via codeload.github.com, which is a legitimate project-owned host; building from official project sources is normal AUR packaging practice, and the checksum is verified.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a tarball from GitHub via codeload.github.com, which is a legitimate project-owned host; building from official project sources is normal AUR packaging practice, and the checksum is verified.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:14
source=("${pkgname}-${pkgver}.tar.gz::https://codeload.${_uri}/${pkgname}/tar.gz/refs/tags/v${pkgver}")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Shalygin Konstantin <k0ste@k0ste.ru>
# Contributor: Shalygin Konstantin <k0ste@k0ste.ru>
pkgname='openvpn-auth-oauth2'
pkgver='2.2.3'
pkgrel='1'
pkgdesc='A Plugin/management interface client for OpenVPN server to handle an OIDC based single sign-on (SSO) auth flows'
arch=('x86_64' 'aarch64')
_uri="github.com/jkroepke"
url="https://${_uri}/${pkgname}"
license=('MIT')
makedepends=('go' 'git')
depends=('openvpn>=2.6.2')
source=("${pkgname}-${pkgver}.tar.gz::https://codeload.${_uri}/${pkgname}/tar.gz/refs/tags/v${pkgver}")
sha256sums=('40883cd46ce0c1df9e52ebda75afcc038596dc20e4e850fed8139d53b7634875')
backup=("etc/conf.d/${pkgname}"
"etc/${pkgname}/config.yaml")
prepare() {
export GOPATH="${srcdir}/gopath"
export GOBIN="${GOPATH}/bin"
export GOTMPDIR="${GOPATH}/tmp"
export GOCACHE="${srcdir}/cache/go-cache"
export GOMODCACHE="${srcdir}/cache/go"
mkdir -p "${GOPATH}/src/${_uri}"
mkdir -p "${GOTMPDIR}"
eval "$(go env | grep -e "GOHOSTOS" -e "GOHOSTARCH")"
ln -snf "${srcdir}/${pkgname}-${pkgver}" "${GOPATH}/src/${_uri}/${pkgname}"
sed --in-place \
--expression 's|/etc/sysconfig|/etc/conf.d|g' \
--expression 's|CapabilityBoundingSet=|CapabilityBoundingSet=CAP_NET_BIND_SERVICE|g' \
--expression 's|AmbientCapabilities=|AmbientCapabilities=CAP_NET_BIND_SERVICE|g' \
--expression '/PrivateUsers=true/d' \
"${pkgname}-${pkgver}/packaging/usr/lib/systemd/system/${pkgname}.service"
}
build() {
cd "${GOPATH}/src/${_uri}/${pkgname}"
export CGO_CFLAGS="${CFLAGS} ${DEBUG_CFLAGS}"
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS} ${DEBUG_CXXFLAGS}"
for e in "cmd" "lib"
do
if [[ "${e}" == "lib" ]]
then
mode="c-shared"
outname="${pkgname}.so"
else
mode="pie"
outname="${pkgname}"
fi
GOOS="${GOHOSTOS}" GOARCH="${GOHOSTARCH}" \
BUILDTAGS="no_otel" go build \
-buildmode="${mode}" \
-trimpath \
-mod="readonly" \
-modcacherw \
-ldflags "-compressdwarf=false -linkmode external -extldflags '${LDFLAGS}' \
-X ${_uri}/${pkgname}/internal/version.Version=${pkgver} \
-X ${_uri}/${pkgname}/internal/version.Commit=$(git rev-parse HEAD) \
-X ${_uri}/${pkgname}/internal/version.Date=$(date -u '+%Y%m%d-%H:%M:%S' --date=@${SOURCE_DATE_EPOCH})" \
-o "${outname}" \
"./${e}/${pkgname}"
done
}
check() {
cd "${GOPATH}/src/${_uri}/${pkgname}"
TMPDIR="${GOPATH}/tmp" go test -modcacherw -race ./...
}
package() {
cd "${pkgname}-${pkgver}"
install -Dm0644 "LICENSE.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm0755 "${pkgname}" -t "${pkgdir}/usr/bin"
install -Dm0755 "${pkgname}.so" -t "${pkgdir}/usr/lib/openvpn/plugins"
install -Dm0644 "${pkgname}.h" -t "${pkgdir}/usr/include"
pushd "packaging"
install -Dm0644 "etc/${pkgname}/config.yaml" -t "${pkgdir}/etc/${pkgname}"
install -Dm0644 "etc/sysconfig/${pkgname}" -t "${pkgdir}/etc/conf.d"
install -Dm0644 "usr/lib/systemd/system/${pkgname}.service" -t "${pkgdir}/usr/lib/systemd/system"
install -Dm0644 "usr/lib/sysusers.d/${pkgname}.conf" -t "${pkgdir}/usr/lib/sysusers.d"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |