--- rpms/smeserver-cacti/contribs10/smeserver-cacti-1.1.19-sme10.patch 2022/07/26 04:53:30 1.3 +++ rpms/smeserver-cacti/contribs10/smeserver-cacti-1.1.19-sme10.patch 2022/07/27 20:32:07 1.8 @@ -1,6 +1,6 @@ diff -Nur --no-dereference smeserver-cacti-1.1.19.old/createlinks smeserver-cacti-1.1.19/createlinks --- smeserver-cacti-1.1.19.old/createlinks 2014-06-16 11:53:01.000000000 -0400 -+++ smeserver-cacti-1.1.19/createlinks 2022-07-26 00:15:21.267000000 -0400 ++++ smeserver-cacti-1.1.19/createlinks 2022-07-27 14:55:50.939000000 -0400 @@ -5,6 +5,7 @@ for my $event (qw( post-upgrade @@ -9,7 +9,7 @@ diff -Nur --no-dereference smeserver-cac )) { templates2events("/etc/cacti/db.php", $event); -@@ -22,3 +23,26 @@ +@@ -22,3 +23,32 @@ } templates2events("/etc/e-smith/sql/init/80cacti", "post-upgrade"); @@ -30,6 +30,12 @@ diff -Nur --no-dereference smeserver-cac + 'php74-php-fpm' => 'reload-or-restart' +); + ++event_actions($event, ++'cacti-conf' => '50', ++'cacti-ldap' => '95' ++); ++ ++ +#backup ? +#use esmith::Build::Backup qw(:all); +#backup_includes("smeserver-cacti", qw( @@ -38,8 +44,8 @@ diff -Nur --no-dereference smeserver-cac + diff -Nur --no-dereference smeserver-cacti-1.1.19.old/root/etc/e-smith/db/configuration/migrate/80cacti smeserver-cacti-1.1.19/root/etc/e-smith/db/configuration/migrate/80cacti --- smeserver-cacti-1.1.19.old/root/etc/e-smith/db/configuration/migrate/80cacti 1969-12-31 19:00:00.000000000 -0500 -+++ smeserver-cacti-1.1.19/root/etc/e-smith/db/configuration/migrate/80cacti 2022-07-26 00:51:52.311000000 -0400 -@@ -0,0 +1,45 @@ ++++ smeserver-cacti-1.1.19/root/etc/e-smith/db/configuration/migrate/80cacti 2022-07-27 14:46:58.425000000 -0400 +@@ -0,0 +1,72 @@ +{ + use MIME::Base64 qw(encode_base64); + @@ -81,14 +87,319 @@ diff -Nur --no-dereference smeserver-cac + + $rec->set_prop('DbPassword', $pw); + } ++ $pwa = $rec->prop('AdminPassword'); ++ if (! $pwa) ++ { ++ ++ if ( open( RANDOM, "/dev/urandom" ) ) ++ { ++ my $buf; ++ # 57 bytes is a full line of Base64 coding, and contains ++ # 456 bits of randomness - given a perfectly random /dev/random ++ if ( read( RANDOM, $buf, 15 ) != 15 ) ++ { ++ warn("Short read from /dev/random: $!"); ++ } ++ else ++ { ++ $pwa = encode_base64($buf); ++ chomp $pwa; ++ } ++ close RANDOM; ++ } ++ else ++ { ++ warn "Could not open /dev/urandom: $!"; ++ } ++ ++ $rec->set_prop('AdminPassword', $pwa); ++ } + + + +} +diff -Nur --no-dereference smeserver-cacti-1.1.19.old/root/etc/e-smith/events/actions/cacti-conf smeserver-cacti-1.1.19/root/etc/e-smith/events/actions/cacti-conf +--- smeserver-cacti-1.1.19.old/root/etc/e-smith/events/actions/cacti-conf 1969-12-31 19:00:00.000000000 -0500 ++++ smeserver-cacti-1.1.19/root/etc/e-smith/events/actions/cacti-conf 2022-07-27 14:46:58.891000000 -0400 +@@ -0,0 +1,16 @@ ++#!/bin/bash ++ ++#easy configuration of what is needed for cacti to work correctly ++something=0; ++psomething=0; ++#check if something already set, if not let's do it ++ ++/sbin/e-smith/config getprop mariadb TmpTableSize 1>/dev/null || ( config setprop mariadb TmpTableSize 32M ; echo "setting mariadb TmpTableSize 32M" ; something=1) ++/sbin/e-smith/config getprop mariadb MaxHeapTableSize 1>/dev/null || ( config setprop mariadb MaxHeapTableSize 32M ; echo "setting mariadb MaxHeapTableSize 32M" ; something=1) ++/sbin/e-smith/config getprop mariadb JoinBufferSize 1>/dev/null || ( config setprop mariadb JoinBufferSize 62M ; echo "setting mariadb JoinBufferSize 62M" ; something=1) ++ ++#/sbin/e-smith/config getprop php74 MemoryLimit 1>/dev/null || ( config setprop php74 MemoryLimit 800M ; echo "setting php74 memory_limit 800M" ; psomething=1) ++# install detect cli for php not php74 even if $php_path is set ++ ++[ $something == 1 ] && /usr/sbin/e-smith/expand-template /etc/my.cnf && /usr/bin/systemctl restart mariadb.service ++#[ $psomething == 1 ] && /usr/sbin/e-smith/expand-template /etc/opt/remi/php74/php.ini && /usr/bin/systemctl restart php74-php-fpm.service +diff -Nur --no-dereference smeserver-cacti-1.1.19.old/root/etc/e-smith/events/actions/cacti-ldap smeserver-cacti-1.1.19/root/etc/e-smith/events/actions/cacti-ldap +--- smeserver-cacti-1.1.19.old/root/etc/e-smith/events/actions/cacti-ldap 1969-12-31 19:00:00.000000000 -0500 ++++ smeserver-cacti-1.1.19/root/etc/e-smith/events/actions/cacti-ldap 2022-07-27 14:46:58.663000000 -0400 +@@ -0,0 +1,44 @@ ++#!/bin/bash ++ ++#use esmith::ConfigDB; ++#use esmith::util; ++#my $cdb = esmith::ConfigDB->open_ro(); ++#my $domain = $cdb->get_value('DomainName'); ++#my $baseDN = esmith::util::ldapBase($cdb->get_value('DomainName')); ++#print $baseDN . "\n"; ++ ++db=$(config getprop cacti DbDatabase || echo 'cacti_sme'); ++user=$(config getprop cacti DbUser || echo 'cacti'); ++pass=$(config getprop cacti DbPassword || echo 'changeme'); ++adminpass=$(config getprop cacti AdminPassword || echo 'changeme'); ++domain=$(config get DomainName) ++DN=$(perl -Mesmith::util -e "print esmith::util::ldapBase(\"$domain\");") ++ ++ ++# set ldap auth with optional group ++#ldap_group_require 'on' or '' ++# then set our admin password ++/usr/bin/mysql < diff -Nur --no-dereference smeserver-cacti-1.1.19.old/root/etc/e-smith/templates/etc/e-smith/sql/init/80cacti smeserver-cacti-1.1.19/root/etc/e-smith/templates/etc/e-smith/sql/init/80cacti --- smeserver-cacti-1.1.19.old/root/etc/e-smith/templates/etc/e-smith/sql/init/80cacti 2019-12-11 14:46:28.000000000 -0500 -+++ smeserver-cacti-1.1.19/root/etc/e-smith/templates/etc/e-smith/sql/init/80cacti 2022-07-26 00:48:18.028000000 -0400 -@@ -1,9 +1,9 @@ ++++ smeserver-cacti-1.1.19/root/etc/e-smith/templates/etc/e-smith/sql/init/80cacti 2022-07-27 14:46:55.114000000 -0400 +@@ -1,22 +1,34 @@ { - my $db = $cacti{DbName} || 'cacti_sme'; + my $db = $cacti{DbDatabase} || 'cacti_sme'; @@ -98,18 +409,34 @@ diff -Nur --no-dereference smeserver-cac -#! /bin/sh +#!/bin/bash if [ -d /var/lib/mysql/$db ]; then ++ /usr/bin/mysql </dev/null |/usr/bin/mysql mysql - /usr/bin/mysql $db < /etc/e-smith/db/configuration/migrate/80cacti_sme.sql +- /usr/bin/mysql $db < /etc/e-smith/db/configuration/migrate/80cacti_sme.sql ++ /usr/bin/mysql $db < \$(rpm -ql cacti|grep cacti.sql) ++ #/usr/bin/mysql $db < /etc/e-smith/db/configuration/migrate/80cacti_sme.sql END -} \ Pas de fin de ligne à la fin du fichier @@ -159,7 +486,7 @@ diff -Nur --no-dereference smeserver-cac diff -Nur --no-dereference smeserver-cacti-1.1.19.old/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15cacti smeserver-cacti-1.1.19/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15cacti --- smeserver-cacti-1.1.19.old/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15cacti 1969-12-31 19:00:00.000000000 -0500 -+++ smeserver-cacti-1.1.19/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15cacti 2022-07-26 00:03:45.335000000 -0400 ++++ smeserver-cacti-1.1.19/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15cacti 2022-07-27 14:46:55.335000000 -0400 @@ -0,0 +1,68 @@ +{ + @@ -167,10 +494,10 @@ diff -Nur --no-dereference smeserver-cac + if (($cacti{'status'} || 'disabled') eq 'enabled'){ + my $max_upload_size = ($cacti{MaxUploadSize} || '4096'); + $max_upload_size .= 'M' if ($max_upload_size =~ m/^\d+$/); -+ my $memory_limit = ($cacti{MemoryLimit} || '512M'); ++ my $memory_limit = ($cacti{MemoryLimit} || '5555500M'); + $memory_limit .= 'M' if ($memory_limit =~ m/^\d+$/); + my $open_basedir= $cacti{PHPBaseDir} || ''; -+ $open_basedir = "/usr/share/cacti:/var/lib/cacti:/var/log/cacti.log:/var/lib/php/cacti:/home/e-smith/files/cacti:/dev/urandom:/proc/meminfo:$open_basedir"; ++ $open_basedir = "/tmp/:/share/:/var/log/cacti:/etc/cacti/db.php:/usr/share/cacti:/var/lib/cacti:/var/log/cacti.log:/var/lib/php/cacti:/home/e-smith/files/cacti:/dev/urandom:/proc/meminfo:$open_basedir"; + my $id = 'cacti'; + my $max_children = $cacti{'PHPmaxChildren'} || 20; + my $min_spare_servers = $cacti{'PHPminServers'} || 4; @@ -197,7 +524,7 @@ diff -Nur --no-dereference smeserver-cac +pm.max_requests = $max_requests +php_admin_value[session.save_path] = /var/lib/php/$id/session +php_admin_value[session.gc_maxlifetime] = 86400 -+php_admin_value[opcache.file_cache] = /var/lib/php/$id/opcache ++;php_admin_value[opcache.file_cache] = /var/lib/php/$id/opcache +php_admin_value[upload_tmp_dir] = /var/lib/php/$id/tmp +php_admin_value[error_log] = /var/log/php/$id/error.log +slowlog = /var/log/php/cacti/slow.log @@ -209,20 +536,20 @@ diff -Nur --no-dereference smeserver-cac +php_admin_value[max_execution_time] = 3600 +php_admin_value[post_max_size] = $max_upload_size +php_admin_value[upload_max_filesize] = $max_upload_size -+php_admin_value[disable_functions] = system, show_source, symlink, exec, dl, shell_exec, passthru, phpinfo, escapeshellarg, escapeshellcmd -+php_admin_value[open_basedir] = $open_basedir ++;php_admin_value[disable_functions] = system, show_source, symlink, dl, passthru, phpinfo, escapeshellarg, escapeshellcmd ++;php_admin_value[open_basedir] = $open_basedir +php_admin_flag[allow_url_fopen] = on +php_admin_flag[file_upload] = on -+php_admin_flag[session.cookie_httponly] = on -+php_admin_flag[allow_url_include] = off -+php_admin_value[session.save_handler] = files -+php_admin_flag[output_buffering] = off ++;php_admin_flag[session.cookie_httponly] = on ++;php_admin_flag[allow_url_include] = off ++;php_admin_value[session.save_handler] = files ++;php_admin_flag[output_buffering] = off + +_EOF + + } + else{ -+ $OUT .= '; Nextcloud is disabled'; ++ $OUT .= '; Cacti is disabled'; + } +} +}