Showing with 1,167 additions and 111 deletions.
  1. +8 −0 CHANGELOG.md
  2. +2 −2 README.md
  3. +1 −1 WebminCore.pm
  4. +4 −0 lvm/edit_lv.cgi
  5. +22 −0 lvm/lang/af.auto
  6. +22 −0 lvm/lang/ar.auto
  7. +22 −0 lvm/lang/be.auto
  8. +22 −0 lvm/lang/bg.auto
  9. +23 −0 lvm/lang/ca.auto
  10. +22 −0 lvm/lang/cs.auto
  11. +22 −0 lvm/lang/da.auto
  12. +23 −0 lvm/lang/de.auto
  13. +22 −0 lvm/lang/el.auto
  14. +1 −0 lvm/lang/en
  15. +22 −0 lvm/lang/es.auto
  16. +22 −0 lvm/lang/eu.auto
  17. +22 −0 lvm/lang/fa.auto
  18. +22 −0 lvm/lang/fi.auto
  19. +23 −0 lvm/lang/fr.auto
  20. +22 −0 lvm/lang/he.auto
  21. +22 −0 lvm/lang/hr.auto
  22. +22 −0 lvm/lang/hu.auto
  23. +22 −0 lvm/lang/it.auto
  24. +22 −0 lvm/lang/ja.auto
  25. +22 −0 lvm/lang/ko.auto
  26. +22 −0 lvm/lang/lt.auto
  27. +22 −0 lvm/lang/lv.auto
  28. +22 −0 lvm/lang/ms.auto
  29. +22 −0 lvm/lang/mt.auto
  30. +22 −0 lvm/lang/nl.auto
  31. +23 −0 lvm/lang/no.auto
  32. +22 −0 lvm/lang/pl.auto
  33. +22 −0 lvm/lang/pt.auto
  34. +22 −0 lvm/lang/pt_BR.auto
  35. +22 −0 lvm/lang/ro.auto
  36. +22 −0 lvm/lang/ru.auto
  37. +22 −0 lvm/lang/sk.auto
  38. +22 −0 lvm/lang/sl.auto
  39. +22 −0 lvm/lang/sv.auto
  40. +22 −0 lvm/lang/th.auto
  41. +22 −0 lvm/lang/tr.auto
  42. +22 −0 lvm/lang/uk.auto
  43. +22 −0 lvm/lang/ur.auto
  44. +22 −0 lvm/lang/vi.auto
  45. +22 −0 lvm/lang/zh.auto
  46. +22 −0 lvm/lang/zh_TW.auto
  47. +20 −2 lvm/lvm-lib.pl
  48. +5 −5 lvm/raid_create.cgi
  49. +5 −5 lvm/raid_form.cgi
  50. +1 −1 mailboxes/boxes-lib.pl
  51. +37 −7 makedebian.pl
  52. +9 −2 makerpm.pl
  53. +19 −10 package-updates/update.cgi
  54. +43 −28 setup.pl
  55. +58 −37 setup.sh
  56. +2 −2 software/apt-lib.pl
  57. +3 −2 software/yum-lib.pl
  58. +2 −0 time/module.info.zh
  59. +0 −2 time/module.info.zh.auto
  60. +32 −0 ui-lib.pl
  61. +1 −1 version
  62. +0 −2 webmin/module.info.zh.auto
  63. +7 −2 webmin/upgrade.cgi
  64. +1 −0 webmincron/webmincron.pl
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
## Changelog

