Improved display of bad packets
This commit is contained in:
parent
109beb4f4f
commit
4016775b66
@ -36,6 +36,7 @@ class Message extends FTNBase
|
|||||||
'origin',
|
'origin',
|
||||||
'tearline',
|
'tearline',
|
||||||
'tagline',
|
'tagline',
|
||||||
|
'dump',
|
||||||
];
|
];
|
||||||
|
|
||||||
// Single value kludge items
|
// Single value kludge items
|
||||||
@ -88,6 +89,8 @@ class Message extends FTNBase
|
|||||||
private array $header; // Message Header
|
private array $header; // Message Header
|
||||||
private Collection $kludge; // Hold kludge items
|
private Collection $kludge; // Hold kludge items
|
||||||
|
|
||||||
|
public string $dump; // Raw message
|
||||||
|
|
||||||
private string $user_from; // User message is From
|
private string $user_from; // User message is From
|
||||||
private string $user_to; // User message is To
|
private string $user_to; // User message is To
|
||||||
private string $subject; // Message subject
|
private string $subject; // Message subject
|
||||||
@ -308,7 +311,7 @@ class Message extends FTNBase
|
|||||||
|
|
||||||
} catch (InvalidFormatException|\Exception $e) {
|
} catch (InvalidFormatException|\Exception $e) {
|
||||||
Log::error(sprintf('%s: ! Date doesnt parse [%s] (%s)',self::LOGKEY,$e->getMessage(),Arr::get($this->header,$key)));
|
Log::error(sprintf('%s: ! Date doesnt parse [%s] (%s)',self::LOGKEY,$e->getMessage(),Arr::get($this->header,$key)));
|
||||||
throw new \Exception($e->getMessage());
|
throw new \Exception(sprintf('%s (%s)',$e->getMessage(),hex_dump(Arr::get($this->header,$key))));
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'flags':
|
case 'flags':
|
||||||
@ -492,6 +495,7 @@ class Message extends FTNBase
|
|||||||
Log::info(sprintf('%s:Processing message [%d] bytes from zone [%d]',self::LOGKEY,strlen($msg),$zone?->zone_id));
|
Log::info(sprintf('%s:Processing message [%d] bytes from zone [%d]',self::LOGKEY,strlen($msg),$zone?->zone_id));
|
||||||
|
|
||||||
$o = new self($zone);
|
$o = new self($zone);
|
||||||
|
$o->dump = $msg;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$o->header = unpack(self::unpackheader(self::header),substr($msg,0,self::HEADER_LEN));
|
$o->header = unpack(self::unpackheader(self::header),substr($msg,0,self::HEADER_LEN));
|
||||||
|
@ -48,21 +48,30 @@ class PacketInfo extends Command
|
|||||||
$this->info(sprintf('Dated : %s',$pkt->date));
|
$this->info(sprintf('Dated : %s',$pkt->date));
|
||||||
$this->info(sprintf('Password : %s (%s)',$pkt->password,$pkt->password ? 'SET' : 'NOT set'));
|
$this->info(sprintf('Password : %s (%s)',$pkt->password,$pkt->password ? 'SET' : 'NOT set'));
|
||||||
$this->info(sprintf('Messages : %d',$pkt->messages->count()));
|
$this->info(sprintf('Messages : %d',$pkt->messages->count()));
|
||||||
$this->info(sprintf('Tosser %d (%s) version %s',$pkt->software->code,$pkt->software->name,$pkt->software_ver));
|
$this->info(sprintf('Tosser : %d (%s) version %s',$pkt->software->code,$pkt->software->name,$pkt->software_ver));
|
||||||
$this->info(sprintf('Capabilities: %x',$pkt->capability));
|
$this->info(sprintf('Capabilities: %x',$pkt->capability));
|
||||||
$this->info(sprintf('Has Errors : %s',$pkt->errors->count() ? 'YES' : 'No'));
|
$this->info(sprintf('Has Errors : %s',$pkt->errors->count() ? 'YES' : 'No'));
|
||||||
$this->info(sprintf('Messages : %d',$pkt->count()));
|
$this->info(sprintf('Messages : %d',$pkt->count()));
|
||||||
|
|
||||||
foreach ($pkt as $msg) {
|
foreach ($pkt as $msg) {
|
||||||
|
try {
|
||||||
$this->warn(sprintf('- Date : %s',$msg->date));
|
$this->warn(sprintf('- Date : %s',$msg->date));
|
||||||
$this->warn(sprintf(' - FLAGS: %s',$msg->flags()->filter()->keys()->join(', ')));
|
$this->warn(sprintf(' - Flags : %s',$msg->flags()->filter()->keys()->join(', ')));
|
||||||
$this->warn(sprintf(' - From : %s (%s)',$msg->user_from,$msg->fftn));
|
$this->warn(sprintf(' - From : %s (%s)',$msg->user_from,$msg->fftn));
|
||||||
$this->warn(sprintf(' - To : %s (%s)',$msg->user_to,$msg->tftn));
|
$this->warn(sprintf(' - To : %s (%s)',$msg->user_to,$msg->tftn));
|
||||||
$this->warn(sprintf(' - Subject: %s',$msg->subject));
|
$this->warn(sprintf(' - Subject: %s',$msg->subject));
|
||||||
|
$this->warn(sprintf(' - Area : %s',$msg->echoarea));
|
||||||
|
|
||||||
if ($msg->errors)
|
if ($msg->errors)
|
||||||
foreach ($msg->errors->errors()->all() as $error)
|
foreach ($msg->errors->errors()->all() as $error)
|
||||||
$this->line(' - '.$error);
|
$this->line(' - '.$error);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$this->error('! ERROR: '.$e->getMessage());
|
||||||
|
$this->info('Message dump:');
|
||||||
|
echo hex_dump($msg->dump);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($pkt->errors as $msg) {
|
foreach ($pkt->errors as $msg) {
|
||||||
|
Loading…
Reference in New Issue
Block a user