From 53ab8851fa1a9f4a2781920c42a1bf2bd361b383 Mon Sep 17 00:00:00 2001 From: Deon George Date: Thu, 12 Aug 2021 23:15:45 +1000 Subject: [PATCH] Add packet info console command --- app/Console/Commands/PacketInfo.php | 57 ++++++++++++++++++++++++++ app/Console/Commands/ProcessPacket.php | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 app/Console/Commands/PacketInfo.php diff --git a/app/Console/Commands/PacketInfo.php b/app/Console/Commands/PacketInfo.php new file mode 100644 index 0000000..a85e272 --- /dev/null +++ b/app/Console/Commands/PacketInfo.php @@ -0,0 +1,57 @@ +argument('pkt')); + $d = Domain::where('name',$this->argument('domain'))->singleOrFail(); + + $pkt = Packet::open($f,$d); + + $this->info(sprintf('Packet Type: %s',$pkt->type)); + $this->info(sprintf('From: %s to %s',$pkt->fftn,$pkt->tftn)); + $this->info(sprintf('Dated: %s',$pkt->date)); + $this->info(sprintf('Password: %s (%s)',$pkt->password,$pkt->password ? 'SET' : 'NOT set')); + $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('Capabilities: %x',$pkt->capability)); + + foreach ($pkt->messages as $msg) { + $this->warn(sprintf('- Date: %s',$msg->date)); + $this->warn(sprintf(' - FLAGS: %s',$msg->flags()->filter()->keys()->join(', '))); + $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(' - Subject: %s',$msg->subject)); + } + } +} diff --git a/app/Console/Commands/ProcessPacket.php b/app/Console/Commands/ProcessPacket.php index 2007eb2..57dfccd 100644 --- a/app/Console/Commands/ProcessPacket.php +++ b/app/Console/Commands/ProcessPacket.php @@ -36,7 +36,7 @@ class ProcessPacket extends Command $f = new File($this->argument('pkt')); $d = Domain::where('name',$this->argument('domain'))->singleOrFail(); - foreach ((Packet::open($f,$d))->messages as $msg) { + foreach (Packet::open($f,$d)->messages as $msg) { // @todo Quick check that the packet should be processed by us. // @todo validate that the packet's zone is in the domain.