#### 1.997 (July 12, 2022)
* Add support for mirror and RAID volumes in LVM module
* Add latest Authentic [theme update](https://github.com/webmin/authentic-theme/releases/tag/19.97) with nice new features in File Manager and other fixes
* Fix more issues with restart when Webmin is upgraded from UI

#### 1.996 (July 4, 2022)
* Fix issues with `systemd` restarting Webmin on upgrade found in 1.995

#### 1.995 (June 23, 2022)
* Add improvements to stability for `systemd` systems
* Add native support to default to system default hashing format
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ Perl 5.10 or higher.
## Installation
Webmin can be installed in two different ways:

1. By downloading a pre-built package, available for different distributions (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris and [other](http://www.webmin.com/support.html)) from our [download page](http://webmin.com/download.html);
1. By downloading a pre-built package, available for different distributions (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris and [other](http://www.webmin.com/support.html)) under [latest release assets](https://github.com/webmin/webmin/releases/latest) or from our [download page](http://webmin.com/download.html);
<kbd>Note: It is highly recommended to [add repository](https://doxfer.webmin.com/Webmin/Installation) to your system for having automatic updates.</kbd>

2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.996.tar.gz), and running [_setup.sh_](http://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.997.tar.gz), and running [_setup.sh_](http://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
<kbd>Note: If you are installing Webmin [on Windows](http://www.webmin.com/windows.html) system, you must run the command `perl setup.pl` instead. The Windows version depends on several programs, and modules that may not be part of the standard distribution. You will need _process.exe_ command, _sc.exe_ command, and _Win32::Daemon_ Perl module.</kbd>

## Documentation
Expand Down
2 changes: 1 addition & 1 deletion WebminCore.pm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ require Exporter;
# Add functions in web-lib-funcs.pl
# Generated with :
# grep -h "^sub " web-lib-funcs.pl ui-lib.pl | sed -e 's/sub //' | xargs echo
@EXPORT = qw(read_file read_file_cached read_file_cached_with_stat write_file html_escape html_strip quote_escape quote_javascript tempname_dir tempname transname transname_timestamped trunc indexof indexoflc sysprint check_ipaddress check_ip6address generate_icon urlize un_urlize include copydata ReadParseMime ReadParse read_fully read_parse_mime_callback read_parse_mime_javascript PrintHeader header get_html_title get_html_framed_title get_html_status_line popup_header footer popup_footer load_module_preferences load_theme_library redirect kill_byname kill_byname_logged find_byname error popup_error register_error_handler call_error_handlers error_setup wait_for fast_wait_for has_command make_date file_chooser_button popup_window_button popup_window_link read_acl acl_filename acl_check get_miniserv_config_file get_miniserv_config put_miniserv_config restart_miniserv reload_miniserv check_os_support http_download complete_http_download http_post ftp_download ftp_upload no_proxy open_socket download_timeout ftp_command to_ipaddress to_ip6address to_hostname icons_table replace_meta replace_file_line read_file_lines flush_file_lines unflush_file_lines unix_user_input unix_group_input hlink user_chooser_button group_chooser_button foreign_check foreign_exists foreign_func_exists foreign_available foreign_require foreign_call foreign_config foreign_installed foreign_defined get_system_hostname get_webmin_version get_webmin_version_release get_module_acl get_group_module_acl save_module_acl save_group_module_acl init_config load_language_auto load_language text_subs text encode_base64 decode_base64 encode_base32 decode_base32 get_module_info get_all_module_infos list_themes get_theme_info list_languages safe_language read_env_file write_env_file lock_file unlock_file test_lock unlock_all_files can_lock_file webmin_log additional_log var_dump webmin_debug_log system_logged backquote_logged backquote_with_timeout backquote_command kill_logged rename_logged rename_file symlink_logged symlink_file link_file make_dir set_ownership_permissions unlink_logged unlink_file copy_source_dest move_source_dest remote_session_name remote_foreign_require remote_foreign_call remote_foreign_check remote_foreign_config remote_eval remote_write remote_read remote_finished remote_error_setup remote_rpc_call remote_multi_callback remote_multi_callback_error serialise_variable unserialise_variable other_groups date_chooser_button help_file seed_random disk_usage_kb recursive_disk_usage help_search_link make_http_connection validate_ssl_connection read_http_connection write_http_connection close_http_connection clean_environment reset_environment clean_language progress_callback switch_to_remote_user switch_to_unix_user eval_as_unix_user create_user_config_dirs create_missing_homedir filter_javascript resolve_links simplify_path same_file flush_webmin_caches list_usermods available_usermods get_available_module_infos get_visible_module_infos get_visible_modules_categories is_under_directory parse_http_url check_clicks_function load_entities_map entities_to_ascii get_product_name get_charset get_display_hostname save_module_config save_user_module_config nice_size get_perl_path get_goto_module select_all_link select_invert_link select_rows_link check_pid_file get_mod_lib module_root_directory list_mime_types guess_mime_type open_tempfile close_tempfile print_tempfile is_selinux_enabled get_clear_file_attributes reset_file_attributes cleanup_tempnames open_lock_tempfile END month_to_number number_to_month get_rbac_module_acl supports_rbac supports_ipv6 use_rbac_module_acl execute_command open_readfile open_execute_command translate_filename translate_command register_filename_callback register_command_callback capture_function_output capture_function_output_tempfile modules_chooser_button substitute_template substitute_pattern running_in_zone running_in_vserver running_in_xen running_in_openvz list_categories is_readonly_mode command_as_user list_osdn_mirrors convert_osdn_url get_current_dir supports_users supports_symlinks quote_path get_windows_root read_file_contents write_file_contents read_file_contents_limit unix_crypt split_quoted_string write_to_http_cache check_in_http_cache supports_javascript get_module_name get_module_variable clear_time_locale reset_time_locale callers_package web_libs_package get_userdb_string connect_userdb disconnect_userdb split_userdb_string uniquelc list_combined_webmin_menu list_modules_webmin_menu module_to_menu_item list_combined_system_info shell_is_bash compare_version_numbers convert_to_json convert_from_json print_json get_referer_relative get_webmin_email_url get_webmin_browser_url trim ui_link ui_help ui_img ui_link_button ui_table_start ui_table_end ui_table_row ui_table_hr ui_table_span ui_columns_start ui_columns_row ui_columns_header ui_checked_columns_row ui_radio_columns_row ui_columns_end ui_columns_table ui_form_columns_table ui_form_start ui_form_end ui_textbox ui_filebox ui_bytesbox ui_upload ui_password ui_hidden ui_select ui_multi_select ui_multi_select_javascript ui_radio ui_yesno_radio ui_checkbox ui_oneradio ui_textarea ui_user_textbox ui_users_textbox ui_group_textbox ui_groups_textbox ui_opt_textbox ui_submit ui_reset ui_button ui_date_input ui_buttons_start ui_buttons_end ui_buttons_row ui_buttons_hr ui_post_header ui_pre_footer ui_print_header ui_print_unbuffered_header ui_print_footer ui_config_link ui_print_endpage ui_subheading ui_links_row ui_hidden_javascript ui_hidden_start ui_hidden_end ui_hidden_table_row_start ui_hidden_table_row_end ui_hidden_table_start ui_hidden_table_end ui_tabs_start ui_tabs_end ui_tabs_start_tab ui_tabs_start_tabletab ui_tabs_end_tab ui_tabs_end_tabletab ui_max_text_width ui_radio_selector ui_radio_selector_javascript ui_grid_table ui_radio_table ui_up_down_arrows ui_hr ui_nav_link ui_confirmation_form ui_text_color ui_alert_box js_disable_inputs ui_page_flipper js_checkbox_disable js_redirect ui_webmin_link ui_line_break_double ui_details ui_read_file_contents_limit get_python_cmd get_buffer_size get_webprefix get_sub_ref_name setvar getvar delvar print_call_stack webmin_user_can_rpc webmin_user_login_mode webmin_user_is_admin webmin_user_is get_current_theme_info_cached);
@EXPORT = qw(read_file read_file_cached read_file_cached_with_stat write_file html_escape html_strip quote_escape quote_javascript tempname_dir tempname transname transname_timestamped trunc indexof indexoflc sysprint check_ipaddress check_ip6address generate_icon urlize un_urlize include copydata ReadParseMime ReadParse read_fully read_parse_mime_callback read_parse_mime_javascript PrintHeader header get_html_title get_html_framed_title get_html_status_line popup_header footer popup_footer load_module_preferences load_theme_library redirect kill_byname kill_byname_logged find_byname error popup_error register_error_handler call_error_handlers error_setup wait_for fast_wait_for has_command make_date file_chooser_button popup_window_button popup_window_link read_acl acl_filename acl_check get_miniserv_config_file get_miniserv_config put_miniserv_config restart_miniserv reload_miniserv check_os_support http_download complete_http_download http_post ftp_download ftp_upload no_proxy open_socket download_timeout ftp_command to_ipaddress to_ip6address to_hostname icons_table replace_meta replace_file_line read_file_lines flush_file_lines unflush_file_lines unix_user_input unix_group_input hlink user_chooser_button group_chooser_button foreign_check foreign_exists foreign_func_exists foreign_available foreign_require foreign_call foreign_config foreign_installed foreign_defined get_system_hostname get_webmin_version get_webmin_version_release get_module_acl get_group_module_acl save_module_acl save_group_module_acl init_config load_language_auto load_language text_subs text encode_base64 decode_base64 encode_base32 decode_base32 get_module_info get_all_module_infos list_themes get_theme_info list_languages safe_language read_env_file write_env_file lock_file unlock_file test_lock unlock_all_files can_lock_file webmin_log additional_log var_dump webmin_debug_log system_logged backquote_logged backquote_with_timeout backquote_command kill_logged rename_logged rename_file symlink_logged symlink_file link_file make_dir set_ownership_permissions unlink_logged unlink_file copy_source_dest move_source_dest remote_session_name remote_foreign_require remote_foreign_call remote_foreign_check remote_foreign_config remote_eval remote_write remote_read remote_finished remote_error_setup remote_rpc_call remote_multi_callback remote_multi_callback_error serialise_variable unserialise_variable other_groups date_chooser_button help_file seed_random disk_usage_kb recursive_disk_usage help_search_link make_http_connection validate_ssl_connection read_http_connection write_http_connection close_http_connection clean_environment reset_environment clean_language progress_callback switch_to_remote_user switch_to_unix_user eval_as_unix_user create_user_config_dirs create_missing_homedir filter_javascript resolve_links simplify_path same_file flush_webmin_caches list_usermods available_usermods get_available_module_infos get_visible_module_infos get_visible_modules_categories is_under_directory parse_http_url check_clicks_function load_entities_map entities_to_ascii get_product_name get_charset get_display_hostname save_module_config save_user_module_config nice_size get_perl_path get_goto_module select_all_link select_invert_link select_rows_link check_pid_file get_mod_lib module_root_directory list_mime_types guess_mime_type open_tempfile close_tempfile print_tempfile is_selinux_enabled get_clear_file_attributes reset_file_attributes cleanup_tempnames open_lock_tempfile END month_to_number number_to_month get_rbac_module_acl supports_rbac supports_ipv6 use_rbac_module_acl execute_command open_readfile open_execute_command translate_filename translate_command register_filename_callback register_command_callback capture_function_output capture_function_output_tempfile modules_chooser_button substitute_template substitute_pattern running_in_zone running_in_vserver running_in_xen running_in_openvz list_categories is_readonly_mode command_as_user list_osdn_mirrors convert_osdn_url get_current_dir supports_users supports_symlinks quote_path get_windows_root read_file_contents write_file_contents read_file_contents_limit unix_crypt split_quoted_string write_to_http_cache check_in_http_cache supports_javascript get_module_name get_module_variable clear_time_locale reset_time_locale callers_package web_libs_package get_userdb_string connect_userdb disconnect_userdb split_userdb_string uniquelc list_combined_webmin_menu list_modules_webmin_menu module_to_menu_item list_combined_system_info shell_is_bash compare_version_numbers convert_to_json convert_from_json print_json get_referer_relative get_webmin_email_url get_webmin_browser_url trim ui_link ui_help ui_img ui_link_button ui_table_start ui_table_end ui_table_row ui_table_hr ui_table_span ui_columns_start ui_columns_row ui_columns_header ui_checked_columns_row ui_radio_columns_row ui_columns_end ui_columns_table ui_form_columns_table ui_form_start ui_form_end ui_textbox ui_filebox ui_bytesbox ui_upload ui_password ui_hidden ui_select ui_multi_select ui_multi_select_javascript ui_radio ui_yesno_radio ui_checkbox ui_oneradio ui_textarea ui_user_textbox ui_users_textbox ui_group_textbox ui_groups_textbox ui_opt_textbox ui_submit ui_reset ui_button ui_date_input ui_buttons_start ui_buttons_end ui_buttons_row ui_buttons_hr ui_post_header ui_pre_footer ui_print_header ui_print_unbuffered_header ui_print_footer ui_config_link ui_print_endpage ui_subheading ui_links_row ui_hidden_javascript ui_hidden_start ui_hidden_end ui_hidden_table_row_start ui_hidden_table_row_end ui_hidden_table_start ui_hidden_table_end ui_tabs_start ui_tabs_end ui_tabs_start_tab ui_tabs_start_tabletab ui_tabs_end_tab ui_tabs_end_tabletab ui_max_text_width ui_radio_selector ui_radio_selector_javascript ui_grid_table ui_radio_table ui_up_down_arrows ui_hr ui_nav_link ui_confirmation_form ui_text_color ui_alert_box js_disable_inputs ui_page_flipper js_checkbox_disable js_redirect ui_webmin_link ui_line_break_double ui_details ui_hide_outside_of_viewport ui_read_file_contents_limit get_python_cmd get_buffer_size get_webprefix get_sub_ref_name setvar getvar delvar print_call_stack webmin_user_can_rpc webmin_user_login_mode webmin_user_is_admin webmin_user_is get_current_theme_info_cached);

# Add global variables in web-lib.pl
push(@EXPORT, qw(&unique));
Expand Down
4 changes: 4 additions & 0 deletions lvm/edit_lv.cgi
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,10 @@ elsif (!$lv->{'is_snap'}) {
print &ui_table_row($text{'lv_stripesize'},
&nice_size($lv->{'stripesize'}*1024));
}

if ($lv->{'mirrors'}) {
print &ui_table_row($text{'lv_mirror'}, $lv->{'mirrors'});
}
}

if (!$lv->{'is_snap'}) {
Expand Down
22 changes: 22 additions & 0 deletions lvm/lang/af.auto
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ index_addpv2=Voeg 'n fisiese volume by <tt>$1</tt>.
index_addlv2=Skep 'n logiese volume in <tt>$1</tt>.
index_addlv2s=Skep 'n momentopname in <tt>$1</tt>.
index_addlv3=Skep 'n dun poel in <tt>$1</tt>.
index_addlv4=Skep 'n RAID-volume in <tt>$1</tt>.
index_addlv=Skep 'n nuwe logiese volume.
index_addsnap=Skep 'n nuwe momentopname.
index_return=volume groepe
Expand Down Expand Up @@ -81,6 +82,7 @@ lv_alloc=Toekenningsmetode
lv_allocy=Aangrensend
lv_allocn=Nie-aangrensende
lv_stripe=Deelstrokies
lv_mirror=Aantal spieëls
lv_nostripe=Uitgeskakel (ken altyd van die begin af)
lv_stripes=Streep oor fisiese volumes van $1
lv_stripes2=Fisiese volumes te streep
Expand Down Expand Up @@ -213,6 +215,26 @@ thin_esame=Albei geselekteerde LV's is dieselfde
thin_edata=Die geselekteerde data-LV is reeds in gebruik
thin_emetadata=Die geselekteerde metadata LV is reeds in gebruik

raid_title=Skep RAID-volume
raid_desc='n RAID-volume is 'n LV wat data oor verskeie fisiese volumes versprei om werkverrigting te verhoog, redudansie by te voeg om teen skyffoute te beskerm, of albei.
raid_header=Nuwe RAID volume besonderhede
raid_type=RAID volume tipe
raid_mode0=RAID0 (gestreep) oor PV's
raid_mode1=RAID1 (spieël) oor PV's
raid_mode4=RAID4 (enkelaandrywingpariteit) oor PV's
raid_mode5=RAID5 (multi-aandrywing pariteit) oor PV's
raid_mode6=RAID6 (multi-aandrywing pariteit) oor PV's
raid_mode10=RAID10 (multi-aandrywing-pariteit) oor PV's
raid_ok=Skep RAID-volume
raid_err=Kon nie RAID-volume skep nie
raid_estripe0=Aantal PV's om oor te streep moet ten minste 2 wees
raid_emirror1=Aantal PV's om oor te weerspieël moet ten minste 2 wees
raid_estripe4=Aantal PV's in 'n pariteitsvolume moet ten minste 3 wees
raid_estripe5=Aantal PV's in 'n multi-aandrywing-pariteitsvolume moet ten minste 3 wees
raid_estripe6=Aantal PV's in 'n multi-aandrywing-pariteitsvolume moet ten minste 3 wees
raid_estripe10=Aantal PV's in 'n multi-aandrywing-pariteitsvolume moet ten minste 3 wees
raid_eeither=Of spieëls of strepe ontbreek!

log_create_vg=Skep volume groep $1
log_modify_vg=Gewysigde volume groep $1
log_delete_vg=Volumengroep $1 is uitgevee
Expand Down
Loading