* [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 07300f6a14b55eed5c3865bf258f3108b8a7a222
@ 2021-09-05 13:11 Arne Fitzenreiter
0 siblings, 0 replies; only message in thread
From: Arne Fitzenreiter @ 2021-09-05 13:11 UTC (permalink / raw)
To: ipfire-scm
[-- Attachment #1: Type: text/plain, Size: 96080 bytes --]
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".
The branch, next has been updated
via 07300f6a14b55eed5c3865bf258f3108b8a7a222 (commit)
via 880ebbe8c6fbba592ba236946835e4856ed05ab5 (commit)
via e055a1a97a4207a54ec2ba8a8ac172512cd6f1d7 (commit)
via bfa7865ec5b6a248c4a9bf4c053a7cc142a8faa2 (commit)
via 178586e15bab4ade8579d94aada0ba168b09da5a (commit)
via 6dd084c22d05271c205a3bacf86da7689e4e3dbb (commit)
via f4858c925c20fb9c930c7ccc0e0bbae03a06efd7 (commit)
via 135bd44a629427843c9a212cd64081a933049b4b (commit)
via 92f167fc4746b51fc9b6064026a3e7ca5c54c389 (commit)
via ba2592ada95060c995b2bc12c3ac9dd2c9e9bf0e (commit)
via 79516fed9a36cbb9018d4403d4b66840b827baf8 (commit)
via 55da553742129623753baa86564cd65d3d7df680 (commit)
via 446dc99e2501a090f7562384b340230b9b5d1a7c (commit)
via a9611629cc90f716fbf4fc7050a95f0b7b285df3 (commit)
via fc81e493b14d545893856d5bcba11d538a8ae16c (commit)
via 09c3db1cffa55cb7ddb35d642a74abc6f216d9e4 (commit)
via 4190b2a621b9d39e7dcf2480f03d41558f0c7fd0 (commit)
via 05c8c10f193f2b919542fd610483f4bdb2330988 (commit)
from 1f60759eab2594d9b30d9f0e3307b3f1cae9cf2d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 07300f6a14b55eed5c3865bf258f3108b8a7a222
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sun Sep 5 08:56:31 2021 +0000
core160: add libidn
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 880ebbe8c6fbba592ba236946835e4856ed05ab5
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Mon Jul 26 18:35:16 2021 +0200
libidn: Update to version 1.38
- Update from 1.36 to 1.38
- Update of rootfile
- Changelog
version 1.38
build: Fix --disable-tld builds.
Simplify building of gdoc-generated man/texi outputs.
Rebuild GTK-DOC HTML/PDF outputs on version number changes.
doc: Rebuild idn.1 when version number changes.
build: Fix --disable-tld builds.
cicd: Add pages.
doc: Improve GTK-DOC manual.
cicd: Fix Ubuntu 12.04 builds.
Improve GTK-DOC manual.
Fix build errors related to doc/idn--help.texi.
doc: Fix release process.
doc: Improve HACKING instructions.
Bootstrap cache.
version 1.37
Use gnulib's bootstrap.
Drop old unused WERROR_CFLAGS usage.
Improve URLs.
Fix links for git and valgrind.
Fix self check for --disable-tld.
Sync with TP.
Doc fixes.
Don't dist ps/html/pdf. Drop custom css.
Improve ./configure summary output.
Use gnulib langinfo module.
More ./configure summary output.
Use AM_GNU_GETTEXT_VERSION to get intl.m4 too.
Disable some complex gnulib self-tests that add lots of dependencies and fail on mingw.
Drop second gnulib tests directory since only one is supported.
Require more recent automake and gtk-doc.
Fix .gitignore.
doc: Fix JDK dependency for Fedora.
Drop warning stuff covered by manywarnings.m4 now.
Disable VLA from gettext.
Remove autopoint-generated files that are in gnulib too.
Update autoconf archive macros.
Prefer gnulib's M4 files over autopoint.
Modernize autoconf usage.
Use AM_GNU_GETTEXT_REQUIRE_VERSION.
Update gnulib files.
Modernize configure.ac.
Require autoconf 2.64 for newer gnulib.
Avoid including copyright info in idn example.
Fix manual copyright years.
Fix syntax-check.
Update copyright years.
Improve HACKING.
Drop obsolete PGP key from AUTHORS.
Revert last patch, clearly src/ was being built before doc/.
Build doc/ after src/ so that src/idn exists for help2man of doc/idn.1.
Fix recommended package installs.
Drop .gitlab-ci.yml.
Doc fix.
Sync with TP.
Fix typos, inspired by codespell.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit e055a1a97a4207a54ec2ba8a8ac172512cd6f1d7
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sun Sep 5 08:54:40 2021 +0000
core160: add curl
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit bfa7865ec5b6a248c4a9bf4c053a7cc142a8faa2
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Mon Jul 26 18:34:39 2021 +0200
curl: Update to version 7.78.0
- Update from 7.77.0 to 7.78.0
- Update of rootfile not required
- Changelog
Changes:
curl_url_set: reject spaces in URLs w/o CURLU_ALLOW_SPACE
CURLE_SETOPT_OPTION_SYNTAX: new error name for wrong setopt syntax
hostip: make 'localhost' return fixed values
mbedtls: add support for cert and key blob options
metalink: remove all support for it
mqtt: add support for username and password
Bugfixes:
--socks4[a]: clarify where the host name is resolved
ares: always store IPv6 addresses first
asyn-ares: remove check for 'data' in Curl_resolver_cancel
bearssl: explicitly initialize all fields of Curl_ssl
bearssl: remove incorrect const on variable that is modified
build: fix compiler warnings when CURL_DISABLE_VERBOSE_STRINGS
c-hyper: abort CONNECT response reading early on non 2xx responses
c-hyper: add support for transfer-encoding in the request
c-hyper: bail on too long response headers
c-hyper: clear NTLM auth buffer when request is issued
c-hyper: convert HYPERE_INVALID_PEER_MESSAGE to CURLE_UNSUPPORTED_PROTOCOL
c-hyper: fix NTLM on closed connection tested with test159
c-hyper: fix the uploaded field in progress callbacks
c-hyper: handle NULL from hyper_buf_copy()
c-hyper: support CURLINFO_STARTTRANSFER_TIME
c-hyper: support CURLOPT_HEADER
ccsidcurl: fix the compile errors
CI/cirrus: install impacket from PyPI instead of FreeBSD packages
CI: add bearssl build
CI: add Circle CI
CI: add jobs using Zuul
CI: delete --enable-hsts option (it is the default now)
CI: remove travis details
cleanup: spell DoH with a lowercase o
cmake: add CURL_DISABLE_NTLM option
cmake: avoid leaking absolute paths into exported config
cmake: fix IoctlSocket FIONBIO check
cmake: fix support for UnixSockets feature on Win32
cmake: remove libssh2 feature checks
cmake: try well-known send/recv signature for Apple
configure.ac: make non-executable
configure/cmake: remove checks for many unused functions
configure: add --disable-ntlm option
configure: disable RTSP when hyper is selected
configure: do not strip out debug flags
configure: fix nghttp2 library name for static builds
configure: inhibit the implicit-fallthrough warning on gcc-12
configure: rename get-easy-option configure option to get-easy-options
conn_shutdown: if closed during CONNECT cleanup properly
conncache: lowercase the hash key for better match
cookies: track expiration in jar to optimize removals
copyright: add boiler-plate headers to CI config files
crustls: bump crustls version and use new URL
curl.h: <sys/select.h> is supported by VxWorks7
curl.h: include sys/select.h for NuttX RTOS
curl: ignore blank --output-dir
curl_endian: remove the unused Curl_write64_le function
curl_multibyte: Remove local encoding fallbacks
Curl_ntlm_core_mk_nt_hash: fix OOM in error path
Curl_ssl_getsessionid: fail if no session cache exists
CURLOPT_WRITEFUNCTION.3: minor update of the example
docs/BINDINGS: fix outdated links
docs/examples: use curl_multi_poll() in multi examples
docs/INSTALL: remove mentions of configure --with-darwin-ssl
docs: document missing arguments to commands
docs: fix inconsistencies in EGDSOCKET documentation
docs: fix incorrect argument name reference
docs: Fix typos
docs: make docs for --etag-save match the program behaviour
docs: use --max-redirs instead of --max-redir
doh: (void)-prefix call to curl_easy_setopt
doh: fix wrong DEBUGASSERT for doh private_data
easy: during upkeep, attach Curl_easy to connections in the cache
examples/multi-single: fix scan-build warning
examples: length-limit two sscanf() uses of %s
examples: safer and more proper read callback logic
filecheck: quietly remove test-place/*~
formdata: avoid "Argument cannot be negative" warning
formdata: correct typecast in curl_mime_data call
GHA: add a linux-hyper job
GHA: add several libcurl tests to the hyper job
GHA: run the newly fixed tests with hyper
github: timeout jobs on macOS after 90 minutes
glob: pass an 'int' as len when using printf's %*s
gnutls: set the preferred TLS versions in correct order
GOVERNANCE: add 'user', 'committer' and 'contributor'
hostip: (macOS) free returned memory of SCDynamicStoreCopyProxies
hostip: bad CURLOPT_RESOLVE syntax now returns error
hsts: ignore numberical IP address hosts
HSTS: not experimental anymore
http2: clarify 'Using HTTP2' verbose message
http2: init recvbuf struct for pushed streams
http2_connisdead: handle trailing GOAWAY better
http: fix crash in rate-limited upload
http: make the haproxy support work with unix domain sockets
http_proxy: deal with non-200 CONNECT response with Hyper
hyper: propagate errors back up from read callbacks
HYPER: remove mentions of deprecated development branch
idn: fix libidn2 with windows unicode builds
infof: remove newline from format strings, always append it
lib: don't compare fd to FD_SETSIZE when using poll
lib: fix compiler warnings with CURL_DISABLE_NETRC
lib: fix type of len passed to *printf's %*s
lib: more %u for port and int for %*s fixes
lib: use %u instead of %ld for port number printf
libcurl-security.3: mention file descriptors and forks
libssh2: limit time a disconnect can take to 1 second
mbedtls: make mbedtls_strerror always work
mbedtls: Remove unnecessary include
mqtt: detect illegal and too large file size
mqtt: extend the error message for no topic
msnprintf: return number of printed characters excluding null byte
multi: add scan-build-6 work-around in curl_multi_fdset
multi: alter transfer timeout ordering
multi: do not switch off connect_only flag when closing
multi: fix crash in curl_multi_wait / curl_multi_poll
netrc: skip 'macdef' definitions
ngtcp2: disable TLSv1.3 compatible mode when using GnuTLS
openssl: avoid static variable for seed flag
openssl: don't remove session id entry in disassociate
pinnedpubkey.d: fix formatting for version support lists
proto.d: fix formatting for paragraphs after margin changes
quiche: use send() instead of sendto() to avoid macOS issue
Revert "c-hyper: handle body on HYPER_TASK_EMPTY"
Revert "ftp: Expression 'ftpc->wait_data_conn' is always false"
runtests: also find the last test in Makefile.inc
runtests: enable 'hyper mode' only for HTTP tests
runtests: init $VERSION to avoid warnings when using -l
runtests: parse data/Makefile.inc instead of using make
runtests: skip disabled tests unless -f is used
rustls: remove native_roots fallback
schannel: set ALPN length correctly for HTTP/2
SChannel: Use '_tcsncmp()' instead
sectransp: check for client certs by name first, then file
setopt: fix incorrect comments
socketpair: fix potential hangs
socks4: scan for the IPv4 address in resolve results
ssl: read pending close notify alert before closing the connection
sws: malloc request struct instead of using stack
telnet: fix option parser to not send uninitialized contents
test1116: hyper doesn't pass through "surprise-trailers"
test1147: hyper doesn't allow "crazy" request headers like built-in
test1151: added missing CRLF to work with hyper
test1216: adjusted for hyper mode
test1218: adjusted for hyper mode
test1230: adjust to work in hyper mode
test1340/1341: adjusted for hyper mode
test1438/1457: add HTTP keyword to make hyper mode work
test1514: add a CRLF to the response to make it correct
test1518: adjusted to work with hyper
test1519: adjusted to work with hyper
test1594/1595/1596: fix to work in hyper mode
test269: disable for hyper
test3010: work with hyper mode
test328: avoid a header-looking body to make hyper mode work
test339: CRLFify better to work in hyper mode
test347: CRLFify to work in hyper mode
test393: make Content-Length fit within 64 bit for hyper
test394: hyper returns a different error
test395: hyper cannot work around > 64 bit content-lengths like built-in
test433: adjust for hyper mode
test434: add HTTP keyword
test500: adjust to work with hyper mode
test566: adjust to work with hyper mode
test599: adjusted to work in hyper mode
test644: remove as duplicate of test 587
tests: fix Accept-Encoding strips to work with Hyper builds
TLS: prevent shutdown loops to get stuck
tool: make _lseeki64() macro work with the PellesC compiler
tool_help: document that --tlspassword takes a password
tool_help: remove unused define
url.c: remove two variable assigns that are never read
url: (void)-prefix a curl_url_get() call
url: bad CURLOPT_CONNECT_TO syntax now returns error
version: turn version number functions into returning void
vtls: exit addsessionid if no cache is inited
vtls: fix connection reuse checks for issuer cert and case sensitivity
vtls: only store TIMER_APPCONNECT for non-proxy connect
vtls: use free() not curl_free()
warnless: simplify type size handling
Win32: fix build with Watt-32
winbuild/README: VC should be set to 6 'or larger'
winbuild: support alternate nghttp2 static lib name
wolfssl: failing to set a session id is not reason to error out
write-out.d: clarify urlnum is not unique for de-globbed URLs
zuul: use the new rustls directory name
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 178586e15bab4ade8579d94aada0ba168b09da5a
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sun Sep 5 08:51:24 2021 +0000
core160: add network-functions.pl
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 6dd084c22d05271c205a3bacf86da7689e4e3dbb
Author: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Date: Fri Jul 23 13:09:42 2021 +0200
network-functions.pl: Improve wifi_get_link_quality
iwconfig doesn't return values for "Link Quality" if the interface
is disconnected, causing a division by zero error. If there are odd
values, the resulting percentage may contain many decimal places.
This patch makes wifi_get_link_quality return zero instead of failing
and rounds the percentage to a more meaningful integer.
Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit f4858c925c20fb9c930c7ccc0e0bbae03a06efd7
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sun Sep 5 08:49:07 2021 +0000
core160: add ethtool, sysfsutls and sysstat
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 135bd44a629427843c9a212cd64081a933049b4b
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Tue Jul 20 22:01:29 2021 +0200
rpcbind: Update to version 1.2.6
- Update from 1.2.5 to 1.2.6
- Update of rootfile not required
- Changelog is too large to include here. It can be downloaded from sourceforge
https://sourceforge.net/projects/rpcbind/files/rpcbind/1.2.6/1.2.6-ChangeLog
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 92f167fc4746b51fc9b6064026a3e7ca5c54c389
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Tue Jul 20 22:01:03 2021 +0200
ethtool: Update to version 5.13
- Update from 5.12 to 5.13
- Update of rootfile not reuired
- Changelog is no longer in the source tarball. It has to be extracted from the commits
in the git repository.
5.13
netlink: work around spurious selftest failure Michal Kubecek
Merge branch 'review/getmodule-v4' into master Michal Kubecek
ethtool: Update manpages to reflect changes to getmodule (-m) command Vladyslav Tarasiuk
ethtool: Rename QSFP-DD identifiers to use CMIS Vladyslav Tarasiuk
ethtool: Refactor human-readable module EEPROM output for new API Vladyslav Tarasiuk
ethtool: Add netlink handler for getmodule (-m) Vladyslav Tarasiuk
Merge branch 'review/fec-stats-v3' into master Michal Kubecek
test: workaround for FEC encoding parser checks Michal Kubecek
netlink: stats: add an --all-groups option Jakub Kicinski
netlink: add support for standard stats Jakub Kicinski
ethtool: add nlchk for redirecting to netlink Jakub Kicinski
netlink: fec: support displaying statistics Jakub Kicinski
netlink: add FEC support Jakub Kicinski
json: improve array print API Jakub Kicinski
update UAPI header copies
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit ba2592ada95060c995b2bc12c3ac9dd2c9e9bf0e
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Tue Jul 20 22:00:46 2021 +0200
cmake: Update to version 3.21.0
- Update from 3.20.4 to 3.21.0
- Update of rootfile not required
- Changelog
3.20.4 to 3.20.5
This version update made no changes to documented features or interfaces. Some
implementation updates were made to support ecosystem changes and/or fix regressions.
3.20.5 to 3.21.0
New Features
Presets
cmake-presets(7) gained support for specifying the install prefix in a configure preset.
cmake-presets(7) gained support for conditional enabling of presets.
cmake-presets(7) gained support for a ${hostSystemName} macro.
cmake-presets(7) gained support for omitting the generator and binaryDir fields.
Generators
The Visual Studio 17 2022 generator was added. This is experimental and based on "Visual Studio 2022 Preview 1.1" because this version of VS has not been released.
The Makefile Generators and the Ninja generator learned to add linker launcher tools along with the linker for C, CXX, OBJC, and OBJCXX languages. See the CMAKE_<LANG>_LINKER_LAUNCHER variable and <LANG>_LINKER_LAUNCHER target property for details.
Languages
CMake learned to support HIP as a first-class language that can be enabled via the project() and enable_language() commands.
C_STANDARD, OBJC_STANDARD, and the Compile Features functionality gained support for C17 and C23.
Source file extensions .ixx and .cppm are now treated as C++.
Command-Line
cmake(1) gained the --install-prefix <dir> command-line option to specify the location of the install prefix.
cmake(1) gained the --toolchain <path/to/file> command-line option to specify a toolchain file.
cmake(1) -E capabilities output, for some generators, may now contain a supportedPlatforms field listing platforms known to be supported in CMAKE_GENERATOR_PLATFORM.
Messages printed to a terminal now may be colored by message type.
Compilers
The Fujitsu compiler is now supported using compiler id Fujitsu in traditional (Trad) mode, and compiler id FujitsuClang in Clang mode.
Platforms
CMake now supports the MSYS runtime environment, much like CYGWIN.
File-Based API
The cmake-file-api(7) "codemodel" version 2 version field has been updated to 2.3.
The cmake-file-api(7) "codemodel" version 2 gained a new "directory" object containing directory-level information. This includes a list of installers generated by the install() command.
Commands
The add_custom_command() command DEPFILE option:
may now use generator expressions,
is now supported by Visual Studio Generators for VS 2012 and above, and
is now supported by the Xcode generator.
The add_custom_command(TARGET) command (for Build Events) gained support for resolving target-dependent generator expressions.
The build_command() command gained a PARALLEL_LEVEL option.
The file(COPY_FILE) command was added to copy a single file.
The file(GET_RUNTIME_DEPENDENCIES) command gained new POST_INCLUDE_FILES and POST_EXCLUDE_FILES arguments.
The file(REAL_PATH) command gained the option EXPAND_TILDE to replace any leading tilde with the path to the user's home directory.
The file(RENAME) command learned to optionally capture failure in a result variable. It also gained a NO_REPLACE option to fail if the destination exists.
The install() command gained a new IMPORTED_RUNTIME_ARTIFACTS mode, which can be used to install the runtime artifacts of imported targets.
The install() command gained a new RUNTIME_DEPENDENCY_SET mode, which can be used to install runtime dependencies using file(GET_RUNTIME_DEPENDENCIES).
The install(TARGETS) command gained new RUNTIME_DEPENDENCIES and RUNTIME_DEPENDENCY_SET arguments, which can be used to install runtime dependencies using file(GET_RUNTIME_DEPENDENCIES).
The install(SCRIPT|CODE) command supports a new option ALL_COMPONENTS which allows the corresponding code to run for every component of a per component installation.
The project() command now sets variables PROJECT_IS_TOP_LEVEL and <PROJECT-NAME>_IS_TOP_LEVEL to indicate whether it was called in a top-level CMakeLists.txt file.
Variables
The CMAKE_TOOLCHAIN_FILE environment variable was added to provide a default value for the CMAKE_TOOLCHAIN_FILE variable.
Properties
The IMPORTED_TARGETS directory property was added to get a list of Imported Targets created in the current directory.
The XCODE_EMBED_APP_EXTENSIONS target property was added to tell the Xcode generator to embed app extensions such as iMessage sticker packs. Aspects of the embedding can be customized with the XCODE_EMBED_APP_EXTENSIONS_PATH, XCODE_EMBED_APP_EXTENSIONS_CODE_SIGN_ON_COPY and XCODE_EMBED_APP_EXTENSIONS_REMOVE_HEADERS_ON_COPY properties.
Modules
The FindBLAS and FindLAPACK modules learned to support the serial Fujitsu_SSL2 and parallel Fujitsu_SSL2BLAMP libraries.
The FindDevIL module now provides imported targets.
The FindIconv module now has version support.
The FindIntl module now has version support.
The FindMPI module learned to support Fujitsu and FujitsuClang in both host and cross compiling modes.
The FindMsys module was added to find MSYS installations. Like FindCygwin, it is used automatically by some other find modules to locate UNIX-style tools on Windows.
The FindOpenMP module learned to support Fujitsu and FujitsuClang.
The FindVulkan module gained imported targets Vulkan::Headers and Vulkan::glslangValidator.
The UseJava module command add_jar gained a RESOURCES option to allow explicit naming of resources with non-optional namespace.
The UseSWIG module use now standard library naming conventions for the CSharp language. See policy CMP0122.
The UseSWIG module now supports using the swig tool to generate implicit dependencies with the Xcode generator.
Generator Expressions
A new TARGET_RUNTIME_DLLS generator expression was added.
CTest
ctest(1) gained documentation for its ability to capture Additional Test Measurements.
ctest(1) learned to recognize files attached to a test at run time. Previously it was only possible to attach files to tests at configure time by using the ATTACHED_FILES or ATTACHED_FILES_ON_FAIL test properties. See Additional Test Measurements for more information.
ctest(1) gained a --output-junit option to write test results to a JUnit XML file.
The ctest_build() command gained a PARALLEL_LEVEL option.
CPack
The CPack DragNDrop Generator gained option CPACK_DMG_FILESYSTEM to control the .dmg filesystem.
The CPack IFW Generator now supports hyphens in names given to cpack_ifw_configure_component() or cpack_ifw_configure_component_group() as DEPENDS or DEPENDENCIES arguments. This requires QtIFW 3.1 or later.
The CPack NSIS Generator gained a new CPACK_NSIS_EXECUTABLE variable to specify the makensis executable to use instead of the default one.
The CPACK_CUSTOM_INSTALL_VARIABLES variable was added to set variables in cmake_install.cmake script invocations made by CPack.
Deprecated and Removed Features
Undocumented CMAKE_SYSTEM_NAME version-stripping behavior has been removed entirely. If it is set by a -D flag or by a toolchain file, it is left unaltered, even if it still contains a version number. Similar CMAKE_HOST_SYSTEM_NAME version-stripping behavior, also undocumented, has been moved earlier, before project() or enable_language() is called.
ARMClang cpu/arch compile and link flags are no longer added automatically based on the CMAKE_SYSTEM_PROCESSOR variable or the undocumented CMAKE_SYSTEM_ARCH variable. They must be specified explicitly. See policy CMP0123.
Other Changes
The find_file(), find_path(), find_program(), and find_library() commands handle cache variables in the same way regardless how they are defined. See policy CMP0125 for details.
The find_file(), find_path(), find_program(), and find_library() commands gained the option NO_CACHE to store find result in normal variable.
The foreach() command now isolates loop variables in the loop scope. See policy CMP0124 for details.
The list() command's GET, INSERT, SUBLIST, and REMOVE_AT subcommands now error with invalid (i.e., non-integer) values are given as any of their index arguments based on the setting of policy CMP0121.
The set(CACHE) command no longer removes a normal variable of the same name, if any. See policy CMP0126.
target_link_libraries() calls referencing object libraries via the TARGET_OBJECTS generator expression now place the object files before all libraries on the link line, regardless of their specified order. See documentation on Linking Object Libraries via $<TARGET_OBJECTS> for details.
The Ninja Generators now pass source files and include directories to the compiler using absolute paths. This makes diagnostic messages and debug symbols more consistent, and matches the Makefile Generators.
The NMake Makefiles generator now encodes the generated makefiles as UTF-8 with a BOM when using nmake from VS 9 or above.
The Visual Studio Generators for VS 2010 and above now place per-source preprocessor definitions after target-wide preprocssor definitions. This makes VS consistent with the Ninja Generators and the Makefile Generators.
The precompiled binaries provided on cmake.org now support liblzma multi-threading. See the CPACK_THREADS and CPACK_ARCHIVE_THREADS variables.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 79516fed9a36cbb9018d4403d4b66840b827baf8
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Mon Jul 19 13:46:25 2021 +0200
sysfsutils: Update to 2.1.1
- Update from 1.3.0 (2005) to 2.1.1 (2021)
- Update rootfile
- version 1.3.0 was from 2005. Version 2.1.0 was from 2006. No other updates have been
carried out since 2006 until Feb 2021 when the repository was migrated from CVS
to git. https://github.com/linux-ras/sysfsutils/releases
- Installed iso, that was created from build, into testbed vm system. All menu's opened
and no issues found. Not 100% sure what to look for as I am not totally clear what
the library would be used for or by which programs. Probably needs testing by someone
who lnows what the sysfsutils library is used for.
- Ran find-dependencies on the original library system before build and then on the new
library system after building and in both cases nothing was flagged up. So it looks
like no other programs are linked to the library.
- pcmciautils required one of the sysfsutils include files to be available during the
build. ./configure was modified to allow pcmciautils to find the include file
- Changelog for changes from 2.1.0 to 2.1.1
Moved to git from CVS repository
Modernized build system
Source compiles on latest compilers
Various bug fixes
Removed Changelog and NEWS files
Adjusted COPYING file to reflect set of directories covered under GPLv2
Added SUSE-specific libsysfs.conf
Improvements to adopt git workflow
Integration with Travis-CI
Updated the documentation
Special thanks to all the sysfsutils package maintainers.
Thanks to: Aurelien Jarno, Christopher Engelhard, Guillem Jover,
Kamalesh Babulal, Lee Duncan, Martin Pitt, Timm Bäder
Tested-by: Adolf Belka <adolf.belka(a)ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 55da553742129623753baa86564cd65d3d7df680
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Fri Jul 16 20:20:22 2021 +0200
firewall.cgi: Bring back check for single IP when using DNAT.
This check has been removed by commit: bbe8e009b824aef745c9ab9718dce9a1b557f5fc
So it was able to create DNAT rules with a network as target.
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 446dc99e2501a090f7562384b340230b9b5d1a7c
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Fri Jul 16 19:15:28 2021 +0200
firewall.cgi: Map rule if manual target address belongs to IPFire
Automatically map the rule target if a manual entered target address is
assigned to a network zone.
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit a9611629cc90f716fbf4fc7050a95f0b7b285df3
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Fri Jul 16 18:35:58 2021 +0200
firewall.cgi: Allow to creating input rules from Orange to another zone.
It was not able to create a firewall rule from the orange network to a
different network address of the firewall. ( For example: Orange -> IPFire's green address)
These rules always have been handled as FORWARD rules which is totaly
wrong.
Fixes #12265.
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Tested-by: Peter Müller <peter.mueller(a)ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit fc81e493b14d545893856d5bcba11d538a8ae16c
Author: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Date: Fri Jul 16 10:56:07 2021 +0200
qos.cgi: Fix missing translation
Fixes: #12443
Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 09c3db1cffa55cb7ddb35d642a74abc6f216d9e4
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sun Sep 5 08:37:51 2021 +0000
core160: add updated cgi files
html/cgi-bin/entropy.cgi | 11 -----------
html/cgi-bin/hardwaregraphs.cgi | 32 --------------------------------
html/cgi-bin/media.cgi | 11 -----------
html/cgi-bin/memory.cgi | 14 --------------
html/cgi-bin/netexternal.cgi | 11 -----------
html/cgi-bin/netinternal.cgi | 17 -----------------
html/cgi-bin/netother.cgi | 19 -------------------
html/cgi-bin/netovpnrw.cgi | 10 ----------
html/cgi-bin/netovpnsrv.cgi | 14 --------------
html/cgi-bin/qos.cgi | 11 -----------
html/cgi-bin/system.cgi | 18 ------------------
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 4190b2a621b9d39e7dcf2480f03d41558f0c7fd0
Author: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Date: Fri Jul 16 10:39:38 2021 +0200
rrd graphs: Fix indentation after removing graph output
Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
commit 05c8c10f193f2b919542fd610483f4bdb2330988
Author: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Date: Fri Jul 16 10:39:37 2021 +0200
rrd graphs: Remove unused individual graph output
PNG generation has been moved to getrrdimage.cgi
Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
config/cfgroot/network-functions.pl | 6 +-
config/rootfiles/common/libidn | 5 +-
config/rootfiles/common/sysfsutils | 22 +--
.../{oldcore/104 => core/160}/filelists/curl | 0
.../{oldcore/158 => core/160}/filelists/ethtool | 0
config/rootfiles/core/160/filelists/files | 12 ++
.../{oldcore/106 => core/160}/filelists/libidn | 0
.../{oldcore/66 => core/160}/filelists/sysfsutils | 0
config/rootfiles/core/160/filelists/sysstat | 1 +
html/cgi-bin/entropy.cgi | 91 +++++-----
html/cgi-bin/firewall.cgi | 53 +++++-
html/cgi-bin/hardwaregraphs.cgi | 138 ++++++---------
html/cgi-bin/media.cgi | 169 +++++++++----------
html/cgi-bin/memory.cgi | 134 +++++++--------
html/cgi-bin/netexternal.cgi | 187 ++++++++++-----------
html/cgi-bin/netinternal.cgi | 63 +++----
html/cgi-bin/netother.cgi | 95 +++++------
html/cgi-bin/netovpnrw.cgi | 50 +++---
html/cgi-bin/netovpnsrv.cgi | 60 +++----
html/cgi-bin/qos.cgi | 31 ++--
html/cgi-bin/system.cgi | 48 ++----
lfs/cmake | 4 +-
lfs/curl | 4 +-
lfs/ethtool | 4 +-
lfs/libidn | 11 +-
lfs/rpcbind | 6 +-
lfs/sysfsutils | 12 +-
27 files changed, 550 insertions(+), 656 deletions(-)
copy config/rootfiles/{oldcore/104 => core/160}/filelists/curl (100%)
copy config/rootfiles/{oldcore/158 => core/160}/filelists/ethtool (100%)
copy config/rootfiles/{oldcore/106 => core/160}/filelists/libidn (100%)
copy config/rootfiles/{oldcore/66 => core/160}/filelists/sysfsutils (100%)
create mode 120000 config/rootfiles/core/160/filelists/sysstat
Difference in files:
diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl
index b7a840559..c0abc76b5 100644
--- a/config/cfgroot/network-functions.pl
+++ b/config/cfgroot/network-functions.pl
@@ -403,7 +403,11 @@ sub wifi_get_link_quality($) {
my ($cur, $max) = $status =~ /Link Quality=(\d+)\/(\d+)/;
- return $cur * 100 / $max;
+ if($max > 0) {
+ return sprintf('%.0f', ($cur * 100) / $max);
+ }
+
+ return 0;
}
sub wifi_get_signal_level($) {
diff --git a/config/rootfiles/common/libidn b/config/rootfiles/common/libidn
index 7f00a96ea..c959f6c65 100644
--- a/config/rootfiles/common/libidn
+++ b/config/rootfiles/common/libidn
@@ -6,11 +6,10 @@ usr/bin/idn
#usr/include/punycode.h
#usr/include/stringprep.h
#usr/include/tld.h
-#usr/lib/libidn.a
#usr/lib/libidn.la
-usr/lib/libidn.so
+#usr/lib/libidn.so
usr/lib/libidn.so.12
-usr/lib/libidn.so.12.6.1
+usr/lib/libidn.so.12.6.3
#usr/lib/pkgconfig/libidn.pc
#usr/share/emacs
#usr/share/emacs/site-lisp
diff --git a/config/rootfiles/common/sysfsutils b/config/rootfiles/common/sysfsutils
index 32eca4ed5..b20a8def6 100644
--- a/config/rootfiles/common/sysfsutils
+++ b/config/rootfiles/common/sysfsutils
@@ -1,20 +1,10 @@
-#bin/dlist_test
-#bin/get_bus_devices_list
-#bin/get_class_dev
-#bin/get_classdev_parent
-#bin/get_device
-#bin/get_driver
-#bin/systool
-#bin/testlibsysfs
-#bin/write_attr
-#lib/libsysfs.a
#lib/libsysfs.la
-lib/libsysfs.so
-lib/libsysfs.so.1
-lib/libsysfs.so.1.0.3
-#man
-#man/man1
-#man/man1/systool.1
+#lib/libsysfs.so
+lib/libsysfs.so.2
+lib/libsysfs.so.2.0.1
+#lib/pkgconfig/libsysfs.pc
+#usr/bin/systool
#usr/include/sysfs
#usr/include/sysfs/dlist.h
#usr/include/sysfs/libsysfs.h
+#usr/share/man/man1/systool.1
diff --git a/config/rootfiles/core/160/filelists/curl b/config/rootfiles/core/160/filelists/curl
new file mode 120000
index 000000000..4b84bef53
--- /dev/null
+++ b/config/rootfiles/core/160/filelists/curl
@@ -0,0 +1 @@
+../../../common/curl
\ No newline at end of file
diff --git a/config/rootfiles/core/160/filelists/ethtool b/config/rootfiles/core/160/filelists/ethtool
new file mode 120000
index 000000000..494a53e9d
--- /dev/null
+++ b/config/rootfiles/core/160/filelists/ethtool
@@ -0,0 +1 @@
+../../../common/ethtool
\ No newline at end of file
diff --git a/config/rootfiles/core/160/filelists/files b/config/rootfiles/core/160/filelists/files
index d1f904ef5..cffe4fd1d 100644
--- a/config/rootfiles/core/160/filelists/files
+++ b/config/rootfiles/core/160/filelists/files
@@ -1,7 +1,19 @@
usr/lib/firewall/rules.pl
+srv/web/ipfire/cgi-bin/entropy.cgi
srv/web/ipfire/cgi-bin/firewall.cgi
srv/web/ipfire/cgi-bin/fwhosts.cgi
+srv/web/ipfire/cgi-bin/hardwaregraphs.cgi
srv/web/ipfire/cgi-bin/logs.cgi/firewalllog.dat
+srv/web/ipfire/cgi-bin/media.cgi
+srv/web/ipfire/cgi-bin/memory.cgi
+srv/web/ipfire/cgi-bin/netexternal.cgi
+srv/web/ipfire/cgi-bin/netinternal.cgi
+srv/web/ipfire/cgi-bin/netother.cgi
+srv/web/ipfire/cgi-bin/netovpnrw.cgi
+srv/web/ipfire/cgi-bin/netovpnsrv.cgi
+srv/web/ipfire/cgi-bin/qos.cgi
srv/web/ipfire/cgi-bin/shutdown.cgi
+srv/web/ipfire/cgi-bin/system.cgi
srv/web/ipfire/html/themes/ipfire/include/css/style.css
var/ipfire/general-functions.pl
+var/ipfire/network-functions.pl
diff --git a/config/rootfiles/core/160/filelists/libidn b/config/rootfiles/core/160/filelists/libidn
new file mode 120000
index 000000000..7e3548957
--- /dev/null
+++ b/config/rootfiles/core/160/filelists/libidn
@@ -0,0 +1 @@
+../../../common/libidn
\ No newline at end of file
diff --git a/config/rootfiles/core/160/filelists/sysfsutils b/config/rootfiles/core/160/filelists/sysfsutils
new file mode 120000
index 000000000..8f3ee3e86
--- /dev/null
+++ b/config/rootfiles/core/160/filelists/sysfsutils
@@ -0,0 +1 @@
+../../../common/sysfsutils
\ No newline at end of file
diff --git a/config/rootfiles/core/160/filelists/sysstat b/config/rootfiles/core/160/filelists/sysstat
new file mode 120000
index 000000000..cec8f445f
--- /dev/null
+++ b/config/rootfiles/core/160/filelists/sysstat
@@ -0,0 +1 @@
+../../../common/sysstat
\ No newline at end of file
diff --git a/html/cgi-bin/entropy.cgi b/html/cgi-bin/entropy.cgi
index f8045db5a..0a27d2329 100644
--- a/html/cgi-bin/entropy.cgi
+++ b/html/cgi-bin/entropy.cgi
@@ -30,63 +30,52 @@ require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
require "${General::swroot}/graphs.pl";
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
-
-if ( $querry[0] ne~ "") {
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateentropygraph($querry[1]);
-
-} else {
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'entropy'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- &Header::openbox('100%', 'center', $Lang::tr{'entropy'});
- &Graphs::makegraphbox("entropy.cgi", "entropy", "day");
- &Header::closebox();
-
- # Check for hardware support.
- my $message;
- my $message_colour = $Header::colourred;
- if (&has_rdrand()) {
- $message = $Lang::tr{'system has rdrand'};
- $message_colour = $Header::colourgreen;
- }
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'entropy'}, 1, '');
+&Header::openbigbox('100%', 'left');
+
+&Header::openbox('100%', 'center', $Lang::tr{'entropy'});
+&Graphs::makegraphbox("entropy.cgi", "entropy", "day");
+&Header::closebox();
+
+# Check for hardware support.
+my $message;
+my $message_colour = $Header::colourred;
+if (&has_rdrand()) {
+ $message = $Lang::tr{'system has rdrand'};
+ $message_colour = $Header::colourgreen;
+}
- my $rngd_status = "<td align='center' bgcolor='${Header::colourred}'><font color='white'><b>$Lang::tr{'stopped'}</b></font></td>";
- if (&rngd_is_running()) {
- $rngd_status = "<td align='center' bgcolor='${Header::colourgreen}'><font color='white'><b>$Lang::tr{'running'}</b></font></td>";
- }
+my $rngd_status = "<td align='center' bgcolor='${Header::colourred}'><font color='white'><b>$Lang::tr{'stopped'}</b></font></td>";
+if (&rngd_is_running()) {
+ $rngd_status = "<td align='center' bgcolor='${Header::colourgreen}'><font color='white'><b>$Lang::tr{'running'}</b></font></td>";
+}
- &Header::openbox('100%', 'center', $Lang::tr{'hardware support'});
- if ($message) {
- print <<EOF;
- <p style="color: $message_colour; text-align: center;">$message</p>
+&Header::openbox('100%', 'center', $Lang::tr{'hardware support'});
+if ($message) {
+ print <<EOF;
+ <p style="color: $message_colour; text-align: center;">$message</p>
EOF
- }
+}
- print <<EOF;
- <table width='80%' cellspacing='1' class='tbl'>
- <tr>
- <th align='center'><b>$Lang::tr{'service'}</b></th>
- <th align='center'><b>$Lang::tr{'status'}</b></th>
- </tr>
- <tr>
- <td align='center'>
- $Lang::tr{'random number generator daemon'}
- </td>
- $rngd_status
- </tr>
- </table>
+print <<EOF;
+ <table width='80%' cellspacing='1' class='tbl'>
+ <tr>
+ <th align='center'><b>$Lang::tr{'service'}</b></th>
+ <th align='center'><b>$Lang::tr{'status'}</b></th>
+ </tr>
+ <tr>
+ <td align='center'>
+ $Lang::tr{'random number generator daemon'}
+ </td>
+ $rngd_status
+ </tr>
+ </table>
EOF
- &Header::closebox();
+&Header::closebox();
- &Header::closebigbox();
- &Header::closepage();
-}
+&Header::closebigbox();
+&Header::closepage();
sub has_rdrand() {
open(FILE, "/proc/cpuinfo") or return 0;
diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi
index 0eace5f11..8e17cef57 100644
--- a/html/cgi-bin/firewall.cgi
+++ b/html/cgi-bin/firewall.cgi
@@ -213,6 +213,7 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
&General::readhasharray("$configfwdfw", \%configfwdfw);
&General::readhasharray("$configinput", \%configinputfw);
&General::readhasharray("$configoutgoing", \%configoutgoingfw);
+ &General::readhash("/var/ipfire/ethernet/settings", \%netsettings);
my $maxkey;
#Set Variables according to the JQuery code in protocol section
if ($fwdfwsettings{'PROT'} eq 'TCP' || $fwdfwsettings{'PROT'} eq 'UDP')
@@ -231,6 +232,38 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
{
$fwdfwsettings{'USESRV'} = 'ON';
}
+
+ # Check if a manual target IP is one of the IPFire's addresses.
+ if ($fwdfwsettings{'grp2'} eq 'tgt_addr') {
+ # Grab all available network zones.
+ my @network_zones = &Network::get_available_network_zones();
+
+ # Loop through the array of network zones.
+ foreach my $zone (@network_zones) {
+ # Skip red network zone.
+ next if $zone eq "red";
+
+ # Convert current zone name into upper case.
+ $zone = uc($zone);
+
+ # Generate key to access the required data from the netsettings hash.
+ my $key = $zone . "_ADDRESS";
+
+ # Obtain the configured address for the current zone from the netsettings hash.
+ my $zone_address = $netsettings{$key};
+
+ # Check if the given address and the current processed zone address are the same.
+ if ($fwdfwsettings{$fwdfwsettings{'grp2'}} eq $zone_address) {
+ # Map the type and target.
+ $fwdfwsettings{'grp2'} = 'ipfire';
+ $fwdfwsettings{$fwdfwsettings{'grp2'}} = $zone;
+
+ # End loop.
+ last;
+ }
+ }
+ }
+
$errormessage=&checksource;
if(!$errormessage){&checktarget;}
if(!$errormessage){&checkrule;}
@@ -247,7 +280,7 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
$errormessage=$Lang::tr{'fwdfw err same'};
}
# INPUT part
- if ($fwdfwsettings{'grp2'} eq 'ipfire' && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ORANGE'){
+ if ($fwdfwsettings{'grp2'} eq 'ipfire') {
$fwdfwsettings{'config'}=$configinput;
$fwdfwsettings{'chain'} = 'INPUTFW';
$maxkey=&General::findhasharraykey(\%configinputfw);
@@ -536,6 +569,24 @@ sub checktarget
#check DNAT settings (has to be single Host and single Port or portrange)
if ($fwdfwsettings{'USE_NAT'} eq 'ON' && $fwdfwsettings{'nat'} eq 'dnat'){
if($fwdfwsettings{'grp2'} eq 'tgt_addr' || $fwdfwsettings{'grp2'} eq 'cust_host_tgt' || $fwdfwsettings{'grp2'} eq 'ovpn_host_tgt'){
+ # Check if a manual entered IP is a single Host (if set)
+ if ($fwdfwsettings{'grp2'} eq 'tgt_addr') {
+ # Split input into address and prefix (if provided).
+ my ($address, $subnet) = split ('/', $fwdfwsettings{$fwdfwsettings{'grp2'}});
+
+ # Check if a subnet is given.
+ if ($subnet) {
+ # Check if the prefix or subnetmask is for a single host.
+ unless ($subnet eq "32" || $subnet eq "255.255.255.255") {
+ # Set error message.
+ $errormessage=$Lang::tr{'fwdfw dnat error'}."<br>";
+
+ # Return the error.
+ return $errormessage;
+ }
+ }
+ }
+
#check if Port is a single Port or portrange
if ($fwdfwsettings{'nat'} eq 'dnat' && $fwdfwsettings{'grp3'} eq 'TGT_PORT'){
if(($fwdfwsettings{'PROT'} ne 'TCP'|| $fwdfwsettings{'PROT'} ne 'UDP') && $fwdfwsettings{'TGT_PORT'} eq ''){
diff --git a/html/cgi-bin/hardwaregraphs.cgi b/html/cgi-bin/hardwaregraphs.cgi
index e8f0fa362..9e3fe60d5 100644
--- a/html/cgi-bin/hardwaregraphs.cgi
+++ b/html/cgi-bin/hardwaregraphs.cgi
@@ -90,102 +90,70 @@ if (@thermal_zone_sensors) {
}
}
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
-
-if ( $querry[0] =~ "hwtemp"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatehwtempgraph($querry[1]);
-}elsif ( $querry[0] =~ "hwfan"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatehwfangraph($querry[1]);
-}elsif ( $querry[0] =~ "hwvolt"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatehwvoltgraph($querry[1]);
-}elsif ( $querry[0] =~ "thermaltemp"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatethermaltempgraph($querry[1]);
-}elsif ( $querry[0] =~ "sd?" ){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatehddgraph($querry[0],$querry[1]);
-}elsif ( $querry[0] =~ "nvme?" ){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatehddgraph($querry[0],$querry[1]);
-}else{
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'hardware graphs'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- &Header::getcgihash(\%sensorsettings);
-
- if ( $sensorsettings{'ACTION'} eq $Lang::tr{'save'} ) {
- foreach(@sensorsgraphs){
- chomp($_);
- $_ =~ /\/(.*)sensors-(.*)\/(.*)\.rrd/;
- my $label = $2.$3;$label=~ s/-//g;
- if ( $sensorsettings{'LINE-'.$label} ne "on" ){
- $sensorsettings{'LINE-'.$label} = 'off';
- } elsif ($sensorsettings{'LINE-'.$label} eq "on" ){
- $sensorsettings{'LINE-'.$label} = 'checked';
- }
- $sensorsettings{'LABEL-'.$label} =~ s/\W//g;
- }
- &General::writehash("${General::swroot}/sensors/settings", \%sensorsettings);
- }
-
- # This should be save, because no user given content will be processed.
- #my @disks = `ls -1 /sys/block | grep -E '^sd|^nvme' | sort | uniq`;
- my @disks = &get_disks();
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'hardware graphs'}, 1, '');
+&Header::openbigbox('100%', 'left');
- foreach (@disks){
- my $disk = $_;
- chomp $disk;
- my @array = split(/\//,$disk);
+&Header::getcgihash(\%sensorsettings);
- &Header::openbox('100%', 'center', "$array[$#array] $Lang::tr{'graph'}");
- &Graphs::makegraphbox("hardwaregraphs.cgi",$array[$#array],"day");
- &Header::closebox();
+if ( $sensorsettings{'ACTION'} eq $Lang::tr{'save'} ) {
+ foreach(@sensorsgraphs){
+ chomp($_);
+ $_ =~ /\/(.*)sensors-(.*)\/(.*)\.rrd/;
+ my $label = $2.$3;$label=~ s/-//g;
+ if ( $sensorsettings{'LINE-'.$label} ne "on" ){
+ $sensorsettings{'LINE-'.$label} = 'off';
+ } elsif ($sensorsettings{'LINE-'.$label} eq "on" ){
+ $sensorsettings{'LINE-'.$label} = 'checked';
+ }
+ $sensorsettings{'LABEL-'.$label} =~ s/\W//g;
}
+ &General::writehash("${General::swroot}/sensors/settings", \%sensorsettings);
+}
- if ( grep(/thermal-thermal_zone/, @sensorsgraphs) ) {
- &Header::openbox('100%', 'center', "ACPI Thermal-Zone Temp $Lang::tr{'graph'}");
- &Graphs::makegraphbox("hardwaregraphs.cgi","thermaltemp","day");
- &Header::closebox();
- }
+# This should be save, because no user given content will be processed.
+#my @disks = `ls -1 /sys/block | grep -E '^sd|^nvme' | sort | uniq`;
+my @disks = &get_disks();
- if ( grep(/temperature-/, @sensorsgraphs) ) {
- &Header::openbox('100%', 'center', "hwtemp $Lang::tr{'graph'}");
- &Graphs::makegraphbox("hardwaregraphs.cgi","hwtemp","day");
- Header::closebox();
- }
+foreach (@disks){
+ my $disk = $_;
+ chomp $disk;
+ my @array = split(/\//,$disk);
- if ( grep(/fanspeed-/, @sensorsgraphs) ) {
- &Header::openbox('100%', 'center', "hwfan $Lang::tr{'graph'}");
- &Graphs::makegraphbox("hardwaregraphs.cgi","hwfan","day");
- &Header::closebox();
- }
+ &Header::openbox('100%', 'center', "$array[$#array] $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("hardwaregraphs.cgi",$array[$#array],"day");
+ &Header::closebox();
+}
- if ( grep(/voltage-/, @sensorsgraphs) ) {
- &Header::openbox('100%', 'center', "hwvolt $Lang::tr{'graph'}");
- &Graphs::makegraphbox("hardwaregraphs.cgi","hwvolt","day");
- &Header::closebox();
- }
+if ( grep(/thermal-thermal_zone/, @sensorsgraphs) ) {
+ &Header::openbox('100%', 'center', "ACPI Thermal-Zone Temp $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("hardwaregraphs.cgi","thermaltemp","day");
+ &Header::closebox();
+}
- if ( @sensorsgraphs ) {
- sensorsbox();
- }
- &Header::closebigbox();
- &Header::closepage();
+if ( grep(/temperature-/, @sensorsgraphs) ) {
+ &Header::openbox('100%', 'center', "hwtemp $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("hardwaregraphs.cgi","hwtemp","day");
+ Header::closebox();
+}
+if ( grep(/fanspeed-/, @sensorsgraphs) ) {
+ &Header::openbox('100%', 'center', "hwfan $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("hardwaregraphs.cgi","hwfan","day");
+ &Header::closebox();
}
+if ( grep(/voltage-/, @sensorsgraphs) ) {
+ &Header::openbox('100%', 'center', "hwvolt $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("hardwaregraphs.cgi","hwvolt","day");
+ &Header::closebox();
+}
+
+if ( @sensorsgraphs ) {
+ sensorsbox();
+}
+&Header::closebigbox();
+&Header::closepage();
sub sensorsbox {
&Header::openbox('100%', 'center', "$Lang::tr{'mbmon settings'}");
diff --git a/html/cgi-bin/media.cgi b/html/cgi-bin/media.cgi
index f574729ed..cc8f84d0a 100644
--- a/html/cgi-bin/media.cgi
+++ b/html/cgi-bin/media.cgi
@@ -41,128 +41,117 @@ undef (@dummy);
my %cgiparams=();
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
-
my @devices = `ls -1 /sys/block | grep -E '^sd|^mmcblk|^nvme|^xvd|^vd|^md' | sort | uniq`;
-if ( $querry[0] =~ "sd?" || $querry[0] =~ "mmcblk?" || $querry[0] =~ "nvme?n?" || $querry[0] =~ "xvd??" || $querry[0] =~ "vd?" || $querry[0] =~ "md*" ){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
-
- &Graphs::updatediskgraph($querry[0],$querry[1]);
-}else{
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'media information'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- foreach (@devices) {
- my $device = $_;
- chomp($device);
- my @array = split(/\//,$device);
- &Header::openbox('100%', 'center', "$array[$#array] $Lang::tr{'graph'}");
- diskbox($array[$#array]);
- &Graphs::makegraphbox("media.cgi",$array[$#array],"day");
- &Header::closebox();
- }
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'media information'}, 1, '');
+&Header::openbigbox('100%', 'left');
+
+foreach (@devices) {
+ my $device = $_;
+ chomp($device);
+ my @array = split(/\//,$device);
+ &Header::openbox('100%', 'center', "$array[$#array] $Lang::tr{'graph'}");
+ diskbox($array[$#array]);
+ &Graphs::makegraphbox("media.cgi",$array[$#array],"day");
+ &Header::closebox();
+}
+
-
- &Header::openbox('100%', 'center', $Lang::tr{'disk usage'});
- print "<table width='95%' cellspacing='5'>\n";
- open(DF,'/bin/df -P -B M -x rootfs|');
- while(<DF>){
- if ($_ =~ m/^Filesystem/ ){
- print <<END
+&Header::openbox('100%', 'center', $Lang::tr{'disk usage'});
+print "<table width='95%' cellspacing='5'>\n";
+open(DF,'/bin/df -P -B M -x rootfs|');
+while(<DF>){
+ if ($_ =~ m/^Filesystem/ ){
+ print <<END
<tr>
-<td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'mounted on'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
-<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'mounted on'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
+ <td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
</tr>
END
;
- }else{
- my ($device,$size,$used,$free,$percent,$mount) = split;
- print <<END
+ }else{
+ my ($device,$size,$used,$free,$percent,$mount) = split;
+ print <<END
<tr>
-<td align='center'>$device</td>
-<td align='center'>$mount</td>
-<td align='center'>$size</td>
-<td align='center'>$used</td>
-<td align='center'>$free</td>
-<td align='left'>
+ <td align='center'>$device</td>
+ <td align='center'>$mount</td>
+ <td align='center'>$size</td>
+ <td align='center'>$used</td>
+ <td align='center'>$free</td>
+ <td align='left'>
END
;
- &percentbar($percent);
- print <<END
+ &percentbar($percent);
+ print <<END
</td>
-<td align='left'>$percent</td>
+ <td align='left'>$percent</td>
</tr>
END
;
- }
}
- close DF;
- print "<tr><td colspan='7'> \n<tr><td colspan='7'><h3>Inodes</h3>\n";
+}
+close DF;
+print "<tr><td colspan='7'> \n<tr><td colspan='7'><h3>Inodes</h3>\n";
- open(DF,'/bin/df -P -i -x rootfs|');
- while(<DF>){
- if ($_ =~ m/^Filesystem/ ){
- print <<END
+open(DF,'/bin/df -P -i -x rootfs|');
+while(<DF>){
+ if ($_ =~ m/^Filesystem/ ){
+ print <<END
<tr>
-<td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'mounted on'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
-<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'mounted on'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
+ <td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
</tr>
END
;
- }else{
- my ($device,$size,$used,$free,$percent,$mount) = split;
- print <<END
+ }else{
+ my ($device,$size,$used,$free,$percent,$mount) = split;
+ print <<END
<tr>
-<td align='center'>$device</td>
-<td align='center'>$mount</td>
-<td align='center'>$size</td>
-<td align='center'>$used</td>
-<td align='center'>$free</td>
+ <td align='center'>$device</td>
+ <td align='center'>$mount</td>
+ <td align='center'>$size</td>
+ <td align='center'>$used</td>
+ <td align='center'>$free</td>
<td>
END
;
- &percentbar($percent);
- print <<END
+ &percentbar($percent);
+ print <<END
</td>
<td align='left'>$percent</td>
</tr>
END
;
- }
}
- close DF;
- my @iostat1 = qx(/usr/bin/iostat -dm -p | grep -v "Linux" | awk '{print \$1}');
- my @iostat2 = qx(/usr/bin/iostat -dm -p | grep -v "Linux" | awk '{print \$5}');
- my @iostat3 = qx(/usr/bin/iostat -dm -p | grep -v "Linux" | awk '{print \$6}');
- print "<tr><td colspan='3'> \n<tr><td colspan='3'><h3>transfers</h3></td></tr>";
- my $i=0;
-
- for(my $i = 1; $i <= $#iostat1; $i++){
- if ( $i eq '1' ){
- print "<tr><td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB read'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB written'}</b></td></tr>";
- }else{
- print "<tr><td align='center'>$iostat1[$i]</td><td align='center'>$iostat2[$i]</td><td align='center'>$iostat3[$i]</td></tr>";
- }
+}
+close DF;
+my @iostat1 = qx(/usr/bin/iostat -dm -p | grep -v "Linux" | awk '{print \$1}');
+my @iostat2 = qx(/usr/bin/iostat -dm -p | grep -v "Linux" | awk '{print \$5}');
+my @iostat3 = qx(/usr/bin/iostat -dm -p | grep -v "Linux" | awk '{print \$6}');
+print "<tr><td colspan='3'> \n<tr><td colspan='3'><h3>transfers</h3></td></tr>";
+my $i=0;
+
+for(my $i = 1; $i <= $#iostat1; $i++){
+ if ( $i eq '1' ){
+ print "<tr><td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB read'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB written'}</b></td></tr>";
+ }else{
+ print "<tr><td align='center'>$iostat1[$i]</td><td align='center'>$iostat2[$i]</td><td align='center'>$iostat3[$i]</td></tr>";
}
- print "</table>\n";
- &Header::closebox();
-
- &Header::closebigbox();
- &Header::closepage();
}
+print "</table>\n";
+&Header::closebox();
+
+&Header::closebigbox();
+&Header::closepage();
sub percentbar
{
diff --git a/html/cgi-bin/memory.cgi b/html/cgi-bin/memory.cgi
index 441b1d4e7..814063dfb 100644
--- a/html/cgi-bin/memory.cgi
+++ b/html/cgi-bin/memory.cgi
@@ -35,98 +35,85 @@ my %mainsettings = ();
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
&General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'memory information'}, 1, '');
+&Header::openbigbox('100%', 'left');
-if ( $querry[0] =~ "memory"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatememorygraph($querry[1]);
-}elsif ( $querry[0] =~ "swap"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateswapgraph($querry[1]);
-}else{
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'memory information'}, 1, '');
- &Header::openbigbox('100%', 'left');
+&Header::openbox('100%', 'center', "Memory $Lang::tr{'graph'}");
+&Graphs::makegraphbox("memory.cgi","memory","day");
+&Header::closebox();
- &Header::openbox('100%', 'center', "Memory $Lang::tr{'graph'}");
- &Graphs::makegraphbox("memory.cgi","memory","day");
+if (-f "$mainsettings{'RRDLOG'}/collectd/localhost/swap") {
+ &Header::openbox('100%', 'center', "Swap $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("memory.cgi","swap","day");
&Header::closebox();
+}
- if (-f "$mainsettings{'RRDLOG'}/collectd/localhost/swap") {
- &Header::openbox('100%', 'center', "Swap $Lang::tr{'graph'}");
- &Graphs::makegraphbox("memory.cgi","swap","day");
- &Header::closebox();
- }
-
- &Header::openbox('100%', 'center', $Lang::tr{'memory'});
- print "<table width='95%' cellspacing='5'>";
- my $size=0;
- my $used=0;
- my $free=0;
- my $percent=0;
- my $shared=0;
- my $buffers=0;
- my $cached=0;
- my $available=0;
+&Header::openbox('100%', 'center', $Lang::tr{'memory'});
+print "<table width='95%' cellspacing='5'>";
+my $size=0;
+my $used=0;
+my $free=0;
+my $percent=0;
+my $shared=0;
+my $buffers=0;
+my $cached=0;
+my $available=0;
- # output format: kibibytes, wide mode (buffers and cache in two columns)
- open(my $cmd_fh, "-|", '/usr/bin/free -k -w') or die $!;
- while(<$cmd_fh>){
- if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cache\s+available$/ ){
- print <<END
+# output format: kibibytes, wide mode (buffers and cache in two columns)
+open(my $cmd_fh, "-|", '/usr/bin/free -k -w') or die $!;
+while(<$cmd_fh>){
+ if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cache\s+available$/ ){
+ print <<END
<tr>
-<td align='center'> </td>
-<td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
-<td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
-<td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
+ <td align='center'> </td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'size'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'used'}</b></td>
+ <td align='center' class='boldbase'><b>$Lang::tr{'free'}</b></td>
+ <td align='left' class='boldbase' colspan='2'><b>$Lang::tr{'percentage'}</b></td>
</tr>
END
;
- }else{
- if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/){
- ($size,$used,$free,$shared,$buffers,$cached,$available) = ($1,$2,$3,$4,$5,$6,$7);
- ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
- print <<END
+ }else{
+ if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/){
+ ($size,$used,$free,$shared,$buffers,$cached,$available) = ($1,$2,$3,$4,$5,$6,$7);
+ ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
+ print <<END
<tr>
-<td class='boldbase'><b>$Lang::tr{'ram'}</b></td>
+ <td class='boldbase'><b>$Lang::tr{'ram'}</b></td>
END
;
- }elsif($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/){
- ($size,$used,$free) = ($1,$2,$3);
- if ($size != 0){
- ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
- }else{
- ($percent = '');
- }
- print <<END
+ }elsif($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/){
+ ($size,$used,$free) = ($1,$2,$3);
+ if ($size != 0){
+ ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
+ }else{
+ ($percent = '');
+ }
+ print <<END
<tr>
-<td class='boldbase'><b>$Lang::tr{'swap'}</b></td>
+ <td class='boldbase'><b>$Lang::tr{'swap'}</b></td>
END
;
- }
- print <<END
-<td align='center'>$size KiB</td>
-<td align='center'>$used KiB</td>
-<td align='center'>$free KiB</td>
-<td>
+ }
+ print <<END
+ <td align='center'>$size KiB</td>
+ <td align='center'>$used KiB</td>
+ <td align='center'>$free KiB</td>
+ <td>
END
;
- &percentbar($percent);
- print <<END
+ &percentbar($percent);
+ print <<END
</td>
-<td align='left'>$percent</td>
+ <td align='left'>$percent</td>
</tr>
END
;
- }
}
- close($cmd_fh);
- print <<END
+}
+close($cmd_fh);
+print <<END
<tr><td colspan='6'><br /></td></tr>
<tr><td class='boldbase'><b>$Lang::tr{'shared'}</b></td><td align='center'>$shared KiB</td></tr>
<tr><td class='boldbase'><b>$Lang::tr{'buffers'}</b></td><td align='center'>$buffers KiB</td></tr>
@@ -135,11 +122,10 @@ END
</table>
END
;
- &Header::closebox();
+&Header::closebox();
- &Header::closebigbox();
- &Header::closepage();
-}
+&Header::closebigbox();
+&Header::closepage();
sub percentbar{
my $percent = $_[0];
diff --git a/html/cgi-bin/netexternal.cgi b/html/cgi-bin/netexternal.cgi
index 1e3760c2b..cc5667044 100644
--- a/html/cgi-bin/netexternal.cgi
+++ b/html/cgi-bin/netexternal.cgi
@@ -43,124 +43,113 @@ my %netsettings=();
my @graphs=();
my %dhcpinfo=();
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
-
-if ( $querry[0] ne~ ""){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateifgraph($querry[0],$querry[1]);
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'network traffic graphs external'}, 1, '');
+&Header::openbigbox('100%', 'left');
+
+if ($netsettings{'RED_TYPE'} ne 'PPPOE'){
+ if ($netsettings{'RED_DEV'} ne $netsettings{'GREEN_DEV'}){
+ push (@graphs, ($netsettings{'RED_DEV'}));
+ }
}else{
+ push (@graphs, "ppp0");
+}
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'network traffic graphs external'}, 1, '');
- &Header::openbigbox('100%', 'left');
+if (-e "/var/log/rrd/collectd/localhost/interface/if_octets-ipsec0.rrd"){
+ push (@graphs, ("ipsec0"));
+}
- if ($netsettings{'RED_TYPE'} ne 'PPPOE'){
- if ($netsettings{'RED_DEV'} ne $netsettings{'GREEN_DEV'}){
- push (@graphs, ($netsettings{'RED_DEV'}));
- }
- }else{
- push (@graphs, "ppp0");
- }
-
- if (-e "/var/log/rrd/collectd/localhost/interface/if_octets-ipsec0.rrd"){
- push (@graphs, ("ipsec0"));
- }
+if (-e "/var/log/rrd/collectd/localhost/interface/if_octets-tun0.rrd"){
+ push (@graphs, ("tun0"));
+}
- if (-e "/var/log/rrd/collectd/localhost/interface/if_octets-tun0.rrd"){
- push (@graphs, ("tun0"));
- }
+foreach (@graphs) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netexternal.cgi",$_,"day");
+ &Header::closebox();
+}
- foreach (@graphs) {
- &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netexternal.cgi",$_,"day");
- &Header::closebox();
- }
+if ( $netsettings{'CONFIG_TYPE'} =~ /^(1|2|3|4)$/ && $netsettings{'RED_TYPE'} eq "DHCP"){
+
+ &Header::openbox('100%', 'left', "RED $Lang::tr{'dhcp configuration'}");
+ if (-s "${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info") {
- if ( $netsettings{'CONFIG_TYPE'} =~ /^(1|2|3|4)$/ && $netsettings{'RED_TYPE'} eq "DHCP"){
-
- &Header::openbox('100%', 'left', "RED $Lang::tr{'dhcp configuration'}");
- if (-s "${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info") {
-
- &General::readhash("${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info", \%dhcpinfo);
-
- my ($DNS1, $DNS2) = split(/ /, $dhcpinfo{'domain_name_servers'});
-
- my $lsetme=0;
- my $leasetime="";
- if ($dhcpinfo{'dhcp_lease_time'} ne "") {
- $lsetme=$dhcpinfo{'dhcp_lease_time'};
- $lsetme=($lsetme/60);
-
- if ($lsetme > 59) {
- $lsetme=($lsetme/60); $leasetime=$lsetme." Hour";
- }else{
- $leasetime=$lsetme." Minute";
- }
-
- if ($lsetme > 1) {
- $leasetime=$leasetime."s";
- }
+ &General::readhash("${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info", \%dhcpinfo);
+
+ my ($DNS1, $DNS2) = split(/ /, $dhcpinfo{'domain_name_servers'});
+
+ my $lsetme=0;
+ my $leasetime="";
+ if ($dhcpinfo{'dhcp_lease_time'} ne "") {
+ $lsetme=$dhcpinfo{'dhcp_lease_time'};
+ $lsetme=($lsetme/60);
+
+ if ($lsetme > 59) {
+ $lsetme=($lsetme/60); $leasetime=$lsetme." Hour";
+ }else{
+ $leasetime=$lsetme." Minute";
+ }
+
+ if ($lsetme > 1) {
+ $leasetime=$leasetime."s";
}
+ }
- my $rentme=0;
- my $rnwltime="";
-
- if ($dhcpinfo{'dhcp_renewal_time'} ne "") {
- $rentme=$dhcpinfo{'dhcp_renewal_time'};
- $rentme=($rentme/60);
-
- if ($rentme > 59){
- $rentme=($rentme/60); $rnwltime=$rentme." Hour";
- }else{
- $rnwltime=$rentme." Minute";
- }
-
- if ($rentme > 1){
- $rnwltime=$rnwltime."s";
- }
+ my $rentme=0;
+ my $rnwltime="";
+
+ if ($dhcpinfo{'dhcp_renewal_time'} ne "") {
+ $rentme=$dhcpinfo{'dhcp_renewal_time'};
+ $rentme=($rentme/60);
+
+ if ($rentme > 59){
+ $rentme=($rentme/60); $rnwltime=$rentme." Hour";
+ }else{
+ $rnwltime=$rentme." Minute";
+ }
+
+ if ($rentme > 1){
+ $rnwltime=$rnwltime."s";
}
+ }
- my $maxtme=0;
- my $maxtime="";
+ my $maxtme=0;
+ my $maxtime="";
- if ($dhcpinfo{'dhcp_rebinding_time'} ne "") {
- $maxtme=$dhcpinfo{'dhcp_rebinding_time'};
- $maxtme=($maxtme/60);
+ if ($dhcpinfo{'dhcp_rebinding_time'} ne "") {
+ $maxtme=$dhcpinfo{'dhcp_rebinding_time'};
+ $maxtme=($maxtme/60);
- if ($maxtme > 59){
- $maxtme=($maxtme/60); $maxtime=$maxtme." Hour";
- } else {
- $maxtime=$maxtme." Minute";
- }
+ if ($maxtme > 59){
+ $maxtme=($maxtme/60); $maxtime=$maxtme." Hour";
+ } else {
+ $maxtime=$maxtme." Minute";
+ }
- if ($maxtme > 1) {
- $maxtime=$maxtime."s";
- }
+ if ($maxtme > 1) {
+ $maxtime=$maxtime."s";
}
+ }
- print <<END
+ print <<END
<table width='100%'>
-<tr><td width='30%'>$Lang::tr{'domain'}</td><td>$dhcpinfo{'domain_name'}</td></tr>
-<tr><td>$Lang::tr{'gateway'}</td><td>$dhcpinfo{'routers'}</td></tr>
-<tr><td>$Lang::tr{'primary dns'}</td><td>$DNS1</td></tr>
-<tr><td>$Lang::tr{'secondary dns'}</td><td>$DNS2</td></tr>
-<tr><td>$Lang::tr{'dhcp server'}</td><td>$dhcpinfo{'dhcp_server_identifier'}</td></tr>
-<tr><td>$Lang::tr{'def lease time'}</td><td>$leasetime</td></tr>
-<tr><td>$Lang::tr{'default renewal time'}</td><td>$rnwltime</td></tr>
-<tr><td>$Lang::tr{'max renewal time'}</td><td>$maxtime</td></tr>
+ <tr><td width='30%'>$Lang::tr{'domain'}</td><td>$dhcpinfo{'domain_name'}</td></tr>
+ <tr><td>$Lang::tr{'gateway'}</td><td>$dhcpinfo{'routers'}</td></tr>
+ <tr><td>$Lang::tr{'primary dns'}</td><td>$DNS1</td></tr>
+ <tr><td>$Lang::tr{'secondary dns'}</td><td>$DNS2</td></tr>
+ <tr><td>$Lang::tr{'dhcp server'}</td><td>$dhcpinfo{'dhcp_server_identifier'}</td></tr>
+ <tr><td>$Lang::tr{'def lease time'}</td><td>$leasetime</td></tr>
+ <tr><td>$Lang::tr{'default renewal time'}</td><td>$rnwltime</td></tr>
+ <tr><td>$Lang::tr{'max renewal time'}</td><td>$maxtime</td></tr>
</table>
END
;
- }else{
- print "$Lang::tr{'no dhcp lease'}";
- }
- &Header::closebox();
+ }else{
+ print "$Lang::tr{'no dhcp lease'}";
}
-
- &Header::closebigbox();
- &Header::closepage();
+ &Header::closebox();
}
+
+&Header::closebigbox();
+&Header::closepage();
diff --git a/html/cgi-bin/netinternal.cgi b/html/cgi-bin/netinternal.cgi
index 3c2828fbf..472f61efe 100644
--- a/html/cgi-bin/netinternal.cgi
+++ b/html/cgi-bin/netinternal.cgi
@@ -40,48 +40,31 @@ my %netsettings=();
my @graphs=();
my @wireless=();
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
-$querry[2] = '' unless defined $querry[2];
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'network traffic graphs internal'}, 1, '');
+&Header::openbigbox('100%', 'left');
-if ( $querry[0] =~ /wireless/ ){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- $querry[0] =~ s/wireless//g;
- &Graphs::updatewirelessgraph($querry[0],$querry[1]);
-}elsif ( $querry[0] ne "" ){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateifgraph($querry[0],$querry[1]);
-}else{
+push (@graphs, ($netsettings{'GREEN_DEV'}));
+if (&Header::blue_used() && $netsettings{'BLUE_DEV'}) {push (@graphs, ($netsettings{'BLUE_DEV'})); }
+if (&Header::orange_used() && $netsettings{'ORANGE_DEV'}) {push (@graphs, ($netsettings{'ORANGE_DEV'})); }
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'network traffic graphs internal'}, 1, '');
- &Header::openbigbox('100%', 'left');
+my @wirelessgraphs = `ls -dA /var/log/rrd/collectd/localhost/wireless* 2>/dev/null`;
+foreach (@wirelessgraphs){
+ $_ =~ /(.*)\/wireless-(.*)/;
+ push(@wireless,$2);
+}
- push (@graphs, ($netsettings{'GREEN_DEV'}));
- if (&Header::blue_used() && $netsettings{'BLUE_DEV'}) {push (@graphs, ($netsettings{'BLUE_DEV'})); }
- if (&Header::orange_used() && $netsettings{'ORANGE_DEV'}) {push (@graphs, ($netsettings{'ORANGE_DEV'})); }
+foreach (@graphs) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netinternal.cgi",$_,"day");
+ &Header::closebox();
+}
- my @wirelessgraphs = `ls -dA /var/log/rrd/collectd/localhost/wireless* 2>/dev/null`;
- foreach (@wirelessgraphs){
- $_ =~ /(.*)\/wireless-(.*)/;
- push(@wireless,$2);
- }
+foreach (@wireless) {
+ &Header::openbox('100%', 'center', "Wireless $_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netinternal.cgi","wireless".$_,"day");
+ &Header::closebox();
+}
- foreach (@graphs) {
- &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netinternal.cgi",$_,"day");
- &Header::closebox();
- }
-
- foreach (@wireless) {
- &Header::openbox('100%', 'center', "Wireless $_ $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netinternal.cgi","wireless".$_,"day");
- &Header::closebox();
- }
-
- &Header::closebigbox();
- &Header::closepage();
-}
+&Header::closebigbox();
+&Header::closepage();
diff --git a/html/cgi-bin/netother.cgi b/html/cgi-bin/netother.cgi
index cbd2bc228..667777153 100755
--- a/html/cgi-bin/netother.cgi
+++ b/html/cgi-bin/netother.cgi
@@ -37,70 +37,51 @@ my %mainsettings = ();
my @pings=();
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'network traffic graphs others'}, 1, '');
+&Header::openbigbox('100%', 'left');
-if ( $querry[0] eq "conntrack") {
- print "Content-Type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateconntrackgraph($querry[1]);
-} elsif ( $querry[0] =~ "fwhits"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatefwhitsgraph($querry[1]);
-}elsif ( $querry[0] ne ""){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatepinggraph($querry[0],$querry[1]);
-}else{
+my @pinggraphs = `ls -dA /var/log/rrd/collectd/localhost/ping/ping-*`;
+foreach (@pinggraphs){
+ $_ =~ /(.*)\/ping\/ping-(.*)\.rrd/;
+ push(@pings,$2);
+}
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'network traffic graphs others'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- my @pinggraphs = `ls -dA /var/log/rrd/collectd/localhost/ping/ping-*`;
- foreach (@pinggraphs){
- $_ =~ /(.*)\/ping\/ping-(.*)\.rrd/;
- push(@pings,$2);
- }
-
- foreach (@pings) {
- &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netother.cgi",$_,"day");
- &Header::closebox();
- }
-
- &Header::openbox('100%', 'center', "$Lang::tr{'connection tracking'}");
- &Graphs::makegraphbox("netother.cgi", "conntrack", "day");
+foreach (@pings) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netother.cgi",$_,"day");
&Header::closebox();
+}
- &Header::openbox('100%', 'center', "$Lang::tr{'firewallhits'} $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netother.cgi","fwhits","day");
- &Header::closebox();
+&Header::openbox('100%', 'center', "$Lang::tr{'connection tracking'}");
+&Graphs::makegraphbox("netother.cgi", "conntrack", "day");
+&Header::closebox();
- my $output = '';
-
- &Header::openbox('100%', 'left', $Lang::tr{'routing table entries'});
- $output = `/sbin/ip route show`;
- $output = &Header::cleanhtml($output,"y");
- print "<pre>$output</pre>\n";
- &Header::closebox();
+&Header::openbox('100%', 'center', "$Lang::tr{'firewallhits'} $Lang::tr{'graph'}");
+&Graphs::makegraphbox("netother.cgi","fwhits","day");
+&Header::closebox();
+
+my $output = '';
- $output = `/sbin/ip route list table 220`;
- if ( $output ) {
- &Header::openbox('100%', 'left', $Lang::tr{'ipsec routing table entries'});
- $output = &Header::cleanhtml($output,"y");
- print "<pre>$output</pre>\n";
- &Header::closebox()
- }
+&Header::openbox('100%', 'left', $Lang::tr{'routing table entries'});
+$output = `/sbin/ip route show`;
+$output = &Header::cleanhtml($output,"y");
+print "<pre>$output</pre>\n";
+&Header::closebox();
- &Header::openbox('100%', 'left', $Lang::tr{'arp table entries'});
- $output = `/sbin/ip neigh show`;
+$output = `/sbin/ip route list table 220`;
+if ( $output ) {
+ &Header::openbox('100%', 'left', $Lang::tr{'ipsec routing table entries'});
$output = &Header::cleanhtml($output,"y");
print "<pre>$output</pre>\n";
- &Header::closebox();
+ &Header::closebox()
+}
+
+&Header::openbox('100%', 'left', $Lang::tr{'arp table entries'});
+$output = `/sbin/ip neigh show`;
+$output = &Header::cleanhtml($output,"y");
+print "<pre>$output</pre>\n";
+&Header::closebox();
- &Header::closebigbox();
- &Header::closepage();
-}
+&Header::closebigbox();
+&Header::closepage();
diff --git a/html/cgi-bin/netovpnrw.cgi b/html/cgi-bin/netovpnrw.cgi
index 00ef35337..5014f9a55 100755
--- a/html/cgi-bin/netovpnrw.cgi
+++ b/html/cgi-bin/netovpnrw.cgi
@@ -37,36 +37,26 @@ my %mainsettings = ();
my @vpns=();
-my @querry = split(/\?/,uri_unescape($ENV{'QUERY_STRING'}));
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'week' unless defined $querry[1];
-
-if ( $querry[0] ne "" && $querry[0] ne "UNDEF"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatevpngraph($querry[0],$querry[1]);
-}else{
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'vpn statistic rw'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*/ -not -path *openvpn-UNDEF* -not -path *openvpn-*n2n* -name *.rrd 2>/dev/null|sort`;
- foreach (@vpngraphs){
- if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive.rrd/){
- push(@vpns,$2);
- }
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'vpn statistic rw'}, 1, '');
+&Header::openbigbox('100%', 'left');
+
+my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*/ -not -path *openvpn-UNDEF* -not -path *openvpn-*n2n* -name *.rrd 2>/dev/null|sort`;
+foreach (@vpngraphs){
+ if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive.rrd/){
+ push(@vpns,$2);
}
- if(@vpns){
- foreach (@vpns) {
- &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netovpnrw.cgi",$_, "day");
- &Header::closebox();
- }
- }else{
- print "<center>".$Lang::tr{'no data'}."</center>";
+}
+if(@vpns){
+ foreach (@vpns) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netovpnrw.cgi",$_, "day");
+ &Header::closebox();
}
- my $output = '';
-
- &Header::closebigbox();
- &Header::closepage();
+}else{
+ print "<center>".$Lang::tr{'no data'}."</center>";
}
+my $output = '';
+
+&Header::closebigbox();
+&Header::closepage();
diff --git a/html/cgi-bin/netovpnsrv.cgi b/html/cgi-bin/netovpnsrv.cgi
index a53090f0f..1fb66e7a4 100755
--- a/html/cgi-bin/netovpnsrv.cgi
+++ b/html/cgi-bin/netovpnsrv.cgi
@@ -49,46 +49,32 @@ foreach my $key (sort {$vpnsettings{$a}[1] <=> $vpnsettings{$b}[1]} keys %vpnset
$ipsecgraphs{$vpnsettings{$key}[1]} = "${interface_mode}${key}";
}
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'week' unless defined $querry[1];
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'vpn statistic n2n'}, 1, '');
+&Header::openbigbox('100%', 'left');
-if ( $querry[0] ne ""){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- if (grep { $_ eq $querry[0] } values %ipsecgraphs) {
- &Graphs::updateifgraph($querry[0],$querry[1]);
- } else {
- &Graphs::updatevpnn2ngraph($querry[0],$querry[1]);
+my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*-n2n/ -not -path *openvpn-UNDEF* -name *traffic.rrd 2>/dev/null|sort`;
+foreach (@vpngraphs){
+ if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive-traffic.rrd/){
+ push(@vpns,$2);
}
-}else{
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'vpn statistic n2n'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*-n2n/ -not -path *openvpn-UNDEF* -name *traffic.rrd 2>/dev/null|sort`;
- foreach (@vpngraphs){
- if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive-traffic.rrd/){
- push(@vpns,$2);
- }
+}
+if (@vpns || %ipsecgraphs) {
+ foreach my $name (sort keys %ipsecgraphs) {
+ &Header::openbox('100%', 'center', "$Lang::tr{'ipsec connection'}: $name");
+ &Graphs::makegraphbox("netovpnsrv.cgi", "ipsec-$ipsecgraphs{$name}", "day");
+ &Header::closebox();
}
- if (@vpns || %ipsecgraphs) {
- foreach my $name (sort keys %ipsecgraphs) {
- &Header::openbox('100%', 'center', "$Lang::tr{'ipsec connection'}: $name");
- &Graphs::makegraphbox("netovpnsrv.cgi", "ipsec-$ipsecgraphs{$name}", "day");
- &Header::closebox();
- }
- foreach (@vpns) {
- &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
- &Graphs::makegraphbox("netovpnsrv.cgi",$_, "day");
- &Header::closebox();
- }
- }else{
- print "<center>".$Lang::tr{'no data'}."</center>";
+ foreach (@vpns) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netovpnsrv.cgi",$_, "day");
+ &Header::closebox();
}
- my $output = '';
-
- &Header::closebigbox();
- &Header::closepage();
+}else{
+ print "<center>".$Lang::tr{'no data'}."</center>";
}
+my $output = '';
+
+&Header::closebigbox();
+&Header::closepage();
diff --git a/html/cgi-bin/qos.cgi b/html/cgi-bin/qos.cgi
index fa566b523..af41b8d2b 100644
--- a/html/cgi-bin/qos.cgi
+++ b/html/cgi-bin/qos.cgi
@@ -111,19 +111,10 @@ my %mainsettings = ();
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
&General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
+&Header::showhttpheaders();
-if ( $querry[0] ne ""){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateqosgraph($querry[0],$querry[1]);
-}else{
- &Header::showhttpheaders();
-
- &Header::openpage('QoS', 1, '');
- &Header::openbigbox('100%', 'left', '', $errormessage);
+&Header::openpage('QoS', 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
############################################################################################################################
############################################################################################################################
@@ -360,7 +351,7 @@ END
;
close FILE;
}
-elsif ($qossettings{'DOTOS'} eq 'Loeschen')
+elsif ($qossettings{'DOTOS'} eq $Lang::tr{'delete'})
{
open( FILE, "< $tosfile" ) or die "Unable to read $tosfile";
@tosrules = <FILE>;
@@ -708,12 +699,12 @@ if ( ($qossettings{'DEFCLASS_INC'} eq '') || ($qossettings{'DEFCLASS_OUT'} eq ''
exit
}
- &Header::openbox('100%', 'center', "$qossettings{'RED_DEV'} $Lang::tr{'graph'}, $Lang::tr{'uplink'}");
- &Graphs::makegraphbox("qos.cgi",$qossettings{'RED_DEV'},"hour");
- &Header::closebox();
- &Header::openbox('100%', 'center', "$qossettings{'IMQ_DEV'} $Lang::tr{'graph'}, $Lang::tr{'downlink'}");
- &Graphs::makegraphbox("qos.cgi",$qossettings{'IMQ_DEV'},"hour");
- &Header::closebox();
+&Header::openbox('100%', 'center', "$qossettings{'RED_DEV'} $Lang::tr{'graph'}, $Lang::tr{'uplink'}");
+&Graphs::makegraphbox("qos.cgi",$qossettings{'RED_DEV'},"hour");
+&Header::closebox();
+&Header::openbox('100%', 'center', "$qossettings{'IMQ_DEV'} $Lang::tr{'graph'}, $Lang::tr{'downlink'}");
+&Graphs::makegraphbox("qos.cgi",$qossettings{'IMQ_DEV'},"hour");
+&Header::closebox();
&showclasses($qossettings{'RED_DEV'});
&showclasses($qossettings{'IMQ_DEV'});
@@ -721,8 +712,6 @@ if ( ($qossettings{'DEFCLASS_INC'} eq '') || ($qossettings{'DEFCLASS_OUT'} eq ''
&Header::closebigbox();
&Header::closepage();
-}
-
############################################################################################################################
############################################################################################################################
diff --git a/html/cgi-bin/system.cgi b/html/cgi-bin/system.cgi
index 67c479736..c1da5f536 100644
--- a/html/cgi-bin/system.cgi
+++ b/html/cgi-bin/system.cgi
@@ -35,41 +35,23 @@ my %mainsettings = ();
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
&General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'status information'}, 1, '');
+&Header::openbigbox('100%', 'left');
-if ( $querry[0] =~ "cpufreq"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatecpufreqgraph($querry[1]);
-}elsif ( $querry[0] =~ "cpu"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updatecpugraph($querry[1]);
-}elsif ( $querry[0] =~ "load"){
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateloadgraph($querry[1]);
-}else{
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'status information'}, 1, '');
- &Header::openbigbox('100%', 'left');
+&Header::openbox('100%', 'center', "CPU $Lang::tr{'graph'}");
+&Graphs::makegraphbox("system.cgi","cpu","day");
+&Header::closebox();
- &Header::openbox('100%', 'center', "CPU $Lang::tr{'graph'}");
- &Graphs::makegraphbox("system.cgi","cpu","day");
+if ( -e "$mainsettings{'RRDLOG'}/collectd/localhost/cpufreq/cpufreq-0.rrd"){
+ &Header::openbox('100%', 'center', "$Lang::tr{'cpu frequency'} $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("system.cgi","cpufreq","day");
&Header::closebox();
+}
- if ( -e "$mainsettings{'RRDLOG'}/collectd/localhost/cpufreq/cpufreq-0.rrd"){
- &Header::openbox('100%', 'center', "$Lang::tr{'cpu frequency'} $Lang::tr{'graph'}");
- &Graphs::makegraphbox("system.cgi","cpufreq","day");
- &Header::closebox();
- }
-
- &Header::openbox('100%', 'center', "$Lang::tr{'uptime load average'} $Lang::tr{'graph'}");
- &Graphs::makegraphbox("system.cgi","load","day");
- &Header::closebox();
+&Header::openbox('100%', 'center', "$Lang::tr{'uptime load average'} $Lang::tr{'graph'}");
+&Graphs::makegraphbox("system.cgi","load","day");
+&Header::closebox();
- &Header::closebigbox();
- &Header::closepage();
-}
+&Header::closebigbox();
+&Header::closepage();
diff --git a/lfs/cmake b/lfs/cmake
index 85ac8690c..7cc77a3ef 100644
--- a/lfs/cmake
+++ b/lfs/cmake
@@ -24,7 +24,7 @@
include Config
-VER = 3.20.4
+VER = 3.21.0
THISAPP = cmake-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 99e849c6910f1df027cc0365027fa19b
+$(DL_FILE)_MD5 = f616604606184e3c7b870a57e68a7c3b
install : $(TARGET)
diff --git a/lfs/curl b/lfs/curl
index ae55d812e..1d516664c 100644
--- a/lfs/curl
+++ b/lfs/curl
@@ -24,7 +24,7 @@
include Config
-VER = 7.77.0
+VER = 7.78.0
THISAPP = curl-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3cf78c539cae019cf96ba38571706e06
+$(DL_FILE)_MD5 = 419c2461366cf404160a820f7a902b7e
install : $(TARGET)
diff --git a/lfs/ethtool b/lfs/ethtool
index 677571844..d7655d173 100644
--- a/lfs/ethtool
+++ b/lfs/ethtool
@@ -24,7 +24,7 @@
include Config
-VER = 5.12
+VER = 5.13
THISAPP = ethtool-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 11fcf0d0287c899fbcbdb48897fe2bab
+$(DL_FILE)_MD5 = 940bd6c330b9ebafaf40b3b428e56754
install : $(TARGET)
diff --git a/lfs/libidn b/lfs/libidn
index b8be721a3..4e2a7403c 100644
--- a/lfs/libidn
+++ b/lfs/libidn
@@ -24,7 +24,7 @@
include Config
-VER = 1.36
+VER = 1.38
THISAPP = libidn-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 813c7b268d1051ca02c3610986126f38
+$(DL_FILE)_MD5 = 718ff3700dd71f830c592ebe97249193
install : $(TARGET)
@@ -71,9 +71,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure \
- --prefix=/usr \
- --disable-nls \
- --disable-doc
+ --prefix=/usr \
+ --disable-nls \
+ --disable-doc \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
diff --git a/lfs/rpcbind b/lfs/rpcbind
index 39d4dba4d..071b89bd3 100644
--- a/lfs/rpcbind
+++ b/lfs/rpcbind
@@ -24,7 +24,7 @@
include Config
-VER = 1.2.5
+VER = 1.2.6
THISAPP = rpcbind-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = rpcbind
-PAK_VER = 4
+PAK_VER = 5
DEPS = libtirpc
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ed46f09b9c0fa2d49015f6431bc5ea7b
+$(DL_FILE)_MD5 = 2d84ebbb7d6fb1fc3566d2d4b37f214b
install : $(TARGET)
diff --git a/lfs/sysfsutils b/lfs/sysfsutils
index b177cb322..6c872b16b 100644
--- a/lfs/sysfsutils
+++ b/lfs/sysfsutils
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# Copyright (C) 2007-2021 IPFire Team <info(a)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 #
@@ -24,7 +24,7 @@
include Config
-VER = 1.3.0
+VER = 2.1.1
THISAPP = sysfsutils-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d11c99271531be3c1e6d36b53968cd2b
+$(DL_FILE)_MD5 = 537c110be7244905997262854505c30f
install : $(TARGET)
@@ -74,7 +74,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
- cd $(DIR_APP) && ./configure --prefix=""
+ cd $(DIR_APP) && ./autogen
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --libdir=/lib \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING) \
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
cd $(DIR_APP) && make install
hooks/post-receive
--
IPFire 2.x development tree
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-05 13:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-05 13:11 [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 07300f6a14b55eed5c3865bf258f3108b8a7a222 Arne Fitzenreiter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox