incompatibility between 1.4 portal and 1.9/2.0 handler : _utime not defined
Normally, no one should use different versions of handler and portal. However, for now it is quite compatible. In newer 1.9/2.0 version, there is an update which breaks the behaviour.
In 1.9 Handler/Main.pm or in 2.0 Handler/Main/Run.pm, in function retrieveSession, we do not check if _utime is defined when verifying if timeout activity is outdated.
For 2.0:
if (
$now - $session->data->{_utime} > $class->tsv->{timeout}
or ( $class->tsv->{timeoutActivity}
and $session->data->{_lastSeen}
and $now - $session->data->{_lastSeen} >
$class->tsv->{timeoutActivity} )
)
I propose to modify it by this code:
$class->logger->error("_utime is not defined. This should not happen. Verify sessions integrity and handler/portal version mismatch") unless $session->data->{_utime};
if (
( $session->data->{_utime} and
$now - $session->data->{_utime} > $class->tsv->{timeout} )
or ( $class->tsv->{timeoutActivity}
and $session->data->{_lastSeen}
and $now - $session->data->{_lastSeen} >
$class->tsv->{timeoutActivity} )
)
For 1.9:
if (
$now - $datas->{_utime} > $tsv->{timeout}
or ( $tsv->{timeoutActivity}
and $datas->{_lastSeen}
and $now - $datas->{_lastSeen} > $tsv->{timeoutActivity} )
)
I propose to modify it by this code:
$class->logger->error("_utime is not defined. This should not happen. Verify sessions integrity and handler/portal version mismatch") unless $datas->{_utime};
if (
( $datas->{_utime} and
$now - $datas->{_utime} > $tsv->{timeout} )
or ( $tsv->{timeoutActivity}
and $datas->{_lastSeen}
and $now - $datas->{_lastSeen} > $tsv->{timeoutActivity} )
)