diff -Nur e-smith-manager-2.4.0/root/etc/e-smith/web/common/cgi-bin/login e-smith-manager-2.4.0_bz9163/root/etc/e-smith/web/common/cgi-bin/login --- e-smith-manager-2.4.0/root/etc/e-smith/web/common/cgi-bin/login 2013-06-06 18:12:43.000000000 +0200 +++ e-smith-manager-2.4.0_bz9163/root/etc/e-smith/web/common/cgi-bin/login 2016-01-31 22:47:19.864541826 +0100 @@ -101,7 +101,7 @@ #warn "back from cgi param is $back\n" if $back; $back ||= $ENV{HTTP_REFERER} if $ENV{HTTP_REFERER} && $BACK_REFERER; $back = uri_unescape($back) if $back && $back =~ m/^https?%3A%2F%2F/i; -$back =~ s/^http:/https:/; +$back =~ s/^http:/https:/ if $server_name ne 'localhost'; #warn "back is $back\n"; if ($back && $back =~ m!^/!) { my $hostname = $server_name; diff -Nur e-smith-manager-2.4.0/root/etc/e-smith/web/common/cgi-bin/logout e-smith-manager-2.4.0_bz9163/root/etc/e-smith/web/common/cgi-bin/logout --- e-smith-manager-2.4.0/root/etc/e-smith/web/common/cgi-bin/logout 2008-10-07 19:36:17.000000000 +0200 +++ e-smith-manager-2.4.0_bz9163/root/etc/e-smith/web/common/cgi-bin/logout 2016-01-31 22:47:36.781542346 +0100 @@ -36,7 +36,7 @@ #warn "servername is $server_name; HOST is $ENV{HTTP_HOST}\n"; $server_name ||= $ENV{SERVER_NAME}; $server_port ||= $ENV{SERVER_PORT}; -$server_port = '443'; +$server_port ( $server_name eq 'localhost' ) ? '80' : '443'; my $AUTH_DOMAIN = $server_name; my $back = $q->cookie($at->back_cookie_name) if $at->back_cookie_name; $back ||= $q->param($at->back_arg_name) if $at->back_arg_name;