+ RewriteEngine on
+ RewriteMap source-map txt:/srv/static.debian.org/mirrors/lintian.debian.org/cur/lookup-tables/source-packages
+
+ # Re-direct from the "old" locations to the new ones
+ RewriteRule ^/reports/T(.*)\.html$ /tags/$1.html [L,R=permanent]
+ RewriteRule ^/reports/(.*)$ /$1 [L,R=permanent]
+
+ # Map source packages to reports (this mapping is re-written once per lintian run,
+ # serve it as a 302 rather than a permanent redirect)
+ # Version-less request
+ RewriteRule ^/source/([a-z0-9-]+)/?$ /${source-map:$1} [L,R,NE]
+ # Versioned request
+ RewriteRule ^/source/([a-z0-9-]+)/([a-zA-Z0-9.+:~-]+)$ /${source-map:$1/$2} [L,R,NE]
+
+ Header always set Content-Security-Policy "default-src 'self'; media-src 'none'; object-src 'none';"
+ <FilesMatch "\.(svg)$">
+ Header always set Content-Security-Policy "default-src 'none'; frame-ancestors 'none'; style-src 'self' 'unsafe-inline';"
+ </FilesMatch>
+</Macro>
+
+<Macro vstatic-vhost-extra-wiki.debconf.org>
+ <Location /wiki/>
+ ForceType text/html
+ </Location>
+ <Location /action/>
+ ForceType text/html
+ </Location>
+
+ RewriteEngine on
+ RewriteRule ^/$ /wiki/Main_Page [L,R=permanent]
+ RewriteRule ^/wiki/$ /wiki/Main_Page [L,R=permanent]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=mediawiki.legacy.commonPrint,shared|skins.monobook(&|$)
+ RewriteCond %{QUERY_STRING} (^|&)only=styles(&|$)
+ RewriteRule ^/load.php$ /load-monobook-styles.css [L,QSD]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=site(&|$)
+ RewriteCond %{QUERY_STRING} (^|&)only=styles(&|$)
+ RewriteRule ^/load.php$ /load-site-styles.css [L,QSD]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=startup(&|$)
+ RewriteCond %{QUERY_STRING} (^|&)only=scripts(&|$)
+ RewriteRule ^/load.php$ /load-startup-scripts.js [L,QSD]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=site(&|$)
+ RewriteCond %{QUERY_STRING} (^|&)only=scripts(&|$)
+ RewriteRule ^/load.php$ /load-site-scripts.js [L,QSD]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=jquery%2Cmediawiki(&|$)
+ RewriteCond %{QUERY_STRING} (^|&)only=scripts(&|$)
+ RewriteRule ^/load.php$ /load-jquery-scripts.js [L,QSD]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=jquery.client%2Ccookie%2CmessageBox%2CmwExtension|mediawiki.legacy.ajax%2Cwikibits|mediawiki.page.startup|mediawiki.util(&|$)
+ RewriteRule ^/load.php$ /load-jquery.client.js [L,QSD]
+
+ RewriteCond %{QUERY_STRING} (^|&)modules=jquery.checkboxShiftClick%2CmakeCollapsible%2Cmw-jump%2Cplaceholder%7Cmediawiki.page.ready%7Cmediawiki.user(&|$)
+ RewriteRule ^/load.php$ /load-jquery.checkbox.js [L,QSD]
+</Macro>
+
+<Macro vstatic-vhost-extra-www.debconf.org>
+ ServerAlias www-test.debconf.org
+
+ <Directory /srv/static.debian.org/mirrors/www.debconf.org/cur>
+ Options +IncludesNOEXEC
+ SSILegacyExprParser on
+ DirectoryIndex index.shtml
+ </Directory>
+
+ AddOutputFilter INCLUDES .shtml
+
+ RewriteEngine On
+ # A few redirects for older debconf sites, so old links work
+ RewriteRule ^/gallery/(.*)$ https://gallery.debconf.org/v/$1 [R=permanent,L]
+ RewriteRule ^/.*years$ https://10years.debconf.org/ [R=permanent,L]
+ RewriteRule ^/debconf2$ https://debconf2.debconf.org/ [R=permanent,L]
+ RewriteRule ^/debconf3$ https://debconf3.debconf.org/ [R=permanent,L]
+ RewriteRule ^/debconf4$ https://debconf4.debconf.org/ [R=permanent,L]
+ RewriteRule ^/debconf5$ https://debconf5.debconf.org/ [R=permanent,L]
+ RewriteRule ^/10years/(.*)$ https://10years.debconf.org/$1 [R=permanent,L]
+ RewriteRule ^/debconf2/(.*)$ https://debconf2.debconf.org/$1 [R=permanent,L]
+ RewriteRule ^/debconf3/(.*)$ https://debconf3.debconf.org/$1 [R=permanent,L]
+ RewriteRule ^/debconf4/(.*)$ https://debconf4.debconf.org/$1 [R=permanent,L]
+ RewriteRule ^/debconf5/(.*)$ https://debconf5.debconf.org/$1 [R=permanent,L]
+</Macro>
+
+<%=
+
+def vhost(lines, sn, kwargs={})
+ if scope.function_has_static_component([sn])
+ if not kwargs[:extra]
+ lines << "<Macro vstatic-vhost-extra-#{sn}>"
+ lines << " # mod macro does not like empty macros, so here's some content:"
+ lines << " <Directory /non-existant>"
+ lines << " </Directory>"
+ lines << "</Macro>"
+ end
+
+ lines << "Use prepare-static-vhost #{sn}"
+
+ if kwargs[:ssl] and kwargs[:ssl_optional]
+ lines << "Use static-vhost-plain-#{sn}"
+ lines << "Use static-vhost-ssl-#{sn}"
+ elsif kwargs[:ssl]
+ lines << "Use common-dsa-vhost-https-redirect #{sn}"
+ lines << "Use static-vhost-ssl-#{sn}"
+ else
+ lines << "Use static-vhost-plain-#{sn}"
+ end
+
+ onion = scope.function_onion_global_service_hostname([sn])
+ lines << "Use static-vhost-onion-#{sn} #{onion}" if onion
+
+ lines << ""
+ end
+end
+
+lines = []
+vhost(lines, "mozilla.debian.net" , :ssl => true, :ssl_optional => true)
+vhost(lines, "backports.debian.org" , :ssl => true)
+vhost(lines, "incoming.debian.org" , :ssl => true, :ssl_optional => true)
+vhost(lines, "incoming.ports.debian.org" , :ssl => true, :ssl_optional => true)
+vhost(lines, "debdeltas.debian.net" , :ssl => true, :ssl_optional => true)
+vhost(lines, "news.debian.net" , :ssl => true)
+vhost(lines, "bootstrap.debian.net" , :ssl => true)
+vhost(lines, "debaday.debian.net" , :ssl => true)
+vhost(lines, "timeline.debian.net" , :ssl => true)
+vhost(lines, "network-test.debian.org" , :extra => true)
+vhost(lines, "blends.debian.org" , :ssl => true)
+vhost(lines, "wnpp-by-tags.debian.net" , :ssl => true)
+vhost(lines, "security-team.debian.org" , :ssl => true)
+vhost(lines, "d-i.debian.org" , :ssl => true)
+vhost(lines, "appstream.debian.org" , :ssl => true)
+vhost(lines, "dpl.debian.org" , :ssl => true)
+vhost(lines, "dsa.debian.org" , :ssl => true)
+vhost(lines, "rtc.debian.org" , :ssl => true)
+vhost(lines, "mirror-master.debian.org" , :ssl => true)
+vhost(lines, "onion.debian.org" , :ssl => true)
+vhost(lines, "manpages.debian.org" , :ssl => true, :extra => true)
+vhost(lines, "cdbuilder-logs.debian.org" , :ssl => true)
+
+vhost(lines, "bits.debian.org" , :ssl => true, :extra => true)
+vhost(lines, "micronews.debian.org" , :ssl => true)
+vhost(lines, "metadata.ftp-master.debian.org", :extra => true)
+
+vhost(lines, "10years.debconf.org" , :ssl => true)
+vhost(lines, "debconf0.debconf.org" , :ssl => true)
+vhost(lines, "debconf1.debconf.org" , :ssl => true)
+vhost(lines, "debconf2.debconf.org" , :ssl => true)
+vhost(lines, "debconf3.debconf.org" , :ssl => true)
+vhost(lines, "debconf4.debconf.org" , :ssl => true)
+vhost(lines, "debconf5.debconf.org" , :ssl => true)
+vhost(lines, "debconf6.debconf.org" , :ssl => true)
+vhost(lines, "debconf7.debconf.org" , :ssl => true)
+vhost(lines, "debconf16.debconf.org" , :ssl => true)
+vhost(lines, "debconf17.debconf.org" , :ssl => true)
+vhost(lines, "debconf18.debconf.org" , :ssl => true)
+vhost(lines, "debconf19.debconf.org" , :ssl => true)
+vhost(lines, "es.debconf.org" , :ssl => true)
+vhost(lines, "fr.debconf.org" , :ssl => true)
+vhost(lines, "miniconf10.debconf.org" , :ssl => true)
+vhost(lines, "wiki.debconf.org" , :ssl => true, :extra => true)
+vhost(lines, "www.debconf.org" , :ssl => true, :extra => true)
+
+vhost(lines, "deb.debian.org" , :extra => true)
+vhost(lines, "release.debian.org" , :ssl => true, :extra => true)
+vhost(lines, "www.ports.debian.org" , :ssl => true, :extra => true)
+vhost(lines, "lintian.debian.org" , :ssl => true, :extra => true)
+
+lines.join("\n")
+-%>
+
+# www.backports.org
+###################
+# www.backports.org is the historical place for the backports
+# website and archive. It is now a CNAME to backports.debian.org:
+# redirect http requests.
+<VirtualHost <%= @vhost_listen %> >
+ ServerName www.backports.org
+ ServerAlias lists.backports.org
+ ServerAdmin debian-admin@debian.org
+ RedirectPermanent / https://backports.debian.org/