Changed to using new Address Model, Implemented Setup, Some minor CSS changes

This commit is contained in:
Deon George
2021-06-24 20:16:37 +10:00
parent ec6594b701
commit d1ca78d372
33 changed files with 766 additions and 172 deletions

View File

@@ -12,7 +12,7 @@ use League\Flysystem\UnreadableFileException;
use App\Classes\Protocol as BaseProtocol;
use App\Classes\Sock\SocketClient;
use App\Classes\Sock\SocketException;
use App\Models\Node;
use App\Models\Address;
final class Binkd extends BaseProtocol
{
@@ -100,7 +100,7 @@ final class Binkd extends BaseProtocol
{
// If our parent returns a PID, we've forked
if (! parent::onConnect($client)) {
$this->session(self::SESSION_BINKP,$client,(new Node));
$this->session(self::SESSION_BINKP,$client,(new Address));
$this->client->close();
Log::info(sprintf('%s: = End - Connection closed [%s]',__METHOD__,$client->getAddress()));
}
@@ -143,7 +143,7 @@ final class Binkd extends BaseProtocol
// If we are originating, we'll show the remote our address in the same network
// @todo Implement hiding our AKAs not in this network.
if ($this->originate)
$this->msgs(self::BPM_ADR,join(' ',$this->setup->nodes->pluck('ftn')->toArray()));
$this->msgs(self::BPM_ADR,join(' ',$this->setup->system->addresses->pluck('ftn')->toArray()));
}
/**
@@ -291,6 +291,7 @@ final class Binkd extends BaseProtocol
// @todo We maybe should count these and abort if there are too many?
if ($this->DEBUG)
Log::debug(sprintf('%s: - Socket EAGAIN',__METHOD__));
return 1;
}
@@ -304,6 +305,7 @@ final class Binkd extends BaseProtocol
// @todo Check that this is correct.
Log::debug(sprintf('%s: - Was the socket closed by the remote?',__METHOD__));
$this->error = -2;
return 0;
}
@@ -592,7 +594,7 @@ final class Binkd extends BaseProtocol
Log::debug(sprintf('%s: - Parsing AKA [%s]',__METHOD__,$rem_aka));
try {
if (! ($o = Node::findFTN($rem_aka))) {
if (! ($o = Address::findFTN($rem_aka))) {
Log::debug(sprintf('%s: ? AKA is UNKNOWN [%s]',__METHOD__,$rem_aka));
continue;
@@ -608,10 +610,10 @@ final class Binkd extends BaseProtocol
}
// Check if the remote has our AKA
if ($this->setup->nodes->pluck('ftn')->search($o->ftn) !== FALSE) {
Log::error(sprintf('%s: ! AKA is OURS [%s]',__METHOD__,$o->ftn));
if ($this->setup->system->addresses->pluck('ftn')->search($rem_aka) !== FALSE) {
Log::error(sprintf('%s: ! AKA is OURS [%s]',__METHOD__,$rem_aka));
$this->msgs(self::BPM_ERR,sprintf('Sorry that is my AKA [%s]',$o->ftn));
$this->msgs(self::BPM_ERR,sprintf('Sorry that is my AKA [%s]',$rem_aka));
$this->rc = self::S_FAILURE;
return 0;
@@ -671,7 +673,7 @@ final class Binkd extends BaseProtocol
// If we are not the originator, we'll show our addresses in common.
// @todo make this an option to hideAKAs or not
if (! $this->originate)
$this->msgs(self::BPM_ADR,join(' ',$this->setup->nodes->pluck('ftn')->toArray()));
$this->msgs(self::BPM_ADR,join(' ',$this->setup->system->addresses->pluck('ftn')->toArray()));
return 1;
}

View File

@@ -9,7 +9,7 @@ use Illuminate\Support\Facades\Log;
use App\Classes\Protocol as BaseProtocol;
use App\Classes\Sock\SocketClient;
use App\Classes\Sock\SocketException;
use App\Models\Node;
use App\Models\Address;
use App\Interfaces\CRC as CRCInterface;
use App\Interfaces\Zmodem as ZmodemInterface;
use App\Traits\CRC as CRCTrait;
@@ -80,7 +80,7 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
{
// If our parent returns a PID, we've forked
if (! parent::onConnect($client)) {
$this->session(self::SESSION_AUTO,$client,(new Node));
$this->session(self::SESSION_AUTO,$client,(new Address));
$this->client->close();
Log::info(sprintf('%s: = End - Connection closed [%s]',__METHOD__,$client->getAddress()));
}
@@ -183,7 +183,7 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
// Site address, password and compatibility
// @todo Only show the AKAs that is relevant to the node we are connecting to
$makedata .= sprintf('{EMSI}{%s}{%s}{%s}{%s}',
join(' ',$this->setup->nodes->pluck('ftn')->toArray()),
join(' ',$this->setup->system->addresses->pluck('ftn')->toArray()),
$this->node->password == '-' ? '' : $this->node->password,
join(',',$link_codes),
join(',',$compat_codes),
@@ -295,7 +295,7 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
Log::debug(sprintf('%s: - Parsing AKA [%s]',__METHOD__,$rem_aka));
try {
if (! ($o = Node::findFTN($rem_aka))) {
if (! ($o = Address::findFTN($rem_aka))) {
Log::debug(sprintf('%s: ? AKA is UNKNOWN [%s]',__METHOD__,$rem_aka));
continue;
}
@@ -307,7 +307,7 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
}
// Check if the remote has our AKA
if ($this->setup->nodes->pluck('ftn')->search($o->ftn) !== FALSE) {
if ($this->setup->system->addresses->pluck('ftn')->search($o->ftn) !== FALSE) {
Log::error(sprintf('%s: ! AKA is OURS [%s]',__METHOD__,$o->ftn));
continue;
@@ -338,9 +338,9 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
}
if (! $c) {
Log::info(sprintf('%s: - Remote has password [%s] on us',__METHOD__,$p));
Log::info(sprintf('%s: - Remote has password [%s] on us, and we expect [%s]',__METHOD__,$p,$this->node->password));
if ($p)
if ($p || $this->node->password)
$this->node->optionSet(self::O_BAD);
} else {
@@ -861,7 +861,7 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
if ($gotreq++)
return self::OK;
$this->client->buffer_add(self::EMSI_INQ);
$this->client->buffer_add(self::EMSI_INQ.self::CR);
$this->client->buffer_flush(5);
} elseif ($p && strstr($p,self::EMSI_BEG) && strstr($p,self::EMSI_ARGUS1)) {