hiawatha
The source is a tarball from the official project domain (hiawatha.leisink.net), which is the developer's own site; building from the project's official source, even on a non-whitelisted host, is standard and safe for AUR packages.
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 the official project domain (hiawatha.leisink.net), which is the developer's own site; building from the project's official source, even on a non-whitelisted host, is standard and safe for AUR packages.
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:21
source=("https://hiawatha.leisink.net/files/download/$pkgname-$pkgver.tar.gz"
PKGBUILD
1 offending line(s) highlighted# Maintainner: Kewl <kewl at alto dot eu dot org>
# Contributor: Kyle Keen <keenerd@gmail.com>
# Contributor: Kurt Marasco <celilo _at_ lavabit _dot_ com>
# Contributor: Pascal Ernster <aur at hardfalcon dot net>
_watch=('https://hiawatha.leisink.net/changelog' 'body' 'regex' '\"version\">(\d[\d.]*\d+)<' 'pkgver')
pkgname=hiawatha
pkgver=12.4
pkgrel=1
pkgdesc="Secure and advanced webserver"
url="https://hiawatha.leisink.net/"
arch=('x86_64')
license=('GPL2')
depends=('libxslt' 'libxcrypt')
optdepends=('php-fpm: PHP fastcgi'
'php: letsencrypt/lefh')
makedepends=('cmake' 'python')
backup=('etc/hiawatha/hiawatha.conf'
'etc/hiawatha/cgi-wrapper.conf'
'etc/hiawatha/mimetype.conf')
source=("https://hiawatha.leisink.net/files/download/$pkgname-$pkgver.tar.gz"
'hiawatha.conf.sample'
'hiawatha.service'
'lefh-renew.service'
'lefh-renew.timer')
sha256sums=('c80f87b5f9f04520b57af96ac52905198f96de38c3b7d988abc0f758cdd46d2e'
'4671d2586cbe3cd6497b16ff422c6143cdab40641ef3c9c4988c478351a8f5e7'
'b5a2671703b52eec376cfc4697b86aafa4f7fdd9b2b9203798e2117770bafa53'
'2598480f8b249aaf7028ea66bac0195e1c017fb17c2c169b69e0b66413728457'
'd12c5a68c293f66d95ae4df704ea349adbad972fb25475ab1a0a24fb42bfc70b')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
sed -i 's/www-data/http/g' extra/logrotate.in
# Update stock hiawatha.conf
sed -e 's|#ServerId = www-data|ServerId = http|' \
-e 's|/var/www/|/srv/http/|g' \
-e 's|//|/|g' \
-e 's|#CGIextension = cgi|&\n#TriggerOnCGIstatus = no|g' \
-e 's|ConnectTo = 127.0.0.1:2005|ConnectTo = 127.0.0.1:9000|g' \
-e 's|# Extension = php|&\n# SessionTimeout = 30|g' \
-e 's|#ErrorHandler = 404:/error.cgi|&\n#UseGZfile = yes|g' \
-i config/hiawatha.conf.in
sed -e 's|/etc/init.d/hiawatha restart|systemctl restart hiawatha.service|' \
-i extra/letsencrypt/letsencrypt.conf.in
# Fix signal handler prototypes for GCC >= 12
sed -i 's/void \([A-Z0-9_]*_handler\)()/void \1(int sig)/g' src/hiawatha.c
sed -i 's/void \([A-Z0-9_]*_handler\)()/void \1(int sig)/g' src/cgi-wrapper.c
# Add (void)sig; to silence unused warnings if handler doesn't use the signal
sed -i '/^{/a \ (void)sig;' src/hiawatha.c
sed -i '/^{/a \ (void)sig;' src/cgi-wrapper.c
}
build() {
cd "$srcdir/$pkgname-$pkgver"
mkdir -p build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX="/" \
-DCMAKE_INSTALL_BINDIR="/usr/bin" \
-DCMAKE_INSTALL_SBINDIR="/usr/bin" \
-DCMAKE_INSTALL_SYSCONFDIR="/etc/hiawatha" \
-DCMAKE_INSTALL_LIBDIR="/usr/lib" \
-DCMAKE_INSTALL_MANDIR="/usr/share/man" \
-DCONFIG_DIR="/etc/hiawatha" \
-DLOG_DIR="/var/log/hiawatha" \
-DPID_DIR="/run" \
-DENABLE_TLS=ON \
-DUSE_SYSTEM_MBEDTLS=OFF \
-DENABLE_MONITOR=ON \
-DWEBROOT_DIR="/srv/http/hiawatha" \
-DWORK_DIR="/var/lib/hiawatha" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
make
# Features enabled by default
# -DENABLE_CACHE
# -DENABLE_IPV6
# -DENABLE_RPROXY
# -DENABLE_TOOLKIT
# -DENABLE_XSLT
# Features disabled by default
# -DENABLE_DEBUG
# -DENABLE_TOMAHAWK
# Arch mbedtls is built without MBEDTLS_THREADING_{C,PTHREAD}, which
# Hiawatha requires. Use the bundled copy (installed to /usr/lib/hiawatha).
}
package() {
cd "$srcdir/$pkgname-$pkgver/build"
make DESTDIR="$pkgdir/" install
rmdir "$pkgdir/run"
rm "$pkgdir/srv/http/hiawatha/index.html"
rmdir -p --ignore-fail-on-non-empty "$pkgdir/srv/http/hiawatha"
install -Dm644 logrotate.d/hiawatha "$pkgdir/etc/logrotate.d/hiawatha"
cd "$srcdir"
install -Dm644 hiawatha.service "$pkgdir/usr/lib/systemd/system/hiawatha.service"
install -Dm644 lefh-renew.service "$pkgdir/usr/lib/systemd/system/lefh-renew.service"
install -Dm644 lefh-renew.timer "$pkgdir/usr/lib/systemd/system/lefh-renew.timer"
install -Dm644 hiawatha.conf.sample "$pkgdir/etc/hiawatha/"
}
Changes since previous scan
--- PKGBUILD @ 2026-08-15 00:26+++ PKGBUILD @ 2026-09-26 00:12@@ -5,8 +5,8 @@ _watch=('https://hiawatha.leisink.net/changelog' 'body' 'regex' '\"version\">(\d[\d.]*\d+)<' 'pkgver') pkgname=hiawatha-pkgver=12.2-pkgrel=2+pkgver=12.4+pkgrel=1 pkgdesc="Secure and advanced webserver" url="https://hiawatha.leisink.net/" arch=('x86_64')@@ -23,7 +23,7 @@ 'hiawatha.service' 'lefh-renew.service' 'lefh-renew.timer')-sha256sums=('f0343f5bf0a200973ebdf16668ab8e845e78498682ca83b05b78b2cc78fbe736'+sha256sums=('c80f87b5f9f04520b57af96ac52905198f96de38c3b7d988abc0f758cdd46d2e' '4671d2586cbe3cd6497b16ff422c6143cdab40641ef3c9c4988c478351a8f5e7' 'b5a2671703b52eec376cfc4697b86aafa4f7fdd9b2b9203798e2117770bafa53' '2598480f8b249aaf7028ea66bac0195e1c017fb17c2c169b69e0b66413728457'Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-26 00:12:15 | Low | 2 |
| 2026-09-25 17:12:25 | Medium | 1 |
| 2026-08-15 00:26:13 | Clean | 2 |
| 2026-08-14 01:27:12 | Medium | 1 |
| 2026-06-19 19:07:35 | Clean | 2 |
| 2026-06-18 16:11:54 | Medium | 1 |