The NAS4Free Team is pleased to announce the release of version 11.0.0.4.4282 - Sayyadina
Download build 11.0.0.4.4282
Read the readme_11.0
Major Change!
cifs/smb note:
==============
From Samba 4.5.0 and up the default value for the "ntlm auth" option is changed from "yes" to "no".
This may have impact on very old clients which doesn't support NTLMv2 yet.
Only if you really need NTLMv1 Authentication you can set in Additional Parameters: "ntlm auth = yes".
BUILD 11.0.0.4.4282
Changes after release 11.0.0.4.4195
===============================
- Upgrade to FreeBSD 11.0-RELEASE-P10.
- Update translations.
- Add new framework to LAGG.
- Add healthcheck script for zfs.
- Add function: create a dataset by using the configuration of an existing dataset.
- Add some radio buttons/design changes to webgui.
- Upgrade syncthing to 0.14.27.
- Upgrade tmux to 2.4.
- Upgrade samba to 4.6.3.
- Upgrade nano to 2.8.3.
- Upgrade virtualbox-ose to 5.1.22.
- Fix IE11 and Edge browser issue with novnc.
Note:
Clear your browser's cache to avoid display issues after upgrade.
Make a new backup of your system configuration and store this on safe location.
Enjoy!
Regards,
The NAS4Free Team
This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!
I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!
it will taken offline by the end of march 2021!
I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!
NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
- zoon01
- Developer

- Posts: 724
- Joined: 20 Jun 2012 21:06
- Location: Netherlands
- Contact:
- Status: Offline
NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
System specs: XigmaNAS 11.2.0.4 -embedded on Samsung 860 EVO 256GB and Supermicro X10SL7-F w / Bios v3.2, IPMI v.03.86 / CPU E3-1241 v3 @ 3.50GHz - 32GB Crucial DDR3L 1600mhz ECC 1.35v , LSI 2308 on PH20.00.07.00 IT mode, Storage: 5x Western Digital Red (WD30EFRX) raidz
Development system is same system in virtualbox.
Development system is same system in virtualbox.
- raulfg3
- Site Admin

- Posts: 4865
- Joined: 22 Jun 2012 22:13
- Location: Madrid (ESPAÑA)
- Contact:
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
Upgrade sucesfully, no problems here.
Thanks
Thanks
12.1.0.4 - Ingva (revision 7743) on SUPERMICRO X8SIL-F 8GB of ECC RAM, 11x3TB disk in 1 vdev = Vpool = 32TB Raw size , so 29TB usable size (I Have other NAS as Backup)
Wiki
Last changes
HP T510
Wiki
Last changes
HP T510
-
sleid
- PowerUser

- Posts: 774
- Joined: 23 Jun 2012 07:36
- Location: FRANCE LIMOUSIN CORREZE
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
Upgrade sucesfully, no problems here.
French translation completed.
Thanks
French translation completed.
Thanks
12.1.0.4 - Ingva (revision 7852)
FreeBSD 12.1-RELEASE-p12 #0 r368465M: Tue Dec 8 23:25:11 CET 2020
X64-embedded sur Intel(R) Atom(TM) CPU C2750 @ 2.40GHz Boot UEFI
ASRock C2750D4I 2 X 8GB DDR3 ECC
Pool of 2 vdev Raidz1: 3 WDC WD40EFRX + 3 WDC WD40EFRX
FreeBSD 12.1-RELEASE-p12 #0 r368465M: Tue Dec 8 23:25:11 CET 2020
X64-embedded sur Intel(R) Atom(TM) CPU C2750 @ 2.40GHz Boot UEFI
ASRock C2750D4I 2 X 8GB DDR3 ECC
Pool of 2 vdev Raidz1: 3 WDC WD40EFRX + 3 WDC WD40EFRX
-
doktornotor
- Advanced User

- Posts: 189
- Joined: 16 May 2017 00:22
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
When you set up the WebGUI to use HTTPS, this doesn't work for IPv6. Instead, lighttpd uses HTTP on the [IPv6]:443 socket because the configuration is wrong and lighttpd's config is very "friendly".
See https://redmine.lighttpd.net/projects/l ... Pv6-Config and this discussion with lighttpd developer: https://github.com/pfsense/FreeBSD-ports/pull/284
This is not specific to this release, the configuration could have never worked as is. You need to repeat all the SSL options until at least 1.4.46 is included in N4F.
See https://redmine.lighttpd.net/projects/l ... Pv6-Config and this discussion with lighttpd developer: https://github.com/pfsense/FreeBSD-ports/pull/284
This is not specific to this release, the configuration could have never worked as is. You need to repeat all the SSL options until at least 1.4.46 is included in N4F.
-
doktornotor
- Advanced User

