Some BINKP optimisation, implemented crypt, implemented receiving compressed transfers

This commit is contained in:
2023-07-02 23:40:08 +10:00
parent f9f9fb5345
commit 6f298d778f
28 changed files with 1614 additions and 904 deletions

View File

@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Gate;
use App\Classes\File;
use App\Classes\FTN\Packet;
use App\Http\Requests\SetupRequest;
use App\Models\{Address,Domain,Echomail,Netmail,Setup};
class HomeController extends Controller
@@ -151,19 +152,11 @@ class HomeController extends Controller
*
* @note: Protected by Route
*/
public function setup(Request $request)
public function setup(SetupRequest $request)
{
$o = Setup::findOrNew(config('app.id'));
if ($request->post()) {
$request->validate([
'system_id' => 'required|exists:systems,id',
'binkp' => 'nullable|array',
'binkp.*' => 'nullable|numeric',
'options' => 'nullable|array',
'options.*' => 'nullable|numeric',
]);
if (! $o->exists) {
$o->id = config('app.id');
$o->zmodem = 0;
@@ -172,9 +165,17 @@ class HomeController extends Controller
$o->permissions = 0;
}
$o->binkp = collect($request->post('binkp'))->sum();
$servers = collect();
$binkp = collect();
$binkp->put('options',collect($request->post('binkp'))->sum());
$binkp->put('port',$request->post('binkp_port'));
$binkp->put('bind',$request->post('binkp_bind'));
$servers->put('binkp',$binkp);
$o->options = collect($request->post('options'))->sum();
$o->system_id = $request->post('system_id');
$o->servers = $servers;
$o->save();
}

View File

@@ -0,0 +1,35 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
class SetupRequest extends FormRequest
{
public function authorize()
{
return Gate::allows( 'admin');
}
public function rules(Request $request)
{
if (! $request->isMethod('post'))
return [];
return [
'system_id' => 'required|exists:systems,id',
'binkp' => 'nullable|array',
'binkp.*' => 'nullable|numeric',
//'dns' => 'required|array',
'dns.*' => 'nullable|numeric',
//'emsi' => 'required|array',
'emsi.*' => 'nullable|numeric',
'*_bind' => 'required|ip',
'*_port' => 'required|numeric',
'options' => 'nullable|array',
'options.*' => 'nullable|numeric',
];
}
}

View File

@@ -10,6 +10,7 @@ use Illuminate\Validation\Rule;
use App\Classes\FTN\Packet;
use App\Models\System;
// @todo rename to SystemRegisterRequest
class SystemRegister extends FormRequest
{
private System $so;