claws-mail-protectedheaders-git

maintainer dreieck · 1 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The flagged non-standard host (web.archive.org) is used to fetch a patch file, but the patch is from an archived official project bug tracker; the source is otherwise the official git repository, and the patch is verified with a checksum, posing minimal risk.

Triggered rules

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The flagged non-standard host (web.archive.org) is used to fetch a patch file, but the patch is from an archived official project bug tracker; the source is otherwise the official git repository, and the patch is verified with a checksum, posing minimal risk.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM source=() URL on a non-standard host 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:156 "${_pkgname}::git://git.claws-mail.org/claws.git#branch=${_gitbranch}"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: dreieck (https://aur.archlinux.org/account/dreieck)
2# Contributor: Christian Hesse
3
4_USE_CCACHE=false
5if which ccache > /dev/null 2>&1; then
6 _USE_CCACHE=true
7fi
8_WITH_NETWORKMANAGER=false
9# _WITH_NETWORKMANAGER=true
10# _WITH_VALGRIND=false
11_WITH_VALGRIND=true
12# _TOOLKIT='gtk2'
13_TOOLKIT='gtk3'
14_PROTECTEDHEADERSPATCHVARIANT=nopicturesplease # Use the patch from https://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=4426#c39, or a newer one sent e.g. manually via email.
15# _PROTECTEDHEADERSPATCHVARIANT=filippo # Use the patch from https://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=4007#c4.
16
17_pkgname='claws-mail'
18case "${_TOOLKIT}" in
19 'gtk2')
20 _pkgvariant="${_TOOLKIT}"
21 _gitbranch="${_TOOLKIT}"
22 ;;
23 'gtk3')
24 _pkgvariant="protectedheaders"
25 _gitbranch='master'
26 ;;
27 *)
28 _pkgvariant="${_TOOLKIT}-protectedheaders"
29 _gitbranch="${_TOOLKIT}"
30 ;;
31esac
32
33pkgname="${_pkgname}-${_pkgvariant}-git"
34epoch=0
35pkgver=4.3.1+206.r13691.20260203.450a0ac32
36pkgrel=1
37pkgdesc="A GTK based e-mail client. Latest git checkout, built against '${_TOOLKIT}'. Patched to use charset supersets to decode titles and to display protected headers."
38arch=(
39 'i686'
40 'x86_64'
41)
42license=('GPL-3.0-or-later')
43url='https://www.claws-mail.org/'
44depends=(
45 'cairo'
46 'compface'
47 'dbus-glib'
48 'enchant'
49 'gdk-pixbuf2'
50 'glib2'
51 'glibc'
52 'gnutls'
53 'gpgme'
54 "${_TOOLKIT}"
55 'hicolor-icon-theme'
56 'libice'
57 'libetpan'
58 'libsm'
59 'libldap'
60 'librsvg'
61 'nettle'
62 'pango'
63 'startup-notification'
64)
65makedepends=(
66 'ayatana-ido'
67 'git'
68 'glib2-devel'
69 'python>=3'
70 'spamassassin'
71 # dependencies for plugins:
72 'bogofilter'
73 'dillo'
74 'gumbo-parser>=0.12'
75 'libayatana-appindicator'
76 'libcanberra'
77 'libdbusmenu-glib'
78 'libgdata'
79 'libgoa'
80 'libical'
81 'libnotify'
82 'libxml2'
83 'libytnef'
84 'poppler-glib'
85 # 'pygtk' # This requires python2 stuff to build. Most probably obsolete as (make) dependency.
86 # dependencies to build the docs:
87 'docbook-utils'
88 'lynx'
89 'texlive-bin'
90 'texlive-core'
91 'texlive-formatsextra'
92)
93optdepends=(
94 'claws-mail-theme-basicsvg: BasicSVG icon theme for Claws Mail.'
95 'claws-mail-tango-theme: Tango icon theme for Claws Mail.'
96 'papirus-claws-mail-theme: Papirus icon theme for Claws Mail.'
97 "claws-mail-plugin-reloader: Reload plugins from the 'tools' menu (for development)."
98 'bash: for some extra tools.'
99 'at-spi2-core: for many plugins.'
100 'bogofilter: for bogofilter plugin.'
101 'curl: for vcalendar, rssyl and spamreport plugins.'
102 'dbus: for notification plugin.'
103 'libx11: for notification plugin.'
104 'dillo: for dillo html viewer plugin.'
105 'expat: for rssyl plugin.'
106 'fontconfig: for litehtml_viewer plugin.'
107 'freetype2: for litehtml_viewer plugin.'
108 'gcc-libs: for litehtml_viewer plugin.'
109 'gumbo-parser>=0.12: for litehtml_viewer plugin.'
110 'ghostscript: for pdf viewer plugin.'
111 'harfbuzz: for many plugins'
112 'jpilot: for jpilot (palm pilot connection) plugin.'
113 'libarchive: for archive plugin and various other plugins.'
114 'ayatana-ido: for notification plugin.'
115 'libcanberra: for notification plugin.'
116 'libdbusmenu-glib: for notification plugin.'
117 'libayatana-appindicator: for notification plugon.'
118 'libgpg-error: for GPG and S-MIME plugins.'
119 'libical: for vcalendar plugin.'
120 'libnotify: for notification plugin.'
121 'libytnef: for tnef_parse plugin.'
122 'libxcrypt: for perl plugin.'
123 'perl: needed for some tools and perl plugin.'
124 'poppler-glib: for pdf viewer plugin.'
125 'python2: needed for some tools and python plugin.'
126 'python>=3: for some tools/ plugins.'
127 'spamassassin: for spamassassin plugin.'
128 'zlib: for many plugins.'
129 'json-glib: for gdata plugin.'
130 'libgdata: for gdata plugin.'
131 'libgoa: for gdata plugin.'
132 'libxml2: for gdata plugin.'
133)
134replaces=(
135 'claws-mail-extra-plugins'
136 'sylpheed-claws'
137)
138conflicts=(
139 'claws'
140 "${_pkgname}"
141 "${_pkgname}-${_pkgvariant}"
142 "${_pkgname}-bash-completion"
143 'claws-mail-extra-plugins'
144 'sylpheed-claws'
145)
146provides=(
147 "claws=${pkgver}"
148 "${_pkgname}=${pkgver}"
149 "${_pkgname}-${_TOOLKIT}=${pkgver}"
150 "${_pkgname}-title-superset=${pkgver}"
151 "${_pkgname}-protectedheaders=${pkgver}"
152 "${_pkgname}-bash-completion"
153 "claws-mail-extra-plugins=${pkgver}"
154)
155source=(
156 "${_pkgname}::git://git.claws-mail.org/claws.git#branch=${_gitbranch}"
157 "0000_encoding.diff::https://aur.archlinux.org/cgit/aur.git/plain/0001_encoding.diff?h=claws-mail-title-superset" ## NOTE!, if this gets removed, adapt the `provides` array and the `$pkgdesc`!
158)
159sha256sums=(
160 'SKIP' # Main upstream git source
161 '79e2b664d039f5cc0cf642359923e3d100ffc4ab070fc54c02d5792b624e26f6' # '0000_encoding.diff'
162)
163case "${_PROTECTEDHEADERSPATCHVARIANT}" in
164 'nopicturesplease')
165 #source+=("0002_protectedheaders.patch::http://web.archive.org/web/20240721164745/https://www.thewildbeast.co.uk/claws-mail/bugzilla/attachment.cgi?id=2331")
166 #sha256sums+=('383f4ea03102ed2c8f19365b9bf2b757969d1617fcfd0a8375126f388cc60301')
167 #source+=('protected-headers.nopicturesplease.2026-01-21.6500e351c6889502e15a0b7365dba516142c9d65.patch')
168 source+=('protected-headers.nopicturesplease.2026-02-06.450a0ac32ea2c7f621ee21a86d8d53d3766efc14.patch')
169 sha256sums+=('f802afc82887fc0601f819cb05196ed9cc2dae08e9d482d9a0456ed79a1230b4')
170 if [ "${_TOOLKIT}" == "gtk2" ]; then
171 source+=("protectedheaders.patch.for-gtk2.patch")
172 sha256sums+=('3b1e568398950eb93d879353cfd6d49d81f7e1790c24972f36846f22ef4106cb')
173 fi
174 ;;
175 'filippo')
176 source+=("read_enc_subject.tar.gz::http://web.archive.org/web/20240721164805/https://www.thewildbeast.co.uk/claws-mail/bugzilla/attachment.cgi?id=2350")
177 sha256sums+=('70b2595830dce73d85600190258389216b4aa613f88ebbedc6088a806c7b01f1')
178 ;;
179 *)
180 error "Please edit the 'PKGBUILD' to specify a valid provider of the protected headers patch (variable '_PROTECTEDHEADERSPATCHVARIANT' at the beginning of the 'PKGBUILD')."
181 exit 1
182 ;;
183esac
184
185
186if "${_USE_CCACHE}"; then
187 makedepends+=('ccache')
188 options+=('ccache')
189fi
190if [ "${_TOOLKIT}" == "gtk2" ]; then
191 _fancy_config_opts=('--disable-fancy-plugin')
192else
193 makedepends+=(
194 'libsoup3'
195 'webkit2gtk-4.1'
196 )
197 optdepends+=(
198 'libjavascriptcoregtk-4.1.so: for fancy webkit html viewer plugin.'
199 'libwebkit2gtk-4.1.so: for fancy webkit html viewer plugin.'
200 'libsoup3: for fancy webkit html viewer plugin.'
201 )
202 _fancy_config_opts=('--enable-fancy-plugin')
203fi
204if "${_WITH_NETWORKMANAGER}"; then
205 makedepends+=('networkmanager')
206 optdepends+=('networkmanager: for NetworkManager network connection query.')
207 _networkmanager_config_opts=('--enable-networkmanager')
208else
209 _networkmanager_config_opts=('--disable-networkmanager')
210fi
211if "${_WITH_VALGRIND}"; then
212 makedepends+=('valgrind')
213 _valgrind_config_opts=('--enable-valgrind')
214else
215 _valgrind_config_opts=('--disable-valgrind')
216fi
217
218
219prepare() {
220 cd "${srcdir}/${_pkgname}"
221
222 #for _patch in "${srcdir}/....patch"; do
223 # printf '%s\n' " > Applying patch '$(basename "${_patch}")' ..."
224 # patch -Np1 --follow-symlinks -i "${_patch}"
225 #done
226 rm -fv po/Makefile.in.in
227
228 for _patch in "${srcdir}/0000_encoding.diff"; do
229 printf '%s\n' " > Applying patch '${_patch}' ..."
230 patch -N -p1 --follow-symlinks -i "${_patch}"
231 done
232
233 case "${_PROTECTEDHEADERSPATCHVARIANT}" in
234 'nopicturesplease')
235 cp "${srcdir}/protected-headers.nopicturesplease.2026-02-06.450a0ac32ea2c7f621ee21a86d8d53d3766efc14.patch" "${srcdir}/0002_protectedheaders.patch"
236 if [ "${_TOOLKIT}" == "gtk2" ]; then
237 printf '%s\n' " > Patching '0002_protectedheaders.patch' for GTK2 ..."
238 patch -N --follow-symlinks -i "${srcdir}/protectedheaders.patch.for-gtk2.patch" -o "${srcdir}/0002_protectedheaders-${_TOOLKIT}.patch" "${srcdir}/0002_protectedheaders.patch"
239 else
240 cp "${srcdir}/0002_protectedheaders.patch" "${srcdir}/0002_protectedheaders-${_TOOLKIT}.patch"
241 fi
242 for _patch in "${srcdir}/0002_protectedheaders-${_TOOLKIT}.patch"; do
243 printf '%s\n' " > Applying patch '${_patch}' ..."
244 patch -N -p1 --follow-symlinks -i "${_patch}"
245 done
246 ;;
247 'filippo')
248 for _patch in "${srcdir}"/{0001-PGP-MIME-fix-leak-of-MimeInfo-if-parsing-fails,0002-Substitute-Subject-header-when-decrypting,0003-TextView-move-header-extraction-to-textview_process_,0004-PGPMime-return-full-decrypted-message-instead-of-fir}.patch; do
249 printf '%s\n' " > Applying patch '${_patch}' ..."
250 patch -N -p1 --follow-symlinks -i "${_patch}"
251 done
252 ;;
253 *)
254 error "Please edit the 'PKGBUILD' to specify a valid provider of the protected headers patch (variable '_PROTECTEDHEADERSPATCHVARIANT' at the beginning of the 'PKGBUILD')."
255 return 1
256 ;;
257 esac
258
259 printf '%s\n' " > Generating git log ..."
260 git log > "${srcdir}/git.log"
261
262 # Generate ./configure
263 # if [ ! -e configure ]; then
264 printf '%s\n' " > Generating './configure' ..."
265 NOCONFIGURE=1 ./autogen.sh
266 # fi
267}
268
269pkgver() {
270 cd "${srcdir}/${_pkgname}"
271
272 _ver="$(git describe --tags | sed -E -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')"
273 _rev="$(git rev-list --count HEAD)"
274 _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
275 _hash="$(git rev-parse --short HEAD)"
276
277 if [ -z "${_ver}" ]; then
278 error "Could not determine version."
279 return 1
280 else
281 printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
282 fi
283}
284
285build() {
286 cd "${srcdir}/${_pkgname}"
287
288 ## Silence some compiler warnings (and, just to be sure, do not treat them as errors as well):
289 local _NOWARNINGS _NOWARNINGS_CConly _NOWARNINGS_CXXonly _warning _CFLAGSADDITIONS _CFLAGSADDITIONS_CConly _CFLAGSADDITIONS_CXXonly
290 _NOWARNINGS=('deprecated-declarations' 'unused-result' 'lto-type-mismatch' 'discarded-qualifiers' 'attribute-warning')
291 _NOWARNINGS_CConly=('implicit-function-declaration')
292 _NOWARNINGS_CXXonly=()
293 _CFLAGSADDITIONS=''
294 _CFLAGSADDITIONS_CConly=''
295 _CFLAGSADDITIONS_CXXonly=''
296 for _warning in "${_NOWARNINGS_CConly[@]}"; do
297 _CFLAGSADDITIONS_CConly+=" -Wno-${_warning} -Wno-error=${_warning}"
298 done
299 for _warning in "${_NOWARNINGS_CXXonly[@]}"; do
300 _CFLAGSADDITIONS_CXXonly+=" -Wno-${_warning} -Wno-error=${_warning}"
301 done
302 for _warning in "${_NOWARNINGS[@]}"; do
303 _CFLAGSADDITIONS+=" -Wno-${_warning} -Wno-error=${_warning}"
304 done
305 CFLAGS+="${_CFLAGSADDITIONS} ${_CFLAGSADDITIONS_CConly}"
306 CXXFLAGS+="${_CFLAGSADDITIONS} ${_CFLAGSADDITIONS_CXXonly}"
307 export CFLAGS
308 export CXXFLAGS
309
310 #MAKEFLAGS+=' -j1'
311 #export MAKEFLAGS
312
313 local _configure_opts
314 _configure_opts=(
315 --prefix=/usr
316 --disable-static
317 --enable-shared
318 --enable-nls
319 --enable-manual
320 --enable-libsm
321 --enable-ipv6
322 --enable-gnutls
323 --enable-enchant
324 --enable-crash-dialog
325 --disable-generic-umpc
326 --enable-compface
327 --enable-pthread
328 --enable-startup-notification
329 --enable-dbus
330 --enable-ldap
331 --enable-jpilot
332 "${_networkmanager_config_opts[@]}"
333 --enable-libetpan
334 "${_valgrind_config_opts[@]}"
335 --disable-alternate-addressbook # add --enable-alternate-addressbook to the options to use the new/alternate address book (which could break things!). Do not forget to add claws-contacts to the dependencies then
336 --enable-svg
337 --enable-deprecated
338 --enable-acpi_notifier-plugin
339 --enable-address_keeper-plugin
340 --enable-archive-plugin
341 --enable-att_remover-plugin
342 --enable-attachwarner-plugin
343 --enable-bogofilter-plugin
344 --enable-bsfilter-plugin
345 --enable-clamd-plugin
346 --enable-dillo-plugin
347 "${_fancy_config_opts[@]}"
348 --enable-fetchinfo-plugin
349 --enable-gdata-plugin
350 --enable-libravatar-plugin
351 --enable-litehtml_viewer-plugin
352 --enable-mailmbox-plugin
353 --enable-managesieve-plugin
354 --enable-newmail-plugin
355 --enable-notification-plugin
356 --enable-pdf_viewer-plugin
357 --enable-perl-plugin
358 --enable-python-plugin
359 --enable-pgpcore-plugin
360 --enable-pgpmime-plugin
361 --enable-pgpinline-plugin
362 --enable-rssyl-plugin
363 --enable-smime-plugin
364 --enable-spamassassin-plugin
365 --enable-spam_report-plugin
366 --enable-tnef_parse-plugin
367 --enable-vcalendar-plugin
368 --enable-demo-plugin
369 )
370
371 printf '%s\n' " > Running './configure <options>' ..."
372 ./configure "${_configure_opts[@]}"
373 printf '%s\n' " > Running 'make' ..."
374 make
375
376 # build extra tools
377 pushd tools 2>/dev/null
378 printf '%s\n' " > Running 'make' in './tools/' ..."
379 make
380 popd 2>/dev/null
381}
382
383package() {
384 cd "${srcdir}/${_pkgname}"
385
386 printf '%s\n' " > Runnung 'make install' ..."
387 make DESTDIR="${pkgdir}" install
388
389 # install extra tools
390 printf '%s\n' " > Installing extra tools ..."
391 # all executables and .conf files; only top directory
392 pushd tools 2>/dev/null
393 for _file in *.pl *.sh *.py tb2claws-mail update-po uudec uuooffice; do
394 install -D -v -m755 "${_file}" "${pkgdir}/usr/lib/${_pkgname}/tools/${_file}"
395 done
396 for _file in *.txt *.conf README; do
397 install -D -v -m644 "${_file}" "${pkgdir}/usr/lib/${_pkgname}/tools/${_file}"
398 done
399 for _dir in kdeservicemenu; do
400 cp -arv "${_file}" "${pkgdir}/usr/lib/${_pkgname}"/tools/
401 done
402 popd 2>/dev/null
403
404 # Install more information
405 printf '%s\n' " > Installing extra documentation and license ..."
406 for _docfile in ABOUT-NLS AUTHORS ChangeLog* INSTALL NEWS README RELEASE_NOTES version; do
407 install -D -v -m644 "${_docfile}" "${pkgdir}/usr/share/doc/${_pkgname}/${_docfile}"
408 done
409 install -D -v -m644 "${srcdir}/git.log" "${pkgdir}/usr/share/doc/${_pkgname}/git.log"
410 ln -svr "${pkgdir}/usr/lib/${_pkgname}/tools/README" "${pkgdir}/usr/share/doc/${_pkgname}/README-tools"
411 ln -svr "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" "${pkgdir}/usr/share/doc/${_pkgname}/COPYING"
412 install -D -v -m644 'COPYING' "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
413
414 # Install bash completion
415 printf '%s\n' " > Installing bash completion ..."
416 install -D -v -m644 "tools/bash_completion/claws-mail" "${pkgdir}/usr/share/bash-completion/completions/${_pkgname}"
417}
418

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion