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@ipfire.org Date: Sun Sep 5 08:56:31 2021 +0000
core160: add libidn
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 880ebbe8c6fbba592ba236946835e4856ed05ab5 Author: Adolf Belka adolf.belka@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@ipfire.org Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit e055a1a97a4207a54ec2ba8a8ac172512cd6f1d7 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sun Sep 5 08:54:40 2021 +0000
core160: add curl
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit bfa7865ec5b6a248c4a9bf4c053a7cc142a8faa2 Author: Adolf Belka adolf.belka@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@ipfire.org Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 178586e15bab4ade8579d94aada0ba168b09da5a Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sun Sep 5 08:51:24 2021 +0000
core160: add network-functions.pl
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 6dd084c22d05271c205a3bacf86da7689e4e3dbb Author: Leo-Andres Hofmann hofmann@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@leo-andres.de Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit f4858c925c20fb9c930c7ccc0e0bbae03a06efd7 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sun Sep 5 08:49:07 2021 +0000
core160: add ethtool, sysfsutls and sysstat
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 135bd44a629427843c9a212cd64081a933049b4b Author: Adolf Belka adolf.belka@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@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 92f167fc4746b51fc9b6064026a3e7ca5c54c389 Author: Adolf Belka adolf.belka@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@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit ba2592ada95060c995b2bc12c3ac9dd2c9e9bf0e Author: Adolf Belka adolf.belka@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@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 79516fed9a36cbb9018d4403d4b66840b827baf8 Author: Adolf Belka adolf.belka@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@ipfire.org Signed-off-by: Adolf Belka adolf.belka@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 55da553742129623753baa86564cd65d3d7df680 Author: Stefan Schantl stefan.schantl@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@ipfire.org Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 446dc99e2501a090f7562384b340230b9b5d1a7c Author: Stefan Schantl stefan.schantl@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@ipfire.org Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit a9611629cc90f716fbf4fc7050a95f0b7b285df3 Author: Stefan Schantl stefan.schantl@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@ipfire.org Tested-by: Peter Müller peter.mueller@ipfire.org Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit fc81e493b14d545893856d5bcba11d538a8ae16c Author: Leo-Andres Hofmann hofmann@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@leo-andres.de Reviewed-by: Michael Tremer michael.tremer@ipfire.org Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 09c3db1cffa55cb7ddb35d642a74abc6f216d9e4 Author: Arne Fitzenreiter arne_f@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@ipfire.org
commit 4190b2a621b9d39e7dcf2480f03d41558f0c7fd0 Author: Leo-Andres Hofmann hofmann@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@leo-andres.de Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit 05c8c10f193f2b919542fd610483f4bdb2330988 Author: Leo-Andres Hofmann hofmann@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@leo-andres.de Signed-off-by: Arne Fitzenreiter arne_f@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@ipfire.org # +# Copyright (C) 2007-2021 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 # @@ -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