pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/mail/rspamd
Module Name: pkgsrc
Committed By: wiz
Date: Mon Jul 6 09:22:18 UTC 2026
Modified Files:
pkgsrc/mail/rspamd: Makefile PLIST cfgfiles.mk distinfo
Removed Files:
pkgsrc/mail/rspamd/patches: patch-src_plugins_lua_dmarc.lua
Log Message:
rspamd: update to 4.1.1.
4.1.1: 19 Jun 2026
** Features **
* [Feature] checkv3: Negotiate representation and compression via Accept/Accept-Encoding
* [Feature] css: Detect more text-hiding tricks (off-screen positioning, clip, negative text-indent, tiny fonts)
* [Feature] lua_archive: Add opt-in extraction limits (size, count, ratio) to bound zip-bomb expansion
* [Feature] lua_text: Add byte-distribution statistics methods (entropy, byte mean/deviation, serial correlation, Monte-Carlo Pi)
* [Feature] lua: Add zlib/YARA-compatible crc32 for rspamd_text, rspamd_util, and cryptobox hash
* [Feature] multipattern: Add explicit SOM (start-of-match) flag and fix regex-fallback offsets
* [Feature] neural: Add pluggable feature-provider and ANN-architecture registries
* [Feature] neural: Add sequence output mode and SIF word selection to fasttext_embed
* [Feature] kann: Add multi-head attention pooling operator
* [Feature] lua_kann: Expose slice and concat graph transforms
** Bug fixes **
* [Fix] dns: Do not defer resolver nameservers (fixes SIGSEGV at worker startup, regression in 4.1.0)
* [Fix] lua: Add state/generation guards and refcounting to the coroutine thread pool to prevent use-after-free on async completion
* [Fix] lua_worker: Avoid deadlock when a spawned subprocess returns an invalid value
* [Fix] milter: Send QUARANTINE even with a caller-supplied reply (regression from 3.10.0)
* [Fix] neural: Stabilise training on dense embedding inputs (funnel architecture, input-typed learning rate, single-class quality gate)
* [Fix] neural: Don't strand trained ANNs behind stale high-version tombstones
* [Fix] mx_check: Classify loopback-only MX as MX_LOCAL_ONLY instead of MX_BOGON_ONLY
* [Fix] monitored: Use alphanumeric-only random DNS prefixes for random_monitored RBL checks
* [Fix] protocol: Use case-preserving boundary for v3 HTTP multipart parsing
* [Fix] controller: Register the /checkv3 endpoint
* [Fix] symcache: Fix timeout inflation in pre/postfilter priority grouping
* [Fix] url: Scan bare query-embedded URLs containing '=' as a whole
* [Fix] url: Do not multiply URLs with multiple '@' signs and backslashes
* [Fix] css: Detect text hidden via overflow clipping, opacity, and max-width/height
* [Fix] mime: Fix build with OpenSSL 4.0 opaque ASN1_STRING
* [Fix] mime_string: Make iterator const to fix doctest 2.5.0 build
* [Fix] Prioritise bundled simdutf headers over system ones
4.1.0: 05 Jun 2026
** Incompatible changes **
* [Rework] mx_check: three-layer Redis cache and finer outcome symbols (MX_NONE replaces MX_NXDOMAIN/MX_MISSING)
* [Conf] fuzzy_check: discover rspamd.com servers via SRV by default
** Major features **
* [Feature] protocol: Expose custom metadata for /checkv3 via metadata headers and task:get_metadata()
* [Feature] composites: Add hot-reloadable dynamic composites map
* [Feature] lua_task: Add bulk and regexp symbol lookups
* [Feature] lua_tcp: Add phase-specific timeouts (connect/read/write) and on_error callback
* [Feature] task: Report pending async events and stalled symbols at scan timeout
* [Feature] upstream: Load-aware selection with Power of Two Choices, latency EWMA, and slow start on revive
* [Feature] upstream: Expand each SRV target into its own upstream, honouring SRV weights and per-target error budgets
* [Feature] upstream: Defer DNS resolution for unreachable hosts so transient startup DNS failures no longer drop upstreams
* [Feature] mx_check: Add IP-class classification, bad_mxs/bad_ips trust maps, and per-source checks
* [Feature] external_services: Add per-service <RULE>_CHECK anchor symbol for dependency ordering
* [Feature] url_redirector: Add chain-aware cache with intermediate hop injection
* [Feature] url_redirector: Add coherent browser fingerprint profiles for stealth resolution
* [Feature] url_redirector: Switch redirector_hosts_map from set to glob
* [Feature] url_redirector: Allow GET for a user-defined list of URLs
* [Feature] http: Optional insertion-ordered header emission
* [Feature] elastic: Log Reply-To, received IPs, URL metadata, and forcing module
* [Feature] clickhouse: Add named extra_columns presets with an outbound preset
* [Feature] selectors: Add fuzzy_digest, fuzzy_shingles, authenticated, and received_count
* [Feature] html: Add HTML5 tag definitions (video/audio/picture/svg/...)
* [Feature] dmarc_report: Add --batch-wait option to throttle batches
* [Feature] autolearnstats: Add --sort-by and --group options
* [Feature] lualib: Add lua_feedback_parsers for DSN and ARF reports
* [Feature] lua_extras: Structured loader for custom selectors, maps, and regexps with cross-kind dependency ordering
* [Feature] lua_scanners: Add eXpurgate engine support
* [Feature] Add rspamadm control memstat for per-worker memory dumps (RSS, mempool callsites, Lua heap, jemalloc)
* [Feature] Make baseline pidfile and logging env-overridable for containers
* [Feature] Auto-load shipped fasttext model when present
* [Feature] fpconv: Add fixed-point (%.Nf) formatting with correct rounding
** Bug fixes **
* [CritFix] mime_parser: Avoid NULL deref on S/MIME with empty pkcs7-data
* [Fix] mime_parser: Bound S/MIME recursion depth to prevent stack exhaustion (DoS)
* [Fix] mime_parser: Defensive guards against NULL deref and resource leaks
* [Fix] multipattern: Bound URL query scan reentrancy to prevent crash on nested query URLs (DoS)
* [Fix] composites: Avoid over-eager second-pass deferral so filter-stage composites are visible from postfilters
* [Fix] ratelimit: Track all buckets in selector rules
* [Fix] archives: Harden RAR/ZIP/7-zip parsers against malformed input (bounds, varint, infinite loop, OOB reads)
* [Fix] images: Guard image linking against NULL decoded header
* [Fix] css: Fix out-of-bounds read in ident escape scanner
* [Fix] str_util: Fix lookahead over-read in find_eoh
* [Fix] spf: Fix over-read on a bare "spf2." sender-id record
* [Fix] rdns: Reject DNS labels that overrun the packet
* [Fix] html: Prevent buffer overflow in entity decoding
* [Fix] html: Preserve verbatim href as url->raw
* [Fix] url: Fix out-of-bounds read on empty/all-dots host
* [Fix] url: Canonicalise mailto: URIs and bare emails to a consistent slash-less form (RFC 6068)
* [Fix] url: Do not drop URLs with long userinfo (userinfo-obfuscation phishing)
* [Fix] url_suspect: Require TLD >= 3 chars for word_dot naked domain matches
* [Fix] mime_headers: Avoid uninitialised bytes in rfc2047 decode
* [Fix] mime_headers/encoding: Correct lengths after in-place rewrites
* [Fix] arc: Emit ARC headers in a deterministic order
* [Fix] Map DKIM permfail to dkim=permerror in Authentication-Results
* [Fix] Honor mime_utf8 option in INVALID_MSGID rule
* [Fix] fuzzy_storage: Harden network input paths
* [Fix] fuzzy_storage: Fix peer-pipe partial-write resume and shutdown drain
* [Fix] fuzzy_storage: Avoid per-refresh leak in dynamic ban inserts
* [Fix] fuzzy_storage: Fix per-frame memory leak on persistent TCP connections
* [Fix] fuzzy: Do not block allowed clients on TCP
* [Fix] neural: Preserve trained ANN across symbol-list drift and symcache-driven profile rotation
* [Fix] neural: Stabilise profile digest under disable_symbols_input and retarget training to the newest profile
* [Fix] protocol: Apply inline metadata.settings on /checkv3
* [Fix] protocol: Populate request headers in /checkv3
* [Fix] upstream: Refill token bucket over time so a flapping upstream recovers
* [Fix] upstream: Avoid infinite loop in get_random when the only candidate is excluded
* [Fix] lua_tcp: Avoid connection leak on read without write
* [Fix] lua_redis: Resolve Redis master for rspamadm tools under Sentinel
* [Fix] elastic: Use Queue:new() instead of non-existent lua_util.newdeque()
* [Fix] dmarc: Floor connect timestamp before os.date for PUC Lua compatibility
* [Fix] greylist: Separate greylisting period from Redis connection timeout
* [Fix] rspamadm vault: Write formatted output to stdout directly
* [Fix] regexp: Do not discard capture groups following an empty one
* [Fix] Skip ICU conversion for synthetic x-binaryenc charset
* [Fix] Warn on task_timeout less than symcache symbol timeout
* [Fix] Port security fixes from libucl upstream (msgpack, parser bounds, schema)
* [Fix] Use string_view::data() for pointer access to fix libc++ builds
To generate a diff of this commit:
cvs rdiff -u -r1.135 -r1.136 pkgsrc/mail/rspamd/Makefile
cvs rdiff -u -r1.41 -r1.42 pkgsrc/mail/rspamd/PLIST
cvs rdiff -u -r1.20 -r1.21 pkgsrc/mail/rspamd/cfgfiles.mk
cvs rdiff -u -r1.74 -r1.75 pkgsrc/mail/rspamd/distinfo
cvs rdiff -u -r1.3 -r0 \
pkgsrc/mail/rspamd/patches/patch-src_plugins_lua_dmarc.lua
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/mail/rspamd/Makefile
diff -u pkgsrc/mail/rspamd/Makefile:1.135 pkgsrc/mail/rspamd/Makefile:1.136
--- pkgsrc/mail/rspamd/Makefile:1.135 Wed Apr 15 20:48:56 2026
+++ pkgsrc/mail/rspamd/Makefile Mon Jul 6 09:22:17 2026
@@ -1,10 +1,8 @@
-# $NetBSD: Makefile,v 1.135 2026/04/15 20:48:56 wiz Exp $
+# $NetBSD: Makefile,v 1.136 2026/07/06 09:22:17 wiz Exp $
#
# When updating this, run 'make cfgfiles'.
-# XXX: as of 4.0.1 this adds two extra entries (worker-hs_helper*)
-# XXX: removed manually
-DISTNAME= rspamd-4.0.1
+DISTNAME= rspamd-4.1.1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_GITHUB:=rspamd/}
@@ -100,7 +98,8 @@ cfgfiles:
${RUN} ${RECURSIVE_MAKE} extract
@${ECHO} "# \$$NetBSD\$$" > ${.CURDIR}/cfgfiles.mk
@${ECHO} "# Do not edit, regenerate using 'make cfgfiles'" >> ${.CURDIR}/cfgfiles.mk
- ${RUN} cd ${WRKSRC}/conf && ${FIND} * -type f | ${SORT} \
+# as of 4.0.1 two extra entries (worker-hs_helper*) need to be manually removed
+ ${RUN} cd ${WRKSRC}/conf && ${FIND} * -type f | ${GREP} -v worker-hs_helper | ${SORT} \
| ${TR} '\n' ' ' | ${SED} 's, $$,,' \
| ${AWK} '{print("CFGFILES=\t" $$0)}' >> ${.CURDIR}/cfgfiles.mk
@${ECHO} >> ${.CURDIR}/cfgfiles.mk
@@ -112,8 +111,8 @@ post-extract:
post-install:
${MV} ${DESTDIR}${PKG_SYSCONFDIR} ${DESTDIR}${PREFIX}/share/examples/rspamd
-# as of 4.0.1
-# 952 tests 946 passed 2244 assertions 2 failed 0 errors 4 unassertive 0 pending
+# as of 4.1.1
+# 1058 tests 1054 passed 2586 assertions 0 failed 0 errors 4 unassertive 0 pending
TEST_ENV+=
LD_LIBRARY_PATH=${WRKSRC}/${CMAKE_BUILD_DIR}/src:${WRKSRC}/${CMAKE_BUILD_DIR}/contrib/replxx:${WRKSRC}/${CMAKE_BUILD_DIR}/contrib/aho-corasick:${WRKSRC}/${CMAKE_BUILD_DIR}/contrib/libev:${WRKSRC}/${CMAKE_BUILD_DIR}/contrib/kann
Index: pkgsrc/mail/rspamd/PLIST
diff -u pkgsrc/mail/rspamd/PLIST:1.41 pkgsrc/mail/rspamd/PLIST:1.42
--- pkgsrc/mail/rspamd/PLIST:1.41 Wed Apr 15 20:48:56 2026
+++ pkgsrc/mail/rspamd/PLIST Mon Jul 6 09:22:17 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.41 2026/04/15 20:48:56 wiz Exp $
+@comment $NetBSD: PLIST,v 1.42 2026/07/06 09:22:17 wiz Exp $
bin/mapstats
bin/rspamadm
bin/rspamadm-${PKGVERSION}
@@ -23,7 +23,10 @@ share/examples/rspamd/lang_detection.inc
share/examples/rspamd/local.d/antivirus.conf.example
share/examples/rspamd/local.d/module.conf.example
share/examples/rspamd/logging.inc
+share/examples/rspamd/lua.local.d/maps/example.lua.example
share/examples/rspamd/lua.local.d/module.lua.example
+share/examples/rspamd/lua.local.d/regexps/example.lua.example
+share/examples/rspamd/lua.local.d/selectors/example.lua.example
share/examples/rspamd/maps.d/dmarc_whitelist.inc
share/examples/rspamd/maps.d/exe_clickbait.inc
share/examples/rspamd/maps.d/maillist.inc
@@ -185,6 +188,8 @@ share/rspamd/lualib/lua_content/pdf.lua
share/rspamd/lualib/lua_content/vcard.lua
share/rspamd/lualib/lua_cta.lua
share/rspamd/lualib/lua_dkim_tools.lua
+share/rspamd/lualib/lua_extras.lua
+share/rspamd/lualib/lua_feedback_parsers.lua
share/rspamd/lualib/lua_ffi/common.lua
share/rspamd/lualib/lua_ffi/dkim.lua
share/rspamd/lualib/lua_ffi/init.lua
@@ -213,6 +218,7 @@ share/rspamd/lualib/lua_scanners/clamav.
share/rspamd/lualib/lua_scanners/cloudmark.lua
share/rspamd/lualib/lua_scanners/common.lua
share/rspamd/lualib/lua_scanners/dcc.lua
+share/rspamd/lualib/lua_scanners/expurgate.lua
share/rspamd/lualib/lua_scanners/fprot.lua
share/rspamd/lualib/lua_scanners/icap.lua
share/rspamd/lualib/lua_scanners/init.lua
@@ -288,6 +294,7 @@ share/rspamd/lualib/rspamadm/grep.lua
share/rspamd/lualib/rspamadm/keypair.lua
share/rspamd/lualib/rspamadm/logstats.lua
share/rspamd/lualib/rspamadm/mapstats.lua
+share/rspamd/lualib/rspamadm/memstat.lua
share/rspamd/lualib/rspamadm/mime.lua
share/rspamd/lualib/rspamadm/neural_export.lua
share/rspamd/lualib/rspamadm/neural_test.lua
Index: pkgsrc/mail/rspamd/cfgfiles.mk
diff -u pkgsrc/mail/rspamd/cfgfiles.mk:1.20 pkgsrc/mail/rspamd/cfgfiles.mk:1.21
--- pkgsrc/mail/rspamd/cfgfiles.mk:1.20 Wed Apr 15 20:48:56 2026
+++ pkgsrc/mail/rspamd/cfgfiles.mk Mon Jul 6 09:22:17 2026
@@ -1,4 +1,4 @@
-# $NetBSD: cfgfiles.mk,v 1.20 2026/04/15 20:48:56 wiz Exp $
+# $NetBSD: cfgfiles.mk,v 1.21 2026/07/06 09:22:17 wiz Exp $
# Do not edit, regenerate using 'make cfgfiles'
-CFGFILES= actions.conf common.conf composites.conf groups.conf lang_detection.inc local.d/antivirus.conf.example local.d/module.conf.example logging.inc lua.local.d/module.lua.example
maps.d/dmarc_whitelist.inc maps.d/exe_clickbait.inc maps.d/maillist.inc maps.d/mid.inc maps.d/mime_types.inc maps.d/redirectors.inc maps.d/spf_dkim_whitelist.inc maps.d/surbl-whitelist.inc
maps.d/suspicious_tlds.inc metrics.conf modules.conf modules.d/aliases.conf modules.d/antivirus.conf modules.d/arc.conf modules.d/asn.conf modules.d/aws_s3.conf modules.d/bayes_expiry.conf
modules.d/bimi.conf modules.d/chartable.conf modules.d/clickhouse.conf modules.d/contextal.conf modules.d/dcc.conf modules.d/dkim.conf modules.d/dkim_signing.conf modules.d/dmarc.conf
modules.d/elastic.conf modules.d/emails.conf modules.d/external_relay.conf modules.d/external_services.conf modules.d/force_actions.conf modules.d/forged_recipients.conf modules.d/fuzzy_check.conf
modules.d/gpt.conf modules.d/greylist.conf modules.d/h
filter.conf modules.d/history_redis.conf modules.d/http_headers.conf modules.d/known_senders.conf modules.d/maillist.conf modules.d/metadata_exporter.conf modules.d/metric_exporter.conf
modules.d/mid.conf modules.d/milter_headers.conf modules.d/mime_types.conf modules.d/multimap.conf modules.d/mx_check.conf modules.d/neural.conf modules.d/neural_autolearn.conf
modules.d/once_received.conf modules.d/p0f.conf modules.d/phishing.conf modules.d/ratelimit.conf modules.d/rbl.conf modules.d/redis.conf modules.d/regexp.conf modules.d/replies.conf
modules.d/reputation.conf modules.d/rspamd_update.conf modules.d/spamassassin.conf modules.d/spamtrap.conf modules.d/spf.conf modules.d/surbl.conf modules.d/trie.conf modules.d/url_redirector.conf
modules.d/url_suspect.conf modules.d/whitelist.conf modules.local.d/module.conf.example options.inc override.d/module.conf.example rspamd.conf scores.d/content_group.conf scores.d/fuzzy_group.conf
scores.d/headers_group.conf scores.d/hfilter_group.conf sc
ores.d/mime_types_group.conf scores.d/mua_group.conf scores.d/phishing_group.conf scores.d/policies_group.conf scores.d/rbl_group.conf scores.d/statistics_group.conf scores.d/subject_group.conf
scores.d/surbl_group.conf scores.d/url_suspect_group.conf scores.d/whitelist_group.conf settings.conf statistic.conf worker-controller.inc worker-fuzzy.inc worker-normal.inc worker-proxy.inc
+CFGFILES= actions.conf common.conf composites.conf groups.conf lang_detection.inc local.d/antivirus.conf.example local.d/module.conf.example logging.inc lua.local.d/maps/example.lua.example
lua.local.d/module.lua.example lua.local.d/regexps/example.lua.example lua.local.d/selectors/example.lua.example maps.d/dmarc_whitelist.inc maps.d/exe_clickbait.inc maps.d/maillist.inc maps.d/mid.inc
maps.d/mime_types.inc maps.d/redirectors.inc maps.d/spf_dkim_whitelist.inc maps.d/surbl-whitelist.inc maps.d/suspicious_tlds.inc metrics.conf modules.conf modules.d/aliases.conf
modules.d/antivirus.conf modules.d/arc.conf modules.d/asn.conf modules.d/aws_s3.conf modules.d/bayes_expiry.conf modules.d/bimi.conf modules.d/chartable.conf modules.d/clickhouse.conf
modules.d/contextal.conf modules.d/dcc.conf modules.d/dkim.conf modules.d/dkim_signing.conf modules.d/dmarc.conf modules.d/elastic.conf modules.d/emails.conf modules.d/external_relay.conf
modules.d/external_services.conf modules.d/force_actions.
conf modules.d/forged_recipients.conf modules.d/fuzzy_check.conf modules.d/gpt.conf modules.d/greylist.conf modules.d/hfilter.conf modules.d/history_redis.conf modules.d/http_headers.conf
modules.d/known_senders.conf modules.d/maillist.conf modules.d/metadata_exporter.conf modules.d/metric_exporter.conf modules.d/mid.conf modules.d/milter_headers.conf modules.d/mime_types.conf
modules.d/multimap.conf modules.d/mx_check.conf modules.d/neural.conf modules.d/neural_autolearn.conf modules.d/once_received.conf modules.d/p0f.conf modules.d/phishing.conf modules.d/ratelimit.conf
modules.d/rbl.conf modules.d/redis.conf modules.d/regexp.conf modules.d/replies.conf modules.d/reputation.conf modules.d/rspamd_update.conf modules.d/spamassassin.conf modules.d/spamtrap.conf
modules.d/spf.conf modules.d/surbl.conf modules.d/trie.conf modules.d/url_redirector.conf modules.d/url_suspect.conf modules.d/whitelist.conf modules.local.d/module.conf.example options.inc
override.d/module.conf.example rspam
d.conf scores.d/content_group.conf scores.d/fuzzy_group.conf scores.d/headers_group.conf scores.d/hfilter_group.conf scores.d/mime_types_group.conf scores.d/mua_group.conf
scores.d/phishing_group.conf scores.d/policies_group.conf scores.d/rbl_group.conf scores.d/statistics_group.conf scores.d/subject_group.conf scores.d/surbl_group.conf scores.d/url_suspect_group.conf
scores.d/whitelist_group.conf settings.conf statistic.conf worker-controller.inc worker-fuzzy.inc worker-normal.inc worker-proxy.inc
Index: pkgsrc/mail/rspamd/distinfo
diff -u pkgsrc/mail/rspamd/distinfo:1.74 pkgsrc/mail/rspamd/distinfo:1.75
--- pkgsrc/mail/rspamd/distinfo:1.74 Wed Apr 15 20:48:56 2026
+++ pkgsrc/mail/rspamd/distinfo Mon Jul 6 09:22:17 2026
@@ -1,13 +1,12 @@
-$NetBSD: distinfo,v 1.74 2026/04/15 20:48:56 wiz Exp $
+$NetBSD: distinfo,v 1.75 2026/07/06 09:22:17 wiz Exp $
-BLAKE2s (rspamd-4.0.1.tar.gz) = 8f8d454ea0efee03f29b48afb9c1ebba852bd9453dc5be7a353f86cb8dedfd20
-SHA512 (rspamd-4.0.1.tar.gz) = 4fafba3af4d7456376bc7f0c6b56bd0bed0bcd4d5420b36c1a359639db9941d3069ddfcb7ae91f5384f69b3e4a68586d0347f249137a829366ff5e5bfb19b815
-Size (rspamd-4.0.1.tar.gz) = 6998348 bytes
+BLAKE2s (rspamd-4.1.1.tar.gz) = 6400093a731044fb104a98004de8aa9ba48387f186c4256d8028796fb7ce932e
+SHA512 (rspamd-4.1.1.tar.gz) = 80f77fe641ae77c2cf874bcc5e7cf854a3a0f1ae9386a49f6497c99486d49ddfc52d311d593dd811d4c13acdadcf7377ee818bac7e48eb2e479526f19741581d
+Size (rspamd-4.1.1.tar.gz) = 7200250 bytes
SHA1 (patch-CMakeLists.txt) = 25a1264b573d5a1f7ff9a1ac7b8453c5d9cb0a06
SHA1 (patch-cmake_Toolset.cmake) = fbc4027fedb4261ce913701ebbb32d8395bc7783
SHA1 (patch-contrib_fpconv_fpconv.c) = b1ec2b07570674458e69020ccbf25f0374d894f6
SHA1 (patch-lualib_rspamadm_dmarc__report.lua) = 93ccb04512dd84ea83de44c394571ef2bebe6bd2
SHA1 (patch-src_libserver_symcache_symcache__impl.cxx) = 8a5c69ab343409427619a9cbc0dc080d548b9c53
SHA1 (patch-src_libstat_backends_redis__backend.cxx) = 4c60287a574066a841c76081cd88512a57f0b27f
-SHA1 (patch-src_plugins_lua_dmarc.lua) = a10b16e53438ee2cde79bc45f35608571be1a581
SHA1 (patch-src_rspamd.c) = 1903994d5970af57de9c5d522df3dd12576c8418
Home |
Main Index |
Thread Index |
Old Index