Update NativeState.php

sync garbage collection cycle of KerberosAuth and NativeState
This commit is contained in:
C1-10P 2018-07-20 15:15:51 +02:00 committed by Robin Appelman
commit aa542ff141

View file

@ -38,6 +38,10 @@ class NativeState {
/** @var bool */ /** @var bool */
protected $connected = false; protected $connected = false;
// sync the garbage collection cycle
// __deconstruct() of KerberosAuth should not called too soon
protected $auth;
// see error.h // see error.h
const EXCEPTION_MAP = [ const EXCEPTION_MAP = [
1 => ForbiddenException::class, 1 => ForbiddenException::class,
@ -108,6 +112,11 @@ class NativeState {
$auth->setExtraSmbClientOptions($this->state); $auth->setExtraSmbClientOptions($this->state);
/** @var bool $result */ /** @var bool $result */
// sync the garbage collection cycle
// __deconstruct() of KerberosAuth should not called too soon
$this->auth = $auth;
$result = @smbclient_state_init($this->state, $auth->getWorkgroup(), $auth->getUsername(), $auth->getPassword()); $result = @smbclient_state_init($this->state, $auth->getWorkgroup(), $auth->getUsername(), $auth->getPassword());
$this->testResult($result, ''); $this->testResult($result, '');