Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • xiph/icecast-server
  • zenermerps/Icecast-Server
  • ePirat/icecast-server
  • spr0cketeer/icecast-server
  • theassassin/icecast-server
  • gilou/icecast-server
  • stephan48/icecast-server
  • rillian/icecast-server
  • vcode11/icecast-server
  • refactor-droidyy/icecast-server
10 results
Show changes
Commits on Source (1047)
Showing with 506 additions and 85 deletions
stamp-h1
src/icecast
src/icecast.exe
src/.deps
src/.libs
config.h
......@@ -18,6 +19,7 @@ config.h.in
config.log
config.status
configure
configure~
depcomp
install-sh
libtool
......@@ -26,4 +28,39 @@ ltmain.sh
missing
mkinstalldirs
*.tar.gz
*.zip
config.h.in~
/build-aux
# Ignore test output files
/tests/*.log
/tests/*.trs
# Ignore test build artifacts
/tests/*.lo
/tests/*.la
/tests/.deps/
/tests/.libs/
/tests/ctest_*.test
# Ignore test output files
/src/ctest_*.log
/src/ctest_*.trs
/src/test-suite.log
# Ignore test build artifacts
/src/tests/*.lo
/src/libice_ctest.la
/src/ctest_*.test
/src/tests/.deps/
/src/tests/.dirstamp
# Ignore auxiliary files
/tap-driver.sh
# Ignore vim swap files
.*.swp
# CI: OSC temp stuff
/osc_tmp
# Build Icecast - test
default:
image: alpine:3.15
tags:
- docker
- linux
.TemplateAlpine:
before_script:
- set -xe
- apk update
- cat /etc/os*
- apk add musl-dev git make gcc automake autoconf libtool curl ca-certificates
- apk add curl-dev libogg-dev libvorbis-dev libxslt-dev libxml2-dev libc6-compat rhash-dev
# gzip required because busybox gzip does not understand best / zip for make dist
- apk add gzip zip tar
# Required for tests
#- apk add curl ffmpeg
# Create user to run tests
#- adduser -s /bin/sh -D -H icecast
make_dist:
extends: .TemplateAlpine
variables:
GIT_SUBMODULE_STRATEGY: recursive
LIBIGLOO_PACKAGE_PREFIX: "alpine-libigloo-bins"
LIBIGLOO_PACKAGE_VERSION: "0.91"
LIBIGLOO_PROJECT_ID: 143
stage: build
script:
- set -xe # yes i know the scripts will be merged... but for sanities sake
- ./autogen.sh
- mkdir EXTRA-LIBS
- export PKG_CONFIG_PATH=`pwd`/EXTRA-LIBS/usr/local/lib/pkgconfig
# we build these in script as gitlab does not support nested expansion in above variables(or it is not well documented)
- if echo "$CI_COMMIT_REF_NAME" | grep -- '-with-libigloo$'; then export LIBIGLOO_PACKAGE_SUFFIX=`echo "$CI_COMMIT_REF_NAME" | sed 's/-with-libigloo$//'`; elif echo "$CI_COMMIT_REF_NAME" | grep '^devel'; then export LIBIGLOO_PACKAGE_SUFFIX='devel'; else export LIBIGLOO_PACKAGE_SUFFIX='master'; fi
- export LIBIGLOO_PACKAGE_BASE=$LIBIGLOO_PACKAGE_PREFIX-$LIBIGLOO_PACKAGE_SUFFIX
- export LIBIGLOO_PACKAGE_ARCHIVE=$LIBIGLOO_PACKAGE_BASE.tar.gz
- export LIBIGLOO_PACKAGE_VERSION_WITH_SUFFIX=$LIBIGLOO_PACKAGE_VERSION-$LIBIGLOO_PACKAGE_SUFFIX
- 'curl -LO --header "JOB-TOKEN: $CI_JOB_TOKEN" "${CI_API_V4_URL}/projects/$LIBIGLOO_PROJECT_ID/packages/generic/$LIBIGLOO_PACKAGE_PREFIX/$LIBIGLOO_PACKAGE_VERSION_WITH_SUFFIX/$LIBIGLOO_PACKAGE_ARCHIVE"'
- tar -C ./EXTRA-LIBS -xvzf $LIBIGLOO_PACKAGE_ARCHIVE
- sed -i "s#/usr/local#`pwd`/EXTRA-LIBS/\0#g" `pwd`/EXTRA-LIBS/usr/local/lib/pkgconfig/*.pc
- grep . `pwd`/EXTRA-LIBS/usr/local/lib/pkgconfig/*.pc
- ls -la `pwd`/EXTRA-LIBS/usr/local/lib
- ./configure || cat config.log
- make
- make dist
# Tests
#- su -c "./tests/admin-tests.sh" icecast
artifacts:
untracked: true
expire_in: 1 week
upload_package:
extends: .TemplateAlpine
stage: deploy
variables:
ICECAST_SERVER_VERSION: "2.4.99.3"
ICECAST_SERVER_PREFIX: "alpine-icecast-server-bins"
script:
- make install DESTDIR=`pwd`/_install_base/
- cd _install_base/
# see above
- export ICECAST_SERVER_BASE=$ICECAST_SERVER_PREFIX-$CI_COMMIT_REF_NAME
- export ICECAST_SERVER_ARCHIVE=$ICECAST_SERVER_BASE.tar.gz
- export ICECAST_SERVER_VERSION_WITH_SUFFIX=$ICECAST_SERVER_VERSION-$CI_COMMIT_REF_NAME
- tar -cvzf ../$ICECAST_SERVER_ARCHIVE *
- cd ..
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file $ICECAST_SERVER_ARCHIVE "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/$ICECAST_SERVER_PREFIX/$ICECAST_SERVER_VERSION_WITH_SUFFIX/$ICECAST_SERVER_ARCHIVE"'
needs:
- "make_dist"
upload_dist:
only:
- master
- devel
stage: deploy
dependencies:
- make_dist
before_script:
- ./ci/osc/prepare-osc-tools.sh
script:
- ./ci/osc/handle-osc-upload.sh
upload_dist_release:
only:
- tags
stage: deploy
dependencies:
- make_dist
before_script:
- ./ci/osc/prepare-osc-tools.sh
script:
- ./ci/osc/handle-osc-upload.sh release
......@@ -14,3 +14,13 @@ script: ./autogen.sh && ./configure && make
compiler:
- clang
- gcc
notifications:
irc:
channels:
- "chat.freenode.net#icecast-mentors"
on_success: change
on_failure: always
template:
- "%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}"
- "Build details : %{build_url}"
2022-03-13 18:25:33 Philipp Schafft <lion@lion.leolix.org>
* Preparing for 2.5 beta3 aka 2.4.99.3
2017-11-17 09:04:42 Thomas B. Ruecker <thomas@ruecker.fi>
* Preparing for 2.5 beta2 aka 2.4.99.2
......
......@@ -2,4 +2,4 @@ Note that these instructions are *not* necessary for distribution
tarballs; they have separate configure/build instructions.
Please visit http://www.icecast.org/download/ for more detailed
instructions about building from Subversion.
instructions about building from Git.
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign dist-zip
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src conf doc web admin win32 examples
SUBDIRS = src conf doc web admin win32 examples tests
EXTRA_DIST = README.md HACKING m4/acx_pthread.m4 m4/ogg.m4 \
m4/theora.m4 m4/vorbis.m4 m4/speex.m4 \
m4/xiph_compiler.m4 m4/xiph_curl.m4 m4/xiph_net.m4 \
m4/xiph_types.m4 m4/xiph_xml2.m4
EXTRA_DIST = README.md HACKING tap-driver.sh
docdir = $(datadir)/doc/$(PACKAGE)
doc_DATA = README.md AUTHORS COPYING NEWS ChangeLog
debug:
$(MAKE) all CFLAGS="@DEBUG@"
profile:
$(MAKE) all CFLAGS="@PROFILE@"
dist_pkgdata_DATA = report-db.xml
static:
$(MAKE) all LDFLAGS="${LDFLAGS} -all-static"
......@@ -54,7 +54,7 @@ This is the typical procedure if you download the tar file.
If you retrive the code from Git, make sure to clone recursively:
git clone --recursive https://git.xiph.org/icecast-server.git
git clone --recursive https://gitlab.xiph.org/xiph/icecast-server.git
After that, create the configure script by running: `./autogen.sh`.
Now you can just follow the steps mentioned above.
......@@ -73,7 +73,7 @@ If you have problems with setting up Icecast, please join the
In case you have patches or want to discuss development issues,
please join the [Icecast developer mailing list][7] and then
email icecast-dev@xiph.org.
Or come and see us on irc.freenode.net, channel [#icecast][8]
Or come and see us on irc.libera.chat, channel [#icecast][8]
(please be patient, people are not always at their computers).
[1]: http://xmlsoft.org/downloads.html
......@@ -83,4 +83,4 @@ Or come and see us on irc.freenode.net, channel [#icecast][8]
[5]: http://icecast.org/docs/
[6]: http://lists.xiph.org/mailman/listinfo/icecast
[7]: http://lists.xiph.org/mailman/listinfo/icecast-dev
[8]: https://webchat.freenode.net/?channels=#icecast
[8]: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat/#icecast
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
SUBDIRS = includes
admindir = $(pkgdatadir)/admin
dist_admin_DATA = listclients.xsl listmounts.xsl moveclients.xsl response.xsl \
stats.xsl manageauth.xsl updatemetadata.xsl xspf.xsl vclt.xsl
nobase_dist_admin_DATA = \
listclients.xsl \
listmounts.xsl \
moveclients.xsl \
response.xsl \
stats.xsl \
manageauth.xsl \
updatemetadata.xsl \
error-html.xsl \
error-plaintext.xsl \
xspf.xsl \
vclt.xsl \
dashboard.xsl \
fallbacks.xsl \
showlog.xsl \
listensocketlist.xsl \
version.xsl \
includes/confirm.xsl \
includes/footer.xsl \
includes/head.xsl \
includes/header.xsl \
includes/page.xsl \
includes/mountnav.xsl \
includes/player.xsl \
includes/playlist.xsl \
includes/authlist.xsl \
includes/web-page.xsl \
ui/confirmdeleteuser.xsl \
ui/confirmkillclient.xsl \
ui/confirmkillsource.xsl \
ui/confirmkilldumpfile.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="includes/page.xsl"/>
<xsl:variable name="title">Dashboard</xsl:variable>
<xsl:template name="content">
<h2><xsl:value-of select="$title" /></h2>
<xsl:for-each select="/report/incident">
<xsl:for-each select="resource[@name='overall-status']">
<section class="box">
<h3 class="box_title">Overview for <code><xsl:value-of select="value[@member='global-config']/value[@member='hostname']/@value" /></code></h3>
<ul class="boxnav">
<li><a href="/admin/reloadconfig.xsl?omode=normal">Reload Configuration</a></li>
</ul>
<div class="side-by-side">
<div>
<h4>Health</h4>
<div class="trafficlight colour-{value[@member='status']/@value}">&#160;</div>
</div>
<div>
<h4>Current load</h4>
<table class="table-block">
<tbody>
<xsl:for-each select="value[@member='global-current']/value">
<tr>
<xsl:variable name="member" select="@member" />
<xsl:variable name="of" select="../../value[@member='global-config']/value[@member=$member]/@value" />
<td><xsl:value-of select="concat(translate(substring(@member, 1, 1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), substring(@member, 2))" /></td>
<td class="barmeter">
<span><xsl:value-of select="@value" /> of <xsl:value-of select="$of" /></span>
<div style="width: calc(100% * {@value} / {$of});">&#160;</div>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
</div>
</section>
</xsl:for-each>
</xsl:for-each>
<section class="box">
<h3 class="box_title">Maintenance</h3>
<xsl:choose>
<xsl:when test="/report/incident/state/text">
<ul class="maintenance-container">
<xsl:for-each select="/report/incident">
<li class="maintenance-level-{resource[@name='maintenance']/value[@member='type']/@value}">
<p><xsl:value-of select="state/text/text()" /></p>
<ul class="references">
<xsl:for-each select="reference">
<li><a href="{@href}"><xsl:value-of select="concat(translate(substring(@type, 1, 1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), substring(@type, 2))" /></a></li>
</xsl:for-each>
</ul>
</li>
</xsl:for-each>
</ul>
</xsl:when>
<xsl:otherwise>
<p>Nothing to do.</p>
</xsl:otherwise>
</xsl:choose>
</section>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="includes/web-page.xsl"/>
<xsl:variable name="title">Error</xsl:variable>
<xsl:template name="content">
<h2><xsl:value-of select="$title" /></h2>
<xsl:for-each select="/report/incident">
<section class="box">
<h3 class="box_title">Response</h3>
<h4>Message</h4>
<p><xsl:value-of select="state/text" /></p>
<xsl:if test="state/@definition">
<p>Error code: <xsl:value-of select="state/@definition" /></p>
</xsl:if>
</section>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output omit-xml-declaration="yes" media-type="text/plain" method="text" indent="no" encoding="UTF-8" />
<xsl:template name="content" match="/report">
<xsl:for-each select="/report/incident">
<xsl:text>Report:&#xa;</xsl:text>
<xsl:value-of select="state/text" />
<xsl:text>&#xa;</xsl:text>
<xsl:if test="state/@definition">
<xsl:text>Error code: </xsl:text>
<xsl:value-of select="state/@definition" />
<xsl:text>&#xa;</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Import include files -->
<xsl:include href="includes/page.xsl"/>
<xsl:include href="includes/mountnav.xsl"/>
<xsl:variable name="title">Set fallback</xsl:variable>
<xsl:template name="content">
<div class="section">
<h2><xsl:value-of select="$title" /></h2>
<section class="box">
<h3 class="box_title">Mountpoint <code><xsl:value-of select="@mount" /></code></h3>
<!-- Mount nav -->
<xsl:call-template name="mountnav">
<xsl:with-param name="mount" select="current_source"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="source">
<p>Choose the mountpoint to which you want listeners to fallback to:</p>
<form method="post" action="/admin/fallbacks.xsl">
<label for="fallback" class="hidden">
Set fallback for <code><xsl:value-of select="current_source" /></code> to
</label>
<select name="fallback" id="fallback">
<xsl:for-each select="source">
<option value="{@mount}">
<xsl:value-of select="@mount" />
</option>
</xsl:for-each>
</select>
<input type="hidden" name="mount" value="{current_source}" />
<input type="hidden" name="omode" value="strict" />
&#160;
<input type="submit" value="Set fallback" />
</form>
</xsl:when>
<xsl:otherwise>
<aside class="warning">
<strong>No mounts!</strong>
There are no other mountpoints you could set as fallback.
</aside>
</xsl:otherwise>
</xsl:choose>
</section>
</div>
</xsl:template>
</xsl:stylesheet>
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
admindir = $(pkgdatadir)/admin
otheradmindir = $(admindir)/includes
otheradmin_DATA = footer.xsl head.xsl header.xsl mountnav.xsl
EXTRA_DIST = $(otheradmin_DATA)
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="authlist">
<ul>
<xsl:for-each select="authentication/role">
<li>Role
<xsl:if test="@name">
<xsl:value-of select="@name" />
</xsl:if>
of type <xsl:value-of select="@type" />
<xsl:if test="@management-url">
<xsl:choose>
<xsl:when test="@can-adduser='true' or @can-deleteuser='true'">
(<a href="{@management-url}">Manage</a>)
</xsl:when>
<xsl:when test="@can-listuser='true'">
(<a href="{@management-url}">List</a>)
</xsl:when>
</xsl:choose>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xt="http://www.jclark.com/xt" extension-element-prefixes="xt" exclude-result-prefixes="xt">
<!-- Import include files -->
<xsl:include href="includes/page.xsl"/>
<xsl:template name="confirm">
<xsl:param name="text" />
<xsl:param name="action-cancel" />
<xsl:param name="action-confirm" />
<xsl:param name="params-cancel" />
<xsl:param name="params-confirm" />
<h2><xsl:value-of select="$title" /></h2>
<section class="box">
<h3 class="box_title">Please confirm</h3>
<p><xsl:copy-of select="$text" /></p>
<ul class="boxnav">
<li>
<form method="get" action="{$action-cancel}">
<xsl:for-each select="xt:node-set($params-cancel)/*">
<input type="hidden" name="{@member}" value="{@value}" />
</xsl:for-each>
<input type="submit" value="Cancel" />
</form>
</li>
<li>
<form method="post" action="{$action-confirm}">
<xsl:for-each select="xt:node-set($params-confirm)/*">
<input type="hidden" name="{@member}" value="{@value}" />
</xsl:for-each>
<input class="critical" type="submit" value="Confirm" />
</form>
</li>
</ul>
</section>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="footer">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="footer">
<div class="footer">
<p>Support Icecast development at <a href="http://icecast.org">icecast.org</a></p>
</div>
<div class="footer">
<p>Support Icecast development at <a href="http://icecast.org">icecast.org</a></p>
</div>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="head">
<xsl:param name="title"/>
<head>
<meta charset="utf-8" />
<title><xsl:if test="$title"><xsl:value-of select="$title"/></xsl:if>Icecast Admin</title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css" />
<meta name="description" content="Icecast Server status page" />
</head>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="head">
<xsl:param name="title"/>
<head>
<meta charset="utf-8" />
<title><xsl:if test="$title"><xsl:value-of select="$title"/></xsl:if>Icecast Admin</title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css" />
<meta name="theme-color" content="#001826" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="description" content="Icecast Server status page" />
</head>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="header">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="header">
<div class="header">
<h1>
<a href="/" title="Home page">Icecast</a>
<xsl:text> </xsl:text>
<span>administration</span>
</h1>
<div class="nav">
<label for="toggle-nav" class="nobar" title="Toggle navigation"></label>
<input type="checkbox" id="toggle-nav" />
<ul>
<li class="on"><a href="/admin/stats.xsl">Administration</a></li>
<li><a href="/admin/listmounts.xsl">Mountpoint list</a></li>
<li><a href="/status.xsl">Public area</a></li>
</ul>
</div>
</div>
<header>
<nav id="main-nav" role="primary">
<a href="/admin/" id="branding">
<img src="/assets/img/icecast.png" alt="Logo" />
<h1>Icecast Server administration</h1>
</a>
<ul>
<li class="adminlink"><a href="/admin/dashboard.xsl">Dashboard</a></li>
<li class="adminlink"><a href="/admin/stats.xsl">Server status</a></li>
<li class="adminlink"><a href="/admin/streamlist.xsl">Sources list</a></li>
<li class="adminlink"><a href="/admin/listensocketlist.xsl">Listen Socket list</a></li>
<li class="adminlink"><a href="/admin/showlog.xsl">Logfiles</a></li>
<xsl:for-each select="(/report/extension/icestats | /icestats | /iceresponse)/modules/module">
<xsl:if test="@management-url and @management-title">
<li class="adminlink"><a href="{@management-url}"><xsl:value-of select="@management-title" /></a></li>
</xsl:if>
</xsl:for-each>
<li class="right"><a href="/status.xsl">Public area</a></li>
<li class="right adminlink"><a href="/admin/version.xsl">Version</a></li>
</ul>
</nav>
</header>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="mountnav">
<xsl:param name="mount" select="@mount"/>
<div class="nav">
<ul>
<li><a href="listclients.xsl?mount={$mount}">Clients</a></li>
<li><a href="moveclients.xsl?mount={$mount}">Move listeners</a></li>
<li><a href="updatemetadata.xsl?mount={$mount}">Metadata</a></li>
<li><a href="killsource.xsl?mount={$mount}">Kill source</a></li>
</ul>
</div>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="mountnav">
<xsl:param name="mount" select="@mount"/>
<div class="mountnav">
<ul class="boxnav">
<li><a href="/admin/stats.xsl?mount={$mount}#mount-1">Details</a></li>
<li><a href="/admin/listclients.xsl?mount={$mount}">Clients</a></li>
<li><a href="/admin/moveclients.xsl?mount={$mount}">Move listeners</a></li>
<li><a href="/admin/updatemetadata.xsl?mount={$mount}">Metadata</a></li>
<li><a href="/admin/fallbacks.xsl?mount={$mount}&amp;omode=strict">Set fallback</a></li>
<xsl:choose>
<xsl:when test="dumpfile_written/text() != '0'">
<li class="critical"><a href="/admin/ui/confirmkilldumpfile.xsl?mount={$mount}">Stop dump file</a></li>
</xsl:when>
<xsl:otherwise>
<li class="disabled"><a>No dumpfile running</a></li>
</xsl:otherwise>
</xsl:choose>
<li class="critical"><a href="/admin/ui/confirmkillsource.xsl?mount={$mount}">Kill source</a></li>
</ul>
</div>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="utf-8" />
<!-- Import include files -->
<xsl:include href="includes/head.xsl"/>
<xsl:include href="includes/header.xsl"/>
<xsl:include href="includes/footer.xsl"/>
<xsl:template match="/node()">
<html>
<xsl:call-template name="head">
<xsl:with-param name="title" select="$title" />
</xsl:call-template>
<body>
<!-- Header/Menu -->
<xsl:call-template name="header" />
<main role="main">
<xsl:call-template name="content" />
</main>
<!-- Footer -->
<footer>
<xsl:call-template name="footer" />
</footer>
</body>
</html>
</xsl:template>
</xsl:stylesheet>