- Posts: 189
- Joined: 16 May 2017 00:22
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
Posting the fixed code and diff. (Also changed the script to not bother with certificates when $lighttpd_forcehttpfile exists.)doktornotor wrote: ↑23 May 2017 08:16When you set up the WebGUI to use HTTPS, this doesn't work for IPv6. Instead, lighttpd uses HTTP on the [IPv6]:443 socket because the configuration is wrong and lighttpd's config is very "friendly".
/etc/rc.d/lighttpd
Code: Select all
#!/bin/sh
#
# Part of NAS4Free (http://www.nas4free.org).
# Copyright (c) 2012-2017 The NAS4Free Project <info@nas4free.org>.
# All rights reserved.
#
# Lighttpd Daemon
#
# PROVIDE: lighttpd
# REQUIRE: htpasswd DAEMON
# KEYWORD: shutdown
. /etc/rc.subr
. /etc/util.subr
. /etc/configxml.subr
name="lighttpd"
desc="Lighttpd Daemon"
rcvar=lighttpd_enable
load_rc_config "${name}"
# Custom commands
start_precmd="lighttpd_mkconf"
stop_postcmd="lighttpd_poststop"
restart_precmd="lighttpd_check"
reload_precmd="lighttpd_prereload"
reload_postcmd="lighttpd_postreload"
mkconf_cmd="lighttpd_mkconf"
check_cmd="lighttpd_check"
extra_commands="reload check mkconf"
# Defaults
lighttpd_enable=${lighttpd_enable:-"NO"}
lighttpd_conf=${lighttpd_conf:-"/var/etc/lighttpd.conf"}
lighttpd_certpem=${lighttpd_certpem:-"/var/etc/cert.pem"}
lighttpd_docroot=${lighttpd_docroot:-"/usr/local/www"}
lighttpd_server_maxwriteidle=${lighttpd_server_maxwriteidle:-"360"}
lighttpd_pidfile=${lighttpd_pidfile:-"/var/run/${name}.pid"}
lighttpd_forcehttpfile=${lighttpd_forcehttpfile:-"/var/run/${name}.forcehttp"}
lighttpd_authrequire=${lighttpd_authrequire:-"NO"}
lighttpd_uploaddir=${lighttpd_uploaddir:-"/var/tmp"}
lighttpd_maxrequestsize=${lighttpd_maxrequestsize:-"524288"}
command=/usr/local/sbin/lighttpd
command_args="-f ${lighttpd_conf} -m /usr/local/lib/lighttpd"
pidfile=${lighttpd_pidfile}
sig_reload="-INT"
# Create symlink for lighttpd file upload if it doesn't exist.
#if [ ! -h "${lighttpd_uploaddir}/ftmp" ]; then
# ln -s /ftmp "${lighttpd_uploaddir}/ftmp"
#fi
if [ -h "${lighttpd_uploaddir}/ftmp" ]; then
rm -f "${lighttpd_uploaddir}/ftmp"
fi
if [ ! -d "${lighttpd_uploaddir}/ftmp" ]; then
mkdir -p "${lighttpd_uploaddir}/ftmp"
fi
chmod 1777 "${lighttpd_uploaddir}/ftmp"
# FastCGI socket directory
mkdir -p /var/tmp/fastcgi
chmod 755 /var/tmp/fastcgi
lighttpd_mkconf()
{
local _protocol _certificate _privatekey _tmpfile
local _ifn _ipaddr _ipv6addr _port
local _subnet _network _ipv6subnet _ipv6network _hostsallow
# get LAN interface
_ifn=`configxml_get "//interfaces/lan/if"`
_ifn=`get_if ${_ifn}`
# get IPv4 LAN address and network
_ipaddr=`configxml_get "//interfaces/lan/ipaddr"`
if [ "${_ipaddr}" = "dhcp" ]; then
_ipaddr=`get_ipaddr inet ${_ifn}`
_network=`get_network inet ${_ifn}`
if [ "${_ipaddr}" = "0.0.0.0" ]; then
echo "can't get DHCP address"
_network="0.0.0.0/0"
fi
else
_subnet=`configxml_get "//interfaces/lan/subnet"`
_network="${_ipaddr}/${_subnet}"
fi
# get IPv6 LAN address and network
_ipv6addr=""
_ipv6network=""
if configxml_isset "//interfaces/lan/ipv6_enable"; then
_ipv6addr=`configxml_get "//interfaces/lan/ipv6addr"`
if [ "${_ipv6addr}" = "auto" ]; then
_ipv6addr=`get_ipv6addr_nll ${_ifn}`
_ipv6network=`get_ipv6network_nll ${_ifn}`
else
_ipv6subnet=`configxml_get "//interfaces/lan/ipv6subnet"`
_ipv6network="${_ipv6addr}/${_ipv6subnet}"
fi
fi
# TCP port
if [ -f "${lighttpd_forcehttpfile}" ]; then
_protocol="http"
_port="80"
else
_protocol=`configxml_get "//system/webgui/protocol"`
_port=`configxml_get "//system/webgui/port"`
if [ -z "$_port" ]; then
if [ "${_protocol}" = "https" ]; then
_port="443"
else
_port="80"
fi
fi
fi
# hosts allow
_hostsallow=`configxml_get "//system/webgui/hostsallow"`
_hostsallow_disable=0
# fallback if hostsallow is not configured
if [ -z "${_hostsallow}" ]; then
# add IPv4 network
if [ -n "${_network}" ]; then
_hostsallow="${_hostsallow} ${_network}"
fi
# add IPv6 network
if [ -n "${_ipv6network}" ]; then
_hostsallow="${_hostsallow} ${_ipv6network}"
fi
fi
# add IPv4 localhost
if [ -n "${_network}" ]; then
_hostsallow="${_hostsallow} 127.0.0.1"
fi
# add IPv6 localhost
if [ -n "${_ipv6network}" ]; then
_hostsallow="${_hostsallow} ::1"
fi
# trim _hostsallow
_hostsallow="${_hostsallow#"${_hostsallow%%[![:space:]]*}"}"
if configxml_isset "//system/webgui/hostsallow_disable"; then
_hostsallow_disable=1
fi
# Create lighttpd.conf file
cat <<EOF > ${lighttpd_conf}
server.modules = (
"mod_access",
"mod_auth",
"mod_expire",
"mod_cgi",
"mod_fastcgi",
"mod_setenv"
)
server.document-root = "${lighttpd_docroot}"
server.errorlog-use-syslog = "enable"
#server.event-handler = "freebsd-kqueue"
server.event-handler = "libev"
server.max-write-idle = ${lighttpd_server_maxwriteidle}
index-file.names = ( "index.php" )
# set trust path
setenv.add-environment = ( "PATH" => "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" )
\$HTTP["url"] =~ "\.(js|css|png|gif|jpg)$" {
expire.url = ( "" => "access plus 1 hours" )
}
# mimetype mapping
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jar" => "application/x-java-archive",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".svg" => "image/svg+xml",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".spec" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mp4" => "video/mp4",
".mpg4" => "video/mp4",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar",
".rpm" => "application/x-rpm",
# make the default mime type application/octet-stream.
"" => "application/octet-stream",
)
#url.access-deny = ( "~", ".inc", ".htpasswd" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
server.pid-file = "${pidfile}"
#cgi.assign = (".php" => "/usr/local/bin/php-cgi")
# FastCGI
fastcgi.server = ( ".php" =>
( "localhost" =>
( "socket" => "/var/tmp/fastcgi/php.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"check-local" => "disable",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "2",
"PHP_FCGI_MAX_REQUESTS" => "500"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER" ),
"broken-scriptfilename" => "enable",
"min-procs" => 1,
"max-procs" => 2,
"max-load-per-proc" => 90,
"idle-timeout" => 360,
"x-sendfile" => "enable"
)
)
)
EOF
# hosts allow
if [ $_hostsallow_disable -eq 0 ]; then
cat <<EOF >> ${lighttpd_conf}
url.access-deny = ( "" )
EOF
for h in $_hostsallow; do
cat <<EOF >> ${lighttpd_conf}
\$HTTP["remoteip"] == "$h" {
url.access-deny = ( "~", ".inc", ".htpasswd" )
}
EOF
done
fi
# Set temporary directory
cat <<EOF >> ${lighttpd_conf}
server.upload-dirs = ( "${lighttpd_uploaddir}/ftmp", "${lighttpd_uploaddir}" )
server.max-request-size = ${lighttpd_maxrequestsize}
EOF
# Disable File Manager
if [ `configxml_get_count "//system/disablefm"` -gt 0 ]; then
cat <<EOF >> ${lighttpd_conf}
\$HTTP["url"] =~ "^/quixplorer/" {
url.access-deny = ( "" )
}
EOF
fi
# Is authentication (RFC 2617) required?
if checkyesno lighttpd_authrequire; then
/usr/local/bin/xml sel -t \
-o "auth.backend = \"htpasswd\"" -n \
-o "auth.backend.htpasswd.userfile = \"${lighttpd_docroot}/.htpasswd\"" -n \
-o "auth.require = ( \"/\" => (" -n \
-o " \"method\" => \"basic\"," -n \
-v "concat(' \"realm\" => \"',//system/hostname,'\",')" -n \
-o " \"require\" => \"valid-user\"" -n \
-o " )," -n \
-o ")" -n \
${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
fi
# HTTPS
if [ "${_protocol}" = "https" ] && [ ! -f "${lighttpd_forcehttpfile}" ]; then
_certificate=`configxml_get "//system/webgui/certificate"`
_privatekey=`configxml_get "//system/webgui/privatekey"`
# Create /var/etc/cert.pem file
if [ -n "${_certificate}" -a -n "${_privatekey}" ]; then
_tmpfile=/tmp/lighttpd$$.tmp
echo "${_certificate}" > ${_tmpfile}
/usr/bin/uudecode -m -p -r ${_tmpfile} > ${lighttpd_certpem}
echo "" >> ${lighttpd_certpem}
echo "${_privatekey}" > ${_tmpfile}
/usr/bin/uudecode -m -p -r ${_tmpfile} >> ${lighttpd_certpem}
/bin/rm -f ${_tmpfile}
fi
[ -e ${lighttpd_certpem} ] && /bin/chmod 0600 ${lighttpd_certpem}
# Set IP address and TCP port (SSL)
# IPv4
if [ -n "${_ipaddr}" ]; then
cat <<EOF >> ${lighttpd_conf}
server.bind = "${_ipaddr}"
server.port = "${_port}"
EOF
/usr/local/bin/xml sel -t \
-i "//system/webgui/protocol[. = 'https']" \
-o "ssl.engine = \"enable\"" -n \
-o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
-o "ssl.use-sslv3 = \"disable\"" -n \
-b \
${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
# IPv4 + IPv6
if [ -n "${_ipv6addr}" ]; then
cat <<EOF >> ${lighttpd_conf}
\$SERVER["socket"] == "[${_ipv6addr}]:${_port}" {
EOF
/usr/local/bin/xml sel -t \
-i "//system/webgui/protocol[. = 'https']" \
-o "ssl.engine = \"enable\"" -n \
-o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
-o "ssl.use-sslv3 = \"disable\"" -n \
-b \
${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
cat <<EOF >> ${lighttpd_conf}
}
EOF
fi
else
# IPv6-only
if [ -n "${_ipv6addr}" ]; then
cat <<EOF >> ${lighttpd_conf}
server.bind = "${_ipv6addr}"
server.port = "${_port}"
EOF
/usr/local/bin/xml sel -t \
-i "//system/webgui/protocol[. = 'https']" \
-o "ssl.engine = \"enable\"" -n \
-o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
-o "ssl.use-sslv3 = \"disable\"" -n \
-b \
${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
fi
fi
# HTTP
else
# Set IP address and TCP port (no SSL)
# IPv4
if [ -n "${_ipaddr}" ]; then
cat <<EOF >> ${lighttpd_conf}
server.bind = "${_ipaddr}"
server.port = "${_port}"
EOF
# IPv4 + IPv6
if [ -n "${_ipv6addr}" ]; then
cat <<EOF >> ${lighttpd_conf}
\$SERVER["socket"] == "[${_ipv6addr}]:${_port}" { }
EOF
fi
else
# IPv6-only
if [ -n "${_ipv6addr}" ]; then
cat <<EOF >> ${lighttpd_conf}
server.bind = "${_ipv6addr}"
server.port = "${_port}"
EOF
fi
fi
fi
# Add auxparam
/usr/local/bin/xml sel -t -m "//webgui" \
-m "auxparam" \
-v "." -n \
-b \
${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
}
lighttpd_check()
{
echo "Performing sanity check on ${name} configuration:"
eval "${command} ${command_args} -t"
}
lighttpd_poststop()
{
rm -f ${pidfile}
}
lighttpd_prereload()
{
echo "Stopping ${name} and starting gracefully."
}
lighttpd_postreload()
{
rm -f ${pidfile}
run_rc_command start
}
run_rc_command "$1"
Code: Select all
--- a/etc/rc.d/lighttpd 2017-05-19 17:16:03.000000000 +0200
+++ b/etc/rc.d/lighttpd 2017-05-23 11:58:00.000000000 +0200
@@ -255,25 +255,6 @@
)
EOF
- # Set IP address and TCP port
- if [ -n "${_ipaddr}" ]; then
- cat <<EOF >> ${lighttpd_conf}
-server.bind = "${_ipaddr}"
-server.port = "${_port}"
-EOF
- if [ -n "${_ipv6addr}" ]; then
- cat <<EOF >> ${lighttpd_conf}
-\$SERVER["socket"] == "[${_ipv6addr}]:${_port}" { }
-EOF
- fi
- else
- if [ -n "${_ipv6addr}" ]; then
- cat <<EOF >> ${lighttpd_conf}
-server.bind = "${_ipv6addr}"
-server.port = "${_port}"
-EOF
- fi
- fi
# hosts allow
if [ $_hostsallow_disable -eq 0 ]; then
cat <<EOF >> ${lighttpd_conf}
@@ -317,25 +298,8 @@
${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
fi
- if [ ! -f "${lighttpd_forcehttpfile}" ]; then
- /usr/local/bin/xml sel -t \
- -i "//system/webgui/protocol[. = 'https']" \
- -o "ssl.engine = \"enable\"" -n \
- -o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
- -o "ssl.use-sslv3 = \"disable\"" -n \
- -b \
- ${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
- fi
-
- # Add auxparam
- /usr/local/bin/xml sel -t -m "//webgui" \
- -m "auxparam" \
- -v "." -n \
- -b \
- ${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
-
-
- if [ "${_protocol}" = "https" ]; then
+ # HTTPS
+ if [ "${_protocol}" = "https" ] && [ ! -f "${lighttpd_forcehttpfile}" ]; then
_certificate=`configxml_get "//system/webgui/certificate"`
_privatekey=`configxml_get "//system/webgui/privatekey"`
# Create /var/etc/cert.pem file
@@ -352,7 +316,88 @@
fi
[ -e ${lighttpd_certpem} ] && /bin/chmod 0600 ${lighttpd_certpem}
+
+ # Set IP address and TCP port (SSL)
+ # IPv4
+ if [ -n "${_ipaddr}" ]; then
+ cat <<EOF >> ${lighttpd_conf}
+server.bind = "${_ipaddr}"
+server.port = "${_port}"
+EOF
+ /usr/local/bin/xml sel -t \
+ -i "//system/webgui/protocol[. = 'https']" \
+ -o "ssl.engine = \"enable\"" -n \
+ -o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
+ -o "ssl.use-sslv3 = \"disable\"" -n \
+ -b \
+ ${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
+
+ # IPv4 + IPv6
+ if [ -n "${_ipv6addr}" ]; then
+ cat <<EOF >> ${lighttpd_conf}
+\$SERVER["socket"] == "[${_ipv6addr}]:${_port}" {
+EOF
+
+ /usr/local/bin/xml sel -t \
+ -i "//system/webgui/protocol[. = 'https']" \
+ -o "ssl.engine = \"enable\"" -n \
+ -o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
+ -o "ssl.use-sslv3 = \"disable\"" -n \
+ -b \
+ ${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
+
+ cat <<EOF >> ${lighttpd_conf}
+}
+EOF
+ fi
+ else
+ # IPv6-only
+ if [ -n "${_ipv6addr}" ]; then
+ cat <<EOF >> ${lighttpd_conf}
+server.bind = "${_ipv6addr}"
+server.port = "${_port}"
+EOF
+ /usr/local/bin/xml sel -t \
+ -i "//system/webgui/protocol[. = 'https']" \
+ -o "ssl.engine = \"enable\"" -n \
+ -o "ssl.pemfile = \"${lighttpd_certpem}\"" -n \
+ -o "ssl.use-sslv3 = \"disable\"" -n \
+ -b \
+ ${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
+ fi
+ fi
+ # HTTP
+ else
+ # Set IP address and TCP port (no SSL)
+ # IPv4
+ if [ -n "${_ipaddr}" ]; then
+ cat <<EOF >> ${lighttpd_conf}
+server.bind = "${_ipaddr}"
+server.port = "${_port}"
+EOF
+ # IPv4 + IPv6
+ if [ -n "${_ipv6addr}" ]; then
+ cat <<EOF >> ${lighttpd_conf}
+\$SERVER["socket"] == "[${_ipv6addr}]:${_port}" { }
+EOF
+ fi
+ else
+ # IPv6-only
+ if [ -n "${_ipv6addr}" ]; then
+ cat <<EOF >> ${lighttpd_conf}
+server.bind = "${_ipv6addr}"
+server.port = "${_port}"
+EOF
+ fi
+ fi
fi
+
+ # Add auxparam
+ /usr/local/bin/xml sel -t -m "//webgui" \
+ -m "auxparam" \
+ -v "." -n \
+ -b \
+ ${configxml_file} | /usr/local/bin/xml unesc >> ${lighttpd_conf}
}
lighttpd_check()
- ms49434
- Developer

- Posts: 828
- Joined: 03 Sep 2015 18:49
- Location: Neuenkirchen-Vörden, Germany - GMT+1
- Contact:
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
doktornotor wrote: ↑23 May 2017 12:07Posting the fixed code and diff. (Also changed the script to not bother with certificates when $lighttpd_forcehttpfile exists.)doktornotor wrote: ↑23 May 2017 08:16When you set up the WebGUI to use HTTPS, this doesn't work for IPv6. Instead, lighttpd uses HTTP on the [IPv6]:443 socket because the configuration is wrong and lighttpd's config is very "friendly".
An updated lighttpd.conf has been committed including the SSL configuration for IPv6 you suggested:
https://sourceforge.net/p/nas4free/code ... d/lighttpd
many thanks for your support!
1) XigmaNAS 12.1.0.4 amd64-embedded on a Dell T20 running in a VM on ESXi 6.7U3, 22GB out of 32GB ECC RAM, LSI 9300-8i IT mode in passthrough mode. Pool 1: 2x HGST 10TB, mirrored, L2ARC: Samsung 850 Pro; Pool 2: 1x Samsung 860 EVO 1TB, SLOG: Samsung SM883, services: Samba AD, CIFS/SMB, ftp, ctld, rsync, syncthing, zfs snapshots.
2) XigmaNAS 12.1.0.4 amd64-embedded on a Dell T20 running in a VM on ESXi 6.7U3, 8GB out of 32GB ECC RAM, IBM M1215 crossflashed, IT mode, passthrough mode, 2x HGST 10TB , services: rsync.
2) XigmaNAS 12.1.0.4 amd64-embedded on a Dell T20 running in a VM on ESXi 6.7U3, 8GB out of 32GB ECC RAM, IBM M1215 crossflashed, IT mode, passthrough mode, 2x HGST 10TB , services: rsync.
-
doktornotor
- Advanced User

- Posts: 189
- Joined: 16 May 2017 00:22
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
Thanks, tested and working.ms49434 wrote: ↑23 May 2017 21:07An updated lighttpd.conf has been committed including the SSL configuration for IPv6 you suggested:
https://sourceforge.net/p/nas4free/code ... d/lighttpd
-
machasm
- NewUser

- Posts: 5
- Joined: 27 Apr 2017 18:45
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
Updated and working fine on embedded zfs root mirror
SilverStone DS380 case
ASrock Rack C236 WSI M/B
Intel i3 6100 skylake
32 GB ECC Ram
6 X 3.5" 4TB Seagate ironwolf NAS drives
1 X 3.5" 6TB Seagate archive drive
1 X 3.5" 2TB
2 X 32GB Sandisk USB
450W Corsair SFF PSU
ASrock Rack C236 WSI M/B
Intel i3 6100 skylake
32 GB ECC Ram
6 X 3.5" 4TB Seagate ironwolf NAS drives
1 X 3.5" 6TB Seagate archive drive
1 X 3.5" 2TB
2 X 32GB Sandisk USB
450W Corsair SFF PSU
- JoseMR
- Hardware & Software Guru

- Posts: 1058
- Joined: 16 Apr 2014 04:15
- Location: PR
- Contact:
- Status: Offline
Re: NAS4Free 11.0.0.4.4282 released (FreeBSD 11.0-RELEASE-P10)
Hello machasm, I think you mean "Full" zfs root mirror instead Embedded.
System: FreeBSD 12 RootOnZFS Mirror, MB: Supermicro X8SI6-F, Xeon X3450, 16GB DDR3 ECC RDIMMs.
XigmaNAS RootOnZFS
Addons at GitHub
BastilleBSD
Boot Environments Intro
Resources Home Page
XigmaNAS RootOnZFS
Addons at GitHub
BastilleBSD
Boot Environments Intro
Resources Home Page