Further enhancement with #9063a2a - to ensure our message addressing and content picks the right address
This commit is contained in:
parent
1ded66990c
commit
13e51724c0
@ -90,7 +90,7 @@ class Tic extends FTNBase
|
|||||||
if (! $this->to)
|
if (! $this->to)
|
||||||
throw new \Exception('No to address defined');
|
throw new \Exception('No to address defined');
|
||||||
|
|
||||||
$sysaddress = ($x=Setup::findOrFail(config('app.id'))->system)->match($this->to->zone)->first();
|
$sysaddress = our_address($this->to->zone->domain,$this->to);
|
||||||
|
|
||||||
$result = collect();
|
$result = collect();
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ class Tic extends FTNBase
|
|||||||
|
|
||||||
// This should be one of my addresses
|
// This should be one of my addresses
|
||||||
case 'to':
|
case 'to':
|
||||||
$ftns = Setup::findOrFail(config('app.id'))->system->addresses->pluck('ftn3d');
|
$ftns = our_address()->pluck('ftn3d');
|
||||||
|
|
||||||
if (! ($ftns->contains($m[2])))
|
if (! ($ftns->contains($m[2])))
|
||||||
throw new NotToMeException(sprintf('FTN Address [%s] not found or not one of my addresses',$m[2]));
|
throw new NotToMeException(sprintf('FTN Address [%s] not found or not one of my addresses',$m[2]));
|
||||||
|
@ -307,14 +307,14 @@ abstract class Protocol
|
|||||||
$addresses = collect();
|
$addresses = collect();
|
||||||
|
|
||||||
foreach (($this->originate ? $this->node->aka_remote_authed : $this->node->aka_remote) as $ao)
|
foreach (($this->originate ? $this->node->aka_remote_authed : $this->node->aka_remote) as $ao)
|
||||||
$addresses = $addresses->merge($this->setup->system->match($ao->zone,Address::NODE_ZC|Address::NODE_RC|Address::NODE_NC|Address::NODE_HC|Address::NODE_ACTIVE|Address::NODE_PVT|Address::NODE_POINT));
|
$addresses = $addresses->merge(our_address($ao->zone->domain));
|
||||||
|
|
||||||
$addresses = $addresses->unique();
|
$addresses = $addresses->unique();
|
||||||
|
|
||||||
Log::debug(sprintf('%s:- Presenting limited AKAs [%s]',self::LOGKEY,$addresses->pluck('ftn')->join(',')));
|
Log::debug(sprintf('%s:- Presenting limited AKAs [%s]',self::LOGKEY,$addresses->pluck('ftn')->join(',')));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$addresses = $this->setup->system->addresses;
|
$addresses = $this->setup->system->akas;
|
||||||
|
|
||||||
Log::debug(sprintf('%s:- Presenting ALL our AKAs [%s]',self::LOGKEY,$addresses->pluck('ftn')->join(',')));
|
Log::debug(sprintf('%s:- Presenting ALL our AKAs [%s]',self::LOGKEY,$addresses->pluck('ftn')->join(',')));
|
||||||
}
|
}
|
||||||
|
@ -833,12 +833,11 @@ class SystemController extends Controller
|
|||||||
if (! $request->system_id)
|
if (! $request->system_id)
|
||||||
return redirect('user/system/register');
|
return redirect('user/system/register');
|
||||||
|
|
||||||
$s = Setup::findOrFail(config('app.id'))->system;
|
|
||||||
$so = System::findOrFail($request->system_id);
|
$so = System::findOrFail($request->system_id);
|
||||||
|
|
||||||
$ca = NULL;
|
$ca = NULL;
|
||||||
$la = NULL;
|
$la = NULL;
|
||||||
foreach ($s->akas as $ao) {
|
foreach (our_address() as $ao) {
|
||||||
if (($ca=$so->match($ao->zone))->count())
|
if (($ca=$so->match($ao->zone))->count())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ class AreafixRequest extends FormRequest
|
|||||||
],
|
],
|
||||||
'fftn_id' => [
|
'fftn_id' => [
|
||||||
'required',
|
'required',
|
||||||
Rule::in(Setup::findOrFail(config('app.id'))->system->akas->pluck('id')),
|
Rule::in(our_address()->pluck('id')),
|
||||||
],
|
],
|
||||||
'tftn_id' => [
|
'tftn_id' => [
|
||||||
'required',
|
'required',
|
||||||
|
@ -58,7 +58,7 @@ class MessageProcess implements ShouldQueue
|
|||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
// Load our details
|
// Load our details
|
||||||
$ftns = Setup::findOrFail(config('app.id'))->system->addresses;
|
$ftns = our_address();
|
||||||
|
|
||||||
// If we are a netmail
|
// If we are a netmail
|
||||||
if ($this->msg->isNetmail()) {
|
if ($this->msg->isNetmail()) {
|
||||||
|
@ -74,7 +74,6 @@ class NodelistImport implements ShouldQueue
|
|||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
$us = Setup::findOrFail(config('app.id'));
|
|
||||||
$our_systems = SystemZone::select('system_id')
|
$our_systems = SystemZone::select('system_id')
|
||||||
->get()
|
->get()
|
||||||
->pluck('system')
|
->pluck('system')
|
||||||
@ -94,7 +93,7 @@ class NodelistImport implements ShouldQueue
|
|||||||
->pluck('id')
|
->pluck('id')
|
||||||
->diff($our_systems);
|
->diff($our_systems);
|
||||||
|
|
||||||
$our_addresses = $us->system->addresses->pluck('id');
|
$our_addresses = our_address()->pluck('id');
|
||||||
|
|
||||||
// Get the file from the host
|
// Get the file from the host
|
||||||
$file = $this->getFileFromHost(self::importkey,$this->file);
|
$file = $this->getFileFromHost(self::importkey,$this->file);
|
||||||
|
@ -26,7 +26,7 @@ class SystemHeartbeat #implements ShouldQueue
|
|||||||
public function handle(): void
|
public function handle(): void
|
||||||
{
|
{
|
||||||
// Our zones
|
// Our zones
|
||||||
$our_zones = Setup::findOrFail(config('app.id'))->system->addresses->pluck('zone_id')->unique();
|
$our_zones = our_address()->pluck('zone_id')->unique();
|
||||||
|
|
||||||
// Find our uplinks that are hubs, NC, RC or ZCs
|
// Find our uplinks that are hubs, NC, RC or ZCs
|
||||||
// Find any system that also has heartbeat configured
|
// Find any system that also has heartbeat configured
|
||||||
|
@ -846,6 +846,7 @@ class Address extends Model
|
|||||||
* Netmail alerts waiting to be sent to this system
|
* Netmail alerts waiting to be sent to this system
|
||||||
*
|
*
|
||||||
* @return Collection
|
* @return Collection
|
||||||
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function netmailAlertWaiting(): Collection
|
public function netmailAlertWaiting(): Collection
|
||||||
{
|
{
|
||||||
|
@ -146,16 +146,6 @@ class Domain extends Model
|
|||||||
*/
|
*/
|
||||||
public function managed(): bool
|
public function managed(): bool
|
||||||
{
|
{
|
||||||
static $so = NULL;
|
return our_address($this)->count() > 0;
|
||||||
|
|
||||||
if (is_null($so))
|
|
||||||
$so = Setup::findOrFail(config('app.id'));
|
|
||||||
|
|
||||||
return $so
|
|
||||||
->system
|
|
||||||
->addresses
|
|
||||||
->where('zone.domain.active',TRUE)
|
|
||||||
->pluck('zone.domain_id')
|
|
||||||
->contains($this->id);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -214,7 +214,7 @@ final class Echomail extends Model implements Packet
|
|||||||
{
|
{
|
||||||
Log::info(sprintf('%s:+ Bundling [%s]',self::LOGKEY,$this->id));
|
Log::info(sprintf('%s:+ Bundling [%s]',self::LOGKEY,$this->id));
|
||||||
|
|
||||||
$sysaddress = Setup::findOrFail(config('app.id'))->system->match($this->fftn->zone)->first();
|
$sysaddress = our_address($this->fftn->zone->domain,$this->fftn);
|
||||||
|
|
||||||
if (! $sysaddress)
|
if (! $sysaddress)
|
||||||
throw new \Exception(sprintf('%s:! We dont have an address in this network? (%s)',self::LOGKEY,$this->fftn->zone->domain->name));
|
throw new \Exception(sprintf('%s:! We dont have an address in this network? (%s)',self::LOGKEY,$this->fftn->zone->domain->name));
|
||||||
|
@ -206,12 +206,11 @@ final class Netmail extends Model implements Packet
|
|||||||
$o->tearline = $this->tearline;
|
$o->tearline = $this->tearline;
|
||||||
|
|
||||||
// VIA kludge
|
// VIA kludge
|
||||||
$sysaddress = Setup::findOrFail(config('app.id'))->system->match($this->fftn->zone)->first();
|
|
||||||
$via = $this->via ?: collect();
|
$via = $this->via ?: collect();
|
||||||
// Add our address to the VIA line
|
// Add our address to the VIA line
|
||||||
$via->push(
|
$via->push(
|
||||||
sprintf('%s @%s.UTC %s %d.%d/%s %s',
|
sprintf('%s @%s.UTC %s %d.%d/%s %s',
|
||||||
$sysaddress->ftn3d,
|
our_address($this->fftn->zone->domain,$this->fftn)->ftn3d,
|
||||||
Carbon::now()->utc()->format('Ymd.His'),
|
Carbon::now()->utc()->format('Ymd.His'),
|
||||||
str_replace(' ','_',Setup::PRODUCT_NAME),
|
str_replace(' ','_',Setup::PRODUCT_NAME),
|
||||||
Setup::PRODUCT_VERSION_MAJ,
|
Setup::PRODUCT_VERSION_MAJ,
|
||||||
|
@ -65,7 +65,12 @@ class System extends Model
|
|||||||
public function akas()
|
public function akas()
|
||||||
{
|
{
|
||||||
return $this->hasMany(Address::class)
|
return $this->hasMany(Address::class)
|
||||||
->active()
|
->select('addresses.*')
|
||||||
|
->join('zones',['zones.id'=>'addresses.zone_id'])
|
||||||
|
->join('domains',['domains.id'=>'zones.domain_id'])
|
||||||
|
->where('addresses.active',TRUE)
|
||||||
|
->where('zones.active',TRUE)
|
||||||
|
->where('domains.active',TRUE)
|
||||||
->FTNorder()
|
->FTNorder()
|
||||||
->orderBy('role','ASC');
|
->orderBy('role','ASC');
|
||||||
}
|
}
|
||||||
|
@ -39,8 +39,7 @@ class EchomailChannel
|
|||||||
if (! $echoarea = $notifiable->routeNotificationFor('echomail',$notification))
|
if (! $echoarea = $notifiable->routeNotificationFor('echomail',$notification))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$so = Setup::findOrFail(config('app.id'))->system;
|
$o = $notification->toEchomail($notifiable);
|
||||||
$o = $notification->toEchomail($so,$notifiable);
|
|
||||||
|
|
||||||
Log::info(sprintf('%s:= Posted echomail [%s] to [%s]',self::LOGKEY,$o->msgid,$echoarea));
|
Log::info(sprintf('%s:= Posted echomail [%s] to [%s]',self::LOGKEY,$o->msgid,$echoarea));
|
||||||
}
|
}
|
||||||
|
@ -39,8 +39,7 @@ class NetmailChannel
|
|||||||
if (! $ao = $notifiable->routeNotificationFor('netmail',$notification))
|
if (! $ao = $notifiable->routeNotificationFor('netmail',$notification))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$so = Setup::findOrFail(config('app.id'))->system;
|
$o = $notification->toNetmail($notifiable);
|
||||||
$o = $notification->toNetmail($so,$notifiable);
|
|
||||||
|
|
||||||
Log::info(sprintf('%s:= Sent netmail [%s] to [%s]',self::LOGKEY,$o->msgid,$ao->ftn));
|
Log::info(sprintf('%s:= Sent netmail [%s] to [%s]',self::LOGKEY,$o->msgid,$ao->ftn));
|
||||||
}
|
}
|
||||||
|
@ -40,14 +40,13 @@ abstract class Echomails extends Notification //implements ShouldQueue
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Echomail
|
* @return Echomail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
abstract public function toEchomail(System $so,object $notifiable): Echomail;
|
abstract public function toEchomail(object $notifiable): Echomail;
|
||||||
|
|
||||||
protected function setupEchomail(Message $mo,System $so,object $notifiable): Echomail
|
protected function setupEchomail(Message $mo,object $notifiable): Echomail
|
||||||
{
|
{
|
||||||
$echoarea = $notifiable->routeNotificationFor(static::via);
|
$echoarea = $notifiable->routeNotificationFor(static::via);
|
||||||
$eo = Echoarea::where('name',$echoarea)->singleOrFail();
|
$eo = Echoarea::where('name',$echoarea)->singleOrFail();
|
||||||
@ -61,7 +60,7 @@ abstract class Echomails extends Notification //implements ShouldQueue
|
|||||||
$o->datetime = Carbon::now();
|
$o->datetime = Carbon::now();
|
||||||
$o->tzoffset = $o->datetime->utcOffset();
|
$o->tzoffset = $o->datetime->utcOffset();
|
||||||
|
|
||||||
$o->fftn_id = ($x=$so->match($mo->fboss_o->zone)->first())->id;
|
$o->fftn_id = ($x=our_address($mo->fboss_o->zone->domain,$mo->fboss_o))->id;
|
||||||
$o->flags = (Message::FLAG_LOCAL);
|
$o->flags = (Message::FLAG_LOCAL);
|
||||||
|
|
||||||
$o->tearline = sprintf('%s (%04X)',Setup::PRODUCT_NAME,Setup::PRODUCT_ID);
|
$o->tearline = sprintf('%s (%04X)',Setup::PRODUCT_NAME,Setup::PRODUCT_ID);
|
||||||
|
@ -34,14 +34,13 @@ class Test extends Echomails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Echomail
|
* @return Echomail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toEchomail(System $so,object $notifiable): Echomail
|
public function toEchomail(object $notifiable): Echomail
|
||||||
{
|
{
|
||||||
$o = $this->setupEchomail($this->mo,$so,$notifiable);
|
$o = $this->setupEchomail($this->mo,$notifiable);
|
||||||
$echoarea = $notifiable->routeNotificationFor(static::via);
|
$echoarea = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating test echomail to [%s]',self::LOGKEY,$echoarea));
|
Log::info(sprintf('%s:+ Creating test echomail to [%s]',self::LOGKEY,$echoarea));
|
||||||
|
@ -40,14 +40,13 @@ abstract class Netmails extends Notification //implements ShouldQueue
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
abstract public function toNetmail(System $so,object $notifiable): Netmail;
|
abstract public function toNetmail(object $notifiable): Netmail;
|
||||||
|
|
||||||
protected function setupNetmail(System $so,object $notifiable): Netmail
|
protected function setupNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ abstract class Netmails extends Notification //implements ShouldQueue
|
|||||||
$o->datetime = Carbon::now();
|
$o->datetime = Carbon::now();
|
||||||
$o->tzoffset = $o->datetime->utcOffset();
|
$o->tzoffset = $o->datetime->utcOffset();
|
||||||
|
|
||||||
$o->fftn_id = $so->match($ao->zone)->first()->id;
|
$o->fftn_id = our_address($ao->zone->domain,$ao);
|
||||||
$o->tftn_id = $ao->id;
|
$o->tftn_id = $ao->id;
|
||||||
$o->flags = (Message::FLAG_LOCAL|Message::FLAG_PRIVATE);
|
$o->flags = (Message::FLAG_LOCAL|Message::FLAG_PRIVATE);
|
||||||
$o->cost = 0;
|
$o->cost = 0;
|
||||||
|
@ -31,14 +31,13 @@ class AddressLink extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Sending a link code for address [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Sending a link code for address [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -32,14 +32,13 @@ class Areafix extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Responding to areafix with netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Responding to areafix with netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -32,14 +32,13 @@ class NotConfiguredHere extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Responding to areafix for a node [%s] not configured here',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Responding to areafix for a node [%s] not configured here',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -33,14 +33,13 @@ class EchoareaNoWrite extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating ECHOMAIL NO WRITE netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating ECHOMAIL NO WRITE netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -33,14 +33,13 @@ class EchoareaNotExist extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating ECHOMAIL NOT EXIST netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating ECHOMAIL NOT EXIST netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -33,14 +33,13 @@ class EchoareaNotSubscribed extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating ECHOMAIL NOT SUBSCRIBED netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating ECHOMAIL NOT SUBSCRIBED netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -33,14 +33,13 @@ class EchomailBadAddress extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating ECHOMAIL BAD ADDRESS netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating ECHOMAIL BAD ADDRESS netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -35,14 +35,13 @@ class NetmailForward extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Advising [%s@%s] that netmail to [%s] will be forwarded to [%s].',self::LOGKEY,$this->mo->user_from,$ao->ftn,$this->mo->user_to,$this->ao->ftn));
|
Log::info(sprintf('%s:+ Advising [%s@%s] that netmail to [%s] will be forwarded to [%s].',self::LOGKEY,$this->mo->user_from,$ao->ftn,$this->mo->user_to,$this->ao->ftn));
|
||||||
|
@ -31,10 +31,13 @@ class PacketPasswordInvalid extends Netmails
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
|
*
|
||||||
|
* @param mixed $notifiable
|
||||||
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating netmail to [%s] - system using invalid packet password',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating netmail to [%s] - system using invalid packet password',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -34,14 +34,13 @@ class Ping extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating PING netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating PING netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -21,14 +21,13 @@ class PollingFailed extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating auto hold netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating auto hold netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -33,14 +33,13 @@ class Reject extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating reject netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating reject netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -17,14 +17,13 @@ class Test extends Netmails
|
|||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
*
|
*
|
||||||
* @param System $so
|
|
||||||
* @param mixed $notifiable
|
* @param mixed $notifiable
|
||||||
* @return Netmail
|
* @return Netmail
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function toNetmail(System $so,object $notifiable): Netmail
|
public function toNetmail(object $notifiable): Netmail
|
||||||
{
|
{
|
||||||
$o = $this->setupNetmail($so,$notifiable);
|
$o = $this->setupNetmail($notifiable);
|
||||||
$ao = $notifiable->routeNotificationFor(static::via);
|
$ao = $notifiable->routeNotificationFor(static::via);
|
||||||
|
|
||||||
Log::info(sprintf('%s:+ Creating TEST netmail to [%s]',self::LOGKEY,$ao->ftn));
|
Log::info(sprintf('%s:+ Creating TEST netmail to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
@ -15,11 +15,9 @@ trait MsgID
|
|||||||
public function save(array $options = [])
|
public function save(array $options = [])
|
||||||
{
|
{
|
||||||
// Only create a MSGID for locally generated content
|
// Only create a MSGID for locally generated content
|
||||||
if ((! $this->exists) && ($this->flags & Message::FLAG_LOCAL)) {
|
if ((! $this->exists) && ($this->flags & Message::FLAG_LOCAL) && (is_null(Arr::get($this->attributes,'msgid')))) {
|
||||||
$ftns = Setup::findOrFail(config('app.id'))->system->match($this->fftn->zone)->first();
|
$ftn = our_address($this->fftn->zone->domain,$this->fftn);
|
||||||
|
$this->attributes['msgid'] = sprintf('%s %08x',$ftn->ftn4d,timew());
|
||||||
if (is_null(Arr::get($this->attributes,'msgid')))
|
|
||||||
$this->attributes['msgid'] = sprintf('%s %08x',$ftns->ftn4d,timew());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return parent::save($options);
|
return parent::save($options);
|
||||||
|
@ -91,15 +91,13 @@ if (! function_exists('hexstr')) {
|
|||||||
*/
|
*/
|
||||||
function our_address(Domain $do=NULL,Address $ao=NULL): Collection|Address|NULL
|
function our_address(Domain $do=NULL,Address $ao=NULL): Collection|Address|NULL
|
||||||
{
|
{
|
||||||
$our = Setup::findOrFail(config('app.id'))
|
$our = Setup::findOrFail(config('app.id'))->system->akas;
|
||||||
->system
|
|
||||||
->akas;
|
|
||||||
|
|
||||||
if ($do)
|
if ($do)
|
||||||
$our = $our->filter(function($item) use ($do) { return $item->zone->domain_id === $do->id; });
|
$our = $our->filter(function($item) use ($do) { return $item->zone->domain_id === $do->id; })->sortBy('role');
|
||||||
|
|
||||||
// If we are looking for a specific address, and there is only 1 result, return it, otherwise return what we have
|
// If we are looking for a specific address, and there is only 1 result, return it, otherwise return what we have
|
||||||
if ($ao && config('fido.strict') && ($x=$our->filter(function($item) use ($ao) { return $item->role <= $ao->role; }))->count())
|
if ($ao && config('fido.strict') && ($x=$our->filter(function($item) use ($ao) { return $item->role <= $ao->role; })->sortBy('role'))->count())
|
||||||
$our = $x;
|
$our = $x;
|
||||||
|
|
||||||
return $ao ? $our->last() : $our;
|
return $ao ? $our->last() : $our;
|
||||||
|
@ -61,10 +61,10 @@ use App\Classes\Protocol\{Binkp,EMSI,DNS};
|
|||||||
<tr><th colspan="2">System Addresses</th></tr>
|
<tr><th colspan="2">System Addresses</th></tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach ($o->system->addresses->sortBy('zone.domain.name')->groupBy('zone_id') as $zones)
|
@foreach ($o->system->akas->sortBy('zone.domain.name')->groupBy('zone_id') as $addresses)
|
||||||
<tr>
|
<tr>
|
||||||
<th>{{ $zones->first()->zone->domain->name }}</th>
|
<th>{{ $addresses->first()->zone->domain->name }}</th>
|
||||||
<th class="text-end">{!! $zones->pluck('ftn')->join('<br>') !!}</th>
|
<th class="text-end">{!! $addresses->pluck('ftn')->join('<br>') !!}</th>
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -88,7 +88,7 @@ class RoutingTest extends TestCase
|
|||||||
// Make sure I'm configured correctly for the rest of the tests
|
// Make sure I'm configured correctly for the rest of the tests
|
||||||
public function test_my_addresses()
|
public function test_my_addresses()
|
||||||
{
|
{
|
||||||
$ftns = Setup::findOrFail(config('app.id'))->system->addresses;
|
$ftns = our_address();
|
||||||
$this->assertEquals(1,$ftns->count());
|
$this->assertEquals(1,$ftns->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user