Skip to content

Instantly share code, notes, and snippets.

@olgeni
Last active October 14, 2021 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olgeni/474ead35e8fb43d551bd8151b9821cfb to your computer and use it in GitHub Desktop.
Save olgeni/474ead35e8fb43d551bd8151b9821cfb to your computer and use it in GitHub Desktop.
diffoscope output for virtual-server-6.17.gpl.wbm.gz
Checksum before: 60309531a4d5d1a71b0258ccb52ead77d5619c553ae967da978783117ab14b42
Checksum after: 9793f3fbb92cce9d5f16e84babc1ee93da5321a2b9e48c8679b72a3969108e26
--- virtual-server-1
+++ virtual-server
├── file list
│ @@ -11123,19 +11123,14 @@
│ manual_records.cgi
│ manual_records_save.cgi
│ mass_aedit.cgi
│ mass_aedit_form.cgi
│ mass_change.cgi
│ mass_create.cgi
│ mass_create_form.cgi
│ -mass_delete_domains.cgi
│ -mass_disable.cgi
│ -mass_domains_change.cgi
│ -mass_domains_form.cgi
│ -mass_enable.cgi
│ mass_form.cgi
│ mass_scripts.cgi
│ mass_ucreate.cgi
│ mass_ucreate_form.cgi
│ mass_uninstall.cgi
│ mass_upgrade.cgi
│ migrate-domain.pl
│ --- virtual-server-1/domain_form.cgi
├── +++ virtual-server/domain_form.cgi
│ @@ -19,33 +19,33 @@
│ # Redirect to the batch creation
│ &redirect("mass_create_form.cgi");
│ return;
│ }
│ elsif ($in{'delete'}) {
│ # Redirect to the mass server deletion form
│ @d = split(/\0/, $in{'d'});
│ - &redirect("mass_delete_domains.cgi?".join("&", map { "d=$_" } @d));
│ + &redirect("pro/mass_delete_domains.cgi?".join("&", map { "d=$_" } @d));
│ return;
│ }
│ elsif ($in{'mass'}) {
│ # Redirect to the mass server update form
│ @d = split(/\0/, $in{'d'});
│ - &redirect("mass_domains_form.cgi?".join("&", map { "d=$_" } @d));
│ + &redirect("pro/mass_domains_form.cgi?".join("&", map { "d=$_" } @d));
│ return;
│ }
│ elsif ($in{'disable'}) {
│ # Redirect to mass disable form
│ @d = split(/\0/, $in{'d'});
│ - &redirect("mass_disable.cgi?".join("&", map { "d=$_" } @d));
│ + &redirect("pro/mass_disable.cgi?".join("&", map { "d=$_" } @d));
│ return;
│ }
│ elsif ($in{'enable'}) {
│ # Redirect to mass enable form
│ @d = split(/\0/, $in{'d'});
│ - &redirect("mass_enable.cgi?".join("&", map { "d=$_" } @d));
│ + &redirect("pro/mass_enable.cgi?".join("&", map { "d=$_" } @d));
│ return;
│ }
│ # Can this user even create servers?
│ &can_create_master_servers() || &can_create_sub_servers() ||
│ &error($text{'form_ecannot'});
│ --- virtual-server-1/feature-web.pl
├── +++ virtual-server/feature-web.pl
│ @@ -3148,18 +3148,25 @@
│ my $err;
│ &require_apache();
│ my $mode = $d->{'default_php_mode'} || &template_to_php_mode($tmpl);
│ delete($d->{'default_php_mode'});
│ my @supp = &supported_php_modes();
│ if (&indexof($mode, @supp) < 0) {
│ - $err = &text('setup_ewebphpmode', $mode);
│ - $mode = $supp[0];
│ + if (@supp) {
│ + $mode = $supp[0];
│ + }
│ + else {
│ + $err = &text('setup_ewebphpmode', $mode);
│ + $mode = undef;
│ + }
│ + }
│ +if ($mode) {
│ + &save_domain_php_mode($d, $mode, $port, 1);
│ }
│ -&save_domain_php_mode($d, $mode, $port, 1);
│ if (defined(&save_domain_ruby_mode)) {
│ if ($tmpl->{'web_ruby_suexec'} >= 0) {
│ # Setup for Ruby
│ &save_domain_ruby_mode($d,
│ $tmpl->{'web_ruby_suexec'} == 0 ? "mod_ruby" :
│ $tmpl->{'web_ruby_suexec'} == 1 ? "cgi" : "fcgid",
│ --- virtual-server-1/php_errors.log
├── +++ virtual-server/php_errors.log
│ @@ -216,7 +216,10 @@
│ [06-Jul-2021 13:01:07 America/Los_Angeles] PHP Warning: Module 'soap' already loaded in Unknown on line 0
│ [29-Aug-2021 10:45:47 America/Los_Angeles] PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0
│ [29-Aug-2021 10:45:47 America/Los_Angeles] PHP Warning: Module 'mysql' already loaded in Unknown on line 0
│ [29-Aug-2021 10:45:47 America/Los_Angeles] PHP Warning: Module 'soap' already loaded in Unknown on line 0
│ [29-Aug-2021 10:50:12 America/Los_Angeles] PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0
│ [29-Aug-2021 10:50:12 America/Los_Angeles] PHP Warning: Module 'mysql' already loaded in Unknown on line 0
│ [29-Aug-2021 10:50:12 America/Los_Angeles] PHP Warning: Module 'soap' already loaded in Unknown on line 0
│ +[12-Sep-2021 16:59:10 America/Los_Angeles] PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0
│ +[12-Sep-2021 16:59:10 America/Los_Angeles] PHP Warning: Module 'mysql' already loaded in Unknown on line 0
│ +[12-Sep-2021 16:59:10 America/Los_Angeles] PHP Warning: Module 'soap' already loaded in Unknown on line 0
│ --- virtual-server-1/postinstall.pl
├── +++ virtual-server/postinstall.pl
│ @@ -272,14 +272,25 @@
│ # Fix old PHP memory limit default
│ if ($config{'php_vars'} =~ /^memory_limit=32M/) {
│ $config{'php_vars'} = "+".$config{'php_vars'};
│ &save_module_config();
│ }
│ +# If the default template uses a PHP mode that isn't supported, change it
│ +my ($tmpl) = &list_templates();
│ +my $mmap = &php_mode_numbers_map();
│ +my @supp = &supported_php_modes();
│ +my %cannums = map { $mmap->{$_}, 1 } @supp;
│ +if (!$cannums{int($tmpl->{'web_php_suexec'})} && @supp) {
│ + # Default mode cannot be used .. change to first that can
│ + $tmpl->{'web_php_suexec'} = $mmap{$supp[0]};
│ + &save_template($tmpl);
│ + }
│ +
│ # Enable checking for latest scripts
│ if ($config{'scriptlatest_enabled'} eq '') {
│ $config{'scriptlatest_enabled'} = 1;
│ &save_module_config();
│ &setup_scriptlatest_job(1);
│ }
│ --- virtual-server-1/scripts
├── +++ virtual-server/scripts
│ │ --- virtual-server-1/scripts/wordpress.pl
│ ├── +++ virtual-server/scripts/wordpress.pl
│ │ @@ -16,15 +16,15 @@
│ │ {
│ │ return "A semantic personal publishing platform with a focus on aesthetics, web standards, and usability";
│ │ }
│ │
│ │ # script_wordpress_versions()
│ │ sub script_wordpress_versions
│ │ {
│ │ -return ( "5.8" );
│ │ +return ( "5.8.1" );
│ │ }
│ │
│ │ sub script_wordpress_category
│ │ {
│ │ return ("Blog", "CMS");
│ │ }
│ --- virtual-server-1/virtual-server-lib-funcs.pl
├── +++ virtual-server/virtual-server-lib-funcs.pl
│ @@ -7959,37 +7959,37 @@
│ &update_reseller_unix_groups($rinfo, 1);
│ }
│ }
│ # If an SSL cert wasn't generated because SSL wasn't enabled, do one now
│ my $always_ssl = defined($dom->{'always_ssl'}) ? $dom->{'always_ssl'}
│ : $config{'always_ssl'};
│ -my $generated;
│ +my $generated = 0;
│ if (!&domain_has_ssl($dom) && $always_ssl) {
│ - $generated = &generate_default_certificate($dom);
│ + $generated = &generate_default_certificate($dom) ? 1 : 0;
│ }
│ # Attempt to request a let's encrypt cert. This has to be done after the
│ # initial setup and when Apache has been restarted, so that it can serve the
│ # new website.
│ if (!defined($dom->{'auto_letsencrypt'})) {
│ $dom->{'auto_letsencrypt'} = $config{'auto_letsencrypt'};
│ }
│ if ($dom->{'auto_letsencrypt'} && &domain_has_website($dom) &&
│ !$dom->{'disabled'} && !$dom->{'alias'} && !$dom->{'ssl_same'}) {
│ my $info = &cert_info($dom);
│ if ($info->{'self'}) {
│ &create_initial_letsencrypt_cert($dom, 1);
│ - $generated++;
│ + $generated = 2;
│ }
│ }
│ # Update service certs and DANE DNS records if a new Let's Encrypt cert was
│ # generated
│ -if ($generated && !$dom->{'no_default_service_certs'}) {
│ +if ($generated == 2 && !$dom->{'no_default_service_certs'}) {
│ &enable_domain_service_ssl_certs($dom);
│ &sync_domain_tlsa_records($dom);
│ }
│ # For a new alias domain, if the target has a Let's Encrypt cert for all
│ # possible hostnames, re-request it to include the alias
│ if ($dom->{'alias'} && &domain_has_website($dom)) {
│ @@ -8061,18 +8061,21 @@
│ join(", ", map { "<tt>$_</tt>" } @dnames)));
│ if ($valid) {
│ my @errs = &validate_letsencrypt_config($d);
│ if (@errs) {
│ &$second_print($text{'letsencrypt_evalid'});
│ return 0;
│ }
│ - @errs = &check_domain_connectivity($d, { 'mail' => 1, 'ssl' => 1 });
│ - if (@errs) {
│ - &$second_print($text{'letsencrypt_econnect'});
│ - return 0;
│ + if (defined(&check_domain_connectivity)) {
│ + @errs = &check_domain_connectivity(
│ + $d, { 'mail' => 1, 'ssl' => 1 });
│ + if (@errs) {
│ + &$second_print($text{'letsencrypt_econnect'});
│ + return 0;
│ + }
│ }
│ }
│ my $phd = &public_html_dir($d);
│ my $before = &before_letsencrypt_website($d);
│ my @beforecerts = &get_all_domain_service_ssl_certs($d);
│ my ($ok, $cert, $key, $chain) = &request_domain_letsencrypt_cert(
│ $d, \@dnames);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment