CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_RANDSTRUCT=y
-CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
+# CONFIG_GRKERNSEC_RANDSTRUCT is not set
CONFIG_GRKERNSEC_KERN_LOCKOUT=y
#
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_RANDSTRUCT=y
-CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
+# CONFIG_GRKERNSEC_RANDSTRUCT is not set
CONFIG_GRKERNSEC_KERN_LOCKOUT=y
CONFIG_GRKERNSEC_OLD_ARM_USERLAND=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_RANDSTRUCT=y
-CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
+# CONFIG_GRKERNSEC_RANDSTRUCT is not set
CONFIG_GRKERNSEC_KERN_LOCKOUT=y
CONFIG_GRKERNSEC_OLD_ARM_USERLAND=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_RANDSTRUCT=y
-CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
+# CONFIG_GRKERNSEC_RANDSTRUCT is not set
CONFIG_GRKERNSEC_KERN_LOCKOUT=y
#
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_RANDSTRUCT=y
-CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
+# CONFIG_GRKERNSEC_RANDSTRUCT is not set
CONFIG_GRKERNSEC_KERN_LOCKOUT=y
#
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_RANDSTRUCT=y
-CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y
+# CONFIG_GRKERNSEC_RANDSTRUCT is not set
CONFIG_GRKERNSEC_KERN_LOCKOUT=y
#
#usr/lib/ldscripts/armelfb_linux_eabi.xsw
#usr/lib/ldscripts/armelfb_linux_eabi.xu
#usr/lib/ldscripts/armelfb_linux_eabi.xw
-usr/lib/libbfd-2.22.so
+usr/lib/libbfd-2.24.so
#usr/lib/libbfd.a
#usr/lib/libbfd.la
#usr/lib/libbfd.so
#usr/lib/libiberty.a
-usr/lib/libopcodes-2.22.so
+usr/lib/libopcodes-2.24.so
#usr/lib/libopcodes.a
#usr/lib/libopcodes.la
#usr/lib/libopcodes.so
#usr/lib/libssp_nonshared.a
#usr/lib/libssp_nonshared.la
#usr/lib/libstdc++.a
-#usr/lib/libstdc++.so.6.0.20
+usr/lib/libstdc++.so.6.0.20
#usr/lib/libstdc++.so.6.0.20-gdb.py
#usr/lib/libsupc++.a
#usr/lib/libsupc++.la
#etc/rc.d/init.d/cyrus-sasl
etc/rc.d/init.d/dhcp
etc/rc.d/init.d/dhcrelay
+#etc/rc.d/init.d/dnsdist
etc/rc.d/init.d/dnsmasq
etc/rc.d/init.d/fcron
#etc/rc.d/init.d/fetchmail
usr/bin/diff
#usr/bin/diff3
#usr/bin/sdiff
+#usr/info
#usr/info/diff.info
+#usr/info/dir
#usr/man/man1/cmp.1
#usr/man/man1/diff.1
#usr/man/man1/diff3.1
#usr/lib/ldscripts/i386linux.xn
#usr/lib/ldscripts/i386linux.xr
#usr/lib/ldscripts/i386linux.xu
-usr/lib/libbfd-2.22.so
+usr/lib/libbfd-2.24.so
#usr/lib/libbfd.a
#usr/lib/libbfd.la
#usr/lib/libbfd.so
#usr/lib/libiberty.a
-usr/lib/libopcodes-2.22.so
+usr/lib/libopcodes-2.24.so
#usr/lib/libopcodes.a
#usr/lib/libopcodes.la
#usr/lib/libopcodes.so
#usr/lib/libssp_nonshared.a
#usr/lib/libssp_nonshared.la
#usr/lib/libstdc++.a
-#usr/lib/libstdc++.so.6.0.20
+usr/lib/libstdc++.so.6.0.20
#usr/lib/libstdc++.so.6.0.20-gdb.py
#usr/lib/libsupc++.a
#usr/lib/libsupc++.la
#etc/rc.d/init.d/cyrus-sasl
etc/rc.d/init.d/dhcp
etc/rc.d/init.d/dhcrelay
+#etc/rc.d/init.d/dnsdist
etc/rc.d/init.d/dnsmasq
etc/rc.d/init.d/fcron
#etc/rc.d/init.d/fetchmail
--- /dev/null
+usr/bin/lua
+usr/bin/luac
+#usr/include/lauxlib.h
+#usr/include/lua.h
+#usr/include/lua.hpp
+#usr/include/luaconf.h
+#usr/include/lualib.h
+usr/lib/liblua-5.3.so
+#usr/lib/liblua.a
+#usr/lib/liblua.la
+usr/lib/liblua.so
+#usr/lib/pkgconfig/lua.pc
+#usr/share/man/man1/lua.1
+#usr/share/man/man1/luac.1
usr/lib/libtinfo.so.5
usr/lib/libtinfo.so.5.9
#usr/lib/terminfo
+#usr/man
+#usr/man/man1
#usr/man/man1/captoinfo.1m
#usr/man/man1/clear.1
#usr/man/man1/infocmp.1m
#usr/man/man5
#usr/man/man5/term.5
#usr/man/man5/terminfo.5
+#usr/man/man7
#usr/man/man7/term.7
#usr/share/tabset
#usr/share/tabset/std
usr/bin/ntpdate
usr/bin/ntpdc
usr/bin/ntpq
+#usr/bin/ntpsnmpd
usr/bin/ntptime
usr/bin/ntptrace
usr/bin/sntp
#usr/share/man/man1/ntpdc.1
#usr/share/man/man1/ntpq.1
#usr/share/man/man1/ntptrace.1
+#usr/share/man/man1/ntpsnmpd.1
#usr/share/man/man1/sntp.1
#usr/share/man/man1/update-leap.1
#usr/share/man/man5/ntp.conf.5
#usr/lib/ldscripts/i386linux.xn
#usr/lib/ldscripts/i386linux.xr
#usr/lib/ldscripts/i386linux.xu
-#usr/lib/libbfd-2.22.so
+#usr/lib/libbfd-2.24.so
#usr/lib/libbfd.a
#usr/lib/libbfd.la
#usr/lib/libbfd.so
#usr/lib/libiberty.a
-#usr/lib/libopcodes-2.22.so
+#usr/lib/libopcodes-2.24.so
#usr/lib/libopcodes.a
#usr/lib/libopcodes.la
#usr/lib/libopcodes.so
#usr/lib/libssp_nonshared.a
#usr/lib/libssp_nonshared.la
#usr/lib/libstdc++.a
-#usr/lib/libstdc++.so.6.0.20
+usr/lib/libstdc++.so.6.0.20
#usr/lib/libstdc++.so.6.0.20-gdb.py
#usr/lib/libsupc++.a
#usr/lib/libsupc++.la
#etc/rc.d/init.d/cyrus-sasl
etc/rc.d/init.d/dhcp
etc/rc.d/init.d/dhcrelay
+#etc/rc.d/init.d/dnsdist
etc/rc.d/init.d/dnsmasq
etc/rc.d/init.d/fcron
#etc/rc.d/init.d/fetchmail
--- /dev/null
+../../../common/dnsmasq
\ No newline at end of file
etc/system-release
etc/issue
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/qos.cgi
+srv/web/ipfire/cgi-bin/webaccess.cgi
+usr/bin/pgrep
+usr/local/bin/qosctrl
+usr/local/bin/timectrl
--- /dev/null
+../../../common/ntp
\ No newline at end of file
--- /dev/null
+../../../common/openssh
\ No newline at end of file
--- /dev/null
+../../../common/openvpn
\ No newline at end of file
done
# Stop services
+/etc/init.d/dnsmasq stop
# Extract files
extract_files
+# Fix hardening flags in grub
+paxctl -mpexs /usr/bin/grub-script-check
+
# Update Language cache
# /usr/local/bin/update-lang-cache
# Start services
+/etc/init.d/dnsmasq start
+/etc/init.d/sshd restart
+
+# Delete old QoS enabled indicator
+rm -f /var/ipfire/qos/enable
# This update need a reboot...
#touch /var/run/need_reboot
--- /dev/null
+usr/bin/dnsdist
+#usr/share/man/man1/dnsdist.1
+etc/rc.d/init.d/dnsdist
#usr/share/man/man5/nanorc.5
#usr/share/nano
usr/share/nano/asm.nanorc
+usr/share/nano/autoconf.nanorc
usr/share/nano/awk.nanorc
usr/share/nano/c.nanorc
#usr/share/nano/changelog.nanorc
usr/share/nano/mgp.nanorc
usr/share/nano/mutt.nanorc
usr/share/nano/nanorc.nanorc
+usr/share/nano/nftables.nanorc
usr/share/nano/objc.nanorc
usr/share/nano/ocaml.nanorc
usr/share/nano/patch.nanorc
#srv/web/owncloud/3rdparty/Console/Getopt.php
#srv/web/owncloud/3rdparty/Jcrop
#srv/web/owncloud/3rdparty/Jcrop/MIT-LICENSE.txt
-#srv/web/owncloud/3rdparty/Jcrop/README.md
#srv/web/owncloud/3rdparty/Jcrop/css
#srv/web/owncloud/3rdparty/Jcrop/css/Jcrop.gif
#srv/web/owncloud/3rdparty/Jcrop/css/jquery.Jcrop.css
#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/compatibilityDecomposition.ser
#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/lowerCase.ser
#srv/web/owncloud/3rdparty/Patchwork/PHP/Shim/unidata/upperCase.ser
-#srv/web/owncloud/3rdparty/Patchwork/README.md
#srv/web/owncloud/3rdparty/Patchwork/Utf8
#srv/web/owncloud/3rdparty/Patchwork/Utf8.php
#srv/web/owncloud/3rdparty/Patchwork/Utf8/Bootup
#srv/web/owncloud/3rdparty/css/chosen/chosen.css
#srv/web/owncloud/3rdparty/css/strengthify
#srv/web/owncloud/3rdparty/css/strengthify/LICENSE
-#srv/web/owncloud/3rdparty/css/strengthify/README.md
#srv/web/owncloud/3rdparty/css/strengthify/strengthify.css
#srv/web/owncloud/3rdparty/doctrine
#srv/web/owncloud/3rdparty/doctrine/common
#srv/web/owncloud/3rdparty/doctrine/common/.gitmodules
#srv/web/owncloud/3rdparty/doctrine/common/LICENSE
-#srv/web/owncloud/3rdparty/doctrine/common/README.md
#srv/web/owncloud/3rdparty/doctrine/common/UPGRADE_TO_2_1
#srv/web/owncloud/3rdparty/doctrine/common/UPGRADE_TO_2_2
#srv/web/owncloud/3rdparty/doctrine/common/build.properties
#srv/web/owncloud/3rdparty/doctrine/dbal
#srv/web/owncloud/3rdparty/doctrine/dbal/.gitmodules
#srv/web/owncloud/3rdparty/doctrine/dbal/LICENSE
-#srv/web/owncloud/3rdparty/doctrine/dbal/README.md
#srv/web/owncloud/3rdparty/doctrine/dbal/UPGRADE
#srv/web/owncloud/3rdparty/doctrine/dbal/bin
#srv/web/owncloud/3rdparty/doctrine/dbal/bin/doctrine-dbal
#srv/web/owncloud/3rdparty/doctrine/dbal/docs/design/SHARDING.md
#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples
#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding
-#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/README.md
#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/bootstrap.php
#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/composer.json
#srv/web/owncloud/3rdparty/doctrine/dbal/docs/examples/sharding/create_schema.php
#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis/pgsql.travis.xml
#srv/web/owncloud/3rdparty/doctrine/dbal/tests/travis/sqlite.travis.xml
#srv/web/owncloud/3rdparty/fontawesome
-#srv/web/owncloud/3rdparty/fontawesome/README.md
#srv/web/owncloud/3rdparty/fontawesome/css
#srv/web/owncloud/3rdparty/fontawesome/css/font-awesome-ie7.min.css
#srv/web/owncloud/3rdparty/fontawesome/css/font-awesome.css
#srv/web/owncloud/3rdparty/james-heinrich
#srv/web/owncloud/3rdparty/james-heinrich/getid3
#srv/web/owncloud/3rdparty/james-heinrich/getid3/.gitattributes
-#srv/web/owncloud/3rdparty/james-heinrich/getid3/README.md
#srv/web/owncloud/3rdparty/james-heinrich/getid3/changelog.txt
#srv/web/owncloud/3rdparty/james-heinrich/getid3/composer.json
#srv/web/owncloud/3rdparty/james-heinrich/getid3/dependencies.txt
#srv/web/owncloud/3rdparty/js
#srv/web/owncloud/3rdparty/js/chosen
#srv/web/owncloud/3rdparty/js/chosen/LICENSE.md
-#srv/web/owncloud/3rdparty/js/chosen/README.md
#srv/web/owncloud/3rdparty/js/chosen/VERSION
#srv/web/owncloud/3rdparty/js/chosen/chosen.jquery.js
#srv/web/owncloud/3rdparty/js/chosen/chosen.jquery.min.js
#srv/web/owncloud/3rdparty/js/chosen/chosen.proto.js
#srv/web/owncloud/3rdparty/js/chosen/chosen.proto.min.js
#srv/web/owncloud/3rdparty/js/md5
-#srv/web/owncloud/3rdparty/js/md5/README.md
#srv/web/owncloud/3rdparty/js/md5/md5.js
#srv/web/owncloud/3rdparty/js/md5/md5.min.js
#srv/web/owncloud/3rdparty/js/strengthify
#srv/web/owncloud/3rdparty/js/strengthify/LICENSE
-#srv/web/owncloud/3rdparty/js/strengthify/README.md
#srv/web/owncloud/3rdparty/js/strengthify/jquery.strengthify.js
#srv/web/owncloud/3rdparty/kriswallsmith
#srv/web/owncloud/3rdparty/kriswallsmith/assetic
#srv/web/owncloud/3rdparty/kriswallsmith/assetic/CHANGELOG-1.2.md
#srv/web/owncloud/3rdparty/kriswallsmith/assetic/Gemfile
#srv/web/owncloud/3rdparty/kriswallsmith/assetic/LICENSE
-#srv/web/owncloud/3rdparty/kriswallsmith/assetic/README.md
#srv/web/owncloud/3rdparty/kriswallsmith/assetic/composer.json
#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs
#srv/web/owncloud/3rdparty/kriswallsmith/assetic/docs/en
#srv/web/owncloud/3rdparty/mcnetic
#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer
#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer/COPYING
-#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer/README.md
#srv/web/owncloud/3rdparty/mcnetic/phpzipstreamer/ZipStreamer.php
#srv/web/owncloud/3rdparty/miniColors
#srv/web/owncloud/3rdparty/miniColors/GPL-LICENSE.txt
#srv/web/owncloud/3rdparty/phpmailer/phpmailer
#srv/web/owncloud/3rdparty/phpmailer/phpmailer/LICENSE
#srv/web/owncloud/3rdparty/phpmailer/phpmailer/PHPMailerAutoload.php
-#srv/web/owncloud/3rdparty/phpmailer/phpmailer/README.md
#srv/web/owncloud/3rdparty/phpmailer/phpmailer/changelog.md
#srv/web/owncloud/3rdparty/phpmailer/phpmailer/class.phpmailer.php
#srv/web/owncloud/3rdparty/phpmailer/phpmailer/class.pop3.php
#srv/web/owncloud/3rdparty/phpseclib/phpseclib/.gitattributes
#srv/web/owncloud/3rdparty/phpseclib/phpseclib/AUTHORS
#srv/web/owncloud/3rdparty/phpseclib/phpseclib/LICENSE
-#srv/web/owncloud/3rdparty/phpseclib/phpseclib/README.md
#srv/web/owncloud/3rdparty/phpseclib/phpseclib/build
#srv/web/owncloud/3rdparty/phpseclib/phpseclib/build/code-sniffer-ruleset-tests.xml
#srv/web/owncloud/3rdparty/phpseclib/phpseclib/build/code-sniffer-ruleset.xml
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/.coveralls.yml
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/CONTRIBUTING.md
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/LICENSE
-#srv/web/owncloud/3rdparty/rackspace/php-opencloud/README.md
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/composer.json
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/changelog
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Identity/Users.md
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/Iterators.md
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/LoadBalancer
-#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/LoadBalancer/README.md
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/LoadBalancer/USERGUIDE.md
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore
#srv/web/owncloud/3rdparty/rackspace/php-opencloud/docs/userguide/ObjectStore/Access.md
#srv/web/owncloud/3rdparty/sabre/dav
#srv/web/owncloud/3rdparty/sabre/dav/ChangeLog
#srv/web/owncloud/3rdparty/sabre/dav/LICENSE
-#srv/web/owncloud/3rdparty/sabre/dav/README.md
#srv/web/owncloud/3rdparty/sabre/dav/bin
#srv/web/owncloud/3rdparty/sabre/dav/bin/googlecode_upload.py
#srv/web/owncloud/3rdparty/sabre/dav/bin/migrateto17.php
#srv/web/owncloud/3rdparty/sabre/vobject
#srv/web/owncloud/3rdparty/sabre/vobject/ChangeLog
#srv/web/owncloud/3rdparty/sabre/vobject/LICENSE
-#srv/web/owncloud/3rdparty/sabre/vobject/README.md
#srv/web/owncloud/3rdparty/sabre/vobject/bin
#srv/web/owncloud/3rdparty/sabre/vobject/bin/bench.php
#srv/web/owncloud/3rdparty/sabre/vobject/bin/generateicalendardata.php
#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/Output.php
#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/OutputInterface.php
#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Output/StreamOutput.php
-#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/README.md
#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Shell.php
#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tester
#srv/web/owncloud/3rdparty/symfony/console/Symfony/Component/Console/Tester/ApplicationTester.php
#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php
#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE
-#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md
#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests
#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
#srv/web/owncloud/3rdparty/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug
#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ProcessBuilder.php
#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ProcessPipes.php
#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/ProcessUtils.php
-#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/README.md
#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests
#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
#srv/web/owncloud/3rdparty/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php
#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php
#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php
#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php
-#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/README.md
#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RequestContext.php
#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php
#srv/web/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Route.php
#srv/web/owncloud/3rdparty/timepicker/releases.txt
#srv/web/owncloud/3rdparty/zxcvbn
#srv/web/owncloud/3rdparty/zxcvbn/LICENSE.txt
-#srv/web/owncloud/3rdparty/zxcvbn/README.md
#srv/web/owncloud/3rdparty/zxcvbn/js
#srv/web/owncloud/3rdparty/zxcvbn/js/zxcvbn.js
#srv/web/owncloud/3rdparty/zxcvbn/js/zxcvbn.min.js
#srv/web/owncloud/COPYING-AGPL
#srv/web/owncloud/apps
#srv/web/owncloud/apps/activity
-#srv/web/owncloud/apps/activity/README.md
#srv/web/owncloud/apps/activity/ajax
#srv/web/owncloud/apps/activity/ajax/fetch.php
#srv/web/owncloud/apps/activity/ajax/rssfeed.php
#srv/web/owncloud/apps/activity/appinfo/app.php
#srv/web/owncloud/apps/activity/appinfo/database.xml
#srv/web/owncloud/apps/activity/appinfo/info.xml
+#srv/web/owncloud/apps/activity/appinfo/preupdate.php
#srv/web/owncloud/apps/activity/appinfo/routes.php
#srv/web/owncloud/apps/activity/appinfo/update.php
#srv/web/owncloud/apps/activity/appinfo/version
#srv/web/owncloud/apps/activity/tests/parameterhelpertest.php
#srv/web/owncloud/apps/activity/tests/phpunit.xml
#srv/web/owncloud/apps/activity/tests/usersettingstest.php
-#srv/web/owncloud/apps/admin_dependencies_chk
-#srv/web/owncloud/apps/admin_dependencies_chk/appinfo
-#srv/web/owncloud/apps/admin_dependencies_chk/appinfo/app.php
-#srv/web/owncloud/apps/admin_dependencies_chk/appinfo/info.xml
-#srv/web/owncloud/apps/admin_dependencies_chk/appinfo/version
-#srv/web/owncloud/apps/admin_dependencies_chk/css
-#srv/web/owncloud/apps/admin_dependencies_chk/css/style.css
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ar.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ast.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/bg_BG.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/bn_BD.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ca.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/cs_CZ.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/da.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/de.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/de_CH.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/de_DE.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/el.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/en_GB.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/eo.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es_AR.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es_CL.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/es_MX.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/et_EE.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/eu.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/eu_ES.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/fa.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/fi_FI.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/fr.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/gl.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/hu_HU.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/id.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/is.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/it.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ja.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ja_JP.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/jv.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ka_GE.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/km.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ko.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/lb.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/lt_LT.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/lv.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/mk.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/nb_NO.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/nl.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/nn_NO.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/pl.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/pt_BR.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/pt_PT.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ro.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ru.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/si_LK.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sk_SK.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sl.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sq.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sr.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sr@latin.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/sv.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ta_LK.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/th_TH.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/tr.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/ug.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/uk.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/vi.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/zh_CN.php
-#srv/web/owncloud/apps/admin_dependencies_chk/l10n/zh_TW.php
-#srv/web/owncloud/apps/admin_dependencies_chk/settings.php
-#srv/web/owncloud/apps/admin_dependencies_chk/templates
-#srv/web/owncloud/apps/admin_dependencies_chk/templates/settings.php
#srv/web/owncloud/apps/bookmarks
#srv/web/owncloud/apps/bookmarks/3rdparty
#srv/web/owncloud/apps/bookmarks/3rdparty/css
#srv/web/owncloud/apps/bookmarks/3rdparty/js
#srv/web/owncloud/apps/bookmarks/3rdparty/js/js_tpl.js
#srv/web/owncloud/apps/bookmarks/3rdparty/js/tag-it.js
-#srv/web/owncloud/apps/bookmarks/README.md
#srv/web/owncloud/apps/bookmarks/addBm.php
#srv/web/owncloud/apps/bookmarks/ajax
#srv/web/owncloud/apps/bookmarks/ajax/delBookmark.php
#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js/fullcalendar.js
#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js/fullcalendar.min.js
#srv/web/owncloud/apps/calendar/3rdparty/fullcalendar/js/gcal.js
-#srv/web/owncloud/apps/calendar/README.md
#srv/web/owncloud/apps/calendar/ajax
#srv/web/owncloud/apps/calendar/ajax/cache
#srv/web/owncloud/apps/calendar/ajax/cache/rescan.php
#srv/web/owncloud/apps/calendar/tests
#srv/web/owncloud/apps/calendar/tests/calendar.php
#srv/web/owncloud/apps/contacts
-#srv/web/owncloud/apps/contacts/.jshintrc
#srv/web/owncloud/apps/contacts/COPYING-README
#srv/web/owncloud/apps/contacts/Changelog
-#srv/web/owncloud/apps/contacts/README.md
#srv/web/owncloud/apps/contacts/admin.php
#srv/web/owncloud/apps/contacts/appinfo
#srv/web/owncloud/apps/contacts/appinfo/app.php
#srv/web/owncloud/apps/contacts/tests/preseed-config.php
#srv/web/owncloud/apps/contacts/tests/setup_owncloud.sh
#srv/web/owncloud/apps/documents
-#srv/web/owncloud/apps/documents/README.md
#srv/web/owncloud/apps/documents/admin.php
#srv/web/owncloud/apps/documents/ajax
#srv/web/owncloud/apps/documents/ajax/admin.php
#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images/dndNoCopy.png
#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojo/resources/images/dndNoMove.png
#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/html
+#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/html/entities.js
#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout
#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources
#srv/web/owncloud/apps/documents/js/3rdparty/resources/dojox/layout/resources/DndGridContainer.css
#srv/web/owncloud/apps/files_encryption/tests/proxy.php
#srv/web/owncloud/apps/files_encryption/tests/share.php
#srv/web/owncloud/apps/files_encryption/tests/stream.php
+#srv/web/owncloud/apps/files_encryption/tests/testcase.php
#srv/web/owncloud/apps/files_encryption/tests/trashbin.php
#srv/web/owncloud/apps/files_encryption/tests/util.php
#srv/web/owncloud/apps/files_encryption/tests/webdav.php
#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth/Consumer
#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth/Consumer/Dropbox.php
#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/OAuth/Curl.php
-#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/README.md
#srv/web/owncloud/apps/files_external/3rdparty/Dropbox/autoload.php
#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php
#srv/web/owncloud/apps/files_external/3rdparty/aws-sdk-php/Aws
#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/pdf.worker.js
#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/viewer.css
#srv/web/owncloud/apps/files_pdfviewer/3rdparty/pdfjs/viewer.js
-#srv/web/owncloud/apps/files_pdfviewer/README.md
#srv/web/owncloud/apps/files_pdfviewer/appinfo
#srv/web/owncloud/apps/files_pdfviewer/appinfo/app.php
#srv/web/owncloud/apps/files_pdfviewer/appinfo/info.xml
#srv/web/owncloud/apps/files_sharing/lib/proxy.php
#srv/web/owncloud/apps/files_sharing/lib/readonlycache.php
#srv/web/owncloud/apps/files_sharing/lib/readonlywrapper.php
+#srv/web/owncloud/apps/files_sharing/lib/scanner.php
#srv/web/owncloud/apps/files_sharing/lib/share
#srv/web/owncloud/apps/files_sharing/lib/share/file.php
#srv/web/owncloud/apps/files_sharing/lib/share/folder.php
#srv/web/owncloud/apps/files_sharing/tests/js/shareSpec.js
#srv/web/owncloud/apps/files_sharing/tests/js/sharedfilelistSpec.js
#srv/web/owncloud/apps/files_sharing/tests/permissions.php
+#srv/web/owncloud/apps/files_sharing/tests/propagation.php
#srv/web/owncloud/apps/files_sharing/tests/proxy.php
#srv/web/owncloud/apps/files_sharing/tests/share.php
#srv/web/owncloud/apps/files_sharing/tests/sharedmount.php
#srv/web/owncloud/apps/files_sharing/tests/updater.php
#srv/web/owncloud/apps/files_sharing/tests/watcher.php
#srv/web/owncloud/apps/files_texteditor
-#srv/web/owncloud/apps/files_texteditor/README.md
#srv/web/owncloud/apps/files_texteditor/ajax
#srv/web/owncloud/apps/files_texteditor/ajax/loadfile.php
#srv/web/owncloud/apps/files_texteditor/ajax/savefile.php
#srv/web/owncloud/apps/files_trashbin/appinfo/app.php
#srv/web/owncloud/apps/files_trashbin/appinfo/database.xml
#srv/web/owncloud/apps/files_trashbin/appinfo/info.xml
+#srv/web/owncloud/apps/files_trashbin/appinfo/preupdate.php
#srv/web/owncloud/apps/files_trashbin/appinfo/routes.php
#srv/web/owncloud/apps/files_trashbin/appinfo/update.php
#srv/web/owncloud/apps/files_trashbin/appinfo/version
#srv/web/owncloud/apps/files_videoviewer/src/silverlight/SilverlightMediaElement.csproj.user
#srv/web/owncloud/apps/files_videoviewer/src/silverlight/SilverlightMediaElement.sln
#srv/web/owncloud/apps/firstrunwizard
-#srv/web/owncloud/apps/firstrunwizard/README.md
#srv/web/owncloud/apps/firstrunwizard/ajax
#srv/web/owncloud/apps/firstrunwizard/ajax/disable.php
#srv/web/owncloud/apps/firstrunwizard/ajax/enable.php
#srv/web/owncloud/apps/firstrunwizard/templates/wizard.php
#srv/web/owncloud/apps/firstrunwizard/wizard.php
#srv/web/owncloud/apps/gallery
-#srv/web/owncloud/apps/gallery/README.md
#srv/web/owncloud/apps/gallery/ajax
#srv/web/owncloud/apps/gallery/ajax/gallery.php
#srv/web/owncloud/apps/gallery/ajax/getimages.php
#srv/web/owncloud/apps/templateeditor/templates/settings-admin.php
#srv/web/owncloud/apps/updater
#srv/web/owncloud/apps/updater/COPYING-AGPL
-#srv/web/owncloud/apps/updater/README.md
#srv/web/owncloud/apps/updater/admin.php
#srv/web/owncloud/apps/updater/ajax
#srv/web/owncloud/apps/updater/ajax/backup
#srv/web/owncloud/apps/updater/templates/update.php
#srv/web/owncloud/apps/updater/update.php
#srv/web/owncloud/apps/user_external
-#srv/web/owncloud/apps/user_external/README.md
#srv/web/owncloud/apps/user_external/appinfo
#srv/web/owncloud/apps/user_external/appinfo/app.php
#srv/web/owncloud/apps/user_external/appinfo/database.xml
#srv/web/owncloud/apps/user_ldap/appinfo/update.php
#srv/web/owncloud/apps/user_ldap/appinfo/version
#srv/web/owncloud/apps/user_ldap/command
+#srv/web/owncloud/apps/user_ldap/command/checkuser.php
+#srv/web/owncloud/apps/user_ldap/command/search.php
#srv/web/owncloud/apps/user_ldap/command/setconfig.php
#srv/web/owncloud/apps/user_ldap/command/showconfig.php
+#srv/web/owncloud/apps/user_ldap/command/showremnants.php
#srv/web/owncloud/apps/user_ldap/command/testconfig.php
#srv/web/owncloud/apps/user_ldap/css
#srv/web/owncloud/apps/user_ldap/css/settings.css
#srv/web/owncloud/apps/user_ldap/lib/filesystemhelper.php
#srv/web/owncloud/apps/user_ldap/lib/helper.php
#srv/web/owncloud/apps/user_ldap/lib/ildapwrapper.php
+#srv/web/owncloud/apps/user_ldap/lib/jobs
#srv/web/owncloud/apps/user_ldap/lib/jobs.php
+#srv/web/owncloud/apps/user_ldap/lib/jobs/cleanup.php
#srv/web/owncloud/apps/user_ldap/lib/ldap.php
#srv/web/owncloud/apps/user_ldap/lib/ldaputility.php
#srv/web/owncloud/apps/user_ldap/lib/logwrapper.php
#srv/web/owncloud/apps/user_ldap/lib/proxy.php
#srv/web/owncloud/apps/user_ldap/lib/user
+#srv/web/owncloud/apps/user_ldap/lib/user/deletedusersindex.php
#srv/web/owncloud/apps/user_ldap/lib/user/iusertools.php
#srv/web/owncloud/apps/user_ldap/lib/user/manager.php
+#srv/web/owncloud/apps/user_ldap/lib/user/offlineuser.php
#srv/web/owncloud/apps/user_ldap/lib/user/user.php
#srv/web/owncloud/apps/user_ldap/lib/wizard.php
#srv/web/owncloud/apps/user_ldap/lib/wizardresult.php
#srv/web/owncloud/apps/user_ldap/tests
#srv/web/owncloud/apps/user_ldap/tests/access.php
#srv/web/owncloud/apps/user_ldap/tests/connection.php
-#srv/web/owncloud/apps/user_ldap/tests/data
-#srv/web/owncloud/apps/user_ldap/tests/data/sid.dat
#srv/web/owncloud/apps/user_ldap/tests/group_ldap.php
#srv/web/owncloud/apps/user_ldap/tests/helper.php
+#srv/web/owncloud/apps/user_ldap/tests/jobs
+#srv/web/owncloud/apps/user_ldap/tests/jobs/cleanup.php
#srv/web/owncloud/apps/user_ldap/tests/user
#srv/web/owncloud/apps/user_ldap/tests/user/manager.php
#srv/web/owncloud/apps/user_ldap/tests/user/user.php
#srv/web/owncloud/core/command/status.php
#srv/web/owncloud/core/command/upgrade.php
#srv/web/owncloud/core/command/user
+#srv/web/owncloud/core/command/user/delete.php
#srv/web/owncloud/core/command/user/lastseen.php
#srv/web/owncloud/core/command/user/report.php
#srv/web/owncloud/core/command/user/resetpassword.php
#srv/web/owncloud/core/css/styles.css
#srv/web/owncloud/core/doc
#srv/web/owncloud/core/doc/admin
-#srv/web/owncloud/core/doc/admin/_images
-#srv/web/owncloud/core/doc/admin/_images/antivirus-app.png
-#srv/web/owncloud/core/doc/admin/_images/antivirus-config.png
-#srv/web/owncloud/core/doc/admin/_images/antivirus-daemon-socket.png
-#srv/web/owncloud/core/doc/admin/_images/antivirus-executable.png
-#srv/web/owncloud/core/doc/admin/_images/antivirus-logging.png
-#srv/web/owncloud/core/doc/admin/_images/create_public_share.png
-#srv/web/owncloud/core/doc/admin/_images/documents_app_enable.png
-#srv/web/owncloud/core/doc/admin/_images/encryption1.png
-#srv/web/owncloud/core/doc/admin/_images/encryption2.png
-#srv/web/owncloud/core/doc/admin/_images/encryption3.png
-#srv/web/owncloud/core/doc/admin/_images/encryption4.png
-#srv/web/owncloud/core/doc/admin/_images/encryption5.png
-#srv/web/owncloud/core/doc/admin/_images/encryption6.png
-#srv/web/owncloud/core/doc/admin/_images/encryption7.png
-#srv/web/owncloud/core/doc/admin/_images/encryption8.png
-#srv/web/owncloud/core/doc/admin/_images/encryption9.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-amazons3.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-app-add.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-app-enable.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-app-local.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-app-usermounts.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-allowshare.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-app.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-configapp.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-oc.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-ftp.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive-0auth.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive-9.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive-sdk.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive1.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive2.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive5.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive7.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive8.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-smb.png
-#srv/web/owncloud/core/doc/admin/_images/external-storage-webdav.png
-#srv/web/owncloud/core/doc/admin/_images/install-wizard-advanced.png
-#srv/web/owncloud/core/doc/admin/_images/install-wizard.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-advanced-1-connection.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-advanced-2-directory.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-advanced-3-attributes.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-expert.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-fetched-avatar.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-settings-invalid-oc45.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-settings-valid-oc45.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-1-server.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-2-user.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-3-login.png
-#srv/web/owncloud/core/doc/admin/_images/ldap-wizard-4-group.png
-#srv/web/owncloud/core/doc/admin/_images/lucene-search-enable.png
-#srv/web/owncloud/core/doc/admin/_images/lucene-search-user.png
-#srv/web/owncloud/core/doc/admin/_images/oc_admin_app_page.png
-#srv/web/owncloud/core/doc/admin/_images/preview_images.png
-#srv/web/owncloud/core/doc/admin/_images/remote_shares.png
-#srv/web/owncloud/core/doc/admin/_images/sharing-admin.png
-#srv/web/owncloud/core/doc/admin/_images/sharing-user-local.png
-#srv/web/owncloud/core/doc/admin/_images/sharing-user.png
-#srv/web/owncloud/core/doc/admin/_images/smtp-config-php-sendmail.png
-#srv/web/owncloud/core/doc/admin/_images/smtp-config-smtp.png
-#srv/web/owncloud/core/doc/admin/_images/smtp-config-wizard.png
-#srv/web/owncloud/core/doc/admin/_images/ucs-app-center-install.png
-#srv/web/owncloud/core/doc/admin/_images/ucs-app-center-module.png
-#srv/web/owncloud/core/doc/admin/_images/ucsint.png
-#srv/web/owncloud/core/doc/admin/_images/ucsint1.png
-#srv/web/owncloud/core/doc/admin/_images/ucsint2.png
-#srv/web/owncloud/core/doc/admin/_images/untrusted-domain.png
-#srv/web/owncloud/core/doc/admin/_images/updater-1.png
-#srv/web/owncloud/core/doc/admin/_images/updater-2.png
-#srv/web/owncloud/core/doc/admin/_images/updater-3.png
-#srv/web/owncloud/core/doc/admin/_images/updater-4.png
-#srv/web/owncloud/core/doc/admin/_images/updater-5.png
-#srv/web/owncloud/core/doc/admin/_images/updater-6.png
-#srv/web/owncloud/core/doc/admin/_images/updater-7.png
-#srv/web/owncloud/core/doc/admin/_images/users-config.png
-#srv/web/owncloud/core/doc/admin/_images/users-create.png
-#srv/web/owncloud/core/doc/admin/_images/users-groups.png
-#srv/web/owncloud/core/doc/admin/_images/win7features.jpg
-#srv/web/owncloud/core/doc/admin/_images/winserverroles.jpg
-#srv/web/owncloud/core/doc/admin/_sources
-#srv/web/owncloud/core/doc/admin/_sources/configuration
-#srv/web/owncloud/core/doc/admin/_sources/configuration/auth_ldap.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/background_jobs.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration-antivirus.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_3rdparty.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_apps.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_assets.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_automation.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_config_sample_php.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_custom_clients.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_database.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_encryption.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_file_sharing.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_files_locking.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_knowledgebase.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_language.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_logging.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_mail.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_preview.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_reverseproxy.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_users.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_big_file_upload.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_documents.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_search.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/custom_mount_config.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/custom_mount_config_gui.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/custom_user_backend.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/index.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/server_to_server_managing.txt
-#srv/web/owncloud/core/doc/admin/_sources/configuration/xsendfile.txt
-#srv/web/owncloud/core/doc/admin/_sources/contents.txt
-#srv/web/owncloud/core/doc/admin/_sources/index.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation
-#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_hiawatha.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_lighttpd.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_nginx.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_yaws.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/index.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_appliance.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_linux.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_macos.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_others.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_source.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_ucs.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_windows.txt
-#srv/web/owncloud/core/doc/admin/_sources/installation/installation_wizard.txt
-#srv/web/owncloud/core/doc/admin/_sources/issues
-#srv/web/owncloud/core/doc/admin/_sources/issues/index.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/backup.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/convert_db.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/enable_maintenance.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/index.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/migrating.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/restore.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/update.txt
-#srv/web/owncloud/core/doc/admin/_sources/maintenance/upgrade.txt
-#srv/web/owncloud/core/doc/admin/_sources/whats_new_admin.txt
-#srv/web/owncloud/core/doc/admin/_static
-#srv/web/owncloud/core/doc/admin/_static/ajax-loader.gif
-#srv/web/owncloud/core/doc/admin/_static/basic.css
-#srv/web/owncloud/core/doc/admin/_static/bootstrap-responsive.css
-#srv/web/owncloud/core/doc/admin/_static/bootstrap-sphinx.css
-#srv/web/owncloud/core/doc/admin/_static/bootstrap.css
-#srv/web/owncloud/core/doc/admin/_static/bootstrap.js
-#srv/web/owncloud/core/doc/admin/_static/comment-bright.png
-#srv/web/owncloud/core/doc/admin/_static/comment-close.png
-#srv/web/owncloud/core/doc/admin/_static/comment.png
-#srv/web/owncloud/core/doc/admin/_static/doctools.js
-#srv/web/owncloud/core/doc/admin/_static/down-pressed.png
-#srv/web/owncloud/core/doc/admin/_static/down.png
-#srv/web/owncloud/core/doc/admin/_static/file.png
-#srv/web/owncloud/core/doc/admin/_static/img
-#srv/web/owncloud/core/doc/admin/_static/img/glyphicons-halflings-white.png
-#srv/web/owncloud/core/doc/admin/_static/img/glyphicons-halflings.png
-#srv/web/owncloud/core/doc/admin/_static/img/note.svg
-#srv/web/owncloud/core/doc/admin/_static/img/todo.svg
-#srv/web/owncloud/core/doc/admin/_static/jquery.js
-#srv/web/owncloud/core/doc/admin/_static/logo-blue.pdf
-#srv/web/owncloud/core/doc/admin/_static/logo-blue.png
-#srv/web/owncloud/core/doc/admin/_static/minus.png
-#srv/web/owncloud/core/doc/admin/_static/plus.png
-#srv/web/owncloud/core/doc/admin/_static/pygments.css
-#srv/web/owncloud/core/doc/admin/_static/searchtools.js
-#srv/web/owncloud/core/doc/admin/_static/style.css
-#srv/web/owncloud/core/doc/admin/_static/underscore.js
-#srv/web/owncloud/core/doc/admin/_static/up-pressed.png
-#srv/web/owncloud/core/doc/admin/_static/up.png
-#srv/web/owncloud/core/doc/admin/_static/websupport.js
-#srv/web/owncloud/core/doc/admin/configuration
-#srv/web/owncloud/core/doc/admin/configuration/auth_ldap.html
-#srv/web/owncloud/core/doc/admin/configuration/background_jobs.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration-antivirus.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_3rdparty.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_apps.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_assets.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_automation.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_config_sample_php.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_custom_clients.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_database.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_encryption.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_file_sharing.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_files_locking.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_knowledgebase.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_language.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_logging.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_mail.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_preview.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_reverseproxy.html
-#srv/web/owncloud/core/doc/admin/configuration/configuration_users.html
-#srv/web/owncloud/core/doc/admin/configuration/configuring_big_file_upload.html
-#srv/web/owncloud/core/doc/admin/configuration/configuring_documents.html
-#srv/web/owncloud/core/doc/admin/configuration/configuring_search.html
-#srv/web/owncloud/core/doc/admin/configuration/custom_mount_config.html
-#srv/web/owncloud/core/doc/admin/configuration/custom_mount_config_gui.html
-#srv/web/owncloud/core/doc/admin/configuration/custom_user_backend.html
-#srv/web/owncloud/core/doc/admin/configuration/index.html
-#srv/web/owncloud/core/doc/admin/configuration/server_to_server_managing.html
-#srv/web/owncloud/core/doc/admin/configuration/xsendfile.html
-#srv/web/owncloud/core/doc/admin/contents.html
-#srv/web/owncloud/core/doc/admin/genindex.html
#srv/web/owncloud/core/doc/admin/index.html
-#srv/web/owncloud/core/doc/admin/installation
-#srv/web/owncloud/core/doc/admin/installation/configuration_hiawatha.html
-#srv/web/owncloud/core/doc/admin/installation/configuration_lighttpd.html
-#srv/web/owncloud/core/doc/admin/installation/configuration_nginx.html
-#srv/web/owncloud/core/doc/admin/installation/configuration_yaws.html
-#srv/web/owncloud/core/doc/admin/installation/index.html
-#srv/web/owncloud/core/doc/admin/installation/installation_appliance.html
-#srv/web/owncloud/core/doc/admin/installation/installation_linux.html
-#srv/web/owncloud/core/doc/admin/installation/installation_macos.html
-#srv/web/owncloud/core/doc/admin/installation/installation_others.html
-#srv/web/owncloud/core/doc/admin/installation/installation_source.html
-#srv/web/owncloud/core/doc/admin/installation/installation_ucs.html
-#srv/web/owncloud/core/doc/admin/installation/installation_windows.html
-#srv/web/owncloud/core/doc/admin/installation/installation_wizard.html
-#srv/web/owncloud/core/doc/admin/issues
-#srv/web/owncloud/core/doc/admin/issues/index.html
-#srv/web/owncloud/core/doc/admin/maintenance
-#srv/web/owncloud/core/doc/admin/maintenance/backup.html
-#srv/web/owncloud/core/doc/admin/maintenance/convert_db.html
-#srv/web/owncloud/core/doc/admin/maintenance/enable_maintenance.html
-#srv/web/owncloud/core/doc/admin/maintenance/index.html
-#srv/web/owncloud/core/doc/admin/maintenance/migrating.html
-#srv/web/owncloud/core/doc/admin/maintenance/restore.html
-#srv/web/owncloud/core/doc/admin/maintenance/update.html
-#srv/web/owncloud/core/doc/admin/maintenance/upgrade.html
-#srv/web/owncloud/core/doc/admin/objects.inv
-#srv/web/owncloud/core/doc/admin/search.html
-#srv/web/owncloud/core/doc/admin/searchindex.js
-#srv/web/owncloud/core/doc/admin/whats_new_admin.html
+#srv/web/owncloud/core/doc/admin/release
+#srv/web/owncloud/core/doc/admin/release/.buildinfo
+#srv/web/owncloud/core/doc/admin/release/_images
+#srv/web/owncloud/core/doc/admin/release/_images/antivirus-app.png
+#srv/web/owncloud/core/doc/admin/release/_images/antivirus-config.png
+#srv/web/owncloud/core/doc/admin/release/_images/antivirus-daemon-socket.png
+#srv/web/owncloud/core/doc/admin/release/_images/antivirus-executable.png
+#srv/web/owncloud/core/doc/admin/release/_images/antivirus-logging.png
+#srv/web/owncloud/core/doc/admin/release/_images/create_public_share.png
+#srv/web/owncloud/core/doc/admin/release/_images/documents_app_enable.png
+#srv/web/owncloud/core/doc/admin/release/_images/documents_apply_test.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption1.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption2.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption3.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption4.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption5.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption6.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption7.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption8.png
+#srv/web/owncloud/core/doc/admin/release/_images/encryption9.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-sites-1.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-sites-2.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-sites-3.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-sites-4.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-sites-5.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-amazons3.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-app-add.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-app-enable.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-app-local.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-app-usermounts.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-dropbox-allowshare.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-dropbox-app.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-dropbox-configapp.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-dropbox-oc.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-dropbox.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-ftp.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive-0auth.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive-9.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive-sdk.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive1.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive2.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive5.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive7.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-google-drive8.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-smb.png
+#srv/web/owncloud/core/doc/admin/release/_images/external-storage-webdav.png
+#srv/web/owncloud/core/doc/admin/release/_images/install-wizard-advanced.png
+#srv/web/owncloud/core/doc/admin/release/_images/install-wizard.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-advanced-1-connection.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-advanced-2-directory.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-advanced-3-attributes.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-expert.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-fetched-avatar.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-settings-invalid-oc45.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-settings-valid-oc45.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-wizard-1-server.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-wizard-2-user.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-wizard-3-login.png
+#srv/web/owncloud/core/doc/admin/release/_images/ldap-wizard-4-group.png
+#srv/web/owncloud/core/doc/admin/release/_images/lucene-search-enable.png
+#srv/web/owncloud/core/doc/admin/release/_images/lucene-search-user.png
+#srv/web/owncloud/core/doc/admin/release/_images/oc-video-1.png
+#srv/web/owncloud/core/doc/admin/release/_images/oc-video-2.png
+#srv/web/owncloud/core/doc/admin/release/_images/oc_admin_app_page.png
+#srv/web/owncloud/core/doc/admin/release/_images/preview_images.png
+#srv/web/owncloud/core/doc/admin/release/_images/remote_shares.png
+#srv/web/owncloud/core/doc/admin/release/_images/sharing-admin.png
+#srv/web/owncloud/core/doc/admin/release/_images/sharing-user-local.png
+#srv/web/owncloud/core/doc/admin/release/_images/sharing-user.png
+#srv/web/owncloud/core/doc/admin/release/_images/smtp-config-php-sendmail.png
+#srv/web/owncloud/core/doc/admin/release/_images/smtp-config-smtp.png
+#srv/web/owncloud/core/doc/admin/release/_images/smtp-config-wizard.png
+#srv/web/owncloud/core/doc/admin/release/_images/ucs-app-center-install.png
+#srv/web/owncloud/core/doc/admin/release/_images/ucs-app-center-module.png
+#srv/web/owncloud/core/doc/admin/release/_images/ucsint.png
+#srv/web/owncloud/core/doc/admin/release/_images/ucsint1.png
+#srv/web/owncloud/core/doc/admin/release/_images/ucsint2.png
+#srv/web/owncloud/core/doc/admin/release/_images/untrusted-domain.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-1.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-2.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-3.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-4.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-5.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-6.png
+#srv/web/owncloud/core/doc/admin/release/_images/updater-7.png
+#srv/web/owncloud/core/doc/admin/release/_images/users-config.png
+#srv/web/owncloud/core/doc/admin/release/_images/users-create.png
+#srv/web/owncloud/core/doc/admin/release/_images/users-groups.png
+#srv/web/owncloud/core/doc/admin/release/_images/win7features.jpg
+#srv/web/owncloud/core/doc/admin/release/_images/winserverroles.jpg
+#srv/web/owncloud/core/doc/admin/release/_sources
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/activity_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/antivirus_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/automatic_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/background_jobs_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/big_file_upload_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/collaborative_documents_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/config_sample_php_parameters.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/custom_client_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/database_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/email_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/encryption_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/external_sites.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/external_storage_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/external_storage_configuration_gui.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/file_sharing_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/files_locking_enabling.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/harden_server.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/index.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/js_css_asset_management_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/knowledgebase_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/language_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/logging_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/occ_command.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/performance_tips.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/previews_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/reset_admin_password.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/reverse_proxy_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/search_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/server_to_server_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/serving_static_files_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/thirdparty_php_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/user_auth_ftp_smb_imap.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/user_auth_ldap.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/user_auth_ldap_cleanup.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/configuration/user_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/contents.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/index.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/appliance_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/apps_management_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/hiawatha_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/index.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/installation_wizard.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/lighttpd_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/linux_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/macos_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/nginx_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/others_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/selinux_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/source_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/ucs_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/windows_installation.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/installation/yaws_configuration.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/issues
+#srv/web/owncloud/core/doc/admin/release/_sources/issues/index.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/backup.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/convert_db.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/enable_maintenance.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/index.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/migrating.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/restore.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/update.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/maintenance/upgrade.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/release_notes.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/videos.txt
+#srv/web/owncloud/core/doc/admin/release/_sources/whats_new_admin.txt
+#srv/web/owncloud/core/doc/admin/release/_static
+#srv/web/owncloud/core/doc/admin/release/_static/ajax-loader.gif
+#srv/web/owncloud/core/doc/admin/release/_static/basic.css
+#srv/web/owncloud/core/doc/admin/release/_static/bootstrap-responsive.css
+#srv/web/owncloud/core/doc/admin/release/_static/bootstrap-sphinx.css
+#srv/web/owncloud/core/doc/admin/release/_static/bootstrap.css
+#srv/web/owncloud/core/doc/admin/release/_static/bootstrap.js
+#srv/web/owncloud/core/doc/admin/release/_static/comment-bright.png
+#srv/web/owncloud/core/doc/admin/release/_static/comment-close.png
+#srv/web/owncloud/core/doc/admin/release/_static/comment.png
+#srv/web/owncloud/core/doc/admin/release/_static/doctools.js
+#srv/web/owncloud/core/doc/admin/release/_static/down-pressed.png
+#srv/web/owncloud/core/doc/admin/release/_static/down.png
+#srv/web/owncloud/core/doc/admin/release/_static/file.png
+#srv/web/owncloud/core/doc/admin/release/_static/img
+#srv/web/owncloud/core/doc/admin/release/_static/img/glyphicons-halflings-white.png
+#srv/web/owncloud/core/doc/admin/release/_static/img/glyphicons-halflings.png
+#srv/web/owncloud/core/doc/admin/release/_static/img/note.svg
+#srv/web/owncloud/core/doc/admin/release/_static/img/todo.svg
+#srv/web/owncloud/core/doc/admin/release/_static/jquery.js
+#srv/web/owncloud/core/doc/admin/release/_static/logo-blue.pdf
+#srv/web/owncloud/core/doc/admin/release/_static/logo-blue.png
+#srv/web/owncloud/core/doc/admin/release/_static/minus.png
+#srv/web/owncloud/core/doc/admin/release/_static/plus.png
+#srv/web/owncloud/core/doc/admin/release/_static/pygments.css
+#srv/web/owncloud/core/doc/admin/release/_static/searchtools.js
+#srv/web/owncloud/core/doc/admin/release/_static/style.css
+#srv/web/owncloud/core/doc/admin/release/_static/underscore.js
+#srv/web/owncloud/core/doc/admin/release/_static/up-pressed.png
+#srv/web/owncloud/core/doc/admin/release/_static/up.png
+#srv/web/owncloud/core/doc/admin/release/_static/websupport.js
+#srv/web/owncloud/core/doc/admin/release/configuration
+#srv/web/owncloud/core/doc/admin/release/configuration/activity_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/antivirus_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/automatic_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/background_jobs_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/big_file_upload_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/collaborative_documents_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/config_sample_php_parameters.html
+#srv/web/owncloud/core/doc/admin/release/configuration/custom_client_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/database_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/email_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/encryption_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/external_sites.html
+#srv/web/owncloud/core/doc/admin/release/configuration/external_storage_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/external_storage_configuration_gui.html
+#srv/web/owncloud/core/doc/admin/release/configuration/file_sharing_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/files_locking_enabling.html
+#srv/web/owncloud/core/doc/admin/release/configuration/harden_server.html
+#srv/web/owncloud/core/doc/admin/release/configuration/index.html
+#srv/web/owncloud/core/doc/admin/release/configuration/js_css_asset_management_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/knowledgebase_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/language_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/logging_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/occ_command.html
+#srv/web/owncloud/core/doc/admin/release/configuration/performance_tips.html
+#srv/web/owncloud/core/doc/admin/release/configuration/previews_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/reset_admin_password.html
+#srv/web/owncloud/core/doc/admin/release/configuration/reverse_proxy_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/search_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/server_to_server_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/serving_static_files_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/thirdparty_php_configuration.html
+#srv/web/owncloud/core/doc/admin/release/configuration/user_auth_ftp_smb_imap.html
+#srv/web/owncloud/core/doc/admin/release/configuration/user_auth_ldap.html
+#srv/web/owncloud/core/doc/admin/release/configuration/user_auth_ldap_cleanup.html
+#srv/web/owncloud/core/doc/admin/release/configuration/user_configuration.html
+#srv/web/owncloud/core/doc/admin/release/contents.html
+#srv/web/owncloud/core/doc/admin/release/genindex.html
+#srv/web/owncloud/core/doc/admin/release/index.html
+#srv/web/owncloud/core/doc/admin/release/installation
+#srv/web/owncloud/core/doc/admin/release/installation/appliance_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/apps_management_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/hiawatha_configuration.html
+#srv/web/owncloud/core/doc/admin/release/installation/index.html
+#srv/web/owncloud/core/doc/admin/release/installation/installation_wizard.html
+#srv/web/owncloud/core/doc/admin/release/installation/lighttpd_configuration.html
+#srv/web/owncloud/core/doc/admin/release/installation/linux_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/macos_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/nginx_configuration.html
+#srv/web/owncloud/core/doc/admin/release/installation/others_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/selinux_configuration.html
+#srv/web/owncloud/core/doc/admin/release/installation/source_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/ucs_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/windows_installation.html
+#srv/web/owncloud/core/doc/admin/release/installation/yaws_configuration.html
+#srv/web/owncloud/core/doc/admin/release/issues
+#srv/web/owncloud/core/doc/admin/release/issues/index.html
+#srv/web/owncloud/core/doc/admin/release/maintenance
+#srv/web/owncloud/core/doc/admin/release/maintenance/backup.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/convert_db.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/enable_maintenance.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/index.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/migrating.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/restore.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/update.html
+#srv/web/owncloud/core/doc/admin/release/maintenance/upgrade.html
+#srv/web/owncloud/core/doc/admin/release/objects.inv
+#srv/web/owncloud/core/doc/admin/release/release_notes.html
+#srv/web/owncloud/core/doc/admin/release/search.html
+#srv/web/owncloud/core/doc/admin/release/searchindex.js
+#srv/web/owncloud/core/doc/admin/release/videos.html
+#srv/web/owncloud/core/doc/admin/release/whats_new_admin.html
#srv/web/owncloud/core/doc/user
#srv/web/owncloud/core/doc/user/_images
#srv/web/owncloud/core/doc/user/_images/bookmark_addurl.png
#srv/web/owncloud/core/doc/user/_images/bookmark_setting.png
+#srv/web/owncloud/core/doc/user/_images/calendar_caldav_icon.png
+#srv/web/owncloud/core/doc/user/_images/calendar_caldav_ios.png
+#srv/web/owncloud/core/doc/user/_images/calendar_caldav_link.png
#srv/web/owncloud/core/doc/user/_images/calendar_create_event.png
#srv/web/owncloud/core/doc/user/_images/calendar_create_event_repeat.png
#srv/web/owncloud/core/doc/user/_images/calendar_create_event_share.png
#srv/web/owncloud/core/doc/user/_images/contact_vcfpick.jpg
#srv/web/owncloud/core/doc/user/_images/contacts_empty.png
#srv/web/owncloud/core/doc/user/_images/contacts_settings.png
-#srv/web/owncloud/core/doc/user/_images/deleted_files.png
#srv/web/owncloud/core/doc/user/_images/documents_personal_settings.png
-#srv/web/owncloud/core/doc/user/_images/dolphin_webdav.png
#srv/web/owncloud/core/doc/user/_images/download.png
#srv/web/owncloud/core/doc/user/_images/email_address_personal_settings.png
#srv/web/owncloud/core/doc/user/_images/encryption1.png
#srv/web/owncloud/core/doc/user/_images/explorer_webdav.png
#srv/web/owncloud/core/doc/user/_images/files_versioning.png
#srv/web/owncloud/core/doc/user/_images/full_name.png
-#srv/web/owncloud/core/doc/user/_images/gnome3_nautilus_webdav.png
+#srv/web/owncloud/core/doc/user/_images/gear.png
#srv/web/owncloud/core/doc/user/_images/kdes.png
#srv/web/owncloud/core/doc/user/_images/kdes1.png
#srv/web/owncloud/core/doc/user/_images/kdes2.png
#srv/web/owncloud/core/doc/user/_images/users-share-local.png
#srv/web/owncloud/core/doc/user/_images/users-share-local2.png
#srv/web/owncloud/core/doc/user/_images/users-share-public.png
+#srv/web/owncloud/core/doc/user/_images/users-share-public2.jpg
+#srv/web/owncloud/core/doc/user/_images/users-share-public3.jpg
+#srv/web/owncloud/core/doc/user/_images/webdav_dolphin.png
+#srv/web/owncloud/core/doc/user/_images/webdav_gnome3_nautilus.png
#srv/web/owncloud/core/doc/user/_sources
#srv/web/owncloud/core/doc/user/_sources/bookmarks.txt
#srv/web/owncloud/core/doc/user/_sources/contents.txt
#srv/web/owncloud/core/doc/user/_sources/files/sync.txt
#srv/web/owncloud/core/doc/user/_sources/files/versioncontrol.txt
#srv/web/owncloud/core/doc/user/_sources/index.txt
-#srv/web/owncloud/core/doc/user/_sources/installing_apps.txt
#srv/web/owncloud/core/doc/user/_sources/pim
#srv/web/owncloud/core/doc/user/_sources/pim/calendar.txt
#srv/web/owncloud/core/doc/user/_sources/pim/contacts.txt
#srv/web/owncloud/core/doc/user/files/versioncontrol.html
#srv/web/owncloud/core/doc/user/genindex.html
#srv/web/owncloud/core/doc/user/index.html
-#srv/web/owncloud/core/doc/user/installing_apps.html
#srv/web/owncloud/core/doc/user/objects.inv
#srv/web/owncloud/core/doc/user/pim
#srv/web/owncloud/core/doc/user/pim/calendar.html
#srv/web/owncloud/core/js/placeholders.js
#srv/web/owncloud/core/js/select2
#srv/web/owncloud/core/js/select2/LICENSE
-#srv/web/owncloud/core/js/select2/README.md
#srv/web/owncloud/core/js/select2/bower.json
#srv/web/owncloud/core/js/select2/component.json
#srv/web/owncloud/core/js/select2/composer.json
#srv/web/owncloud/core/templates/untrustedDomain.php
#srv/web/owncloud/core/templates/update.admin.php
#srv/web/owncloud/core/templates/update.user.php
+#srv/web/owncloud/core/user
+#srv/web/owncloud/core/user/controller.php
#srv/web/owncloud/cron.php
#srv/web/owncloud/data
#srv/web/owncloud/db_structure.xml
#srv/web/owncloud/lib/l10n/tzm.php
#srv/web/owncloud/lib/l10n/ug.php
#srv/web/owncloud/lib/l10n/uk.php
-#srv/web/owncloud/lib/l10n/ur.php
#srv/web/owncloud/lib/l10n/ur_PK.php
#srv/web/owncloud/lib/l10n/uz.php
#srv/web/owncloud/lib/l10n/vi.php
#srv/web/owncloud/lib/private/preview
#srv/web/owncloud/lib/private/preview.php
#srv/web/owncloud/lib/private/preview/image.php
-#srv/web/owncloud/lib/private/preview/movies.php
+#srv/web/owncloud/lib/private/preview/movie.php
#srv/web/owncloud/lib/private/preview/mp3.php
#srv/web/owncloud/lib/private/preview/office-cl.php
#srv/web/owncloud/lib/private/preview/office.php
#srv/web/owncloud/lib/private/search/result/file.php
#srv/web/owncloud/lib/private/search/result/folder.php
#srv/web/owncloud/lib/private/search/result/image.php
+#srv/web/owncloud/lib/private/security
+#srv/web/owncloud/lib/private/security/crypto.php
+#srv/web/owncloud/lib/private/security/stringutils.php
#srv/web/owncloud/lib/private/server.php
+#srv/web/owncloud/lib/private/servernotavailableexception.php
#srv/web/owncloud/lib/private/serviceunavailableexception.php
#srv/web/owncloud/lib/private/session
#srv/web/owncloud/lib/private/session/internal.php
#srv/web/owncloud/lib/private/template/resourcelocator.php
#srv/web/owncloud/lib/private/template/templatefilelocator.php
#srv/web/owncloud/lib/private/templatelayout.php
+#srv/web/owncloud/lib/private/tempmanager.php
#srv/web/owncloud/lib/private/updater.php
#srv/web/owncloud/lib/private/urlgenerator.php
#srv/web/owncloud/lib/private/user
#srv/web/owncloud/lib/private/user/http.php
#srv/web/owncloud/lib/private/user/interface.php
#srv/web/owncloud/lib/private/user/manager.php
+#srv/web/owncloud/lib/private/user/nouserexception.php
#srv/web/owncloud/lib/private/user/session.php
#srv/web/owncloud/lib/private/user/user.php
#srv/web/owncloud/lib/private/util.php
#srv/web/owncloud/lib/public/isession.php
#srv/web/owncloud/lib/public/itagmanager.php
#srv/web/owncloud/lib/public/itags.php
+#srv/web/owncloud/lib/public/itempmanager.php
#srv/web/owncloud/lib/public/iurlgenerator.php
#srv/web/owncloud/lib/public/iuser.php
#srv/web/owncloud/lib/public/iusermanager.php
#srv/web/owncloud/lib/public/search
#srv/web/owncloud/lib/public/search/provider.php
#srv/web/owncloud/lib/public/search/result.php
+#srv/web/owncloud/lib/public/security
+#srv/web/owncloud/lib/public/security/icrypto.php
+#srv/web/owncloud/lib/public/security/stringutils.php
#srv/web/owncloud/lib/public/share.php
#srv/web/owncloud/lib/public/template.php
#srv/web/owncloud/lib/public/user.php
#srv/web/owncloud/lib/repair/collation.php
#srv/web/owncloud/lib/repair/innodb.php
#srv/web/owncloud/lib/repair/preview.php
+#srv/web/owncloud/lib/repair/repairconfig.php
#srv/web/owncloud/lib/repair/repairmimetypes.php
#srv/web/owncloud/lib/repair/searchlucenetables.php
#srv/web/owncloud/occ
}
print CLIENTCONF "verb 3\r\n";
print CLIENTCONF "ns-cert-type server\r\n";
- print CLIENTCONF "tls-remote $vpnsettings{ROOTCERT_HOSTNAME}\r\n";
+ print CLIENTCONF "verify-x509-name $vpnsettings{ROOTCERT_HOSTNAME} name\r\n";
if ($vpnsettings{MSSFIX} eq 'on') {
print CLIENTCONF "mssfix\r\n";
}
$qossettings{'ENABLED'} = 'on';
&General::writehash("${General::swroot}/qos/settings", \%qossettings);
system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
- system("/usr/bin/touch /var/ipfire/qos/enable");
system("/usr/local/bin/qosctrl start >/dev/null 2>&1");
system("logger -t ipfire 'QoS started'");
}
elsif ($qossettings{'ACTION'} eq $Lang::tr{'stop'})
{
- system("/usr/local/bin/qosctrl stop >/dev/null 2>&1");
- unlink "/var/ipfire/qos/bin/qos.sh";
- unlink "/var/ipfire/qos/enable";
- system("logger -t ipfire 'QoS stopped'");
$qossettings{'ENABLED'} = 'off';
&General::writehash("${General::swroot}/qos/settings", \%qossettings);
+ system("/usr/local/bin/qosctrl stop >/dev/null 2>&1");
+ system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
+ system("logger -t ipfire 'QoS stopped'");
}
elsif ($qossettings{'ACTION'} eq $Lang::tr{'restart'})
{
$qossettings{'ENABLED'} = 'on';
&General::writehash("${General::swroot}/qos/settings", \%qossettings);
system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
- system("/usr/bin/touch /var/ipfire/qos/enable");
system("/usr/local/bin/qosctrl start >/dev/null 2>&1");
system("logger -t ipfire 'QoS started'");
} else {
# #
###############################################################################
+use strict;
+
+#usable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
use CGI;
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+
my $swroot = "/var/ipfire";
my $apdir = "$swroot/proxy/advanced";
my $group_def_file = "$apdir/cre/classrooms";
my $banner = "A D V A N C E D P R O X Y - W E B A C C E S S M A N A G E R";
my %cgiparams;
my %proxysettings;
+my %temp;
my %acl=();
my @group_defs=();
foreach (@groups)
{
- if ($cgiparams{$_} eq $tr{'advproxy mode deny'}) { $acl{$_}='on'; }
- if ($cgiparams{$_} eq $tr{'advproxy mode allow'}) { $acl{$_}='off'; }
+ if ($cgiparams{$_} eq $Lang::tr{'advproxy mode deny'}) { $acl{$_}='on'; }
+ if ($cgiparams{$_} eq $Lang::tr{'advproxy mode allow'}) { $acl{$_}='off'; }
}
&read_all_groups;
{
print <<END
<td align='center'>
- <font face='verdana,arial,helvetica' color='#000000' size='2'>$tr{'advproxy supervisor password'}:</font>
+ <font face='verdana,arial,helvetica' color='#000000' size='2'>$Lang::tr{'advproxy supervisor password'}:</font>
</td>
<td align='center'><input type='password' name='PASSWORD' size='15'></td>
END
if ((defined($acl{$_})) && ($acl{$_} eq 'on'))
{
print "</td><td width='120' align='center'>";
- print "<input type='submit' name='$_' value=' $tr{'advproxy mode allow'} '>";
+ print "<input type='submit' name='$_' value=' $Lang::tr{'advproxy mode allow'} '>";
print "</td><td width='16' bgcolor='#D00000'> </td>\n";
} else {
print "</td><td width='120' align='center'>";
- print "<input type='submit' name='$_' value=' $tr{'advproxy mode deny'} '>";
+ print "<input type='submit' name='$_' value=' $Lang::tr{'advproxy mode deny'} '>";
print "</td><td width='16' bgcolor='#00A000'> </td>\n";
}
}
} else {
print " <tr>\n";
print " <td align='center'>\n";
- print " <font face='verdana,arial,helvetica' color='#000000' size='2'>$tr{'advproxy no cre groups'}</font>\n";
+ print " <font face='verdana,arial,helvetica' color='#000000' size='2'>$Lang::tr{'advproxy no cre groups'}</font>\n";
print " </td>\n";
print " </tr>\n";
}
} else {
print " <tr>\n";
print " <td align='center'>\n";
- print " <font face='verdana,arial,helvetica' color='#000000' size='2'>$tr{'advproxy cre disabled'}</font>\n";
+ print " <font face='verdana,arial,helvetica' color='#000000' size='2'>$Lang::tr{'advproxy cre disabled'}</font>\n";
print " </td>\n";
print " </tr>\n";
}
DIR_INFO = $(LFS_BASEDIR)/log
DIR_TMP = /tmp
+# Add the compiler location and version and specs to the ccache hash
+CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' -f1)
+
###############################################################################
# Common Macro Definitions
###############################################################################
include Config
-VER = 9.10.3
+VER = 9.10.3-P2
THISAPP = bind-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d8cbf04a62a139a841d4bf878087a555
+$(DL_FILE)_MD5 = 672dd3c2796b12ac8440f55bcaecfa82
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2015 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2016 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 2.22
+VER = 2.24
THISAPP = binutils-$(VER)
DL_FILE = $(THISAPP).tar.bz2
EXTRA_CONFIG = \
--prefix=/usr \
--enable-shared \
- --disable-nls
+ --disable-nls \
+ --disable-werror
EXTRA_MAKE = tooldir=/usr
EXTRA_INSTALL = tooldir=/usr
else
ifeq "$(PASS)" "1"
CFLAGS := $(patsubst -march=%,,$(CFLAGS))
CFLAGS := $(patsubst -mfloat-abi=%,,$(CFLAGS))
+ CFLAGS := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CFLAGS))
TARGET = $(DIR_INFO)/$(THISAPP)-tools1
EXTRA_CONFIG = \
--target=$(CROSSTARGET) \
--prefix=/tools \
+ --with-sysroot=$(ROOT) \
+ --with-lib-path=/tools/lib \
--disable-nls \
--disable-werror
EXTRA_MAKE =
--build=$(BUILDTARGET) \
--prefix=/tools \
--with-lib-path=/tools/lib \
- --disable-nls
+ --disable-nls \
+ --disable-werror
EXTRA_MAKE =
EXTRA_INSTALL =
endif
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ee0f10756c84979622b992a4a61ea3f5
+$(DL_FILE)_MD5 = e0f71a7b2ddab0f8612336ac81d9636b
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) $(DIR_SRC)/binutils-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/binutils-2.22-pt-pax-flags-20111121.patch
-
- # texinfo 5 syntax-fix.
- cd $(DIR_APP) && sed -i -e "s/@colophon/@@colophon/" \
- -e "s/doc@cygnus/doc@@cygnus/" bfd/doc/bfd.texinfo
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/binutils-2.24-pt-pax-flags-20131231.patch
@mkdir $(DIR_SRC)/binutils-build
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2010 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2016 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
ifeq "$(PASS)" "1"
CFLAGS := $(patsubst -march=%,,$(CFLAGS))
CFLAGS := $(patsubst -mfloat-abi=%,,$(CFLAGS))
+ CFLAGS := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CFLAGS))
endif
# Set max cache size to 5GB
ifeq "$(PASS)" "1"
SPECS=$$(dirname $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name))/specs; \
/tools/bin/$(CROSSTARGET)-gcc -dumpspecs | sed \
- -e 's@/lib\(64\)\?/ld@/tools&@g' \
-e "/^\*cpp:$$/{n;s,$$, -isystem /tools/include,}" > $$SPECS
endif
--- /dev/null
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2015 IPFire Team <info@ipfire.org> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.0.498gac688af
+
+THISAPP = dnsdist-$(VER)
+DL_FILE = $(THISAPP).tar.bz2
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+SUP_ARCH = x86_64 i586
+PROG = dnsdist
+PAK_VER = 1
+
+DEPS = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = b1bc53b3a35aef7006b74086919847bf
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
+
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/022-Tidy_up_DNSSEC_non-existence_code_Check_zone_status_is_NSEC_proof_bad.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/023-Fix_brace_botch_in_dnssec_validate_ds.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/024-Do_a_better_job_of_determining_which_DNSSEC_sig_algos_are_supported.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/025-Major_tidy_up_of_EDNS0_handling_and_computation_use_of_udp.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/026-More_tweaks_in_handling_unknown_DNSSEC_algorithms.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/027-Nasty_rare_and_obscure_off-by-one_in_DNSSEC_hostname_cmp.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/028-Minor_tweak_to_previous_commit.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/029-NSEC3_check_RFC5155_para_8_2.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch
cd $(DIR_APP) && sed -i src/config.h \
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2016 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
EXTRA_INSTALL =
else
ifeq "$(PASS)" "1"
+ CFLAGS := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CFLAGS))
+ CXXFLAGS := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CXXFLAGS))
TARGET = $(DIR_INFO)/$(THISAPP)-tools1
EXTRA_CONFIG = \
--target=$(CROSSTARGET) \
--prefix=/tools \
+ --with-sysroot=$(ROOT) \
--disable-nls \
--disable-shared \
--disable-decimal-float \
--disable-threads \
+ --disable-libatomic \
--disable-libmudflap \
--disable-libssp \
--disable-libgomp \
--disable-libquadmath \
+ --disable-libstdc++-v3 \
+ --disable-libvtv \
+ --disable-libcilkrts \
+ --disable-libitm \
+ --disable-libsanitizer \
--with-newlib \
--without-headers \
--without-ppl \
--without-cloog \
- --enable-languages=c
+ --enable-languages=c,c++
EXTRA_MAKE =
EXTRA_INSTALL =
else
+ifeq "$(PASS)" "2"
TARGET = $(DIR_INFO)/$(THISAPP)-tools2
EXTRA_ENV = \
CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+ CXX="$(CROSSTARGET)-g++" \
AR="$(CROSSTARGET)-ar" \
RANLIB="$(CROSSTARGET)-ranlib"
EXTRA_CONFIG = \
--target=$(BUILDTARGET) \
--prefix=/tools \
--with-local-prefix=/tools \
+ --with-native-system-header-dir=/tools/include \
--enable-clocale=gnu \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-languages=c,c++ \
--disable-libstdcxx-pch \
- --disable-bootstrap
+ --enable-bootstrap
+ EXTRA_MAKE =
+ EXTRA_INSTALL =
+else
+ # PASS=L # libstdc++-v3
+ TARGET = $(DIR_INFO)/$(THISAPP)-libstdc++
+ EXTRA_ENV = \
+ CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+ AR="$(CROSSTARGET)-ar" \
+ RANLIB="$(CROSSTARGET)-ranlib"
+ EXTRA_CONFIG = \
+ --host=$(CROSSTARGET) \
+ --prefix=/tools \
+ --with-sysroot=$(ROOT) \
+ --disable-shared \
+ --disable-nls \
+ --disable-libstdcxx-threads \
+ --disable-libstdcxx-pch \
+ --with-gxx-include-dir=/tools/$(CROSSTARGET)/include/c++/$(VER)
EXTRA_MAKE =
EXTRA_INSTALL =
+endif
endif
# Disable stack protection in toolchain.
# GCC does not detect stack protection correctly, which causes problems
# for the build of libresolv_pic.a.
cd $(DIR_APP) && sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
+
+ for file in $$(find $(DIR_APP)/gcc/config -name linux64.h -o -name linux.h \
+ -o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h); do \
+ echo "Processing $${file}..."; \
+ sed -i $${file} \
+ -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
+ -e 's@/usr@/tools@g'; \
+ echo '#undef STANDARD_STARTFILE_PREFIX_1' >> $${file}; \
+ echo '#undef STANDARD_STARTFILE_PREFIX_2' >> $${file}; \
+ echo '#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"' >> $${file}; \
+ echo '#define STANDARD_STARTFILE_PREFIX_2 ""' >> $${file}; \
+ done
endif
ifeq "$(PASS)" "2"
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/gcc-4.4.3-startfiles_fix-1.patch
-
+ cd $(DIR_APP) && cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
+ `dirname $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name)`/include-fixed/limits.h
for file in $$(find $(DIR_APP)/gcc/config -name linux64.h -o -name linux.h \
-o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h); do \
echo "Processing $${file}..."; \
sed -i $${file} \
-e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
-e 's@/usr@/tools@g'; \
- echo '#undef STANDARD_INCLUDE_DIR' >> $${file}; \
- echo '#define STANDARD_INCLUDE_DIR 0' >> $${file}; \
- echo '#define STANDARD_STARTFILE_PREFIX_1 ""' >> $${file}; \
+ echo '#undef STANDARD_STARTFILE_PREFIX_1' >> $${file}; \
+ echo '#undef STANDARD_STARTFILE_PREFIX_2' >> $${file}; \
+ echo '#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"' >> $${file}; \
echo '#define STANDARD_STARTFILE_PREFIX_2 ""' >> $${file}; \
done
endif
-e 's@\./fixinc\.sh@-c true@' \
-e 's/^T_CFLAGS =$$/& -fomit-frame-pointer/'
+ifeq "$(PASS)" "L"
+ # libstdc++ pass
+ cd $(DIR_SRC)/gcc-build && \
+ $(EXTRA_ENV) \
+ $(DIR_APP)/libstdc++-v3/configure \
+ $(EXTRA_CONFIG)
+ cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
+ cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
+else
# The actual build.
cd $(DIR_SRC)/gcc-build && \
$(EXTRA_ENV) \
$(EXTRA_CONFIG)
cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
+endif
ifeq "$(ROOT)" ""
ln -svf ../usr/bin/cpp /lib
ln -svf gcc /usr/bin/cc
+ # remove gdb python files from libdir
+ rm -rf /usr/lib/*-gdb.py
else
ifeq "$(PASS)" "1"
ln -svf libgcc.a $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/')
else
ln -svf gcc /tools/bin/cc
+ # remove gdb python files from libdir
+ rm -rf /tools/lib/*-gdb.py
endif
endif
@rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build
--with-headers=/tools/include \
libc_cv_forced_unwind=yes \
libc_cv_ctors_header=yes \
- libc_cv_c_cleanup=yes
+ libc_cv_c_cleanup=yes \
+ CC=/tools/bin/$(CROSSTARGET)-gcc
EXTRA_MAKE =
EXTRA_INSTALL =
endif
# Disable hardening.
paxctl -mpes /usr/sbin/grub-bios-setup /usr/sbin/grub-probe
+ paxctl -mpexs /usr/bin/grub-script-check
# We don't need to install unifont just to generate a grub2 compatible
# font archive for the graphical boot menu. The following command only
cd $(DIR_APP) && xz -c -d $(DIR_DL)/$(GRS_PATCHES) | patch -Np1
cd $(DIR_APP) && rm localversion-grsec
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.7-disable-compat_vdso.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/kernel-grsec-compile-fixes.patch
endif
# DVB Patches
# Apply Arm7-multiarch kernel patches.
cd $(DIR_APP) && xzcat $(DIR_DL)/arm7-multi-patches-$(A7M_PATCHES).patch.xz | patch -Np1
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/arm-multi-grsec-compile-fixes.patch
# Install switch api userspace header
cd $(DIR_APP) && install -v -m644 include/uapi/linux/switch.h /usr/include/linux/
--- /dev/null
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 5.3.0
+
+THISAPP = lua-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = a1b0a7e92d0c85bbff7a8d27bf29f8af
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.3.0-autotoolize.patch
+ cd $(DIR_APP) && autoreconf -vfi
+ cd $(DIR_APP) && ./configure --prefix=/usr
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2016 Michael Tremer & Christian Schmidt #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 2.5.0
+VER = 2.5.1
THISAPP = nano-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = nano
-PAK_VER = 7
+PAK_VER = 8
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 751ed96457017572bab15be18cb873ba
+$(DL_FILE)_MD5 = f25c7da9813ae5f1df7e5dd1072de4ce
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2016 Michael Tremer & Christian Schmidt #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 4.2.8p4
+VER = 4.2.8p5
THISAPP = ntp-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6af96862b09324a8ef965ca76b759c8b
+$(DL_FILE)_MD5 = 9f02b2a0acc1617ce2716d529a58d2d8
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ntp-fix-sycing-with-local-clock.patch
cd $(DIR_APP) && \
./configure \
--prefix=/usr \
include Config
-VER = 7.1p1
+VER = 7.1p2
THISAPP = openssh-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 8709736bc8a8c253bc4eeb4829888ca5
+$(DL_FILE)_MD5 = 4d8547670e2a220d5ef805ad9e47acf2
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2015 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 2.3.6
+VER = 2.3.7
THISAPP = openvpn-$(VER)
DL_FILE = $(THISAPP).tar.xz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = bcc30c296566df14feebdd8aa0e408ca
+$(DL_FILE)_MD5 = 5b819f7cd0b875f55f20a947224967aa
install : $(TARGET)
include Config
-VER = 7.0.3
+VER = 7.0.11
THISAPP = owncloud-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = owncloud
-PAK_VER = 4
+PAK_VER = 6
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d5d2ad068046e6ddb322cf001a9bb3d5
+$(DL_FILE)_MD5 = 1f4839e43bc910a9acd8700fb9923b3a
install : $(TARGET)
THISAPP = vdr-plugin-eepg-$(VER)
DL_FILE = vdr-plugin-eepg-$(GIT_VER).tar.bz2
-DL_FROM = http://projects.vdr-developer.org/git/vdr-plugin-eepg.git/snapshot
+# SOURCE http://projects.vdr-developer.org/git/vdr-plugin-eepg.git/snapshot
+
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = vdr_eepg
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
-# Copyright (C) 2007-2015 IPFire Team <info@ipfire.org>. #
+# Copyright (C) 2007-2016 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
GIT_TAG=$(git tag | tail -1) # Git Tag
GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=10
+TOOLCHAINVER=11
# New architecture variables
BUILD_ARCH="$(uname -m)"
# Run LFS static binary creation scripts one by one
export CCACHE_DIR=$BASEDIR/ccache
export CCACHE_COMPRESS=1
- export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER}:${TARGET_ARCH}"
+ export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER} ${TARGET_ARCH}"
# Remove pre-install list of installed files in case user erase some files before rebuild
rm -f $BASEDIR/build/usr/src/lsalr 2>/dev/null
lfsmake1 linux TOOLS=1 KCFG="-headers"
lfsmake1 glibc
lfsmake1 cleanup-toolchain PASS=1
+ lfsmake1 gcc PASS=L
lfsmake1 binutils PASS=2
lfsmake1 gcc PASS=2
lfsmake1 ccache PASS=2
ipfiremake swconfig
ipfiremake haproxy
ipfiremake ipset
+ ipfiremake lua
+ ipfiremake dnsdist
}
buildinstaller() {
--- /dev/null
+#!/bin/sh
+########################################################################
+# Begin $rc_base/init.d/dnsdist
+#
+# Description : dnsdist - A DNS load-balancer and more
+#
+########################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+[ -r "/etc/sysconfig/dnsdist" ] && . /etc/sysconfig/dnsdist
+
+case "${1}" in
+ start)
+ boot_mesg "Starting dnsdist..."
+ loadproc /usr/bin/dnsdist -d ${ARGS}
+ ;;
+
+ stop)
+ boot_mesg "Stopping dnsdist..."
+ killproc /usr/bin/dnsdist
+ ;;
+
+ reload)
+ boot_mesg "Reloading dnsdist..."
+ reloadproc /usr/bin/dnsdist
+ ;;
+
+ restart)
+ ${0} stop
+ sleep 1
+ ${0} start
+ ;;
+
+ status)
+ statusproc /usr/bin/dnsdist
+ ;;
+
+ *)
+ echo "Usage: ${0} {start|stop|reload|restart|status}"
+ exit 1
+ ;;
+esac
+
+# End $rc_base/init.d/dnsdist
#include <sys/types.h>
#include <fcntl.h>
#include "setuid.h"
+#include "libsmooth.h"
-int main(int argc, char *argv[]) {
+#define QOS_SH "/var/ipfire/qos/bin/qos.sh"
+int main(int argc, char *argv[]) {
+ struct keyvalue* kv = NULL;
int fd = -1;
+ int r = 0;
if (!(initsetuid()))
exit(1);
}
if (strcmp(argv[1], "generate") == 0) {
- safe_system("/usr/bin/perl /var/ipfire/qos/bin/makeqosscripts.pl > /var/ipfire/qos/bin/qos.sh");
+ kv = initkeyvalues();
+ if (!readkeyvalues(kv, CONFIG_ROOT "/qos/settings")) {
+ fprintf(stderr, "Cannot read QoS settings\n");
+ r = 1;
+ goto END;
+ }
+
+ char enabled[STRING_SIZE];
+ if (!findkey(kv, "ENABLED", enabled))
+ strcpy(enabled, "off");
+
+ if (strcmp(enabled, "on") == 0)
+ safe_system("/usr/bin/perl /var/ipfire/qos/bin/makeqosscripts.pl > " QOS_SH);
+ else
+ unlink(QOS_SH);
}
- if ((fd = open("/var/ipfire/qos/bin/qos.sh", O_RDONLY)) != -1) {
+ if ((fd = open(QOS_SH, O_RDONLY)) != -1) {
close(fd);
} else {
// If there is no qos.sh do nothing.
- exit(0);
+ goto END;
}
- safe_system("chmod 755 /var/ipfire/qos/bin/qos.sh &>/dev/null");
+ safe_system("chmod 755 " QOS_SH " &>/dev/null");
if (strcmp(argv[1], "start") == 0) {
- safe_system("/var/ipfire/qos/bin/qos.sh start");
+ safe_system(QOS_SH " start");
} else if (strcmp(argv[1], "stop") == 0) {
- safe_system("/var/ipfire/qos/bin/qos.sh clear");
+ safe_system(QOS_SH " clear");
} else if (strcmp(argv[1], "status") == 0) {
- safe_system("/var/ipfire/qos/bin/qos.sh status");
+ safe_system(QOS_SH " status");
} else if (strcmp(argv[1], "restart") == 0) {
- safe_system("/var/ipfire/qos/bin/qos.sh restart");
+ safe_system(QOS_SH " restart");
} else {
if (strcmp(argv[1], "generate") == 0) {exit(0);}
fprintf(stderr, "\nBad argument given.\n\nqosctrl (start|stop|restart|status|generate)\n\n");
exit(1);
}
- return 0;
+END:
+ if (kv)
+ freekeyvalues(kv);
+
+ return r;
}
safe_system("ln -fs ../init.d/ntp /etc/rc.d/rc6.d/K46ntpd >/dev/null 2>&1");
safe_system("/etc/rc.d/init.d/ntp start");
} else if (strcmp(argv[1], "disable") == 0) {
- safe_system("/etc/rc.d/init.d/ntpd stop");
+ safe_system("/etc/rc.d/init.d/ntp stop");
safe_system("rm -f /etc/rc.d/rc*.d/*ntpd >/dev/null 2>&1");
} else {
fprintf(stderr, "\nBad argument given.\n\ntimectrl (start|stop|restart)\n\n");
+++ /dev/null
---- binutils-2.22/bfd/elf-bfd.h
-+++ binutils-2.22/bfd/elf-bfd.h
-@@ -1577,6 +1577,9 @@ struct elf_obj_tdata
- /* Segment flags for the PT_GNU_STACK segment. */
- unsigned int stack_flags;
-
-+ /* Segment flags for the PT_PAX_FLAGS segment. */
-+ unsigned int pax_flags;
-+
- /* Symbol version definitions in external objects. */
- Elf_Internal_Verdef *verdef;
-
---- binutils-2.22/bfd/elf.c
-+++ binutils-2.22/bfd/elf.c
-@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
- case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
- case PT_GNU_STACK: pt = "STACK"; break;
- case PT_GNU_RELRO: pt = "RELRO"; break;
-+ case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
- default: pt = NULL; break;
- }
- return pt;
-@@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
- case PT_GNU_RELRO:
- return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
-
-+ case PT_PAX_FLAGS:
-+ return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
-+
- default:
- /* Check for any processor-specific program segment types. */
- bed = get_elf_backend_data (abfd);
-@@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
- ++segs;
- }
-
-+ {
-+ /* We need a PT_PAX_FLAGS segment. */
-+ ++segs;
-+ }
-+
- for (s = abfd->sections; s != NULL; s = s->next)
- {
- if ((s->flags & SEC_LOAD) != 0
-@@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
- }
- }
-
-+ {
-+ amt = sizeof (struct elf_segment_map);
-+ m = bfd_zalloc (abfd, amt);
-+ if (m == NULL)
-+ goto error_return;
-+ m->next = NULL;
-+ m->p_type = PT_PAX_FLAGS;
-+ m->p_flags = elf_tdata (abfd)->pax_flags;
-+ m->p_flags_valid = 1;
-+
-+ *pm = m;
-+ pm = &m->next;
-+ }
-+
- free (sections);
- elf_tdata (abfd)->segment_map = mfirst;
- }
-@@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
- 6. PT_TLS segment includes only SHF_TLS sections.
- 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
- 8. PT_DYNAMIC should not contain empty sections at the beginning
-- (with the possible exception of .dynamic). */
-+ (with the possible exception of .dynamic).
-+ 9. PT_PAX_FLAGS segments do not include any sections. */
- #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \
- ((((segment->p_paddr \
- ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
-@@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
- && (section->flags & SEC_ALLOC) != 0) \
- || IS_NOTE (segment, section)) \
- && segment->p_type != PT_GNU_STACK \
-+ && segment->p_type != PT_PAX_FLAGS \
- && (segment->p_type != PT_TLS \
- || (section->flags & SEC_THREAD_LOCAL)) \
- && (segment->p_type == PT_LOAD \
---- binutils-2.22/bfd/elflink.c
-+++ binutils-2.22/bfd/elflink.c
-@@ -5545,16 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
- return TRUE;
-
- bed = get_elf_backend_data (output_bfd);
-+
-+ elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC;
-+ if (info->execheap)
-+ elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT;
-+ else if (info->noexecheap)
-+ elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT;
-+
- if (info->execstack)
-- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
-+ {
-+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
-+ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
-+ }
- else if (info->noexecstack)
-- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
-+ {
-+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
-+ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
-+ }
- else
- {
- bfd *inputobj;
- asection *notesec = NULL;
- int exec = 0;
-
-+ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
- for (inputobj = info->input_bfds;
- inputobj;
- inputobj = inputobj->link_next)
-@@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
- if (s)
- {
- if (s->flags & SEC_CODE)
-- exec = PF_X;
-+ {
-+ elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP;
-+ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
-+ exec = PF_X;
-+ }
- notesec = s;
- }
- else if (bed->default_execstack)
---- binutils-2.22/binutils/readelf.c
-+++ binutils-2.22/binutils/readelf.c
-@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
- return "GNU_EH_FRAME";
- case PT_GNU_STACK: return "GNU_STACK";
- case PT_GNU_RELRO: return "GNU_RELRO";
-+ case PT_PAX_FLAGS: return "PAX_FLAGS";
-
- default:
- if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
---- binutils-2.22/include/bfdlink.h
-+++ binutils-2.22/include/bfdlink.h
-@@ -322,6 +322,14 @@ struct bfd_link_info
- /* TRUE if PT_GNU_RELRO segment should be created. */
- unsigned int relro: 1;
-
-+ /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
-+ flags. */
-+ unsigned int execheap: 1;
-+
-+ /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
-+ flags. */
-+ unsigned int noexecheap: 1;
-+
- /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
- should be created. */
- unsigned int eh_frame_hdr: 1;
---- binutils-2.22/include/elf/common.h
-+++ binutils-2.22/include/elf/common.h
-@@ -429,6 +429,7 @@
- #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */
- #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
- #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */
-+#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */
-
- /* Program segment permissions, in program header p_flags field. */
-
-@@ -439,6 +440,21 @@
- #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */
- #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */
-
-+/* Flags to control PaX behavior. */
-+
-+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
-+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
-+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
-+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
-+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
-+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
-+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
-+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
-+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
-+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
-+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
-+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
-+
- /* Values for section header, sh_type field. */
-
- #define SHT_NULL 0 /* Section header table entry unused */
---- binutils-2.22/ld/emultempl/elf32.em
-+++ binutils-2.22/ld/emultempl/elf32.em
-@@ -2285,6 +2285,16 @@ fragment <<EOF
- link_info.noexecstack = TRUE;
- link_info.execstack = FALSE;
- }
-+ else if (strcmp (optarg, "execheap") == 0)
-+ {
-+ link_info.execheap = TRUE;
-+ link_info.noexecheap = FALSE;
-+ }
-+ else if (strcmp (optarg, "noexecheap") == 0)
-+ {
-+ link_info.noexecheap = TRUE;
-+ link_info.execheap = FALSE;
-+ }
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
-@@ -2368,6 +2378,8 @@ fragment <<EOF
- -z defs Report unresolved symbols in object files.\n"));
- fprintf (file, _("\
- -z execstack Mark executable as requiring executable stack\n"));
-+ fprintf (file, _("\
-+ -z execheap Mark executable as requiring executable heap\n"));
- EOF
-
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
-@@ -2391,6 +2403,8 @@ fragment <<EOF
- fragment <<EOF
- fprintf (file, _("\
- -z noexecstack Mark executable as not requiring executable stack\n"));
-+ fprintf (file, _("\
-+ -z noexecheap Mark executable as not requiring executable heap\n"));
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
---- binutils-2.22/ld/ldgram.y
-+++ binutils-2.22/ld/ldgram.y
-@@ -1119,6 +1119,8 @@ phdr_type:
- $$ = exp_intop (0x6474e550);
- else if (strcmp (s, "PT_GNU_STACK") == 0)
- $$ = exp_intop (0x6474e551);
-+ else if (strcmp (s, "PT_PAX_FLAGS") == 0)
-+ $$ = exp_intop (0x65041580);
- else
- {
- einfo (_("\
---- binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd
-@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8
-+ PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8
- INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
- .*Requesting program interpreter.*
- LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
- LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
- DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
- TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
---- binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd
-+++ binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd
-@@ -42,6 +42,7 @@ Program Headers:
- +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
- +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
---- binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd
-@@ -38,6 +38,7 @@ Program Headers:
- +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
- +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
- +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
---- binutils-2.22/ld/testsuite/ld-elf/eh1.d
-+++ binutils-2.22/ld/testsuite/ld-elf/eh1.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
- DW_CFA_nop
- DW_CFA_nop
-
--00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
-- DW_CFA_advance_loc: 0 to 00400078
-+00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
-+ DW_CFA_advance_loc: 0 to [0-9a-f]+
- DW_CFA_def_cfa_offset: 16
- DW_CFA_offset: r6 \(rbp\) at cfa-16
-- DW_CFA_advance_loc: 0 to 00400078
-+ DW_CFA_advance_loc: 0 to [0-9a-f]+
- DW_CFA_def_cfa_register: r6 \(rbp\)
-
- 00000038 ZERO terminator
---- binutils-2.22/ld/testsuite/ld-elf/eh2.d
-+++ binutils-2.22/ld/testsuite/ld-elf/eh2.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
- DW_CFA_nop
- DW_CFA_nop
-
--00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
-- DW_CFA_advance_loc: 0 to 00400078
-+00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
-+ DW_CFA_advance_loc: 0 to [0-9a-f]+
- DW_CFA_def_cfa_offset: 16
- DW_CFA_offset: r6 \(rbp\) at cfa-16
-- DW_CFA_advance_loc: 0 to 00400078
-+ DW_CFA_advance_loc: 0 to [0-9a-f]+
- DW_CFA_def_cfa_register: r6 \(rbp\)
-
- 00000038 ZERO terminator
---- binutils-2.22/ld/testsuite/ld-elf/eh3.d
-+++ binutils-2.22/ld/testsuite/ld-elf/eh3.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
- DW_CFA_nop
- DW_CFA_nop
-
--00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
-- DW_CFA_advance_loc: 0 to 00400078
-+00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
-+ DW_CFA_advance_loc: 0 to [0-9a-f]+
- DW_CFA_def_cfa_offset: 16
- DW_CFA_offset: r6 \(rbp\) at cfa-16
-- DW_CFA_advance_loc: 0 to 00400078
-+ DW_CFA_advance_loc: 0 to [0-9a-f]+
- DW_CFA_def_cfa_register: r6 \(rbp\)
-
- 00000038 ZERO terminator
---- binutils-2.22/ld/testsuite/ld-elf/orphan-region.d
-+++ binutils-2.22/ld/testsuite/ld-elf/orphan-region.d
-@@ -15,7 +15,9 @@
- Program Headers:
- Type.*
- LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- Segment Sections...
- 00 .text .rodata .moredata *
-+ 01 +
---- binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd
-@@ -44,6 +44,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -53,6 +54,7 @@ Program Headers:
- +03 +.tdata .dynamic .got .got.plt *
- +04 +.dynamic *
- +05 +.tdata .tbss *
-+ +06 +
-
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
- Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd
-@@ -42,6 +42,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -51,6 +52,7 @@ Program Headers:
- +03 +.tdata .dynamic .got .got.plt *
- +04 +.dynamic *
- +05 +.tdata .tbss *
-+ +06 +
-
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
- Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd
-@@ -39,6 +39,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
- +01 +.tdata .dynamic .got .got.plt *
- +02 +.dynamic *
- +03 +.tdata .tbss *
-+ +04 +
-
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
- Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd
-@@ -14,7 +14,7 @@ Contents of section \.got:
- [0-9a-f]+ 6c000000 b4ffffff 4c000000 68000000 .*
- [0-9a-f]+ 50000000 70000000 00000000 bcffffff .*
- Contents of section \.got\.plt:
-- [0-9a-f]+ b0150000 00000000 00000000 00000000 .*
-+ [0-9a-f]+ [a-f]0150000 00000000 00000000 00000000 .*
- [0-9a-f]+ 20000000 00000000 60000000 00000000 .*
- [0-9a-f]+ 00000000 00000000 00000000 00000000 .*
- [0-9a-f]+ 40000000 +.*
---- binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd
-@@ -36,12 +36,14 @@ Program Headers:
- +LOAD.*
- +LOAD.*
- +DYNAMIC.*
-+ +PAX_FLAGS.*
-
- Section to Segment mapping:
- +Segment Sections...
- +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
- +01 +.dynamic .got .got.plt *
- +02 +.dynamic *
-+ +03 +
-
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
- Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd
-@@ -37,6 +37,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -44,6 +45,7 @@ Program Headers:
- +01 +.dynamic .got .got.plt *
- +02 +.dynamic *
- +03 +.tbss *
-+ +04 +
-
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
- Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-i386/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-i386/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -47,6 +48,7 @@ Program Headers:
- +01 +.tdata .dynamic .got .got.plt *
- +02 +.dynamic *
- +03 +.tdata .tbss *
-+ +04 +
-
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
- Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.22/ld/testsuite/ld-ia64/merge1.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge1.d
-@@ -4,7 +4,7 @@
- #objdump: -d
-
- #...
--0+1e0 <.text>:
-+[a-f0-9]+ <.text>:
- [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
- [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
- [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge2.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge2.d
-@@ -4,7 +4,7 @@
- #objdump: -d
-
- #...
--0+1e0 <.text>:
-+[a-f0-9]+ <.text>:
- [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
- [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
- [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge3.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge3.d
-@@ -4,7 +4,7 @@
- #objdump: -d
-
- #...
--0+210 <.text>:
-+[a-f0-9]+ <.text>:
- [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
- [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
- [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge4.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge4.d
-@@ -4,7 +4,7 @@
- #objdump: -d
-
- #...
--0+240 <.text>:
-+[a-f0-9]+ <.text>:
- [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
- [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
- [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/merge5.d
-+++ binutils-2.22/ld/testsuite/ld-ia64/merge5.d
-@@ -4,7 +4,7 @@
- #objdump: -d
-
- #...
--0+270 <.text>:
-+[a-f0-9]+ <.text>:
- [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
- [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
- [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
---- binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
-- +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
-+ +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8
-+ +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
- .*Requesting program interpreter.*
- +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
- +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
- +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
- +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- +IA_64_UNWIND .* R +0x8
- #...
-
---- binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
- +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
- +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
- +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
- #...
-
---- binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-@@ -8,9 +8,9 @@
- .*: +file format.*
-
- Disassembly of section \.text:
--004000b0 <[^>]*> 3c1c0043 lui gp,0x43
--004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
--004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
-+004000d0 <[^>]*> 3c1c0043 lui gp,0x43
-+004000d4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
-+004000d8 <[^>]*> afbc0008 sw gp,8\(sp\)
- #...
- 00408d60 <[^>]*> 3c1c0043 lui gp,0x43
- 00408d64 <[^>]*> 279c2c98 addiu gp,gp,11416
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is DYN \(Shared object file\)
- Entry point .*
--There are 5 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -9,6 +9,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
- * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -18,3 +19,4 @@ Program Headers:
- *0*2 * \.data \.got *
- *0*3 * \.dynamic *
- *0*4 *
-+ *0*5 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
- * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
- *0*5 *\.got \.data *
- *0*6 *\.dynamic *
- *0*7 *
-+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
- * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
- *0*5 * \.got \.data \.bss *
- *0*6 * \.dynamic *
- *0*7 *
-+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
- * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
- *0*5 * \.got \.data \.bss *
- *0*6 * \.dynamic *
- *0*7 *
-+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
- * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
- *0*5 * \.got \.data \.bss *
- *0*6 * \.dynamic *
- *0*7 *
-+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 7 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -12,6 +12,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
- * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -23,3 +24,4 @@ Program Headers:
- *0*4 * \.got \.data \.bss *
- *0*5 * \.dynamic *
- *0*6 *
-+ *0*7 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-@@ -1,7 +1,7 @@
-
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
-
- Program Headers:
- * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
- * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
- * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- * NULL * .*
-
- *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
- *0*5 * \.got \.data \.bss *
- *0*6 * \.dynamic *
- *0*7 *
-+ *0*8 *
---- binutils-2.22/ld/testsuite/ld-mips-elf/rel32-n32.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/rel32-n32.d
-@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
- [0-9a-f ]+R_MIPS_REL32
-
- Hex dump of section '.text':
-- 0x000002e0 00000000 00000000 00000000 00000000 ................
-- 0x000002f0 000002f0 00000000 00000000 00000000 ................
- 0x00000300 00000000 00000000 00000000 00000000 ................
-+ 0x00000310 00000310 00000000 00000000 00000000 ................
-+ 0x00000320 00000000 00000000 00000000 00000000 ................
---- binutils-2.22/ld/testsuite/ld-mips-elf/rel32-o32.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/rel32-o32.d
-@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
- [0-9a-f ]+R_MIPS_REL32
-
- Hex dump of section '.text':
-- 0x000002e0 00000000 00000000 00000000 00000000 ................
-- 0x000002f0 000002f0 00000000 00000000 00000000 ................
- 0x00000300 00000000 00000000 00000000 00000000 ................
-+ 0x00000310 00000310 00000000 00000000 00000000 ................
-+ 0x00000320 00000000 00000000 00000000 00000000 ................
---- binutils-2.22/ld/testsuite/ld-mips-elf/rel64.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/rel64.d
-@@ -14,6 +14,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
- +Type3: R_MIPS_NONE
-
- Hex dump of section '.text':
-- 0x00000450 00000000 00000000 00000000 00000000 ................
-- 0x00000460 00000000 00000460 00000000 00000000 ................
-- 0x00000470 00000000 00000000 00000000 00000000 ................
-+ 0x00000490 00000000 00000000 00000000 00000000 ................
-+ 0x000004a0 00000000 000004a0 00000000 00000000 ................
-+ 0x000004b0 00000000 00000000 00000000 00000000 ................
---- binutils-2.22/ld/testsuite/ld-mips-elf/tlsbin-o32.d
-+++ binutils-2.22/ld/testsuite/ld-mips-elf/tlsbin-o32.d
-@@ -2,42 +2,42 @@
-
- Disassembly of section .text:
-
--004000d0 <__start>:
-- 4000d0: 3c1c0fc0 lui gp,0xfc0
-- 4000d4: 279c7f30 addiu gp,gp,32560
-- 4000d8: 0399e021 addu gp,gp,t9
-- 4000dc: 27bdfff0 addiu sp,sp,-16
-- 4000e0: afbe0008 sw s8,8\(sp\)
-- 4000e4: 03a0f021 move s8,sp
-- 4000e8: afbc0000 sw gp,0\(sp\)
-- 4000ec: 8f998018 lw t9,-32744\(gp\)
-- 4000f0: 27848028 addiu a0,gp,-32728
-- 4000f4: 0320f809 jalr t9
-- 4000f8: 00000000 nop
-- 4000fc: 8fdc0000 lw gp,0\(s8\)
-- 400100: 00000000 nop
-- 400104: 8f998018 lw t9,-32744\(gp\)
-- 400108: 27848020 addiu a0,gp,-32736
-- 40010c: 0320f809 jalr t9
-- 400110: 00000000 nop
-- 400114: 8fdc0000 lw gp,0\(s8\)
-- 400118: 00401021 move v0,v0
-- 40011c: 3c030000 lui v1,0x0
-- 400120: 24638000 addiu v1,v1,-32768
-- 400124: 00621821 addu v1,v1,v0
-- 400128: 7c02283b rdhwr v0,\$5
-- 40012c: 8f83801c lw v1,-32740\(gp\)
-- 400130: 00000000 nop
-- 400134: 00621821 addu v1,v1,v0
-- 400138: 7c02283b rdhwr v0,\$5
-- 40013c: 3c030000 lui v1,0x0
-- 400140: 24639004 addiu v1,v1,-28668
-- 400144: 00621821 addu v1,v1,v0
-- 400148: 03c0e821 move sp,s8
-- 40014c: 8fbe0008 lw s8,8\(sp\)
-- 400150: 03e00008 jr ra
-- 400154: 27bd0010 addiu sp,sp,16
-+00400[0-9a-f]{3} <__start>:
-+ 400[0-9a-f]{3}: 3c1c0fc0 lui gp,0xfc0
-+ 400[0-9a-f]{3}: 279c7f30 addiu gp,gp,32560
-+ 400[0-9a-f]{3}: 0399e021 addu gp,gp,t9
-+ 400[0-9a-f]{3}: 27bdfff0 addiu sp,sp,-16
-+ 400[0-9a-f]{3}: afbe0008 sw s8,8\(sp\)
-+ 400[0-9a-f]{3}: 03a0f021 move s8,sp
-+ 400[0-9a-f]{3}: afbc0000 sw gp,0\(sp\)
-+ 400[0-9a-f]{3}: 8f998018 lw t9,-32744\(gp\)
-+ 400[0-9a-f]{3}: 27848028 addiu a0,gp,-32728
-+ 400[0-9a-f]{3}: 0320f809 jalr t9
-+ 400[0-9a-f]{3}: 00000000 nop
-+ 400[0-9a-f]{3}: 8fdc0000 lw gp,0\(s8\)
-+ 400[0-9a-f]{3}: 00000000 nop
-+ 400[0-9a-f]{3}: 8f998018 lw t9,-32744\(gp\)
-+ 400[0-9a-f]{3}: 27848020 addiu a0,gp,-32736
-+ 400[0-9a-f]{3}: 0320f809 jalr t9
-+ 400[0-9a-f]{3}: 00000000 nop
-+ 400[0-9a-f]{3}: 8fdc0000 lw gp,0\(s8\)
-+ 400[0-9a-f]{3}: 00401021 move v0,v0
-+ 400[0-9a-f]{3}: 3c030000 lui v1,0x0
-+ 400[0-9a-f]{3}: 24638000 addiu v1,v1,-32768
-+ 400[0-9a-f]{3}: 00621821 addu v1,v1,v0
-+ 400[0-9a-f]{3}: 7c02283b rdhwr v0,\$5
-+ 400[0-9a-f]{3}: 8f83801c lw v1,-32740\(gp\)
-+ 400[0-9a-f]{3}: 00000000 nop
-+ 400[0-9a-f]{3}: 00621821 addu v1,v1,v0
-+ 400[0-9a-f]{3}: 7c02283b rdhwr v0,\$5
-+ 400[0-9a-f]{3}: 3c030000 lui v1,0x0
-+ 400[0-9a-f]{3}: 24639004 addiu v1,v1,-28668
-+ 400[0-9a-f]{3}: 00621821 addu v1,v1,v0
-+ 400[0-9a-f]{3}: 03c0e821 move sp,s8
-+ 400[0-9a-f]{3}: 8fbe0008 lw s8,8\(sp\)
-+ 400[0-9a-f]{3}: 03e00008 jr ra
-+ 400[0-9a-f]{3}: 27bd0010 addiu sp,sp,16
-
--00400158 <__tls_get_addr>:
-- 400158: 03e00008 jr ra
-- 40015c: 00000000 nop
-+00400[0-9a-f]{3} <__tls_get_addr>:
-+ 400[0-9a-f]{3}: 03e00008 jr ra
-+ 400[0-9a-f]{3}: 00000000 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tls.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls.d
-@@ -9,45 +9,45 @@
-
- Disassembly of section \.text:
-
--0+100000e8 <_start>:
-- 100000e8: 3c 6d 00 00 addis r3,r13,0
-- 100000ec: 60 00 00 00 nop
-- 100000f0: 38 63 90 78 addi r3,r3,-28552
-- 100000f4: 3c 6d 00 00 addis r3,r13,0
-- 100000f8: 60 00 00 00 nop
-- 100000fc: 38 63 10 00 addi r3,r3,4096
-- 10000100: 3c 6d 00 00 addis r3,r13,0
-- 10000104: 60 00 00 00 nop
-- 10000108: 38 63 90 40 addi r3,r3,-28608
-- 1000010c: 3c 6d 00 00 addis r3,r13,0
-- 10000110: 60 00 00 00 nop
-- 10000114: 38 63 10 00 addi r3,r3,4096
-- 10000118: 39 23 80 48 addi r9,r3,-32696
-- 1000011c: 3d 23 00 00 addis r9,r3,0
-- 10000120: 81 49 80 50 lwz r10,-32688\(r9\)
-- 10000124: e9 22 80 10 ld r9,-32752\(r2\)
-- 10000128: 7d 49 18 2a ldx r10,r9,r3
-- 1000012c: 3d 2d 00 00 addis r9,r13,0
-- 10000130: a1 49 90 60 lhz r10,-28576\(r9\)
-- 10000134: 89 4d 90 68 lbz r10,-28568\(r13\)
-- 10000138: 3d 2d 00 00 addis r9,r13,0
-- 1000013c: 99 49 90 70 stb r10,-28560\(r9\)
-- 10000140: 3c 6d 00 00 addis r3,r13,0
-- 10000144: 60 00 00 00 nop
-- 10000148: 38 63 90 00 addi r3,r3,-28672
-- 1000014c: 3c 6d 00 00 addis r3,r13,0
-- 10000150: 60 00 00 00 nop
-- 10000154: 38 63 10 00 addi r3,r3,4096
-- 10000158: f9 43 80 08 std r10,-32760\(r3\)
-- 1000015c: 3d 23 00 00 addis r9,r3,0
-- 10000160: 91 49 80 10 stw r10,-32752\(r9\)
-- 10000164: e9 22 80 08 ld r9,-32760\(r2\)
-- 10000168: 7d 49 19 2a stdx r10,r9,r3
-- 1000016c: 3d 2d 00 00 addis r9,r13,0
-- 10000170: b1 49 90 60 sth r10,-28576\(r9\)
-- 10000174: e9 4d 90 2a lwa r10,-28632\(r13\)
-- 10000178: 3d 2d 00 00 addis r9,r13,0
-- 1000017c: a9 49 90 30 lha r10,-28624\(r9\)
-+0+10000[0-9a-f]{3} <_start>:
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 78 addi r3,r3,-28552
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 40 addi r3,r3,-28608
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 10000[0-9a-f]{3}: 39 23 80 48 addi r9,r3,-32696
-+ 10000[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0
-+ 10000[0-9a-f]{3}: 81 49 80 50 lwz r10,-32688\(r9\)
-+ 10000[0-9a-f]{3}: e9 22 80 10 ld r9,-32752\(r2\)
-+ 10000[0-9a-f]{3}: 7d 49 18 2a ldx r10,r9,r3
-+ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0
-+ 10000[0-9a-f]{3}: a1 49 90 60 lhz r10,-28576\(r9\)
-+ 10000[0-9a-f]{3}: 89 4d 90 68 lbz r10,-28568\(r13\)
-+ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0
-+ 10000[0-9a-f]{3}: 99 49 90 70 stb r10,-28560\(r9\)
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 00 addi r3,r3,-28672
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 10000[0-9a-f]{3}: f9 43 80 08 std r10,-32760\(r3\)
-+ 10000[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0
-+ 10000[0-9a-f]{3}: 91 49 80 10 stw r10,-32752\(r9\)
-+ 10000[0-9a-f]{3}: e9 22 80 08 ld r9,-32760\(r2\)
-+ 10000[0-9a-f]{3}: 7d 49 19 2a stdx r10,r9,r3
-+ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0
-+ 10000[0-9a-f]{3}: b1 49 90 60 sth r10,-28576\(r9\)
-+ 10000[0-9a-f]{3}: e9 4d 90 2a lwa r10,-28632\(r13\)
-+ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0
-+ 10000[0-9a-f]{3}: a9 49 90 30 lha r10,-28624\(r9\)
-
--0+10000180 <\.__tls_get_addr>:
-- 10000180: 4e 80 00 20 blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
---- binutils-2.22/ld/testsuite/ld-powerpc/tls.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls.g
-@@ -8,5 +8,5 @@
- .*: +file format elf64-powerpc
-
- Contents of section \.got:
-- 100101e0 00000000 100181e0 ffffffff ffff8018 .*
-- 100101f0 ffffffff ffff8058 .*
-+ 10010([0-9a-f]{3}) 00000000 10018\1 ffffffff ffff8018 .*
-+ 10010[0-9a-f]{3} ffffffff ffff8058 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tls32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls32.d
-@@ -9,42 +9,42 @@
-
- Disassembly of section \.text:
-
--0+1800094 <_start>:
-- 1800094: 3c 62 00 00 addis r3,r2,0
-- 1800098: 38 63 90 3c addi r3,r3,-28612
-- 180009c: 3c 62 00 00 addis r3,r2,0
-- 18000a0: 38 63 10 00 addi r3,r3,4096
-- 18000a4: 3c 62 00 00 addis r3,r2,0
-- 18000a8: 38 63 90 20 addi r3,r3,-28640
-- 18000ac: 3c 62 00 00 addis r3,r2,0
-- 18000b0: 38 63 10 00 addi r3,r3,4096
-- 18000b4: 39 23 80 24 addi r9,r3,-32732
-- 18000b8: 3d 23 00 00 addis r9,r3,0
-- 18000bc: 81 49 80 28 lwz r10,-32728\(r9\)
-- 18000c0: 3d 22 00 00 addis r9,r2,0
-- 18000c4: a1 49 90 30 lhz r10,-28624\(r9\)
-- 18000c8: 89 42 90 34 lbz r10,-28620\(r2\)
-- 18000cc: 3d 22 00 00 addis r9,r2,0
-- 18000d0: 99 49 90 38 stb r10,-28616\(r9\)
-- 18000d4: 3c 62 00 00 addis r3,r2,0
-- 18000d8: 38 63 90 00 addi r3,r3,-28672
-- 18000dc: 3c 62 00 00 addis r3,r2,0
-- 18000e0: 38 63 10 00 addi r3,r3,4096
-- 18000e4: 91 43 80 04 stw r10,-32764\(r3\)
-- 18000e8: 3d 23 00 00 addis r9,r3,0
-- 18000ec: 91 49 80 08 stw r10,-32760\(r9\)
-- 18000f0: 3d 22 00 00 addis r9,r2,0
-- 18000f4: b1 49 90 30 sth r10,-28624\(r9\)
-- 18000f8: a1 42 90 14 lhz r10,-28652\(r2\)
-- 18000fc: 3d 22 00 00 addis r9,r2,0
-- 1800100: a9 49 90 18 lha r10,-28648\(r9\)
-+0+1800[0-9a-f]{3} <_start>:
-+ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0
-+ 1800[0-9a-f]{3}: 38 63 90 3c addi r3,r3,-28612
-+ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0
-+ 1800[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0
-+ 1800[0-9a-f]{3}: 38 63 90 20 addi r3,r3,-28640
-+ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0
-+ 1800[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 1800[0-9a-f]{3}: 39 23 80 24 addi r9,r3,-32732
-+ 1800[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0
-+ 1800[0-9a-f]{3}: 81 49 80 28 lwz r10,-32728\(r9\)
-+ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0
-+ 1800[0-9a-f]{3}: a1 49 90 30 lhz r10,-28624\(r9\)
-+ 1800[0-9a-f]{3}: 89 42 90 34 lbz r10,-28620\(r2\)
-+ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0
-+ 1800[0-9a-f]{3}: 99 49 90 38 stb r10,-28616\(r9\)
-+ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0
-+ 1800[0-9a-f]{3}: 38 63 90 00 addi r3,r3,-28672
-+ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0
-+ 1800[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 1800[0-9a-f]{3}: 91 43 80 04 stw r10,-32764\(r3\)
-+ 1800[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0
-+ 1800[0-9a-f]{3}: 91 49 80 08 stw r10,-32760\(r9\)
-+ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0
-+ 1800[0-9a-f]{3}: b1 49 90 30 sth r10,-28624\(r9\)
-+ 1800[0-9a-f]{3}: a1 42 90 14 lhz r10,-28652\(r2\)
-+ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0
-+ 1800[0-9a-f]{3}: a9 49 90 18 lha r10,-28648\(r9\)
-
--0+1800104 <__tls_get_addr>:
-- 1800104: 4e 80 00 20 blr
-+0+1800[0-9a-f]{3} <__tls_get_addr>:
-+ 1800[0-9a-f]{3}: 4e 80 00 20 blr
- Disassembly of section \.got:
-
--0+1810128 <_GLOBAL_OFFSET_TABLE_-0x4>:
-- 1810128: 4e 80 00 21 blrl
-+0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_-0x4>:
-+ 1810[0-9a-f]{3}: 4e 80 00 21 blrl
-
--0+181012c <_GLOBAL_OFFSET_TABLE_>:
-+0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_>:
- \.\.\.
---- binutils-2.22/ld/testsuite/ld-powerpc/tls32.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls32.g
-@@ -8,4 +8,4 @@
- .*: +file format elf32-powerpc
-
- Contents of section \.got:
-- 1810128 4e800021 00000000 00000000 00000000 .*
-+ 18101[0-9a-f]{2} 4e800021 00000000 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tls32.t
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tls32.t
-@@ -8,5 +8,5 @@
- .*: +file format elf32-powerpc
-
- Contents of section \.tdata:
-- 1810108 12345678 23456789 3456789a 456789ab .*
-- 1810118 56789abc 6789abcd 789abcde 00c0ffee .*
-+ 18101[0-9a-f]{2} 12345678 23456789 3456789a 456789ab .*
-+ 18101[0-9a-f]{2} 56789abc 6789abcd 789abcde 00c0ffee .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.d
-@@ -44,4 +44,4 @@ Disassembly of section \.got:
- .*: 4e 80 00 21 blrl
-
- .* <_GLOBAL_OFFSET_TABLE_>:
--.*: 01 81 02 b8 00 00 00 00 00 00 00 00 .*
-+.*: 01 81 02 [bd]8 00 00 00 00 00 00 00 00 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.g
-@@ -8,4 +8,4 @@
-
- Contents of section \.got:
- .* 00000000 00000000 00000000 4e800021 .*
--.* 018102b8 00000000 00000000 .*
-+.* 018102[bd]8 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r
-@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
-- +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4
-- +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1
-+ +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4
-+ +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1
- +\[Requesting program interpreter: .*\]
- +LOAD .* R E 0x10000
- +LOAD .* RWE 0x10000
- +DYNAMIC .* RW +0x4
- +TLS .* 0x0001c 0x00038 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections\.\.\.
-@@ -49,6 +50,7 @@ Program Headers:
- +03 +\.tdata \.dynamic \.got \.plt
- +04 +\.dynamic
- +05 +\.tdata \.tbss
-+ +06 +
-
- Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
- Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsmark.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsmark.d
-@@ -9,29 +9,29 @@
-
- Disassembly of section \.text:
-
--0+100000e8 <_start>:
-- 100000e8: 48 00 00 18 b 10000100 <_start\+0x18>
-- 100000ec: 60 00 00 00 nop
-- 100000f0: 38 63 90 00 addi r3,r3,-28672
-- 100000f4: e8 83 00 00 ld r4,0\(r3\)
-- 100000f8: 3c 6d 00 00 addis r3,r13,0
-- 100000fc: 48 00 00 0c b 10000108 <_start\+0x20>
-- 10000100: 3c 6d 00 00 addis r3,r13,0
-- 10000104: 4b ff ff e8 b 100000ec <_start\+0x4>
-- 10000108: 60 00 00 00 nop
-- 1000010c: 38 63 10 00 addi r3,r3,4096
-- 10000110: e8 83 80 00 ld r4,-32768\(r3\)
-- 10000114: 3c 6d 00 00 addis r3,r13,0
-- 10000118: 48 00 00 0c b 10000124 <_start\+0x3c>
-- 1000011c: 3c 6d 00 00 addis r3,r13,0
-- 10000120: 48 00 00 14 b 10000134 <_start\+0x4c>
-- 10000124: 60 00 00 00 nop
-- 10000128: 38 63 90 04 addi r3,r3,-28668
-- 1000012c: e8 a3 00 00 ld r5,0\(r3\)
-- 10000130: 4b ff ff ec b 1000011c <_start\+0x34>
-- 10000134: 60 00 00 00 nop
-- 10000138: 38 63 10 00 addi r3,r3,4096
-- 1000013c: e8 a3 80 04 ld r5,-32764\(r3\)
-+0+10000[0-9a-f]{3} <_start>:
-+ 10000[0-9a-f]{3}: 48 00 00 18 b 10000[0-9a-f]{3} <_start\+0x18>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 00 addi r3,r3,-28672
-+ 10000[0-9a-f]{3}: e8 83 00 00 ld r4,0\(r3\)
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 48 00 00 0c b 10000[0-9a-f]{3} <_start\+0x20>
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 4b ff ff e8 b 10000[0-9a-f]{3} <_start\+0x4>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 10000[0-9a-f]{3}: e8 83 80 00 ld r4,-32768\(r3\)
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 48 00 00 0c b 10000[0-9a-f]{3} <_start\+0x3c>
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 48 00 00 14 b 10000[0-9a-f]{3} <_start\+0x4c>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 04 addi r3,r3,-28668
-+ 10000[0-9a-f]{3}: e8 a3 00 00 ld r5,0\(r3\)
-+ 10000[0-9a-f]{3}: 4b ff ff ec b 10000[0-9a-f]{3} <_start\+0x34>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096
-+ 10000[0-9a-f]{3}: e8 a3 80 04 ld r5,-32764\(r3\)
-
--0+10000140 <\.__tls_get_addr>:
-- 10000140: 4e 80 00 20 blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsmark32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsmark32.d
-@@ -9,17 +9,17 @@
-
- Disassembly of section \.text:
-
--0+1800094 <_start>:
-- 1800094: 48 00 00 14 b 18000a8 <_start\+0x14>
-- 1800098: 38 63 90 00 addi r3,r3,-28672
-- 180009c: 80 83 00 00 lwz r4,0\(r3\)
-- 18000a0: 3c 62 00 00 addis r3,r2,0
-- 18000a4: 48 00 00 0c b 18000b0 <_start\+0x1c>
-- 18000a8: 3c 62 00 00 addis r3,r2,0
-- 18000ac: 4b ff ff ec b 1800098 <_start\+0x4>
-- 18000b0: 38 63 10 00 addi r3,r3,4096
-- 18000b4: 80 83 80 00 lwz r4,-32768\(r3\)
-+0+18000[0-9a-f]{2} <_start>:
-+ 18000[0-9a-f]{2}: 48 00 00 14 b 18000[0-9a-f]{2} <_start\+0x14>
-+ 18000[0-9a-f]{2}: 38 63 90 00 addi r3,r3,-28672
-+ 18000[0-9a-f]{2}: 80 83 00 00 lwz r4,0\(r3\)
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 48 00 00 0c b 18000[0-9a-f]{2} <_start\+0x1c>
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 4b ff ff ec b 18000[0-9a-f]{2} <_start\+0x4>
-+ 18000[0-9a-f]{2}: 38 63 10 00 addi r3,r3,4096
-+ 18000[0-9a-f]{2}: 80 83 80 00 lwz r4,-32768\(r3\)
-
--0+18000b8 <__tls_get_addr>:
-- 18000b8: 4e 80 00 20 blr
--#pass
-\ No newline at end of file
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}: 4e 80 00 20 blr
-+#pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1.d
-@@ -9,17 +9,17 @@
-
- Disassembly of section \.text:
-
--0+100000e8 <\.__tls_get_addr>:
-- 100000e8: 4e 80 00 20 blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
-
- Disassembly of section \.no_opt1:
-
--0+100000ec <\.no_opt1>:
-- 100000ec: 38 62 80 08 addi r3,r2,-32760
-- 100000f0: 2c 24 00 00 cmpdi r4,0
-- 100000f4: 41 82 00 10 beq- .*
-- 100000f8: 4b ff ff f1 bl 100000e8 <\.__tls_get_addr>
-- 100000fc: 60 00 00 00 nop
-- 10000100: 48 00 00 0c b .*
-- 10000104: 4b ff ff e5 bl 100000e8 <\.__tls_get_addr>
-- 10000108: 60 00 00 00 nop
-+0+10000[0-9a-f]{3} <\.no_opt1>:
-+ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760
-+ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0
-+ 10000[0-9a-f]{3}: 41 82 00 10 beq- .*
-+ 10000[0-9a-f]{3}: 4b ff ff f1 bl 10000[0-9a-f]{3} <\.__tls_get_addr>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
-+ 10000[0-9a-f]{3}: 4b ff ff e5 bl 10000[0-9a-f]{3} <\.__tls_get_addr>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt1_32.d
-@@ -9,16 +9,16 @@
-
- Disassembly of section \.text:
-
--0+1800094 <__tls_get_addr>:
-- 1800094: 4e 80 00 20 blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}: 4e 80 00 20 blr
-
- Disassembly of section \.no_opt1:
-
--0+1800098 <\.no_opt1>:
-- 1800098: 38 6d ff f4 addi r3,r13,-12
-- 180009c: 2c 04 00 00 cmpwi r4,0
-- 18000a0: 41 82 00 0c beq- .*
-- 18000a4: 4b ff ff f1 bl 1800094 <__tls_get_addr>
-- 18000a8: 48 00 00 08 b .*
-- 18000ac: 4b ff ff e9 bl 1800094 <__tls_get_addr>
-+0+18000[0-9a-f]{2} <\.no_opt1>:
-+ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12
-+ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0
-+ 18000[0-9a-f]{2}: 41 82 00 0c beq- .*
-+ 18000[0-9a-f]{2}: 4b ff ff f1 bl 18000[0-9a-f]{2} <__tls_get_addr>
-+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
-+ 18000[0-9a-f]{2}: 4b ff ff e9 bl 18000[0-9a-f]{2} <__tls_get_addr>
- #pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2.d
-@@ -9,15 +9,15 @@
-
- Disassembly of section \.text:
-
--0+100000e8 <\.__tls_get_addr>:
-- 100000e8: 4e 80 00 20 blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
-
- Disassembly of section \.no_opt2:
-
--0+100000ec <\.no_opt2>:
-- 100000ec: 38 62 80 08 addi r3,r2,-32760
-- 100000f0: 2c 24 00 00 cmpdi r4,0
-- 100000f4: 41 82 00 08 beq- .*
-- 100000f8: 38 62 80 08 addi r3,r2,-32760
-- 100000fc: 4b ff ff ed bl 100000e8 <\.__tls_get_addr>
-- 10000100: 60 00 00 00 nop
-+0+10000[0-9a-f]{3} <\.no_opt2>:
-+ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760
-+ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0
-+ 10000[0-9a-f]{3}: 41 82 00 08 beq- .*
-+ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760
-+ 10000[0-9a-f]{3}: 4b ff ff ed bl 10000[0-9a-f]{3} <\.__tls_get_addr>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt2_32.d
-@@ -9,15 +9,15 @@
-
- Disassembly of section \.text:
-
--0+1800094 <__tls_get_addr>:
-- 1800094: 4e 80 00 20 blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}: 4e 80 00 20 blr
-
- Disassembly of section \.no_opt2:
-
--0+1800098 <\.no_opt2>:
-- 1800098: 38 6d ff f4 addi r3,r13,-12
-- 180009c: 2c 04 00 00 cmpwi r4,0
-- 18000a0: 41 82 00 08 beq- .*
-- 18000a4: 38 6d ff f4 addi r3,r13,-12
-- 18000a8: 4b ff ff ed bl 1800094 <__tls_get_addr>
-+0+18000[0-9a-f]{2} <\.no_opt2>:
-+ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12
-+ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0
-+ 18000[0-9a-f]{2}: 41 82 00 08 beq- .*
-+ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12
-+ 18000[0-9a-f]{2}: 4b ff ff ed bl 18000[0-9a-f]{2} <__tls_get_addr>
- #pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3.d
-@@ -9,18 +9,18 @@
-
- Disassembly of section \.text:
-
--00000000100000e8 <\.__tls_get_addr>:
-- 100000e8: 4e 80 00 20 blr
-+0000000010000[0-9a-f]{3} <\.__tls_get_addr>:
-+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
-
- Disassembly of section \.no_opt3:
-
--00000000100000ec <\.no_opt3>:
-- 100000ec: 38 62 80 08 addi r3,r2,-32760
-- 100000f0: 48 00 00 0c b .*
-- 100000f4: 38 62 80 18 addi r3,r2,-32744
-- 100000f8: 48 00 00 10 b .*
-- 100000fc: 4b ff ff ed bl 100000e8 <\.__tls_get_addr>
-- 10000100: 60 00 00 00 nop
-- 10000104: 48 00 00 0c b .*
-- 10000108: 4b ff ff e1 bl 100000e8 <\.__tls_get_addr>
-- 1000010c: 60 00 00 00 nop
-+0000000010000[0-9a-f]{3} <\.no_opt3>:
-+ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760
-+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
-+ 10000[0-9a-f]{3}: 38 62 80 18 addi r3,r2,-32744
-+ 10000[0-9a-f]{3}: 48 00 00 10 b .*
-+ 10000[0-9a-f]{3}: 4b ff ff ed bl 10000[0-9a-f]{3} <\.__tls_get_addr>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
-+ 10000[0-9a-f]{3}: 4b ff ff e1 bl 10000[0-9a-f]{3} <\.__tls_get_addr>
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt3_32.d
-@@ -9,17 +9,17 @@
-
- Disassembly of section \.text:
-
--0+1800094 <__tls_get_addr>:
-- 1800094: 4e 80 00 20 blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}: 4e 80 00 20 blr
-
- Disassembly of section \.no_opt3:
-
--0+1800098 <\.no_opt3>:
-- 1800098: 38 6d ff ec addi r3,r13,-20
-- 180009c: 48 00 00 0c b .*
-- 18000a0: 38 6d ff f4 addi r3,r13,-12
-- 18000a4: 48 00 00 0c b .*
-- 18000a8: 4b ff ff ed bl 1800094 <__tls_get_addr>
-- 18000ac: 48 00 00 08 b .*
-- 18000b0: 4b ff ff e5 bl 1800094 <__tls_get_addr>
-+0+18000[0-9a-f]{2} <\.no_opt3>:
-+ 18000[0-9a-f]{2}: 38 6d ff ec addi r3,r13,-20
-+ 18000[0-9a-f]{2}: 48 00 00 0c b .*
-+ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12
-+ 18000[0-9a-f]{2}: 48 00 00 0c b .*
-+ 18000[0-9a-f]{2}: 4b ff ff ed bl 18000[0-9a-f]{2} <__tls_get_addr>
-+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
-+ 18000[0-9a-f]{2}: 4b ff ff e5 bl 18000[0-9a-f]{2} <__tls_get_addr>
- #pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4.d
-@@ -9,40 +9,40 @@
-
- Disassembly of section \.text:
-
--0+100000e8 <\.__tls_get_addr>:
-- 100000e8: 4e 80 00 20 blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+ 10000[0-9a-f]{3}: 4e 80 00 20 blr
-
- Disassembly of section \.opt1:
-
--0+100000ec <\.opt1>:
-- 100000ec: 3c 6d 00 00 addis r3,r13,0
-- 100000f0: 2c 24 00 00 cmpdi r4,0
-- 100000f4: 41 82 00 10 beq- .*
-- 100000f8: 60 00 00 00 nop
-- 100000fc: 38 63 90 10 addi r3,r3,-28656
-- 10000100: 48 00 00 0c b .*
-- 10000104: 60 00 00 00 nop
-- 10000108: 38 63 90 10 addi r3,r3,-28656
-+0+10000[0-9a-f]{3} <\.opt1>:
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0
-+ 10000[0-9a-f]{3}: 41 82 00 10 beq- .*
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656
-+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656
-
- Disassembly of section \.opt2:
-
--0+1000010c <\.opt2>:
-- 1000010c: 3c 6d 00 00 addis r3,r13,0
-- 10000110: 2c 24 00 00 cmpdi r4,0
-- 10000114: 41 82 00 08 beq- .*
-- 10000118: 3c 6d 00 00 addis r3,r13,0
-- 1000011c: 60 00 00 00 nop
-- 10000120: 38 63 90 10 addi r3,r3,-28656
-+0+10000[0-9a-f]{3} <\.opt2>:
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0
-+ 10000[0-9a-f]{3}: 41 82 00 08 beq- .*
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656
-
- Disassembly of section \.opt3:
-
--0+10000124 <\.opt3>:
-- 10000124: 3c 6d 00 00 addis r3,r13,0
-- 10000128: 48 00 00 0c b .*
-- 1000012c: 3c 6d 00 00 addis r3,r13,0
-- 10000130: 48 00 00 10 b .*
-- 10000134: 60 00 00 00 nop
-- 10000138: 38 63 90 10 addi r3,r3,-28656
-- 1000013c: 48 00 00 0c b .*
-- 10000140: 60 00 00 00 nop
-- 10000144: 38 63 90 08 addi r3,r3,-28664
-+0+10000[0-9a-f]{3} <\.opt3>:
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
-+ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0
-+ 10000[0-9a-f]{3}: 48 00 00 10 b .*
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656
-+ 10000[0-9a-f]{3}: 48 00 00 0c b .*
-+ 10000[0-9a-f]{3}: 60 00 00 00 nop
-+ 10000[0-9a-f]{3}: 38 63 90 08 addi r3,r3,-28664
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4_32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsopt4_32.d
-@@ -9,36 +9,36 @@
-
- Disassembly of section \.text:
-
--0+1800094 <__tls_get_addr>:
-- 1800094: 4e 80 00 20 blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}: 4e 80 00 20 blr
-
- Disassembly of section \.opt1:
-
--0+1800098 <\.opt1>:
-- 1800098: 3c 62 00 00 addis r3,r2,0
-- 180009c: 2c 04 00 00 cmpwi r4,0
-- 18000a0: 41 82 00 0c beq- .*
-- 18000a4: 38 63 90 10 addi r3,r3,-28656
-- 18000a8: 48 00 00 08 b .*
-- 18000ac: 38 63 90 10 addi r3,r3,-28656
-+0+18000[0-9a-f]{2} <\.opt1>:
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0
-+ 18000[0-9a-f]{2}: 41 82 00 0c beq- .*
-+ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656
-+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
-+ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656
-
- Disassembly of section \.opt2:
-
--0+18000b0 <\.opt2>:
-- 18000b0: 3c 62 00 00 addis r3,r2,0
-- 18000b4: 2c 04 00 00 cmpwi r4,0
-- 18000b8: 41 82 00 08 beq- .*
-- 18000bc: 3c 62 00 00 addis r3,r2,0
-- 18000c0: 38 63 90 10 addi r3,r3,-28656
-+0+18000[0-9a-f]{2} <\.opt2>:
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0
-+ 18000[0-9a-f]{2}: 41 82 00 08 beq- .*
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656
-
- Disassembly of section \.opt3:
-
--0+18000c4 <\.opt3>:
-- 18000c4: 3c 62 00 00 addis r3,r2,0
-- 18000c8: 48 00 00 0c b .*
-- 18000cc: 3c 62 00 00 addis r3,r2,0
-- 18000d0: 48 00 00 0c b .*
-- 18000d4: 38 63 90 10 addi r3,r3,-28656
-- 18000d8: 48 00 00 08 b .*
-- 18000dc: 38 63 90 08 addi r3,r3,-28664
-+0+18000[0-9a-f]{2} <\.opt3>:
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 48 00 00 0c b .*
-+ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0
-+ 18000[0-9a-f]{2}: 48 00 00 0c b .*
-+ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656
-+ 18000[0-9a-f]{2}: 48 00 00 08 b .*
-+ 18000[0-9a-f]{2}: 38 63 90 08 addi r3,r3,-28664
- #pass
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d
-@@ -42,5 +42,5 @@ Disassembly of section \.got:
- .* <\.got>:
- \.\.\.
- .*: 4e 80 00 21 blrl
--.*: 00 01 03 ec .*
-+.*: 00 01 [0-9a-f]{2} [0-9a-f]{2} .*
- \.\.\.
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.g
-@@ -9,5 +9,5 @@
- Contents of section \.got:
- .* 00000000 00000000 00000000 00000000 .*
- .* 00000000 00000000 00000000 00000000 .*
--.* 00000000 4e800021 000103ec 00000000 .*
-+.* 00000000 4e800021 00010[0-9a-f]{3} 00000000 .*
- .* 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r
-@@ -35,6 +35,7 @@ Program Headers:
- +LOAD .* RWE 0x10000
- +DYNAMIC .* RW +0x4
- +TLS .* 0x0+1c 0x0+38 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections\.\.\.
-@@ -42,6 +43,7 @@ Program Headers:
- +01 +\.tdata \.dynamic \.got \.plt
- +02 +\.dynamic
- +03 +\.tdata \.tbss
-+ +04 +
-
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
- Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
- [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
- [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
- [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
--[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
--[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
--[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
-+[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
-+[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
-+[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
- [0-9a-f ]+R_PPC_DTPMOD32 +0+
- [0-9a-f ]+R_PPC_DTPREL32 +0+
- [0-9a-f ]+R_PPC_DTPMOD32 +0+
---- binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.g
-@@ -8,8 +8,8 @@
- .*: +file format elf64-powerpc
-
- Contents of section \.got:
-- 100101a0 00000000 00000001 00000000 00000000 .*
-- 100101b0 00000000 00000001 00000000 00000000 .*
-- 100101c0 00000000 00000001 00000000 00000000 .*
-- 100101d0 00000000 00000001 00000000 00000000 .*
-- 100101e0 ffffffff ffff8060 00000000 00000000 .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .*
-+ 10010[0-9a-f]{3} ffffffff ffff8060 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.t
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlstoc.t
-@@ -8,7 +8,7 @@
- .*: +file format elf64-powerpc
-
- Contents of section \.tdata:
-- 10010148 00c0ffee 00000000 12345678 9abcdef0 .*
-- 10010158 23456789 abcdef01 3456789a bcdef012 .*
-- 10010168 456789ab cdef0123 56789abc def01234 .*
-- 10010178 6789abcd ef012345 789abcde f0123456 .*
-+ 10010180 00c0ffee 00000000 12345678 9abcdef0 .*
-+ 10010190 23456789 abcdef01 3456789a bcdef012 .*
-+ 100101a0 456789ab cdef0123 56789abc def01234 .*
-+ 100101b0 6789abcd ef012345 789abcde f0123456 .*
---- binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.g
-+++ binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.g
-@@ -7,7 +7,7 @@
- .*: +file format elf64-powerpc
-
- Contents of section \.got:
--.* 00000000 000186c0 00000000 00000000 .*
-+.* 00000000 000186f8 00000000 00000000 .*
- .* 00000000 00000000 00000000 00000000 .*
- .* 00000000 00000000 00000000 00000000 .*
- .* 00000000 00000000 00000000 00000000 .*
---- binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+34 0x0+400034 0x0+400034 0x0+c0 0x0+c0 R E 0x4
-- +INTERP +0x0+f4 0x0+4000f4 0x0+4000f4 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+34 0x0+400034 0x0+400034 0x0+e0 0x0+e0 R E 0x4
-+ +INTERP +0x0+114 0x0+400114 0x0+400114 0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
- +LOAD .* R E 0x1000
- +LOAD .* RW +0x1000
- +DYNAMIC .* RW +0x4
- +TLS .* 0x0+60 0x0+a0 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -52,6 +53,7 @@ Program Headers:
- +03 +.tdata .dynamic .got *
- +04 +.dynamic *
- +05 +.tdata .tbss *
-+ +06 +
-
- Relocation section '.rela.dyn' at offset .* contains 4 entries:
- Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+150 0x0+150 R E 0x8
-- +INTERP +0x0+190 0x0+80000190 0x0+80000190 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+188 0x0+188 R E 0x8
-+ +INTERP +0x0+1c8 0x0+800001c8 0x0+800001c8 0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
- +LOAD .* R E 0x1000
- +LOAD .* RW +0x1000
- +DYNAMIC .* RW +0x8
- +TLS .* 0x0+60 0x0+a0 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -52,6 +53,7 @@ Program Headers:
- +03 +.tdata .dynamic .got *
- +04 +.dynamic *
- +05 +.tdata .tbss *
-+ +06 +
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
- +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-s390/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlspic.rd
-@@ -39,6 +39,7 @@ Program Headers:
- +LOAD .* RW +0x1000
- +DYNAMIC .* RW +0x4
- +TLS .* 0x0+60 0x0+80 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
- +01 +.tdata .dynamic .got
- +02 +.dynamic
- +03 +.tdata .tbss
-+ +04 +
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
- Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd
-+++ binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd
-@@ -39,6 +39,7 @@ Program Headers:
- +LOAD .* RW +0x1000
- +DYNAMIC .* RW +0x8
- +TLS .* 0x0+60 0x0+80 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
- +01 +.tdata .dynamic .got *
- +02 +.dynamic *
- +03 +.tdata .tbss *
-+ +04 +
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
- +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-scripts/empty-aligned.d
-+++ binutils-2.22/ld/testsuite/ld-scripts/empty-aligned.d
-@@ -8,7 +8,9 @@
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
- +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections\.\.\.
- +00 +.text
-+ +01 +
---- binutils-2.22/ld/testsuite/ld-sh/tlsbin-2.d
-+++ binutils-2.22/ld/testsuite/ld-sh/tlsbin-2.d
-@@ -44,6 +44,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections\.\.\.
-@@ -53,6 +54,7 @@ Program Headers:
- +03 +\.tdata \.dynamic \.got *
- +04 +\.dynamic *
- +05 +\.tdata \.tbss *
-+ +06 +
-
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
- Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d
-+++ binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d
-@@ -32,7 +32,7 @@ Key to Flags:
-
- Elf file type is DYN \(Shared object file\)
- Entry point 0x[0-9a-f]+
--There are 4 program headers, starting at offset [0-9]+
-+There are [0-9] program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-@@ -40,6 +40,7 @@ Program Headers:
- +LOAD.*
- +DYNAMIC.*
- +TLS .* 0x0+18 0x0+20 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections\.\.\.
-@@ -47,6 +48,7 @@ Program Headers:
- +01 +\.tdata \.dynamic \.got *
- +02 +\.dynamic *
- +03 +\.tdata \.tbss *
-+ +04 +
-
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
- Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd
-@@ -31,6 +31,7 @@ Program Headers:
- +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
- +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
- +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd
-@@ -31,6 +31,7 @@ Program Headers:
- +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
- +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
- +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd
-@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
-- +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4
-- +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4
-+ +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
- +LOAD .* R E 0x10000
- +LOAD .* RW +0x10000
- +DYNAMIC .* RW +0x4
- +TLS .* 0x0+1060 0x0+10a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd
-@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-
- Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8
-- +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1
-+ +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8
-+ +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1
- .*Requesting program interpreter.*
- +LOAD .* R E 0x100000
- +LOAD .* RW +0x100000
- +DYNAMIC .* RW +0x8
- +TLS .* 0x0+60 0x0+a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd
-@@ -32,6 +32,7 @@ Program Headers:
- +LOAD .* RW +0x10000
- +DYNAMIC .* RW +0x4
- +TLS .* 0x0+ 0x0+24 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd
-@@ -32,6 +32,7 @@ Program Headers:
- +LOAD .* RW +0x100000
- +DYNAMIC .* RW +0x8
- +TLS .* 0x0+ 0x0+24 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd
-@@ -36,6 +36,7 @@ Program Headers:
- +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
- +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
- +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd
-+++ binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd
-@@ -36,6 +36,7 @@ Program Headers:
- +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
- +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
- +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.22/ld/testsuite/ld-x86-64/protected3.d
-+++ binutils-2.22/ld/testsuite/ld-x86-64/protected3.d
-@@ -8,6 +8,6 @@
- Disassembly of section .text:
-
- 0+[a-f0-9]+ <bar>:
--[ ]*[a-f0-9]+: 8b 05 [a-f0-9][a-f0-9] 00 [a-f0-9][a-f0-9] 00 mov 0x[a-f0-9]+\(%rip\),%eax # [a-f0-9]+ <foo>
-+[ ]*[a-f0-9]+: 8b 05 [a-f0-9][a-f0-9] [a-f0-9][a-f0-9] [a-f0-9][a-f0-9] 00 mov 0x[a-f0-9]+\(%rip\),%eax # [a-f0-9]+ <foo>
- [ ]*[a-f0-9]+: c3 retq
- #pass
---- binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd
-+++ binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd
-@@ -36,12 +36,14 @@ Program Headers:
- +LOAD.*
- +LOAD.*
- +DYNAMIC.*
-+ +PAX_FLAGS.*
-
- Section to Segment mapping:
- +Segment Sections...
- +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
- +01 +.dynamic .got .got.plt *
- +02 +.dynamic *
-+ +03 +
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
- +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd
-+++ binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
- +LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000
- +DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8
- +TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-
- Section to Segment mapping:
- +Segment Sections...
-@@ -47,6 +48,7 @@ Program Headers:
- +01 +.tdata .dynamic .got .got.plt *
- +02 +.dynamic *
- +03 +.tdata .tbss *
-+ +04 +
-
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
- +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
--- /dev/null
+--- binutils-2.24/bfd/elf-bfd.h
++++ binutils-2.24/bfd/elf-bfd.h
+@@ -1577,6 +1577,9 @@ struct elf_obj_tdata
+ /* Segment flags for the PT_GNU_STACK segment. */
+ unsigned int stack_flags;
+
++ /* Segment flags for the PT_PAX_FLAGS segment. */
++ unsigned int pax_flags;
++
+ /* This is set to TRUE if the object was created by the backend
+ linker. */
+ bfd_boolean linker;
+@@ -1707,6 +1707,7 @@
+ #define elf_eh_frame_hdr(bfd) (elf_tdata(bfd) -> o->eh_frame_hdr)
+ #define elf_linker(bfd) (elf_tdata(bfd) -> o->linker)
+ #define elf_stack_flags(bfd) (elf_tdata(bfd) -> o->stack_flags)
++#define elf_pax_flags(bfd) (elf_tdata(bfd) -> o->pax_flags)
+ #define elf_shstrtab(bfd) (elf_tdata(bfd) -> o->strtab_ptr)
+ #define elf_onesymtab(bfd) (elf_tdata(bfd) -> symtab_section)
+ #define elf_symtab_shndx(bfd) (elf_tdata(bfd) -> symtab_shndx_section)
+--- binutils-2.24/bfd/elf.c
++++ binutils-2.24/bfd/elf.c
+@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
+ case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
+ case PT_GNU_STACK: pt = "STACK"; break;
+ case PT_GNU_RELRO: pt = "RELRO"; break;
++ case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
+ default: pt = NULL; break;
+ }
+ return pt;
+@@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
+ case PT_GNU_RELRO:
+ return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
+
++ case PT_PAX_FLAGS:
++ return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
++
+ default:
+ /* Check for any processor-specific program segment types. */
+ bed = get_elf_backend_data (abfd);
+@@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
+ ++segs;
+ }
+
++ {
++ /* We need a PT_PAX_FLAGS segment. */
++ ++segs;
++ }
++
+ for (s = abfd->sections; s != NULL; s = s->next)
+ {
+ if ((s->flags & SEC_LOAD) != 0
+@@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
+ }
+ }
+
++ {
++ amt = sizeof (struct elf_segment_map);
++ m = bfd_zalloc (abfd, amt);
++ if (m == NULL)
++ goto error_return;
++ m->next = NULL;
++ m->p_type = PT_PAX_FLAGS;
++ m->p_flags = elf_pax_flags (abfd);
++ m->p_flags_valid = 1;
++
++ *pm = m;
++ pm = &m->next;
++ }
++
+ free (sections);
+ elf_tdata (abfd)->segment_map = mfirst;
+ }
+@@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
+ 6. PT_TLS segment includes only SHF_TLS sections.
+ 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
+ 8. PT_DYNAMIC should not contain empty sections at the beginning
+- (with the possible exception of .dynamic). */
++ (with the possible exception of .dynamic).
++ 9. PT_PAX_FLAGS segments do not include any sections. */
+ #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \
+ ((((segment->p_paddr \
+ ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
+@@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
+ && (section->flags & SEC_ALLOC) != 0) \
+ || IS_NOTE (segment, section)) \
+ && segment->p_type != PT_GNU_STACK \
++ && segment->p_type != PT_PAX_FLAGS \
+ && (segment->p_type != PT_TLS \
+ || (section->flags & SEC_THREAD_LOCAL)) \
+ && (segment->p_type == PT_LOAD \
+--- binutils-2.24/bfd/elflink.c
++++ binutils-2.24/bfd/elflink.c
+@@ -5545,17 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
+ && ! (*bed->elf_backend_always_size_sections) (output_bfd, info))
+ return FALSE;
+
++ elf_pax_flags (output_bfd) = PF_NORANDEXEC;
++ if (info->execheap)
++ elf_pax_flags (output_bfd) |= PF_NOMPROTECT;
++ else if (info->noexecheap)
++ elf_pax_flags (output_bfd) |= PF_MPROTECT;
++
+ /* Determine any GNU_STACK segment requirements, after the backend
+ has had a chance to set a default segment size. */
+ if (info->execstack)
+- elf_stack_flags (output_bfd) = PF_R | PF_W | PF_X;
++ {
++ elf_stack_flags (output_bfd) = PF_R | PF_W | PF_X;
++ elf_pax_flags (output_bfd) |= PF_EMUTRAMP;
++ }
+ else if (info->noexecstack)
+- elf_stack_flags (output_bfd) = PF_R | PF_W;
++ {
++ elf_stack_flags (output_bfd) = PF_R | PF_W;
++ elf_pax_flags (output_bfd) |= PF_NOEMUTRAMP;
++ }
+ else
+ {
+ bfd *inputobj;
+ asection *notesec = NULL;
+ int exec = 0;
+
++ elf_pax_flags (output_bfd) |= PF_NOEMUTRAMP;
+ for (inputobj = info->input_bfds;
+ inputobj;
+ inputobj = inputobj->link_next)
+@@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
+ if (s)
+ {
+ if (s->flags & SEC_CODE)
+- exec = PF_X;
++ {
++ elf_pax_flags (output_bfd) &= ~PF_NOEMUTRAMP;
++ elf_pax_flags (output_bfd) |= PF_EMUTRAMP;
++ exec = PF_X;
++ }
+ notesec = s;
+ }
+ else if (bed->default_execstack)
+--- binutils-2.24/binutils/readelf.c
++++ binutils-2.24/binutils/readelf.c
+@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
+ return "GNU_EH_FRAME";
+ case PT_GNU_STACK: return "GNU_STACK";
+ case PT_GNU_RELRO: return "GNU_RELRO";
++ case PT_PAX_FLAGS: return "PAX_FLAGS";
+
+ default:
+ if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
+--- binutils-2.24/include/bfdlink.h
++++ binutils-2.24/include/bfdlink.h
+@@ -322,6 +322,14 @@ struct bfd_link_info
+ /* TRUE if PT_GNU_RELRO segment should be created. */
+ unsigned int relro: 1;
+
++ /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
++ flags. */
++ unsigned int execheap: 1;
++
++ /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
++ flags. */
++ unsigned int noexecheap: 1;
++
+ /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
+ should be created. */
+ unsigned int eh_frame_hdr: 1;
+--- binutils-2.24/include/elf/common.h
++++ binutils-2.24/include/elf/common.h
+@@ -429,6 +429,7 @@
+ #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */
+ #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
+ #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */
++#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */
+
+ /* Program segment permissions, in program header p_flags field. */
+
+@@ -439,6 +440,21 @@
+ #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */
+ #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */
+
++/* Flags to control PaX behavior. */
++
++#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
++#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
++#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
++#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
++#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
++#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
++#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
++#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
++#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
++#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
++#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
++#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
++
+ /* Values for section header, sh_type field. */
+
+ #define SHT_NULL 0 /* Section header table entry unused */
+--- binutils-2.24/ld/emultempl/elf32.em
++++ binutils-2.24/ld/emultempl/elf32.em
+@@ -2285,6 +2285,16 @@ fragment <<EOF
+ link_info.noexecstack = TRUE;
+ link_info.execstack = FALSE;
+ }
++ else if (strcmp (optarg, "execheap") == 0)
++ {
++ link_info.execheap = TRUE;
++ link_info.noexecheap = FALSE;
++ }
++ else if (strcmp (optarg, "noexecheap") == 0)
++ {
++ link_info.noexecheap = TRUE;
++ link_info.execheap = FALSE;
++ }
+ EOF
+ if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
+ fragment <<EOF
+@@ -2368,6 +2378,8 @@ fragment <<EOF
+ -z defs Report unresolved symbols in object files.\n"));
+ fprintf (file, _("\
+ -z execstack Mark executable as requiring executable stack\n"));
++ fprintf (file, _("\
++ -z execheap Mark executable as requiring executable heap\n"));
+ EOF
+
+ if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
+@@ -2391,6 +2403,8 @@ fragment <<EOF
+ fragment <<EOF
+ fprintf (file, _("\
+ -z noexecstack Mark executable as not requiring executable stack\n"));
++ fprintf (file, _("\
++ -z noexecheap Mark executable as not requiring executable heap\n"));
+ EOF
+ if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
+ fragment <<EOF
+--- binutils-2.24/ld/ldgram.y
++++ binutils-2.24/ld/ldgram.y
+@@ -1119,6 +1119,8 @@ phdr_type:
+ $$ = exp_intop (0x6474e550);
+ else if (strcmp (s, "PT_GNU_STACK") == 0)
+ $$ = exp_intop (0x6474e551);
++ else if (strcmp (s, "PT_PAX_FLAGS") == 0)
++ $$ = exp_intop (0x65041580);
+ else
+ {
+ einfo (_("\
+--- binutils-2.24/ld/testsuite/ld-alpha/tlsbin.rd
++++ binutils-2.24/ld/testsuite/ld-alpha/tlsbin.rd
+@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+
+ Program Headers:
+ Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+- PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8
++ PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8
+ INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
+ .*Requesting program interpreter.*
+ LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
+ LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+ DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
+ TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
+--- binutils-2.24/ld/testsuite/ld-alpha/tlsbinr.rd
++++ binutils-2.24/ld/testsuite/ld-alpha/tlsbinr.rd
+@@ -42,6 +42,7 @@ Program Headers:
+ +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+ +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
+--- binutils-2.24/ld/testsuite/ld-alpha/tlspic.rd
++++ binutils-2.24/ld/testsuite/ld-alpha/tlspic.rd
+@@ -38,6 +38,7 @@ Program Headers:
+ +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
+ +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
+ +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
+--- binutils-2.24/ld/testsuite/ld-elf/eh1.d
++++ binutils-2.24/ld/testsuite/ld-elf/eh1.d
+@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
+ DW_CFA_nop
+ DW_CFA_nop
+
+-0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
+- DW_CFA_advance_loc: 0 to 0+400078
++0+0018 0+001c 0+001c FDE cie=0+0000 pc=([0-9a-f]+)..\1
++ DW_CFA_advance_loc: 0 to [0-9a-f]+
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_offset: r6 \(rbp\) at cfa-16
+- DW_CFA_advance_loc: 0 to 0+400078
++ DW_CFA_advance_loc: 0 to [0-9a-f]+
+ DW_CFA_def_cfa_register: r6 \(rbp\)
+
+ 0+0038 ZERO terminator
+--- binutils-2.24/ld/testsuite/ld-elf/eh2.d
++++ binutils-2.24/ld/testsuite/ld-elf/eh2.d
+@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
+ DW_CFA_nop
+ DW_CFA_nop
+
+-0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
+- DW_CFA_advance_loc: 0 to 0+400078
++0+0018 0+001c 0+001c FDE cie=0+0000 pc=([0-9a-f]+)..\1
++ DW_CFA_advance_loc: 0 to [0-9a-f]+
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_offset: r6 \(rbp\) at cfa-16
+- DW_CFA_advance_loc: 0 to 0+400078
++ DW_CFA_advance_loc: 0 to [0-9a-f]+
+ DW_CFA_def_cfa_register: r6 \(rbp\)
+
+ 0+0038 ZERO terminator
+--- binutils-2.24/ld/testsuite/ld-elf/eh3.d
++++ binutils-2.24/ld/testsuite/ld-elf/eh3.d
+@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
+ DW_CFA_nop
+ DW_CFA_nop
+
+-0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
+- DW_CFA_advance_loc: 0 to 0+400078
++0+0018 0+001c 0+001c FDE cie=0+0000 pc=([0-9a-f]+)..\1
++ DW_CFA_advance_loc: 0 to [0-9a-f]+
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_offset: r6 \(rbp\) at cfa-16
+- DW_CFA_advance_loc: 0 to 0+400078
++ DW_CFA_advance_loc: 0 to [0-9a-f]+
+ DW_CFA_def_cfa_register: r6 \(rbp\)
+
+ 0+0038 ZERO terminator
+--- binutils-2.24/ld/testsuite/ld-elf/orphan-region.d
++++ binutils-2.24/ld/testsuite/ld-elf/orphan-region.d
+@@ -15,7 +15,9 @@
+ Program Headers:
+ Type.*
+ LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ Segment Sections...
+ 00 .text .rodata .moredata *
++ 01 +
+--- binutils-2.24/ld/testsuite/ld-i386/tlsbin.rd
++++ binutils-2.24/ld/testsuite/ld-i386/tlsbin.rd
+@@ -44,6 +44,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -53,6 +54,7 @@ Program Headers:
+ +03 +.tdata .dynamic .got .got.plt *
+ +04 +.dynamic *
+ +05 +.tdata .tbss *
++ +06 +
+
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.24/ld/testsuite/ld-i386/tlsbindesc.rd
++++ binutils-2.24/ld/testsuite/ld-i386/tlsbindesc.rd
+@@ -42,6 +42,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -51,6 +52,7 @@ Program Headers:
+ +03 +.tdata .dynamic .got .got.plt *
+ +04 +.dynamic *
+ +05 +.tdata .tbss *
++ +06 +
+
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.24/ld/testsuite/ld-i386/tlsdesc.rd
++++ binutils-2.24/ld/testsuite/ld-i386/tlsdesc.rd
+@@ -39,6 +39,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -46,6 +47,7 @@ Program Headers:
+ +01 +.tdata .dynamic .got .got.plt *
+ +02 +.dynamic *
+ +03 +.tdata .tbss *
++ +04 +
+
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.24/ld/testsuite/ld-i386/tlsgdesc.rd
++++ binutils-2.24/ld/testsuite/ld-i386/tlsgdesc.rd
+@@ -36,12 +36,14 @@ Program Headers:
+ +LOAD.*
+ +LOAD.*
+ +DYNAMIC.*
++ +PAX_FLAGS.*
+
+ Section to Segment mapping:
+ +Segment Sections...
+ +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
+ +01 +.dynamic .got .got.plt *
+ +02 +.dynamic *
++ +03 +
+
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.24/ld/testsuite/ld-i386/tlsnopic.rd
++++ binutils-2.24/ld/testsuite/ld-i386/tlsnopic.rd
+@@ -37,6 +37,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -44,6 +45,7 @@ Program Headers:
+ +01 +.dynamic .got .got.plt *
+ +02 +.dynamic *
+ +03 +.tbss *
++ +04 +
+
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.24/ld/testsuite/ld-i386/tlspic.rd
++++ binutils-2.24/ld/testsuite/ld-i386/tlspic.rd
+@@ -40,6 +40,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -47,6 +48,7 @@ Program Headers:
+ +01 +.tdata .dynamic .got .got.plt *
+ +02 +.dynamic *
+ +03 +.tdata .tbss *
++ +04 +
+
+ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name
+--- binutils-2.24/ld/testsuite/ld-ia64/merge1.d
++++ binutils-2.24/ld/testsuite/ld-ia64/merge1.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+
+ #...
+-0+1e0 <.text>:
++[a-f0-9]+ <.text>:
+ [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+ [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
+ [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+--- binutils-2.24/ld/testsuite/ld-ia64/merge2.d
++++ binutils-2.24/ld/testsuite/ld-ia64/merge2.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+
+ #...
+-0+1e0 <.text>:
++[a-f0-9]+ <.text>:
+ [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+ [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
+ [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+--- binutils-2.24/ld/testsuite/ld-ia64/merge3.d
++++ binutils-2.24/ld/testsuite/ld-ia64/merge3.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+
+ #...
+-0+210 <.text>:
++[a-f0-9]+ <.text>:
+ [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+ [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
+ [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+--- binutils-2.24/ld/testsuite/ld-ia64/merge4.d
++++ binutils-2.24/ld/testsuite/ld-ia64/merge4.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+
+ #...
+-0+240 <.text>:
++[a-f0-9]+ <.text>:
+ [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+ [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
+ [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+--- binutils-2.24/ld/testsuite/ld-ia64/merge5.d
++++ binutils-2.24/ld/testsuite/ld-ia64/merge5.d
+@@ -4,7 +4,7 @@
+ #objdump: -d
+
+ #...
+-0+270 <.text>:
++[a-f0-9]+ <.text>:
+ [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+ [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
+ [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+--- binutils-2.24/ld/testsuite/ld-ia64/tlsbin.rd
++++ binutils-2.24/ld/testsuite/ld-ia64/tlsbin.rd
+@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+
+ Program Headers:
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+- +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
+- +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
++ +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8
++ +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
+ .*Requesting program interpreter.*
+ +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
+ +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
+ +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
+ +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ +IA_64_UNWIND .* R +0x8
+ #...
+
+--- binutils-2.24/ld/testsuite/ld-ia64/tlspic.rd
++++ binutils-2.24/ld/testsuite/ld-ia64/tlspic.rd
+@@ -40,6 +40,7 @@ Program Headers:
+ +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
+ +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
+ +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
+ #...
+
+--- binutils-2.24/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
++++ binutils-2.24/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
+@@ -8,9 +8,9 @@
+ .*: +file format.*
+
+ Disassembly of section \.text:
+-004000b0 <[^>]*> 3c1c0043 lui gp,0x43
+-004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
+-004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
++004000d0 <[^>]*> 3c1c0043 lui gp,0x43
++004000d4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
++004000d8 <[^>]*> afbc0008 sw gp,8\(sp\)
+ #...
+ 00408d60 <[^>]*> 3c1c0043 lui gp,0x43
+ 00408d64 <[^>]*> 279c2c98 addiu gp,gp,11416
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is DYN \(Shared object file\)
+ Entry point .*
+-There are 5 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -9,6 +9,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
+ * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -18,3 +19,4 @@ Program Headers:
+ *0*2 * \.data \.got *
+ *0*3 * \.dynamic *
+ *0*4 *
++ *0*5 *
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+ *0*5 *\.got \.data *
+ *0*6 *\.dynamic *
+ *0*7 *
++ *0*8 *
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+ *0*5 * \.got \.data \.bss *
+ *0*6 * \.dynamic *
+ *0*7 *
++ *0*8 *
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+ *0*5 * \.got \.data \.bss *
+ *0*6 * \.dynamic *
+ *0*7 *
++ *0*8 *
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+ *0*5 * \.got \.data \.bss *
+ *0*6 * \.dynamic *
+ *0*7 *
++ *0*8 *
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 7 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -12,6 +12,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -23,3 +24,4 @@ Program Headers:
+ *0*4 * \.got \.data \.bss *
+ *0*5 * \.dynamic *
+ *0*6 *
++ *0*7 *
+--- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
++++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
+@@ -1,7 +1,7 @@
+
+ Elf file type is EXEC \(Executable file\)
+ Entry point 0x44000
+-There are 8 program headers, starting at offset .*
++There are [0-9] program headers, starting at offset .*
+
+ Program Headers:
+ * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
+@@ -13,6 +13,7 @@ Program Headers:
+ * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
+ * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ * NULL * .*
+
+ *Section to Segment mapping:
+@@ -25,3 +26,4 @@ Program Headers:
+ *0*5 * \.got \.data \.bss *
+ *0*6 * \.dynamic *
+ *0*7 *
++ *0*8 *
+--- binutils-2.24/ld/testsuite/ld-powerpc/tlsexe32.r
++++ binutils-2.24/ld/testsuite/ld-powerpc/tlsexe32.r
+@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+
+ Program Headers:
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
+- +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4
+- +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1
++ +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4
++ +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1
+ +\[Requesting program interpreter: .*\]
+ +LOAD .* R E 0x10000
+ +LOAD .* RWE 0x10000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0001c 0x00038 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections\.\.\.
+@@ -49,6 +50,7 @@ Program Headers:
+ +03 +\.tdata \.dynamic \.got \.plt
+ +04 +\.dynamic
+ +05 +\.tdata \.tbss
++ +06 +
+
+ Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
+ Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-powerpc/tlsso32.r
++++ binutils-2.24/ld/testsuite/ld-powerpc/tlsso32.r
+@@ -35,6 +35,7 @@ Program Headers:
+ +LOAD .* RWE 0x10000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0+1c 0x0+38 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections\.\.\.
+@@ -42,6 +43,7 @@ Program Headers:
+ +01 +\.tdata \.dynamic \.got \.plt
+ +02 +\.dynamic
+ +03 +\.tdata \.tbss
++ +04 +
+
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
+ Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
+@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
+ [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
+ [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
+ [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
+-[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
+-[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
+-[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
++[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
++[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
++[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
+ [0-9a-f ]+R_PPC_DTPMOD32 +0
+ [0-9a-f ]+R_PPC_DTPREL32 +0
+ [0-9a-f ]+R_PPC_DTPMOD32 +0
+--- binutils-2.24/ld/testsuite/ld-s390/tlsbin.rd
++++ binutils-2.24/ld/testsuite/ld-s390/tlsbin.rd
+@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ +LOAD .* RW +0x1000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0+60 0x0+a0 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -52,6 +53,7 @@ Program Headers:
+ +03 +.tdata .dynamic .got *
+ +04 +.dynamic *
+ +05 +.tdata .tbss *
++ +06 +
+
+ Relocation section '.rela.dyn' at offset .* contains 4 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-s390/tlsbin_64.rd
++++ binutils-2.24/ld/testsuite/ld-s390/tlsbin_64.rd
+@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+ +LOAD .* RW +0x1000
+ +DYNAMIC .* RW +0x8
+ +TLS .* 0x0+60 0x0+a0 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -52,6 +53,7 @@ Program Headers:
+ +03 +.tdata .dynamic .got *
+ +04 +.dynamic *
+ +05 +.tdata .tbss *
++ +06 +
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+ +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-s390/tlspic.rd
++++ binutils-2.24/ld/testsuite/ld-s390/tlspic.rd
+@@ -39,6 +39,7 @@ Program Headers:
+ +LOAD .* RW +0x1000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0+60 0x0+80 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -46,6 +47,7 @@ Program Headers:
+ +01 +.tdata .dynamic .got
+ +02 +.dynamic
+ +03 +.tdata .tbss
++ +04 +
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+ Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-s390/tlspic_64.rd
++++ binutils-2.24/ld/testsuite/ld-s390/tlspic_64.rd
+@@ -39,6 +39,7 @@ Program Headers:
+ +LOAD .* RW +0x1000
+ +DYNAMIC .* RW +0x8
+ +TLS .* 0x0+60 0x0+80 R +0x20
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -46,6 +47,7 @@ Program Headers:
+ +01 +.tdata .dynamic .got *
+ +02 +.dynamic *
+ +03 +.tdata .tbss *
++ +04 +
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+ +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-sh/tlsbin-2.d
++++ binutils-2.24/ld/testsuite/ld-sh/tlsbin-2.d
+@@ -44,6 +44,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections\.\.\.
+@@ -53,6 +54,7 @@ Program Headers:
+ +03 +\.tdata \.dynamic \.got *
+ +04 +\.dynamic *
+ +05 +\.tdata \.tbss *
++ +06 +
+
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+ Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-sh/tlspic-2.d
++++ binutils-2.24/ld/testsuite/ld-sh/tlspic-2.d
+@@ -32,7 +32,7 @@ Key to Flags:
+
+ Elf file type is DYN \(Shared object file\)
+ Entry point 0x[0-9a-f]+
+-There are 4 program headers, starting at offset [0-9]+
++There are [0-9] program headers, starting at offset [0-9]+
+
+ Program Headers:
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+@@ -40,6 +40,7 @@ Program Headers:
+ +LOAD.*
+ +DYNAMIC.*
+ +TLS .* 0x0+18 0x0+20 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections\.\.\.
+@@ -47,6 +48,7 @@ Program Headers:
+ +01 +\.tdata \.dynamic \.got *
+ +02 +\.dynamic *
+ +03 +\.tdata \.tbss *
++ +04 +
+
+ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
+ Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-sparc/gotop32.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/gotop32.rd
+@@ -31,6 +31,7 @@ Program Headers:
+ +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
+ +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
+ +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/gotop64.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/gotop64.rd
+@@ -31,6 +31,7 @@ Program Headers:
+ +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
+ +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
+ +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/tlssunbin32.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/tlssunbin32.rd
+@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+
+ Program Headers:
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
+- +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4
+- +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1
++ +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4
++ +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1
+ .*Requesting program interpreter.*
+ +LOAD .* R E 0x10000
+ +LOAD .* RW +0x10000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0+1060 0x0+10a0 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/tlssunbin64.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/tlssunbin64.rd
+@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
+
+ Program Headers:
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
+- +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8
+- +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1
++ +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8
++ +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1
+ .*Requesting program interpreter.*
+ +LOAD .* R E 0x100000
+ +LOAD .* RW +0x100000
+ +DYNAMIC .* RW +0x8
+ +TLS .* 0x0+60 0x0+a0 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic32.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic32.rd
+@@ -32,6 +32,7 @@ Program Headers:
+ +LOAD .* RW +0x10000
+ +DYNAMIC .* RW +0x4
+ +TLS .* 0x0+ 0x0+24 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic64.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic64.rd
+@@ -32,6 +32,7 @@ Program Headers:
+ +LOAD .* RW +0x100000
+ +DYNAMIC .* RW +0x8
+ +TLS .* 0x0+ 0x0+24 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/tlssunpic32.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/tlssunpic32.rd
+@@ -36,6 +36,7 @@ Program Headers:
+ +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
+ +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
+ +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+--- binutils-2.24/ld/testsuite/ld-sparc/tlssunpic64.rd
++++ binutils-2.24/ld/testsuite/ld-sparc/tlssunpic64.rd
+@@ -36,6 +36,7 @@ Program Headers:
+ +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
+ +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
+ +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+ #...
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+--- binutils-2.24/ld/testsuite/ld-x86-64/tlsgdesc.rd
++++ binutils-2.24/ld/testsuite/ld-x86-64/tlsgdesc.rd
+@@ -36,12 +36,14 @@ Program Headers:
+ +LOAD.*
+ +LOAD.*
+ +DYNAMIC.*
++ +PAX_FLAGS.*
+
+ Section to Segment mapping:
+ +Segment Sections...
+ +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
+ +01 +.dynamic .got .got.plt *
+ +02 +.dynamic *
++ +03 +
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
+ +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+--- binutils-2.24/ld/testsuite/ld-x86-64/tlspic.rd
++++ binutils-2.24/ld/testsuite/ld-x86-64/tlspic.rd
+@@ -40,6 +40,7 @@ Program Headers:
+ +LOAD +0x0+131a 0x0+20131a 0x0+20131a 0x0+246 0x0+246 RW +0x200000
+ +DYNAMIC +0x0+1380 0x0+201380 0x0+201380 0x0+130 0x0+130 RW +0x8
+ +TLS +0x0+131a 0x0+20131a 0x0+20131a 0x0+60 0x0+80 R +0x1
++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
+
+ Section to Segment mapping:
+ +Segment Sections...
+@@ -47,6 +48,7 @@ Program Headers:
+ +01 +.tdata .dynamic .got .got.plt *
+ +02 +.dynamic *
+ +03 +.tdata .tbss *
++ +04 +
+
+ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+ +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
--- /dev/null
+From fa14bec83b2db010fd076910fddab56957b9375d Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 20 Dec 2015 17:12:16 +0000
+Subject: [PATCH] Major tidy up of EDNS0 handling and computation/use of udp
+ packet size.
+
+---
+ src/auth.c | 8 ++-
+ src/dnsmasq.h | 7 ++-
+ src/dnssec.c | 1 -
+ src/forward.c | 184 ++++++++++++++++++++++++++++++++++++++++----------------
+ src/netlink.c | 3 +-
+ src/rfc1035.c | 81 +++++++------------------
+ src/rrfilter.c | 2 +-
+ 7 files changed, 168 insertions(+), 118 deletions(-)
+
+diff --git a/src/auth.c b/src/auth.c
+index 2b0b7d6..85bd5e7 100644
+--- a/src/auth.c
++++ b/src/auth.c
+@@ -81,7 +81,8 @@ int in_zone(struct auth_zone *zone, char *name, char **cut)
+ }
+
+
+-size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t now, union mysockaddr *peer_addr, int local_query)
++size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t now, union mysockaddr *peer_addr,
++ int local_query, int do_bit, int have_pseudoheader)
+ {
+ char *name = daemon->namebuff;
+ unsigned char *p, *ansp;
+@@ -820,6 +821,11 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
+ header->ancount = htons(anscount);
+ header->nscount = htons(authcount);
+ header->arcount = htons(0);
++
++ /* Advertise our packet size limit in our reply */
++ if (have_pseudoheader)
++ return add_pseudoheader(header, ansp - (unsigned char *)header, (unsigned char *)limit, daemon->edns_pktsz, 0, NULL, 0, do_bit);
++
+ return ansp - (unsigned char *)header;
+ }
+
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index 39a930c..abb34c5 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -1113,7 +1113,7 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *namebuff,
+ int no_cache, int secure, int *doctored);
+ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+ struct in_addr local_addr, struct in_addr local_netmask,
+- time_t now, int *ad_reqd, int *do_bit);
++ time_t now, int ad_reqd, int do_bit, int have_pseudoheader);
+ int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name,
+ struct bogus_addr *addr, time_t now);
+ int check_for_ignored_address(struct dns_header *header, size_t qlen, struct bogus_addr *baddr);
+@@ -1123,6 +1123,8 @@ int check_for_local_domain(char *name, time_t now);
+ unsigned int questions_crc(struct dns_header *header, size_t plen, char *buff);
+ size_t resize_packet(struct dns_header *header, size_t plen,
+ unsigned char *pheader, size_t hlen);
++size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned char *limit,
++ unsigned short udp_sz, int optno, unsigned char *opt, size_t optlen, int set_do);
+ size_t add_mac(struct dns_header *header, size_t plen, char *limit, union mysockaddr *l3);
+ size_t add_source_addr(struct dns_header *header, size_t plen, char *limit, union mysockaddr *source);
+ #ifdef HAVE_DNSSEC
+@@ -1141,7 +1143,8 @@ int private_net(struct in_addr addr, int ban_localhost);
+ /* auth.c */
+ #ifdef HAVE_AUTH
+ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen,
+- time_t now, union mysockaddr *peer_addr, int local_query);
++ time_t now, union mysockaddr *peer_addr, int local_query,
++ int do_bit, int have_pseudoheader);
+ int in_zone(struct auth_zone *zone, char *name, char **cut);
+ #endif
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 82394ee..299ca64 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -67,7 +67,6 @@ static char *algo_digest_name(int algo)
+ case 12: return "gosthash94";
+ case 13: return "sha256";
+ case 14: return "sha384";
+-
+ default: return NULL;
+ }
+ }
+diff --git a/src/forward.c b/src/forward.c
+index 3e801c8..041353c 100644
+--- a/src/forward.c
++++ b/src/forward.c
+@@ -244,7 +244,6 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
+ void *hash = &crc;
+ #endif
+ unsigned int gotname = extract_request(header, plen, daemon->namebuff, NULL);
+- unsigned char *pheader;
+
+ (void)do_bit;
+
+@@ -264,7 +263,8 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
+ there's no point retrying the query, retry the key query instead...... */
+ if (forward->blocking_query)
+ {
+- int fd;
++ int fd, is_sign;
++ unsigned char *pheader;
+
+ forward->flags &= ~FREC_TEST_PKTSZ;
+
+@@ -276,8 +276,8 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
+ blockdata_retrieve(forward->stash, forward->stash_len, (void *)header);
+ plen = forward->stash_len;
+
+- if (find_pseudoheader(header, plen, NULL, &pheader, NULL))
+- PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : forward->sentto->edns_pktsz, pheader);
++ if (find_pseudoheader(header, plen, NULL, &pheader, &is_sign) && !is_sign)
++ PUTSHORT(SAFE_PKTSZ, pheader);
+
+ if (forward->sentto->addr.sa.sa_family == AF_INET)
+ log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec");
+@@ -394,32 +394,40 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
+ forward->log_id = daemon->log_id;
+
+ if (option_bool(OPT_ADD_MAC))
+- plen = add_mac(header, plen, ((char *) header) + daemon->packet_buff_sz, &forward->source);
+-
++ {
++ size_t new = add_mac(header, plen, ((char *) header) + daemon->packet_buff_sz, &forward->source);
++ if (new != plen)
++ {
++ plen = new;
++ forward->flags |= FREC_ADDED_PHEADER;
++ }
++ }
++
+ if (option_bool(OPT_CLIENT_SUBNET))
+ {
+ size_t new = add_source_addr(header, plen, ((char *) header) + daemon->packet_buff_sz, &forward->source);
+ if (new != plen)
+ {
+ plen = new;
+- forward->flags |= FREC_HAS_SUBNET;
++ forward->flags |= FREC_HAS_SUBNET | FREC_ADDED_PHEADER;
+ }
+ }
+
+ #ifdef HAVE_DNSSEC
+ if (option_bool(OPT_DNSSEC_VALID))
+ {
+- size_t new_plen = add_do_bit(header, plen, ((char *) header) + daemon->packet_buff_sz);
++ size_t new = add_do_bit(header, plen, ((char *) header) + daemon->packet_buff_sz);
+
++ if (new != plen)
++ forward->flags |= FREC_ADDED_PHEADER;
++
++ plen = new;
++
+ /* For debugging, set Checking Disabled, otherwise, have the upstream check too,
+ this allows it to select auth servers when one is returning bad data. */
+ if (option_bool(OPT_DNSSEC_DEBUG))
+ header->hb4 |= HB4_CD;
+
+- if (new_plen != plen)
+- forward->flags |= FREC_ADDED_PHEADER;
+-
+- plen = new_plen;
+ }
+ #endif
+
+@@ -469,10 +477,23 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
+ }
+ #endif
+ }
+-
+- if (find_pseudoheader(header, plen, NULL, &pheader, NULL))
+- PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : start->edns_pktsz, pheader);
+
++#ifdef HAVE_DNSSEC
++ if (option_bool(OPT_DNSSEC_VALID) && !do_bit)
++ {
++ /* Difficult one here. If our client didn't send EDNS0, we will have set the UDP
++ packet size to 512. But that won't provide space for the RRSIGS in many cases.
++ The RRSIGS will be stripped out before the answer goes back, so the packet should
++ shrink again. So, if we added a do-bit, bump the udp packet size to the value
++ known to be OK for this server. Maybe check returned size after stripping and set
++ the truncated bit? */
++ unsigned char *pheader;
++ int is_sign;
++ if (find_pseudoheader(header, plen, NULL, &pheader, &is_sign))
++ PUTSHORT(start->edns_pktsz, pheader);
++ }
++#endif
++
+ if (retry_send(sendto(fd, (char *)header, plen, 0,
+ &start->addr.sa,
+ sa_len(&start->addr))))
+@@ -563,30 +584,34 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
+ }
+ #endif
+
+- /* If upstream is advertising a larger UDP packet size
+- than we allow, trim it so that we don't get overlarge
+- requests for the client. We can't do this for signed packets. */
+-
+ if ((pheader = find_pseudoheader(header, n, &plen, &sizep, &is_sign)))
+ {
+- unsigned short udpsz;
+- unsigned char *psave = sizep;
+-
+- GETSHORT(udpsz, sizep);
+-
+- if (!is_sign && udpsz > daemon->edns_pktsz)
+- PUTSHORT(daemon->edns_pktsz, psave);
+-
+ if (check_subnet && !check_source(header, plen, pheader, query_source))
+ {
+ my_syslog(LOG_WARNING, _("discarding DNS reply: subnet option mismatch"));
+ return 0;
+ }
+
+- if (added_pheader)
++ if (!is_sign)
+ {
+- pheader = 0;
+- header->arcount = htons(0);
++ if (added_pheader)
++ {
++ /* client didn't send EDNS0, we added one, strip it off before returning answer. */
++ n = rrfilter(header, n, 0);
++ pheader = NULL;
++ }
++ else
++ {
++ /* If upstream is advertising a larger UDP packet size
++ than we allow, trim it so that we don't get overlarge
++ requests for the client. We can't do this for signed packets. */
++ unsigned short udpsz;
++ unsigned char *psave = sizep;
++
++ GETSHORT(udpsz, sizep);
++ if (udpsz > daemon->edns_pktsz)
++ PUTSHORT(daemon->edns_pktsz, psave);
++ }
+ }
+ }
+
+@@ -655,14 +680,16 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
+ }
+
+ if (option_bool(OPT_DNSSEC_VALID))
+- header->hb4 &= ~HB4_AD;
+-
+- if (!(header->hb4 & HB4_CD) && ad_reqd && cache_secure)
+- header->hb4 |= HB4_AD;
+-
+- /* If the requestor didn't set the DO bit, don't return DNSSEC info. */
+- if (!do_bit)
+- n = rrfilter(header, n, 1);
++ {
++ header->hb4 &= ~HB4_AD;
++
++ if (!(header->hb4 & HB4_CD) && ad_reqd && cache_secure)
++ header->hb4 |= HB4_AD;
++
++ /* If the requestor didn't set the DO bit, don't return DNSSEC info. */
++ if (!do_bit)
++ n = rrfilter(header, n, 1);
++ }
+ #endif
+
+ /* do this after extract_addresses. Ensure NODATA reply and remove
+@@ -761,8 +788,14 @@ void reply_query(int fd, int family, time_t now)
+ if ((nn = resize_packet(header, (size_t)n, pheader, plen)))
+ {
+ header->hb3 &= ~(HB3_QR | HB3_AA | HB3_TC);
+- header->hb4 &= ~(HB4_RA | HB4_RCODE);
+- forward_query(-1, NULL, NULL, 0, header, nn, now, forward, 0, 0);
++ header->hb4 &= ~(HB4_RA | HB4_RCODE | HB4_CD | HB4_AD);
++ if (forward->flags |= FREC_CHECKING_DISABLED)
++ header->hb4 |= HB4_CD;
++ if (forward->flags |= FREC_AD_QUESTION)
++ header->hb4 |= HB4_AD;
++ if (forward->flags & FREC_DO_QUESTION)
++ add_do_bit(header, nn, (char *)pheader + plen);
++ forward_query(-1, NULL, NULL, 0, header, nn, now, forward, forward->flags & FREC_AD_QUESTION, forward->flags & FREC_DO_QUESTION);
+ return;
+ }
+ }
+@@ -1007,12 +1040,13 @@ void receive_query(struct listener *listen, time_t now)
+ {
+ struct dns_header *header = (struct dns_header *)daemon->packet;
+ union mysockaddr source_addr;
+- unsigned short type;
++ unsigned char *pheader;
++ unsigned short type, udp_size = PACKETSZ; /* default if no EDNS0 */
+ struct all_addr dst_addr;
+ struct in_addr netmask, dst_addr_4;
+ size_t m;
+ ssize_t n;
+- int if_index = 0, auth_dns = 0;
++ int if_index = 0, auth_dns = 0, do_bit = 0, have_pseudoheader = 0;
+ #ifdef HAVE_AUTH
+ int local_auth = 0;
+ #endif
+@@ -1279,10 +1313,30 @@ void receive_query(struct listener *listen, time_t now)
+ #endif
+ }
+
++ if (find_pseudoheader(header, (size_t)n, NULL, &pheader, NULL))
++ {
++ unsigned short flags;
++
++ have_pseudoheader = 1;
++ GETSHORT(udp_size, pheader);
++ pheader += 2; /* ext_rcode */
++ GETSHORT(flags, pheader);
++
++ if (flags & 0x8000)
++ do_bit = 1;/* do bit */
++
++ /* If the client provides an EDNS0 UDP size, use that to limit our reply.
++ (bounded by the maximum configured). If no EDNS0, then it
++ defaults to 512 */
++ if (udp_size > daemon->edns_pktsz)
++ udp_size = daemon->edns_pktsz;
++ }
++
+ #ifdef HAVE_AUTH
+ if (auth_dns)
+ {
+- m = answer_auth(header, ((char *) header) + daemon->packet_buff_sz, (size_t)n, now, &source_addr, local_auth);
++ m = answer_auth(header, ((char *) header) + udp_size, (size_t)n, now, &source_addr,
++ local_auth, do_bit, have_pseudoheader);
+ if (m >= 1)
+ {
+ send_from(listen->fd, option_bool(OPT_NOWILD) || option_bool(OPT_CLEVERBIND),
+@@ -1293,9 +1347,13 @@ void receive_query(struct listener *listen, time_t now)
+ else
+ #endif
+ {
+- int ad_reqd, do_bit;
+- m = answer_request(header, ((char *) header) + daemon->packet_buff_sz, (size_t)n,
+- dst_addr_4, netmask, now, &ad_reqd, &do_bit);
++ int ad_reqd = do_bit;
++ /* RFC 6840 5.7 */
++ if (header->hb4 & HB4_AD)
++ ad_reqd = 1;
++
++ m = answer_request(header, ((char *) header) + udp_size, (size_t)n,
++ dst_addr_4, netmask, now, ad_reqd, do_bit, have_pseudoheader);
+
+ if (m >= 1)
+ {
+@@ -1397,7 +1455,7 @@ unsigned char *tcp_request(int confd, time_t now,
+ #ifdef HAVE_AUTH
+ int local_auth = 0;
+ #endif
+- int checking_disabled, ad_question, do_bit, added_pheader = 0;
++ int checking_disabled, do_bit, added_pheader = 0, have_pseudoheader = 0;
+ int check_subnet, no_cache_dnssec = 0, cache_secure = 0, bogusanswer = 0;
+ size_t m;
+ unsigned short qtype;
+@@ -1414,6 +1472,7 @@ unsigned char *tcp_request(int confd, time_t now,
+ union mysockaddr peer_addr;
+ socklen_t peer_len = sizeof(union mysockaddr);
+ int query_count = 0;
++ unsigned char *pheader;
+
+ if (getpeername(confd, (struct sockaddr *)&peer_addr, &peer_len) == -1)
+ return packet;
+@@ -1508,15 +1567,35 @@ unsigned char *tcp_request(int confd, time_t now,
+ else
+ dst_addr_4.s_addr = 0;
+
++ do_bit = 0;
++
++ if (find_pseudoheader(header, (size_t)size, NULL, &pheader, NULL))
++ {
++ unsigned short flags;
++
++ have_pseudoheader = 1;
++ pheader += 4; /* udp_size, ext_rcode */
++ GETSHORT(flags, pheader);
++
++ if (flags & 0x8000)
++ do_bit = 1;/* do bit */
++ }
++
+ #ifdef HAVE_AUTH
+ if (auth_dns)
+- m = answer_auth(header, ((char *) header) + 65536, (size_t)size, now, &peer_addr, local_auth);
++ m = answer_auth(header, ((char *) header) + 65536, (size_t)size, now, &peer_addr,
++ local_auth, do_bit, have_pseudoheader);
+ else
+ #endif
+ {
+- /* m > 0 if answered from cache */
+- m = answer_request(header, ((char *) header) + 65536, (size_t)size,
+- dst_addr_4, netmask, now, &ad_question, &do_bit);
++ int ad_reqd = do_bit;
++ /* RFC 6840 5.7 */
++ if (header->hb4 & HB4_AD)
++ ad_reqd = 1;
++
++ /* m > 0 if answered from cache */
++ m = answer_request(header, ((char *) header) + 65536, (size_t)size,
++ dst_addr_4, netmask, now, ad_reqd, do_bit, have_pseudoheader);
+
+ /* Do this by steam now we're not in the select() loop */
+ check_log_writer(1);
+@@ -1615,6 +1694,7 @@ unsigned char *tcp_request(int confd, time_t now,
+ }
+
+ #ifdef HAVE_DNSSEC
++ added_pheader = 0;
+ if (option_bool(OPT_DNSSEC_VALID))
+ {
+ size_t new_size = add_do_bit(header, size, ((char *) header) + 65536);
+@@ -1719,7 +1799,7 @@ unsigned char *tcp_request(int confd, time_t now,
+
+ m = process_reply(header, now, last_server, (unsigned int)m,
+ option_bool(OPT_NO_REBIND) && !norebind, no_cache_dnssec, cache_secure, bogusanswer,
+- ad_question, do_bit, added_pheader, check_subnet, &peer_addr);
++ ad_reqd, do_bit, added_pheader, check_subnet, &peer_addr);
+
+ break;
+ }
+diff --git a/src/netlink.c b/src/netlink.c
+index 753784d..3376d68 100644
+--- a/src/netlink.c
++++ b/src/netlink.c
+@@ -288,7 +288,8 @@ int iface_enumerate(int family, void *parm, int (*callback)())
+ rta = RTA_NEXT(rta, len1);
+ }
+
+- if (inaddr && mac && callback_ok)
++ if (!(neigh->ndm_state & (NUD_NOARP | NUD_INCOMPLETE | NUD_FAILED)) &&
++ inaddr && mac && callback_ok)
+ if (!((*callback)(neigh->ndm_family, inaddr, mac, maclen, parm)))
+ callback_ok = 0;
+ }
+diff --git a/src/rfc1035.c b/src/rfc1035.c
+index 188d05f..18858a8 100644
+--- a/src/rfc1035.c
++++ b/src/rfc1035.c
+@@ -489,8 +489,8 @@ struct macparm {
+ union mysockaddr *l3;
+ };
+
+-static size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned char *limit,
+- int optno, unsigned char *opt, size_t optlen, int set_do)
++size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned char *limit,
++ unsigned short udp_sz, int optno, unsigned char *opt, size_t optlen, int set_do)
+ {
+ unsigned char *lenp, *datap, *p;
+ int rdlen, is_sign;
+@@ -508,7 +508,7 @@ static size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned
+ return plen;
+ *p++ = 0; /* empty name */
+ PUTSHORT(T_OPT, p);
+- PUTSHORT(SAFE_PKTSZ, p); /* max packet length, this will be overwritten */
++ PUTSHORT(udp_sz, p); /* max packet length, 512 if not given in EDNS0 header */
+ PUTSHORT(0, p); /* extended RCODE and version */
+ PUTSHORT(set_do ? 0x8000 : 0, p); /* DO flag */
+ lenp = p;
+@@ -594,7 +594,7 @@ static int filter_mac(int family, char *addrp, char *mac, size_t maclen, void *p
+ if (!match)
+ return 1; /* continue */
+
+- parm->plen = add_pseudoheader(parm->header, parm->plen, parm->limit, EDNS0_OPTION_MAC, (unsigned char *)mac, maclen, 0);
++ parm->plen = add_pseudoheader(parm->header, parm->plen, parm->limit, PACKETSZ, EDNS0_OPTION_MAC, (unsigned char *)mac, maclen, 0);
+
+ return 0; /* done */
+ }
+@@ -603,12 +603,6 @@ size_t add_mac(struct dns_header *header, size_t plen, char *limit, union mysock
+ {
+ struct macparm parm;
+
+-/* Must have an existing pseudoheader as the only ar-record,
+- or have no ar-records. Must also not be signed */
+-
+- if (ntohs(header->arcount) > 1)
+- return plen;
+-
+ parm.header = header;
+ parm.limit = (unsigned char *)limit;
+ parm.plen = plen;
+@@ -699,13 +693,13 @@ size_t add_source_addr(struct dns_header *header, size_t plen, char *limit, unio
+ struct subnet_opt opt;
+
+ len = calc_subnet_opt(&opt, source);
+- return add_pseudoheader(header, plen, (unsigned char *)limit, EDNS0_OPTION_CLIENT_SUBNET, (unsigned char *)&opt, len, 0);
++ return add_pseudoheader(header, plen, (unsigned char *)limit, PACKETSZ, EDNS0_OPTION_CLIENT_SUBNET, (unsigned char *)&opt, len, 0);
+ }
+
+ #ifdef HAVE_DNSSEC
+ size_t add_do_bit(struct dns_header *header, size_t plen, char *limit)
+ {
+- return add_pseudoheader(header, plen, (unsigned char *)limit, 0, NULL, 0, 1);
++ return add_pseudoheader(header, plen, (unsigned char *)limit, PACKETSZ, 0, NULL, 0, 1);
+ }
+ #endif
+
+@@ -1525,16 +1519,16 @@ static unsigned long crec_ttl(struct crec *crecp, time_t now)
+ /* return zero if we can't answer from cache, or packet size if we can */
+ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+ struct in_addr local_addr, struct in_addr local_netmask,
+- time_t now, int *ad_reqd, int *do_bit)
++ time_t now, int ad_reqd, int do_bit, int have_pseudoheader)
+ {
+ char *name = daemon->namebuff;
+- unsigned char *p, *ansp, *pheader;
++ unsigned char *p, *ansp;
+ unsigned int qtype, qclass;
+ struct all_addr addr;
+ int nameoffset;
+ unsigned short flag;
+ int q, ans, anscount = 0, addncount = 0;
+- int dryrun = 0, sec_reqd = 0, have_pseudoheader = 0;
++ int dryrun = 0;
+ struct crec *crecp;
+ int nxdomain = 0, auth = 1, trunc = 0, sec_data = 1;
+ struct mx_srv_record *rec;
+@@ -1550,35 +1544,11 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+ if (header->hb4 & HB4_CD)
+ sec_data = 0;
+
+- /* RFC 6840 5.7 */
+- *ad_reqd = header->hb4 & HB4_AD;
+- *do_bit = 0;
+-
+ /* If there is an additional data section then it will be overwritten by
+ partial replies, so we have to do a dry run to see if we can answer
+ the query. */
+-
+ if (ntohs(header->arcount) != 0)
+- {
+- dryrun = 1;
+-
+- /* If there's an additional section, there might be an EDNS(0) pseudoheader */
+- if (find_pseudoheader(header, qlen, NULL, &pheader, NULL))
+- {
+- unsigned short flags;
+-
+- have_pseudoheader = 1;
+-
+- pheader += 4; /* udp size, ext_rcode */
+- GETSHORT(flags, pheader);
+-
+- if ((sec_reqd = flags & 0x8000))
+- {
+- *do_bit = 1;/* do bit */
+- *ad_reqd = 1;
+- }
+- }
+- }
++ dryrun = 1;
+
+ for (rec = daemon->mxnames; rec; rec = rec->next)
+ rec->offset = 0;
+@@ -1603,11 +1573,6 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+ GETSHORT(qtype, p);
+ GETSHORT(qclass, p);
+
+- /* Don't filter RRSIGS from answers to ANY queries, even if do-bit
+- not set. */
+- if (qtype == T_ANY)
+- *do_bit = 1;
+-
+ ans = 0; /* have we answered this question */
+
+ if (qtype == T_TXT || qtype == T_ANY)
+@@ -1739,7 +1704,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+ the zone is unsigned, which implies that we're doing
+ validation. */
+ if ((crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG)) ||
+- !sec_reqd ||
++ !do_bit ||
+ (option_bool(OPT_DNSSEC_VALID) && !(crecp->flags & F_DNSSECOK)))
+ {
+ do
+@@ -1927,7 +1892,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+ }
+
+ /* If the client asked for DNSSEC don't use cached data. */
+- if ((crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG)) || !sec_reqd || !(crecp->flags & F_DNSSECOK))
++ if ((crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG)) || !do_bit || !(crecp->flags & F_DNSSECOK))
+ do
+ {
+ /* don't answer wildcard queries with data not from /etc/hosts
+@@ -1961,17 +1926,12 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+
+ if (crecp->flags & F_NEG)
+ {
+- /* We don't cache NSEC records, so if a DNSSEC-validated negative answer
+- is cached and the client wants DNSSEC, forward rather than answering from the cache */
+- if (!sec_reqd || !(crecp->flags & F_DNSSECOK))
+- {
+- ans = 1;
+- auth = 0;
+- if (crecp->flags & F_NXDOMAIN)
+- nxdomain = 1;
+- if (!dryrun)
+- log_query(crecp->flags, name, NULL, NULL);
+- }
++ ans = 1;
++ auth = 0;
++ if (crecp->flags & F_NXDOMAIN)
++ nxdomain = 1;
++ if (!dryrun)
++ log_query(crecp->flags, name, NULL, NULL);
+ }
+ else
+ {
+@@ -2209,10 +2169,11 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
+
+ len = ansp - (unsigned char *)header;
+
++ /* Advertise our packet size limit in our reply */
+ if (have_pseudoheader)
+- len = add_pseudoheader(header, len, (unsigned char *)limit, 0, NULL, 0, sec_reqd);
++ len = add_pseudoheader(header, len, (unsigned char *)limit, daemon->edns_pktsz, 0, NULL, 0, do_bit);
+
+- if (*ad_reqd && sec_data)
++ if (ad_reqd && sec_data)
+ header->hb4 |= HB4_AD;
+ else
+ header->hb4 &= ~HB4_AD;
+diff --git a/src/rrfilter.c b/src/rrfilter.c
+index ae12261..b26b39f 100644
+--- a/src/rrfilter.c
++++ b/src/rrfilter.c
+@@ -243,7 +243,7 @@ size_t rrfilter(struct dns_header *header, size_t plen, int mode)
+ for (p = rrs[0], i = 1; i < rr_found; i += 2)
+ {
+ unsigned char *start = rrs[i];
+- unsigned char *end = (i != rr_found - 1) ? rrs[i+1] : ((unsigned char *)(header+1)) + plen;
++ unsigned char *end = (i != rr_found - 1) ? rrs[i+1] : ((unsigned char *)header) + plen;
+
+ memmove(p, start, end-start);
+ p += end-start;
+--
+1.7.10.4
+
--- /dev/null
+From d67ecac59d58f249707d26e38d49c29b552af4d8 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 20 Dec 2015 20:44:23 +0000
+Subject: [PATCH] More tweaks in handling unknown DNSSEC algorithms.
+
+---
+ src/dnssec.c | 128 +++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 63 insertions(+), 65 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 299ca64..e09f304 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -70,7 +70,17 @@ static char *algo_digest_name(int algo)
+ default: return NULL;
+ }
+ }
+-
++
++/* http://www.iana.org/assignments/dnssec-nsec3-parameters/dnssec-nsec3-parameters.xhtml */
++static char *nsec3_digest_name(int digest)
++{
++ switch (digest)
++ {
++ case 1: return "sha1";
++ default: return NULL;
++ }
++}
++
+ /* Find pointer to correct hash function in nettle library */
+ static const struct nettle_hash *hash_find(char *name)
+ {
+@@ -667,7 +677,6 @@ static int explore_rrset(struct dns_header *header, size_t plen, int class, int
+ static int rrset_sz = 0, sig_sz = 0;
+ unsigned char *p;
+ int rrsetidx, sigidx, j, rdlen, res;
+- int name_labels = count_labels(name); /* For 4035 5.3.2 check */
+ int gotkey = 0;
+
+ if (!(p = skip_questions(header, plen)))
+@@ -678,7 +687,7 @@ static int explore_rrset(struct dns_header *header, size_t plen, int class, int
+ j != 0; j--)
+ {
+ unsigned char *pstart, *pdata;
+- int stype, sclass, algo, type_covered, labels, sig_expiration, sig_inception;
++ int stype, sclass, type_covered;
+
+ pstart = p;
+
+@@ -712,12 +721,7 @@ static int explore_rrset(struct dns_header *header, size_t plen, int class, int
+ return 0; /* bad packet */
+
+ GETSHORT(type_covered, p);
+- algo = *p++;
+- labels = *p++;
+- p += 4; /* orig_ttl */
+- GETLONG(sig_expiration, p);
+- GETLONG(sig_inception, p);
+- p += 2; /* key_tag */
++ p += 16; /* algo, labels, orig_ttl, sig_expiration, sig_inception, key_tag */
+
+ if (gotkey)
+ {
+@@ -749,11 +753,8 @@ static int explore_rrset(struct dns_header *header, size_t plen, int class, int
+ }
+ }
+
+- /* Don't count signatures for algos we don't support */
+- if (check_date_range(sig_inception, sig_expiration) &&
+- labels <= name_labels &&
+- type_covered == type &&
+- verify_func(algo))
++
++ if (type_covered == type)
+ {
+ if (!expand_workspace(&sigs, &sig_sz, sigidx))
+ return 0;
+@@ -795,7 +796,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ char *name, char *keyname, char **wildcard_out, struct blockdata *key, int keylen, int algo_in, int keytag_in)
+ {
+ unsigned char *p;
+- int rdlen, j, name_labels;
++ int rdlen, j, name_labels, sig_expiration, sig_inception;
+ struct crec *crecp = NULL;
+ int algo, labels, orig_ttl, key_tag;
+ u16 *rr_desc = rrfilter_desc(type);
+@@ -828,13 +829,16 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ algo = *p++;
+ labels = *p++;
+ GETLONG(orig_ttl, p);
+- p += 8; /* sig_expiration, sig_inception already checked */
++ GETLONG(sig_expiration, p);
++ GETLONG(sig_inception, p);
+ GETSHORT(key_tag, p);
+
+ if (!extract_name(header, plen, &p, keyname, 1, 0))
+ return STAT_BOGUS;
+
+- if (!(hash = hash_find(algo_digest_name(algo))) ||
++ if (!check_date_range(sig_inception, sig_expiration) ||
++ labels > name_labels ||
++ !(hash = hash_find(algo_digest_name(algo))) ||
+ !hash_init(hash, &ctx, &digest))
+ continue;
+
+@@ -1112,7 +1116,10 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
+ else
+ {
+ a.addr.keytag = keytag;
+- log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u");
++ if (verify_func(algo))
++ log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u");
++ else
++ log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u (not supported)");
+
+ recp1->addr.key.keylen = rdlen - 4;
+ recp1->addr.key.keydata = key;
+@@ -1235,7 +1242,11 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
+ else
+ {
+ a.addr.keytag = keytag;
+- log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u");
++ if (hash_find(ds_digest_name(digest)) && verify_func(algo))
++ log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u");
++ else
++ log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u (not supported)");
++
+ crecp->addr.ds.digest = digest;
+ crecp->addr.ds.keydata = key;
+ crecp->addr.ds.algo = algo;
+@@ -1660,7 +1671,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ *nons = 1;
+
+ /* Look though the NSEC3 records to find the first one with
+- an algorithm we support (currently only algo == 1).
++ an algorithm we support.
+
+ Take the algo, iterations, and salt of that record
+ as the ones we're going to use, and prune any
+@@ -1674,7 +1685,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ p += 10; /* type, class, TTL, rdlen */
+ algo = *p++;
+
+- if (algo == 1)
++ if ((hash = hash_find(nsec3_digest_name(algo))))
+ break; /* known algo */
+ }
+
+@@ -1724,10 +1735,6 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ nsecs[i] = nsec3p;
+ }
+
+- /* Algo is checked as 1 above */
+- if (!(hash = hash_find("sha1")))
+- return 0;
+-
+ if ((digest_len = hash_name(name, &digest, hash, salt, salt_len, iterations)) == 0)
+ return 0;
+
+@@ -1843,8 +1850,10 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key
+
+ if (type_found == T_NSEC)
+ return prove_non_existence_nsec(header, plen, nsecset, nsecs_found, daemon->workspacename, keyname, name, qtype, nons);
+- else
++ else if (type_found == T_NSEC3)
+ return prove_non_existence_nsec3(header, plen, nsecset, nsecs_found, daemon->workspacename, keyname, name, qtype, wildname, nons);
++ else
++ return 0;
+ }
+
+ /* Check signing status of name.
+@@ -1857,7 +1866,7 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key
+ */
+ static int zone_status(char *name, int class, char *keyname, time_t now)
+ {
+- int secure_ds, name_start = strlen(name);
++ int name_start = strlen(name);
+ struct crec *crecp;
+ char *p;
+
+@@ -1867,51 +1876,40 @@ static int zone_status(char *name, int class, char *keyname, time_t now)
+
+ if (!(crecp = cache_find_by_name(NULL, keyname, now, F_DS)))
+ return STAT_NEED_DS;
++
++ /* F_DNSSECOK misused in DS cache records to non-existance of NS record.
++ F_NEG && !F_DNSSECOK implies that we've proved there's no DS record here,
++ but that's because there's no NS record either, ie this isn't the start
++ of a zone. We only prove that the DNS tree below a node is unsigned when
++ we prove that we're at a zone cut AND there's no DS record. */
++ if (crecp->flags & F_NEG)
++ {
++ if (crecp->flags & F_DNSSECOK)
++ return STAT_INSECURE; /* proved no DS here */
++ }
+ else
+ {
+- secure_ds = 0;
+-
++ int gotone = 0;
++
++ /* If all the DS records have digest and/or sig algos we don't support,
++ then the zone is insecure. Note that if an algo
++ appears in the DS, then RRSIGs for that algo MUST
++ exist for each RRset: 4035 para 2.2 So if we find
++ a DS here with digest and sig we can do, we're entitled
++ to assume we can validate the zone and if we can't later,
++ because an RRSIG is missing we return BOGUS.
++ */
+ do
+ {
+- if (crecp->uid == (unsigned int)class)
+- {
+- /* F_DNSSECOK misused in DS cache records to non-existance of NS record.
+- F_NEG && !F_DNSSECOK implies that we've proved there's no DS record here,
+- but that's because there's no NS record either, ie this isn't the start
+- of a zone. We only prove that the DNS tree below a node is unsigned when
+- we prove that we're at a zone cut AND there's no DS record.
+- */
+- if (crecp->flags & F_NEG)
+- {
+- if (crecp->flags & F_DNSSECOK)
+- return STAT_INSECURE; /* proved no DS here */
+- }
+- else if (!hash_find(ds_digest_name(crecp->addr.ds.digest)) || !verify_func(crecp->addr.ds.algo))
+- return STAT_INSECURE; /* algo we can't use - insecure */
+- else
+- secure_ds = 1;
+- }
++ if (crecp->uid == (unsigned int)class &&
++ hash_find(ds_digest_name(crecp->addr.ds.digest)) &&
++ verify_func(crecp->addr.ds.algo))
++ gotone = 1;
+ }
+ while ((crecp = cache_find_by_name(crecp, keyname, now, F_DS)));
+- }
+-
+- if (secure_ds)
+- {
+- /* We've found only DS records that attest to the DNSKEY RRset in the zone, so we believe
+- that RRset is good. Furthermore the DNSKEY whose hash is proved by the DS record is
+- one we can use. However the DNSKEY RRset may contain more than one key and
+- one of the other keys may use an algorithm we don't support. If that's
+- the case the zone is insecure for us. */
+-
+- if (!(crecp = cache_find_by_name(NULL, keyname, now, F_DNSKEY)))
+- return STAT_NEED_KEY;
+
+- do
+- {
+- if (crecp->uid == (unsigned int)class && !verify_func(crecp->addr.key.algo))
+- return STAT_INSECURE;
+- }
+- while ((crecp = cache_find_by_name(crecp, keyname, now, F_DNSKEY)));
++ if (!gotone)
++ return STAT_INSECURE;
+ }
+
+ if (name_start == 0)
+--
+1.7.10.4
+
--- /dev/null
+From 3e86d316c4bb406ed813aa5256615c8a95cac6d8 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 20 Dec 2015 20:50:05 +0000
+Subject: [PATCH] Nasty, rare and obscure off-by-one in DNSSEC hostname_cmp().
+
+---
+ src/dnssec.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index e09f304..29848e1 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -1394,8 +1394,8 @@ static int hostname_cmp(const char *a, const char *b)
+ if (sb == b)
+ return 1;
+
+- ea = sa--;
+- eb = sb--;
++ ea = --sa;
++ eb = --sb;
+ }
+ }
+
+--
+1.7.10.4
+
--- /dev/null
+From a86fdf437ecc29398f9715ceb5240442a17ac014 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 20 Dec 2015 21:19:20 +0000
+Subject: [PATCH] Minor tweak to previous commit.
+
+---
+ src/dnssec.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 29848e1..9fa64b6 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -1889,8 +1889,6 @@ static int zone_status(char *name, int class, char *keyname, time_t now)
+ }
+ else
+ {
+- int gotone = 0;
+-
+ /* If all the DS records have digest and/or sig algos we don't support,
+ then the zone is insecure. Note that if an algo
+ appears in the DS, then RRSIGs for that algo MUST
+@@ -1904,11 +1902,11 @@ static int zone_status(char *name, int class, char *keyname, time_t now)
+ if (crecp->uid == (unsigned int)class &&
+ hash_find(ds_digest_name(crecp->addr.ds.digest)) &&
+ verify_func(crecp->addr.ds.algo))
+- gotone = 1;
++ break;
+ }
+ while ((crecp = cache_find_by_name(crecp, keyname, now, F_DS)));
+
+- if (!gotone)
++ if (!crecp)
+ return STAT_INSECURE;
+ }
+
+--
+1.7.10.4
+
--- /dev/null
+From ce5732e84fc46d7f99c152f736cfb4ef5ec98a01 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 20 Dec 2015 21:39:19 +0000
+Subject: [PATCH] NSEC3 check: RFC5155 para 8.2
+
+---
+ src/dnssec.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 9fa64b6..486e422 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -1704,7 +1704,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ for (i = 0; i < nsec_count; i++)
+ {
+ unsigned char *nsec3p = nsecs[i];
+- int this_iter;
++ int this_iter, flags;
+
+ nsecs[i] = NULL; /* Speculative, will be restored if OK. */
+
+@@ -1716,8 +1716,12 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ if (*p++ != algo)
+ continue;
+
+- p++; /* flags */
++ flags = *p++; /* flags */
+
++ /* 5155 8.2 */
++ if (flags != 0 && flags != 1)
++ continue;
++
+ GETSHORT(this_iter, p);
+ if (this_iter != iterations)
+ continue;
+--
+1.7.10.4
+
--- /dev/null
+diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
+--- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
++++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
+@@ -0,0 +1,69 @@
++AC_PREREQ(2.59)
++AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
++AC_SUBST([MAJOR_VERSION], [5.3])
++
++AC_CONFIG_HEADERS([config.h])
++AC_CONFIG_SRCDIR([src/lapi.c])
++
++AM_INIT_AUTOMAKE([1.9 foreign])
++
++AC_PROG_CC
++AC_PROG_LIBTOOL
++
++AC_ARG_WITH(
++ [readline],
++ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
++ [use_readline=$withval],
++ [use_readline=yes]
++)
++
++LUA_LIBS="-lm"
++
++# Check for readline
++READLINE_DEFS="#undef LUA_USE_READLINE"
++if test "x$use_readline" == "xyes"; then
++ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
++ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
++ if test "x$use_readline" == "xno"; then
++ AC_MSG_WARN([readline headers could not be found, disabling readline support])
++ else
++ READLINE_DEFS="#define LUA_USE_READLINE"
++ READLINE_LIBS="-lreadline -lncurses"
++ fi
++fi
++AC_SUBST(READLINE_DEFS)
++AC_SUBST(READLINE_LIBS)
++
++case "$host" in
++ *-mingw*) use_os=win32 ;;
++ *-darwin*) use_os=macosx ;;
++ *) use_os=posix ;;
++esac
++
++POSIX_DEFS="#undef LUA_USE_POSIX"
++LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
++LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
++
++if test "x$use_os" == "xwin32"; then
++ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
++elif test "x$use_os" == "xmacosx"; then
++ POSIX_DEFS="#define LUA_USE_POSIX"
++ LUA_DL_DEFS="#define LUA_DL_DYLD"
++elif test "x$use_os" == "xposix"; then
++ POSIX_DEFS="#define LUA_USE_POSIX"
++ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
++ LUA_LIBS="$LUA_LIBS -ldl"
++fi
++AC_SUBST(POSIX_DEFS)
++AC_SUBST(LUA_DL_DEFS)
++AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
++
++AC_SUBST(LUA_LIBS)
++
++AC_CONFIG_FILES([Makefile
++ src/Makefile
++ src/lua.pc
++ src/luaconf.h.template
++ doc/Makefile
++])
++AC_OUTPUT
+diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
+--- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
++++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
+@@ -0,0 +1,4 @@
++man1_MANS = lua.1 luac.1
++
++EXTRA_DIST = \
++ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
+diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
+--- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
++++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
+@@ -0,0 +1,3 @@
++SUBDIRS = src doc
++
++EXTRA_DIST = README
+diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
+--- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
++++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
+@@ -0,0 +1,5 @@
++lua
++lua.pc
++luac
++luaconf.h
++luaconf.h.template
+diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
+--- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
++++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
+@@ -11,6 +11,11 @@
+ #include <limits.h>
+ #include <stddef.h>
+
++@POSIX_DEFS@
++@LUA_DL_DEFS@
++@LUA_BUILD_AS_DLL_DEFS@
++@READLINE_DEFS@
++
+
+ /*
+ ** ===================================================================
+@@ -175,9 +180,9 @@
+
+ #else /* }{ */
+
+-#define LUA_ROOT "/usr/local/"
+-#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
+-#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
++#define LUA_ROOT "@prefix@/"
++#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
++#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
+ #define LUA_PATH_DEFAULT \
+ LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
+ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
+diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
+--- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
++++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
+@@ -0,0 +1,13 @@
++V= @MAJOR_VERSION@
++R= @VERSION@
++prefix= @prefix@
++exec_prefix=${prefix}
++libdir= @libdir@
++includedir=${prefix}/include
++
++Name: Lua
++Description: An Extensible Extension Language
++Version: ${R}
++Requires:
++Libs: -llua @LUA_LIBS@
++Cflags: -I${includedir}
+diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
+--- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
++++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
+@@ -0,0 +1,46 @@
++AM_CFLAGS = -Wall
++
++include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
++
++nodist_include_HEADERS = luaconf.h
++
++lib_LTLIBRARIES = liblua.la
++liblua_la_LDFLAGS = -release @MAJOR_VERSION@
++liblua_la_SOURCES = \
++ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
++ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
++ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
++ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
++ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
++ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
++ lundump.h lvm.h lzio.h
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = lua.pc
++
++bin_PROGRAMS = lua luac
++
++lua_SOURCES = lua.c
++lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
++lua_DEPENDENCIES = liblua.la
++
++luac_SOURCES = luac.c
++# Statically link liblua against luac since luac uses symbols not exported in liblua
++luac_LDADD = .libs/liblua.a @LUA_LIBS@
++luac_DEPENDENCIES = liblua.la
++
++EXTRA_DIST = luaconf.h.template
++BUILT_SOURCES = luaconf.h
++CLEANFILES = luaconf.h luaconf.h.template
++
++readline_defs = @READLINE_DEFS@
++
++edit = sed \
++ -e 's,%prefix%,$(prefix),g' \
++ -e 's,%lua_datadir%,$(datadir),g' \
++ -e 's,%lua_libdir%,$(libdir),g'
++
++luaconf.h : luaconf.h.template
++ rm -f $@ $@.tmp
++ $(edit) $< >$@.tmp
++ mv $@.tmp $@
+++ /dev/null
-# http://bugs.ntp.org/show_bug.cgi?id=2965
-
-From 6f68f1f0fd764f0006506e3957a5b8116726d443 Mon Sep 17 00:00:00 2001
-From: <burnicki/martin@pc-martin4.>
-Date: Mon, 16 Nov 2015 11:59:55 +0100
-Subject: [PATCH] [Bug 2965] Local clock didn't work since 4.2.8p4
-
----
- ntpd/refclock_local.c | 1 +
- 1 files changed, 1 insertions(+)
-
-diff --git a/ntpd/refclock_local.c b/ntpd/refclock_local.c
-index d816c55..8c0f74f 100644
---- a/ntpd/refclock_local.c
-+++ b/ntpd/refclock_local.c
-@@ -205,6 +205,7 @@ local_poll(
- pp->disp = 0;
- pp->jitter = 0;
- #else /* KERNEL_PLL LOCKCLOCK */
-+ pp->leap = LEAP_NOWARNING;
- pp->disp = DISPERSION;
- pp->jitter = 0;
- #endif /* KERNEL_PLL LOCKCLOCK */
case "${target_arch}" in
x86_64)
BUILDTARGET="${target_arch}-unknown-linux-gnu"
- CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
+ CROSSTARGET="${target_arch}-cross-linux-gnu"
CFLAGS_ARCH="-m64 -mtune=generic"
;;
i586)
BUILDTARGET="${target_arch}-pc-linux-gnu"
- CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
+ CROSSTARGET="${target_arch}-cross-linux-gnu"
CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
;;
armv5tel)
BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
- CROSSTARGET="${BUILD_ARCH}-cross-linux-gnueabi"
+ CROSSTARGET="${target_arch}-cross-linux-gnueabi"
CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
MACHINE_TYPE="arm"
;;
MACHINE="${TARGET_ARCH}"
CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
- CFLAGS="${CFLAGS} -fstack-protector-all --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
+ CFLAGS="${CFLAGS} -fstack-protector-strong --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
CXXFLAGS="${CFLAGS}"
}