Viewing file: fix_os.cgi (1.31 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # Set OS to automatically detected version
require './webmin-lib.pl'; &ReadParse();
# Do Webmin &lock_file("$config_directory/config"); %osinfo = &detect_operating_system(); $gconfig{'real_os_type'} = $osinfo{'real_os_type'}; $gconfig{'real_os_version'} = $osinfo{'real_os_version'}; $gconfig{'os_type'} = $osinfo{'os_type'}; $gconfig{'os_version'} = $osinfo{'os_version'}; &write_file("$config_directory/config", \%gconfig); &unlock_file("$config_directory/config");
# Do Usermin too, if installed and running an equivalent version if (&foreign_installed("usermin")) { &foreign_require("usermin", "usermin-lib.pl"); my %miniserv; &usermin::get_usermin_miniserv_config(\%miniserv); @ust = stat("$miniserv{'root'}/os_list.txt"); @wst = stat("$root_directory/os_list.txt"); if ($ust[7] == $wst[7]) { # os_list.txt is the same, so we can assume the same OS codes # are supported &lock_file($usermin::usermin_config); &usermin::get_usermin_config(\%uconfig); $uconfig{'real_os_type'} = $osinfo{'real_os_type'}; $uconfig{'real_os_version'} = $osinfo{'real_os_version'}; $uconfig{'os_type'} = $osinfo{'os_type'}; $uconfig{'os_version'} = $osinfo{'os_version'}; &usermin::put_usermin_config(\%uconfig); &unlock_file($usermin::usermin_config); } }
&webmin_log("os"); &redirect($ENV{'HTTP_REFERER'});
|