diff --git a/.githooks/pre-commit b/.githooks/pre-commit index ba2a630373..926f0016de 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -5,7 +5,8 @@ # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # -# To enable this hook, rename this file to "pre-commit". +# To enable this hook, rename this file to "pre-commit" within .git\hooks +# or run git config core.hooksPath .githooks # # Exit on error #set -e diff --git a/bin/installfog.sh b/bin/installfog.sh index 157191faaf..46865827c2 100755 --- a/bin/installfog.sh +++ b/bin/installfog.sh @@ -77,12 +77,11 @@ usage() { echo -e "\t-X --exitFail\t\tDo not exit if item fails" echo -e "\t-T --no-tftpbuild\t\tDo not rebuild the tftpd config file" echo -e "\t-F --no-vhost\t\tDo not overwrite vhost file" - echo -e "\t-A --arm-support\t\tInstall kernel and initrd for ARM platforms" exit 0 } -shortopts="h?odEUHSCKYyXxTPFAf:c:W:D:B:s:e:b:N:" -longopts="help,uninstall,ssl-path:,oldcopy,no-vhost,no-defaults,no-upgrade,no-htmldoc,force-https,recreate-keys,recreate-CA,recreate-Ca,recreate-cA,recreate-ca,autoaccept,file:,docroot:,webroot:,backuppath:,startrange:,endrange:,bootfile:,no-exportbuild,exitFail,no-tftpbuild,arm-support" +shortopts="h?odEUHSCKYyXxTPFf:c:W:D:B:s:e:b:N:" +longopts="help,uninstall,ssl-path:,oldcopy,no-vhost,no-defaults,no-upgrade,no-htmldoc,force-https,recreate-keys,recreate-CA,recreate-Ca,recreate-cA,recreate-ca,autoaccept,file:,docroot:,webroot:,backuppath:,startrange:,endrange:,bootfile:,no-exportbuild,exitFail,no-tftpbuild" optargs=$(getopt -o $shortopts -l $longopts -n "$0" -- "$@") [[ $? -ne 0 ]] && usage @@ -224,11 +223,7 @@ while :; do novhost="y" shift ;; - -A | --arm-support) - sarmsupport=1 - shift - ;; - --) + --) shift break ;; @@ -263,11 +258,27 @@ if [[ ! $exitcode -eq 0 ]]; then case $exitcode in 0) dnf -y install redhat-lsb-core >>$error_log 2>&1 + exitcode=$? ;; *) yum -y install redhat-lsb-core >>$error_log 2>&1 + exitcode=$? ;; esac + if [[ ! $exitcode -eq 0 ]]; then + command -v dnf >>$error_log 2>&1 + exitcode=$? + case $exitcode in + 0) + dnf -y install lsb-release >>$error_log 2>&1 + exitcode=$? + ;; + *) + yum -y install lsb-release >>$error_log 2>&1 + exitcode=$? + ;; + esac + fi ;; *arch*) pacman -Sy --noconfirm lsb-release >>$error_log 2>&1 @@ -298,7 +309,6 @@ echo "Done" [[ -z $doupdate ]] && doupdate=1 [[ -z $ignorehtmldoc ]] && ignorehtmldoc=0 [[ -z $httpproto ]] && httpproto="http" -[[ -z $armsupport ]] && armsupport=0 [[ -z $mysqldbname ]] && mysqldbname="fog" [[ -z $tftpAdvOpts ]] && tftpAdvOpts="" [[ -z $fogpriorconfig ]] && fogpriorconfig="$fogprogramdir/.fogsettings" @@ -343,7 +353,6 @@ esac [[ -n $sbackupPath ]] && backupPath=$sbackupPath [[ -n $sexitFail ]] && exitFail=$sexitFail [[ -n $snoTftpBuild ]] && noTftpBuild=$snoTftpBuild -[[ -n $sarmsupport ]] && armsupport=$sarmsupport [[ -f $fogpriorconfig ]] && grep -l webroot $fogpriorconfig >>$error_log 2>&1 case $? in diff --git a/lib/common/functions.sh b/lib/common/functions.sh index cc537a8f9a..2415d2c8dd 100755 --- a/lib/common/functions.sh +++ b/lib/common/functions.sh @@ -1644,7 +1644,6 @@ writeUpdateFile() { esctftpAdvOpts=$(echo $tftpAdvOpts | sed -e $replace) escsslpath=$(echo $sslpath | sed -e $replace) escbackupPath=$(echo $backupPath | sed -e $replace) - escarmsupport=$(echo $sarmsupport | sed -e $replace) escphp_ver=$(echo $php_ver | sed -e $replace) escsslprivkey=$(echo $sslprivkey | sed -e $replace) [[ -z $copybackold || $copybackold -lt 1 ]] && copybackold=0 @@ -1767,9 +1766,6 @@ writeUpdateFile() { grep -q "backupPath=" $fogprogramdir/.fogsettings && \ sed -i "s/backupPath=.*/backupPath='$escbackupPath'/g" $fogprogramdir/.fogsettings || \ echo "backupPath='$backupPath'" >> $fogprogramdir/.fogsettings - grep -q "armsupport=" $fogprogramdir/.fogsettings && \ - sed -i "s/armsupport=.*/armsupport='$escarmsupport'/g" $fogprogramdir/.fogsettings || \ - echo "armsupport='$armsupport'" >> $fogprogramdir/.fogsettings grep -q "php_ver=" $fogprogramdir/.fogsettings && \ sed -i "s/php_ver=.*/php_ver='$php_ver'/g" $fogprogramdir/.fogsettings || \ echo "php_ver='$php_ver'" >> $fogprogramdir/.fogsettings @@ -1823,7 +1819,6 @@ writeUpdateFile() { echo "tftpAdvOpts='$tftpAdvOpts'" >> "$fogprogramdir/.fogsettings" echo "sslpath='$sslpath'" >> "$fogprogramdir/.fogsettings" echo "backupPath='$backupPath'" >> "$fogprogramdir/.fogsettings" - echo "armsupport='$armsupport'" >> "$fogprogramdir/.fogsettings" echo "php_ver='$php_ver'" >> "$fogprogramdir/.fogsettings" echo "sslprivkey='$sslprivkey'" >> $fogprogramdir/.fogsettings echo "sendreports='$sendreports'" >> $fogprogramdir/.fogsettings @@ -1871,7 +1866,6 @@ writeUpdateFile() { echo "tftpAdvOpts='$tftpAdvOpts'" >> "$fogprogramdir/.fogsettings" echo "sslpath='$sslpath'" >> "$fogprogramdir/.fogsettings" echo "backupPath='$backupPath'" >> "$fogprogramdir/.fogsettings" - echo "armsupport='$armsupport'" >> "$fogprogramdir/.fogsettings" echo "php_ver='$php_ver'" >> "$fogprogramdir/.fogsettings" echo "sslprivkey='$sslprivkey'" >> $fogprogramdir/.fogsettings echo "sendreports='$sendreports'" >> $fogprogramdir/.fogsettings @@ -2022,15 +2016,18 @@ EOF echo " ServerAlias $hostname" >> "$etcconf" echo " DocumentRoot $docroot" >> "$etcconf" echo " SSLEngine On" >> "$etcconf" - echo " SSLProtocol all -SSLv3 -SSLv2" >> "$etcconf" - echo " SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA" >> "$etcconf" + echo " SSLProtocol -all +TLSv1.2" >> "$etcconf" + echo " SSLCipherSuite HIGH:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:!MEDIUM:!LOW" >> "$etcconf" echo " SSLHonorCipherOrder On" >> "$etcconf" + echo " SSLSessionTickets Off" >> "$etcconf" echo " SSLCertificateFile $webdirdest/management/other/ssl/srvpublic.crt" >> "$etcconf" echo " SSLCertificateKeyFile $sslprivkey" >> "$etcconf" echo " SSLCACertificateFile $webdirdest/management/other/ca.cert.pem" >> "$etcconf" echo " " >> "$etcconf" echo " DirectoryIndex index.php index.html index.htm" >> "$etcconf" echo " " >> "$etcconf" + echo " Timeout 600" >> "$etcconf" + echo " ProxyTimeout 600" >> "$etcconf" echo " RewriteEngine On" >> "$etcconf" echo " RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)" >> "$etcconf" echo " RewriteRule .* - [F]" >> "$etcconf" @@ -2042,6 +2039,8 @@ EOF echo " " >> "$etcconf" echo " DirectoryIndex index.php index.html index.htm" >> "$etcconf" echo " " >> "$etcconf" + echo " Timeout 600" >> "$etcconf" + echo " ProxyTimeout 600" >> "$etcconf" echo " RewriteEngine On" >> "$etcconf" echo " RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)" >> "$etcconf" echo " RewriteRule .* - [F]" >> "$etcconf" @@ -2444,15 +2443,9 @@ downloadfiles() { cwd=$(pwd) cd ../tmp/ if [[ $version =~ ^[0-9]\.[0-9]\.[0-9]+$ ]]; then - urls=( "${fosURL}/${version}/init.xz" "${fosURL}/${version}/init_32.xz" "${fosURL}/${version}/bzImage" "${fosURL}/${version}/bzImage32" "${fogclientURL}/${clientVer}/FOGService.msi" "${fogclientURL}/${clientVer}/SmartInstaller.exe" ) - if [[ $armsupport == 1 ]]; then - urls+=( "${fosURL}/${version}/arm_init.cpio.gz" "${fosURL}/${version}/arm_Image" ) - fi + urls=( "${fosURL}/${version}/init.xz" "${fosURL}/${version}/init_32.xz" "${fosURL}/${version}/bzImage" "${fosURL}/${version}/bzImage32" "${fosURL}/${version}/arm_init.cpio.gz" "${fosURL}/${version}/arm_Image" "${fogclientURL}/${clientVer}/FOGService.msi" "${fogclientURL}/${clientVer}/SmartInstaller.exe" ) else - urls=( "${fosLatestURL}/init.xz" "${fosLatestURL}/init_32.xz" "${fosLatestURL}/bzImage" "${fosLatestURL}/bzImage32" "${fogclientURL}/${clientVer}/FOGService.msi" "${fogclientURL}/${clientVer}/SmartInstaller.exe" ) - if [[ $armsupport == 1 ]]; then - urls+=( "${fosLatestURL}/arm_init.cpio.gz" "${fosLatestURL}/arm_Image" ) - fi + urls=( "${fosLatestURL}/init.xz" "${fosLatestURL}/init_32.xz" "${fosLatestURL}/bzImage" "${fosLatestURL}/bzImage32" "${fosLatestURL}/arm_init.cpio.gz" "${fosLatestURL}/arm_Image" "${fogclientURL}/${clientVer}/FOGService.msi" "${fogclientURL}/${clientVer}/SmartInstaller.exe" ) fi for url in "${urls[@]}"; do checksum=1 @@ -2486,10 +2479,8 @@ downloadfiles() { cp -vf ${copypath}bzImage32 ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? cp -vf ${copypath}init.xz ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? cp -vf ${copypath}init_32.xz ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? - if [[ $armsupport == 1 ]]; then - cp -vf ${copypath_arm}arm_Image ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? - cp -vf ${copypath_arm}arm_init.cpio.gz ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? - fi + cp -vf ${copypath_arm}arm_Image ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? + cp -vf ${copypath_arm}arm_init.cpio.gz ${webdirdest}/service/ipxe/ >>$error_log 2>&1 || errorStat $? cp -vf ${copypath}FOGService.msi ${copypath}SmartInstaller.exe ${webdirdest}/client/ >>$error_log 2>&1 errorStat $? cd $cwd @@ -2582,6 +2573,10 @@ configureDHCP() { echo " match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00009\";" >> "$dhcptouse" echo " filename \"snponly.efi\";" >> "$dhcptouse" echo "}" >> "$dhcptouse" + echo "class \"UEFI-ARM64\" {" >> "$dhcptouse" + echo " match if substring(option vendor-class-identifier, 0, 20) = \"PXEClient:Arch:00011\";" >> "$dhcptouse" + echo " filename \"arm64-efi/snponly.efi\";" >> "$dhcptouse" + echo "}" >> "$dhcptouse" echo "class \"SURFACE-PRO-4\" {" >> "$dhcptouse" echo " match if substring(option vendor-class-identifier, 0, 32) = \"PXEClient:Arch:00007:UNDI:003016\";" >> "$dhcptouse" echo " filename \"snponly.efi\";" >> "$dhcptouse" diff --git a/packages/tftp/10secdelay/arm64-efi/intel.efi b/packages/tftp/10secdelay/arm64-efi/intel.efi index f5c6bc8138..ea2fdd8484 100644 Binary files a/packages/tftp/10secdelay/arm64-efi/intel.efi and b/packages/tftp/10secdelay/arm64-efi/intel.efi differ diff --git a/packages/tftp/10secdelay/arm64-efi/ipxe.efi b/packages/tftp/10secdelay/arm64-efi/ipxe.efi index 00ce380b3e..be3fd36007 100644 Binary files a/packages/tftp/10secdelay/arm64-efi/ipxe.efi and b/packages/tftp/10secdelay/arm64-efi/ipxe.efi differ diff --git a/packages/tftp/10secdelay/arm64-efi/ncm--ecm--axge.efi b/packages/tftp/10secdelay/arm64-efi/ncm--ecm--axge.efi index 9c4727fac6..d670f7f881 100644 Binary files a/packages/tftp/10secdelay/arm64-efi/ncm--ecm--axge.efi and b/packages/tftp/10secdelay/arm64-efi/ncm--ecm--axge.efi differ diff --git a/packages/tftp/10secdelay/arm64-efi/realtek.efi b/packages/tftp/10secdelay/arm64-efi/realtek.efi index 8644cd46e6..5be321e97c 100644 Binary files a/packages/tftp/10secdelay/arm64-efi/realtek.efi and b/packages/tftp/10secdelay/arm64-efi/realtek.efi differ diff --git a/packages/tftp/10secdelay/arm64-efi/snp.efi b/packages/tftp/10secdelay/arm64-efi/snp.efi index e655ef048c..8c90fdcfd1 100644 Binary files a/packages/tftp/10secdelay/arm64-efi/snp.efi and b/packages/tftp/10secdelay/arm64-efi/snp.efi differ diff --git a/packages/tftp/10secdelay/arm64-efi/snponly.efi b/packages/tftp/10secdelay/arm64-efi/snponly.efi index 66f15047ed..dbeb5e298e 100644 Binary files a/packages/tftp/10secdelay/arm64-efi/snponly.efi and b/packages/tftp/10secdelay/arm64-efi/snponly.efi differ diff --git a/packages/tftp/10secdelay/i386-efi/intel.efi b/packages/tftp/10secdelay/i386-efi/intel.efi index 82f0196d0c..93cc5bb164 100644 Binary files a/packages/tftp/10secdelay/i386-efi/intel.efi and b/packages/tftp/10secdelay/i386-efi/intel.efi differ diff --git a/packages/tftp/10secdelay/i386-efi/ipxe.efi b/packages/tftp/10secdelay/i386-efi/ipxe.efi index ee6c0253c7..e0b303b39b 100644 Binary files a/packages/tftp/10secdelay/i386-efi/ipxe.efi and b/packages/tftp/10secdelay/i386-efi/ipxe.efi differ diff --git a/packages/tftp/10secdelay/i386-efi/ncm--ecm--axge.efi b/packages/tftp/10secdelay/i386-efi/ncm--ecm--axge.efi index 895fb27483..7175a10fa5 100644 Binary files a/packages/tftp/10secdelay/i386-efi/ncm--ecm--axge.efi and b/packages/tftp/10secdelay/i386-efi/ncm--ecm--axge.efi differ diff --git a/packages/tftp/10secdelay/i386-efi/realtek.efi b/packages/tftp/10secdelay/i386-efi/realtek.efi index 86d20bbe75..765d7905d0 100644 Binary files a/packages/tftp/10secdelay/i386-efi/realtek.efi and b/packages/tftp/10secdelay/i386-efi/realtek.efi differ diff --git a/packages/tftp/10secdelay/i386-efi/snp.efi b/packages/tftp/10secdelay/i386-efi/snp.efi index dea1fdd042..8036d4b3f2 100644 Binary files a/packages/tftp/10secdelay/i386-efi/snp.efi and b/packages/tftp/10secdelay/i386-efi/snp.efi differ diff --git a/packages/tftp/10secdelay/i386-efi/snponly.efi b/packages/tftp/10secdelay/i386-efi/snponly.efi index 6a573bd3ee..c07ede7ec1 100644 Binary files a/packages/tftp/10secdelay/i386-efi/snponly.efi and b/packages/tftp/10secdelay/i386-efi/snponly.efi differ diff --git a/packages/tftp/10secdelay/intel.efi b/packages/tftp/10secdelay/intel.efi index 4a297d7e79..7882716c59 100644 Binary files a/packages/tftp/10secdelay/intel.efi and b/packages/tftp/10secdelay/intel.efi differ diff --git a/packages/tftp/10secdelay/intel.kkpxe b/packages/tftp/10secdelay/intel.kkpxe index 52669f0961..3de3ea47ff 100644 Binary files a/packages/tftp/10secdelay/intel.kkpxe and b/packages/tftp/10secdelay/intel.kkpxe differ diff --git a/packages/tftp/10secdelay/intel.kpxe b/packages/tftp/10secdelay/intel.kpxe index b52a47a752..c7c3db9084 100644 Binary files a/packages/tftp/10secdelay/intel.kpxe and b/packages/tftp/10secdelay/intel.kpxe differ diff --git a/packages/tftp/10secdelay/intel.pxe b/packages/tftp/10secdelay/intel.pxe index 5c6e404378..77526da3f5 100644 Binary files a/packages/tftp/10secdelay/intel.pxe and b/packages/tftp/10secdelay/intel.pxe differ diff --git a/packages/tftp/10secdelay/ipxe.efi b/packages/tftp/10secdelay/ipxe.efi index 0eedb686a5..40b8a23640 100644 Binary files a/packages/tftp/10secdelay/ipxe.efi and b/packages/tftp/10secdelay/ipxe.efi differ diff --git a/packages/tftp/10secdelay/ipxe.iso b/packages/tftp/10secdelay/ipxe.iso index 1e7c323a64..e56ff4c9d0 100644 Binary files a/packages/tftp/10secdelay/ipxe.iso and b/packages/tftp/10secdelay/ipxe.iso differ diff --git a/packages/tftp/10secdelay/ipxe.kkpxe b/packages/tftp/10secdelay/ipxe.kkpxe index 64b65e13a1..9c008e425e 100644 Binary files a/packages/tftp/10secdelay/ipxe.kkpxe and b/packages/tftp/10secdelay/ipxe.kkpxe differ diff --git a/packages/tftp/10secdelay/ipxe.kpxe b/packages/tftp/10secdelay/ipxe.kpxe index 72b9316142..2368a75af8 100644 Binary files a/packages/tftp/10secdelay/ipxe.kpxe and b/packages/tftp/10secdelay/ipxe.kpxe differ diff --git a/packages/tftp/10secdelay/ipxe.krn b/packages/tftp/10secdelay/ipxe.krn index 7124ff974b..ff99cda716 100644 Binary files a/packages/tftp/10secdelay/ipxe.krn and b/packages/tftp/10secdelay/ipxe.krn differ diff --git a/packages/tftp/10secdelay/ipxe.lkrn b/packages/tftp/10secdelay/ipxe.lkrn index 7124ff974b..ff99cda716 100644 Binary files a/packages/tftp/10secdelay/ipxe.lkrn and b/packages/tftp/10secdelay/ipxe.lkrn differ diff --git a/packages/tftp/10secdelay/ipxe.pxe b/packages/tftp/10secdelay/ipxe.pxe index 3d6fdb969f..545dc3cb1b 100644 Binary files a/packages/tftp/10secdelay/ipxe.pxe and b/packages/tftp/10secdelay/ipxe.pxe differ diff --git a/packages/tftp/10secdelay/ipxe.usb b/packages/tftp/10secdelay/ipxe.usb index 00e2ed3de0..66174074ce 100644 Binary files a/packages/tftp/10secdelay/ipxe.usb and b/packages/tftp/10secdelay/ipxe.usb differ diff --git a/packages/tftp/10secdelay/ncm--ecm--axge.efi b/packages/tftp/10secdelay/ncm--ecm--axge.efi index 2be842d569..67e92dad4d 100644 Binary files a/packages/tftp/10secdelay/ncm--ecm--axge.efi and b/packages/tftp/10secdelay/ncm--ecm--axge.efi differ diff --git a/packages/tftp/10secdelay/realtek.efi b/packages/tftp/10secdelay/realtek.efi index 4170a7b075..bc4078a2d5 100644 Binary files a/packages/tftp/10secdelay/realtek.efi and b/packages/tftp/10secdelay/realtek.efi differ diff --git a/packages/tftp/10secdelay/realtek.kkpxe b/packages/tftp/10secdelay/realtek.kkpxe index 0134ef4a48..cdf72c9f85 100644 Binary files a/packages/tftp/10secdelay/realtek.kkpxe and b/packages/tftp/10secdelay/realtek.kkpxe differ diff --git a/packages/tftp/10secdelay/realtek.kpxe b/packages/tftp/10secdelay/realtek.kpxe index eb97752eef..d4cfe079f7 100644 Binary files a/packages/tftp/10secdelay/realtek.kpxe and b/packages/tftp/10secdelay/realtek.kpxe differ diff --git a/packages/tftp/10secdelay/realtek.pxe b/packages/tftp/10secdelay/realtek.pxe index 68381e3b75..9475b29f30 100644 Binary files a/packages/tftp/10secdelay/realtek.pxe and b/packages/tftp/10secdelay/realtek.pxe differ diff --git a/packages/tftp/10secdelay/snp.efi b/packages/tftp/10secdelay/snp.efi index f434a8ed47..4899e4fdf4 100644 Binary files a/packages/tftp/10secdelay/snp.efi and b/packages/tftp/10secdelay/snp.efi differ diff --git a/packages/tftp/10secdelay/snponly.efi b/packages/tftp/10secdelay/snponly.efi index f31d9733d0..e570f46e5b 100644 Binary files a/packages/tftp/10secdelay/snponly.efi and b/packages/tftp/10secdelay/snponly.efi differ diff --git a/packages/tftp/10secdelay/undionly.kkpxe b/packages/tftp/10secdelay/undionly.kkpxe index 85bbcd7156..a5dec612f3 100644 Binary files a/packages/tftp/10secdelay/undionly.kkpxe and b/packages/tftp/10secdelay/undionly.kkpxe differ diff --git a/packages/tftp/10secdelay/undionly.kpxe b/packages/tftp/10secdelay/undionly.kpxe index 7cde6fdd58..f68b1592c4 100755 Binary files a/packages/tftp/10secdelay/undionly.kpxe and b/packages/tftp/10secdelay/undionly.kpxe differ diff --git a/packages/tftp/10secdelay/undionly.pxe b/packages/tftp/10secdelay/undionly.pxe index e52223adb2..fb4ef33c11 100644 Binary files a/packages/tftp/10secdelay/undionly.pxe and b/packages/tftp/10secdelay/undionly.pxe differ diff --git a/packages/tftp/arm64-efi/intel.efi b/packages/tftp/arm64-efi/intel.efi index 89a606babe..2759530b65 100644 Binary files a/packages/tftp/arm64-efi/intel.efi and b/packages/tftp/arm64-efi/intel.efi differ diff --git a/packages/tftp/arm64-efi/ipxe.efi b/packages/tftp/arm64-efi/ipxe.efi index 97ce9053e6..12d8ab183f 100644 Binary files a/packages/tftp/arm64-efi/ipxe.efi and b/packages/tftp/arm64-efi/ipxe.efi differ diff --git a/packages/tftp/arm64-efi/ncm--ecm--axge.efi b/packages/tftp/arm64-efi/ncm--ecm--axge.efi index 7ac2a68bbe..bcdcd85900 100644 Binary files a/packages/tftp/arm64-efi/ncm--ecm--axge.efi and b/packages/tftp/arm64-efi/ncm--ecm--axge.efi differ diff --git a/packages/tftp/arm64-efi/realtek.efi b/packages/tftp/arm64-efi/realtek.efi index dc0ba21eb1..8be8cf3b57 100644 Binary files a/packages/tftp/arm64-efi/realtek.efi and b/packages/tftp/arm64-efi/realtek.efi differ diff --git a/packages/tftp/arm64-efi/snp.efi b/packages/tftp/arm64-efi/snp.efi index 498152c32f..934807d990 100644 Binary files a/packages/tftp/arm64-efi/snp.efi and b/packages/tftp/arm64-efi/snp.efi differ diff --git a/packages/tftp/arm64-efi/snponly.efi b/packages/tftp/arm64-efi/snponly.efi index e7e3f47ea2..f29e899258 100644 Binary files a/packages/tftp/arm64-efi/snponly.efi and b/packages/tftp/arm64-efi/snponly.efi differ diff --git a/packages/tftp/i386-efi/intel.efi b/packages/tftp/i386-efi/intel.efi index f85a664d4e..b0802f1643 100644 Binary files a/packages/tftp/i386-efi/intel.efi and b/packages/tftp/i386-efi/intel.efi differ diff --git a/packages/tftp/i386-efi/ipxe.efi b/packages/tftp/i386-efi/ipxe.efi index a9abfe9c82..78c05f7705 100644 Binary files a/packages/tftp/i386-efi/ipxe.efi and b/packages/tftp/i386-efi/ipxe.efi differ diff --git a/packages/tftp/i386-efi/ncm--ecm--axge.efi b/packages/tftp/i386-efi/ncm--ecm--axge.efi index ac95ec48cf..0bf40db89e 100644 Binary files a/packages/tftp/i386-efi/ncm--ecm--axge.efi and b/packages/tftp/i386-efi/ncm--ecm--axge.efi differ diff --git a/packages/tftp/i386-efi/realtek.efi b/packages/tftp/i386-efi/realtek.efi index 3b4547526d..6e0d4d975e 100644 Binary files a/packages/tftp/i386-efi/realtek.efi and b/packages/tftp/i386-efi/realtek.efi differ diff --git a/packages/tftp/i386-efi/snp.efi b/packages/tftp/i386-efi/snp.efi index 969ac65144..10f2294fd1 100644 Binary files a/packages/tftp/i386-efi/snp.efi and b/packages/tftp/i386-efi/snp.efi differ diff --git a/packages/tftp/i386-efi/snponly.efi b/packages/tftp/i386-efi/snponly.efi index 2eb5fdd2a5..dc6a42ee07 100644 Binary files a/packages/tftp/i386-efi/snponly.efi and b/packages/tftp/i386-efi/snponly.efi differ diff --git a/packages/tftp/intel.efi b/packages/tftp/intel.efi index 50510a7b10..b3387adce5 100644 Binary files a/packages/tftp/intel.efi and b/packages/tftp/intel.efi differ diff --git a/packages/tftp/intel.kkpxe b/packages/tftp/intel.kkpxe index b01fcb6a99..57c4f95f08 100644 Binary files a/packages/tftp/intel.kkpxe and b/packages/tftp/intel.kkpxe differ diff --git a/packages/tftp/intel.kpxe b/packages/tftp/intel.kpxe index 1d755998b3..511927f4fa 100644 Binary files a/packages/tftp/intel.kpxe and b/packages/tftp/intel.kpxe differ diff --git a/packages/tftp/intel.pxe b/packages/tftp/intel.pxe index 10cee7ea9a..5d0dc62cfd 100644 Binary files a/packages/tftp/intel.pxe and b/packages/tftp/intel.pxe differ diff --git a/packages/tftp/ipxe.efi b/packages/tftp/ipxe.efi index fc8359902a..83c1f6006c 100644 Binary files a/packages/tftp/ipxe.efi and b/packages/tftp/ipxe.efi differ diff --git a/packages/tftp/ipxe.iso b/packages/tftp/ipxe.iso index 53253a53be..1fe9809954 100644 Binary files a/packages/tftp/ipxe.iso and b/packages/tftp/ipxe.iso differ diff --git a/packages/tftp/ipxe.kkpxe b/packages/tftp/ipxe.kkpxe index 9d0bcf31d7..08d5f3b3aa 100644 Binary files a/packages/tftp/ipxe.kkpxe and b/packages/tftp/ipxe.kkpxe differ diff --git a/packages/tftp/ipxe.kpxe b/packages/tftp/ipxe.kpxe index ed688307ca..440459f25a 100644 Binary files a/packages/tftp/ipxe.kpxe and b/packages/tftp/ipxe.kpxe differ diff --git a/packages/tftp/ipxe.krn b/packages/tftp/ipxe.krn index fa1ac9df75..abfe1542b4 100644 Binary files a/packages/tftp/ipxe.krn and b/packages/tftp/ipxe.krn differ diff --git a/packages/tftp/ipxe.lkrn b/packages/tftp/ipxe.lkrn index fa1ac9df75..abfe1542b4 100644 Binary files a/packages/tftp/ipxe.lkrn and b/packages/tftp/ipxe.lkrn differ diff --git a/packages/tftp/ipxe.pxe b/packages/tftp/ipxe.pxe index 1861a94b39..ce3ca4c31a 100644 Binary files a/packages/tftp/ipxe.pxe and b/packages/tftp/ipxe.pxe differ diff --git a/packages/tftp/ipxe.usb b/packages/tftp/ipxe.usb index 6c74fc21ae..8a9c55c77a 100644 Binary files a/packages/tftp/ipxe.usb and b/packages/tftp/ipxe.usb differ diff --git a/packages/tftp/ncm--ecm--axge.efi b/packages/tftp/ncm--ecm--axge.efi index 2ec1f5a821..9f3222a89d 100644 Binary files a/packages/tftp/ncm--ecm--axge.efi and b/packages/tftp/ncm--ecm--axge.efi differ diff --git a/packages/tftp/realtek.efi b/packages/tftp/realtek.efi index f32bdd1413..ad8a6f656a 100644 Binary files a/packages/tftp/realtek.efi and b/packages/tftp/realtek.efi differ diff --git a/packages/tftp/realtek.kkpxe b/packages/tftp/realtek.kkpxe index e8ee132309..e6b4a166eb 100644 Binary files a/packages/tftp/realtek.kkpxe and b/packages/tftp/realtek.kkpxe differ diff --git a/packages/tftp/realtek.kpxe b/packages/tftp/realtek.kpxe index 60235dd0c1..424b1216f0 100644 Binary files a/packages/tftp/realtek.kpxe and b/packages/tftp/realtek.kpxe differ diff --git a/packages/tftp/realtek.pxe b/packages/tftp/realtek.pxe index b613614e94..678befbad2 100644 Binary files a/packages/tftp/realtek.pxe and b/packages/tftp/realtek.pxe differ diff --git a/packages/tftp/snp.efi b/packages/tftp/snp.efi index 559ee401df..c5d1a24f01 100644 Binary files a/packages/tftp/snp.efi and b/packages/tftp/snp.efi differ diff --git a/packages/tftp/snponly.efi b/packages/tftp/snponly.efi index 8ac7cad526..b73afface9 100644 Binary files a/packages/tftp/snponly.efi and b/packages/tftp/snponly.efi differ diff --git a/packages/tftp/undionly.kkpxe b/packages/tftp/undionly.kkpxe index 71cfa60178..b7581cdc4f 100644 Binary files a/packages/tftp/undionly.kkpxe and b/packages/tftp/undionly.kkpxe differ diff --git a/packages/tftp/undionly.kpxe b/packages/tftp/undionly.kpxe index 44350ea23f..71b9f1811a 100644 Binary files a/packages/tftp/undionly.kpxe and b/packages/tftp/undionly.kpxe differ diff --git a/packages/tftp/undionly.pxe b/packages/tftp/undionly.pxe index a67c11f043..8dc38a535a 100644 Binary files a/packages/tftp/undionly.pxe and b/packages/tftp/undionly.pxe differ diff --git a/packages/web/commons/schema.php b/packages/web/commons/schema.php index 2f3e48b614..b81a67019f 100644 --- a/packages/web/commons/schema.php +++ b/packages/web/commons/schema.php @@ -3763,3 +3763,19 @@ "ALTER TABLE `hosts` ADD COLUMN `hostInfoKey` VARCHAR(255)", "ALTER TABLE `hosts` ADD COLUMN `hostInfoLock` BOOLEAN DEFAULT 0" ); +// 272 +$this->schema[] = array( + "ALTER TABLE `inventory` ADD COLUMN `iGpuvendors` VARCHAR(255) NOT NULL", + "ALTER TABLE `inventory` ADD COLUMN `iGpuproducts` VARCHAR(255) NOT NULL" +); +// 273 +$this->schema[] = array( + "INSERT IGNORE INTO `globalSettings` " + . "(`settingKey`,`settingDesc`,`settingValue`,`settingCategory`) " + . "VALUES " + . "('FOG_TFTP_PXE_KERNEL_ARM','Location of the ARM kernel file on " + . "the PXE server, this should point to the kernel itself.'," + . "'arm_Image','TFTP Server')," + . "('FOG_PXE_BOOT_IMAGE_ARM','The settings defines where the ARM " + . "fog boot file system image is located.','arm_init.cpio.gz','TFTP Server')", +); diff --git a/packages/web/lib/fog/bootmenu.class.php b/packages/web/lib/fog/bootmenu.class.php index 8c41db2f44..1735b38f10 100644 --- a/packages/web/lib/fog/bootmenu.class.php +++ b/packages/web/lib/fog/bootmenu.class.php @@ -242,11 +242,13 @@ public function __construct() 'FOG_MEMTEST_KERNEL', 'FOG_PXE_BOOT_IMAGE', 'FOG_PXE_BOOT_IMAGE_32', + 'FOG_PXE_BOOT_IMAGE_ARM', 'FOG_PXE_HIDDENMENU_TIMEOUT', 'FOG_PXE_MENU_HIDDEN', 'FOG_PXE_MENU_TIMEOUT', 'FOG_TFTP_PXE_KERNEL', 'FOG_TFTP_PXE_KERNEL_32', + 'FOG_TFTP_PXE_KERNEL_ARM', ); list( $exit, @@ -259,11 +261,13 @@ public function __construct() $memtest, $imagefile, $init_32, + $init_arm, $hiddenTimeout, $hiddenmenu, $menuTimeout, $bzImage, - $bzImage32 + $bzImage32, + $bzImageArm ) = self::getSubObjectIDs( 'Service', array( @@ -289,9 +293,12 @@ public function __construct() $keySequence : '' ); - if ($_REQUEST['arch'] != 'x86_64') { + if (($_REQUEST['arch'] ?? '') == 'i386') { $bzImage = $bzImage32; $imagefile = $init_32; + } elseif (($_REQUEST['arch'] ?? '') == 'arm') { + $bzImage = $bzImageArm; + $imagefile = $init_arm; } $kernel = $bzImage; if (self::$Host->get('kernel')) { diff --git a/packages/web/lib/fog/fogbase.class.php b/packages/web/lib/fog/fogbase.class.php index 522b7a2148..3800045002 100644 --- a/packages/web/lib/fog/fogbase.class.php +++ b/packages/web/lib/fog/fogbase.class.php @@ -1107,8 +1107,13 @@ public static function niceDate($date = 'now', $utc = false) } else { $tz = new DateTimeZone(self::$TimeZone); } - - return new DateTime($date, $tz); + try { + $niceDate = new DateTime($date, $tz); + } catch (Exception $e) { + throw new Exception("Given date of '$date' is invalid! Can't create nicedate!"); + $niceDate = $date; + } + return $niceDate; } /** * Do formatting things. diff --git a/packages/web/lib/fog/fogpage.class.php b/packages/web/lib/fog/fogpage.class.php index 81e6ef5bba..b73730cad7 100644 --- a/packages/web/lib/fog/fogpage.class.php +++ b/packages/web/lib/fog/fogpage.class.php @@ -387,6 +387,8 @@ public function __construct($name = '') _('Chassis Version') => 'casever', _('Chassis Serial') => 'caseserial', _('Chassis Asset') => 'caseasset', + _('GPU Vendors') => 'gpuvendors', + _('GPU Products') => 'gpuproducts', ); $exportMenu = sprintf('Export%s', $this->childClass); $importMenu = sprintf('Import%s', $this->childClass); diff --git a/packages/web/lib/fog/inventory.class.php b/packages/web/lib/fog/inventory.class.php index b37a08288f..68b8d1773e 100644 --- a/packages/web/lib/fog/inventory.class.php +++ b/packages/web/lib/fog/inventory.class.php @@ -66,6 +66,8 @@ class Inventory extends FOGController 'casever' => 'iCasever', 'caseserial' => 'iCaseserial', 'caseasset' => 'iCaseasset', + 'gpuvendors' => 'iGpuvendors', + 'gpuproducts' => 'iGpuproducts', ); /** * The required fields. diff --git a/packages/web/lib/fog/system.class.php b/packages/web/lib/fog/system.class.php index e0a12c5618..3a37ba5038 100644 --- a/packages/web/lib/fog/system.class.php +++ b/packages/web/lib/fog/system.class.php @@ -53,8 +53,8 @@ private static function _versionCompare() public function __construct() { self::_versionCompare(); - define('FOG_VERSION', '1.5.10.1593'); - define('FOG_SCHEMA', 271); + define('FOG_VERSION', '1.5.10.1615'); + define('FOG_SCHEMA', 273); define('FOG_BCACHE_VER', 141); define('FOG_CLIENT_VERSION', '0.13.0'); } diff --git a/packages/web/lib/fog/task.class.php b/packages/web/lib/fog/task.class.php index 4b862e22a9..4da4740179 100644 --- a/packages/web/lib/fog/task.class.php +++ b/packages/web/lib/fog/task.class.php @@ -145,18 +145,23 @@ public function getInFrontOfHostCount() foreach ((array)$this->getManager() ->find($find) as &$Task ) { - $TaskCheckinTime = self::niceDate($Task->get('checkInTime')); - $timeOfLastCheckin = $curTime + try { + $TaskCheckinTime = self::niceDate($Task->get('checkInTime')); + $timeOfLastCheckin = $curTime ->getTimestamp() - $TaskCheckinTime ->getTimestamp(); - if ($timeOfLastCheckin >= $checkTime) { - $Task->set( - 'checkInTime', - $curTime->format('Y-m-d H:i:s') - )->save(); - } - if ($MyCheckinTime > $TaskCheckinTime) { - ++$count; + if ($timeOfLastCheckin >= $checkTime) { + $Task->set( + 'checkInTime', + $curTime->format('Y-m-d H:i:s') + )->save(); + } + if ($MyCheckinTime > $TaskCheckinTime) { + ++$count; + } + } catch (Exception $e) { + // FOGCORE::var_dump_log('nice date is invalid for checkInTime'); + //don't increment count for tasks with a 'No Data' check in time } unset($Task); } diff --git a/packages/web/lib/pages/hostmanagementpage.class.php b/packages/web/lib/pages/hostmanagementpage.class.php index 389fb79bd1..26d1140062 100644 --- a/packages/web/lib/pages/hostmanagementpage.class.php +++ b/packages/web/lib/pages/hostmanagementpage.class.php @@ -2450,6 +2450,10 @@ public function hostInventory() $casever = $Inv->get('caseversion'); $caseser = $Inv->get('caseserial'); $caseast = $Inv->get('caseasset'); + $gpuvendors = $Inv->get('gpuvendors'); + $gpuproducts = $Inv->get('gpuproducts'); + $gpuvendorsArray = explode(',', $gpuvendors); + $gpuproductsArray = explode(',', $gpuproducts); $fields = array( '