Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • sebastian/MetaGer
  • cpietsch/MetaGer
  • kossow/MetaGer
  • jens/MetaGer
  • open-source/MetaGer
5 results
Show changes
Commits on Source (5)
...@@ -35,6 +35,8 @@ server { ...@@ -35,6 +35,8 @@ server {
location ~ \.php$ { location ~ \.php$ {
set $fpm_server fpm; set $fpm_server fpm;
try_files $uri /index.php =404; try_files $uri /index.php =404;
fastcgi_buffer_size 256k;
fastcgi_buffers 32 256k;
fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass $fpm_server:9000; fastcgi_pass $fpm_server:9000;
fastcgi_index index.php; fastcgi_index index.php;
......
...@@ -33,6 +33,8 @@ server { ...@@ -33,6 +33,8 @@ server {
location ~ \.php$ { location ~ \.php$ {
try_files $uri /index.php =404; try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_buffer_size 256k;
fastcgi_buffers 32 256k;
fastcgi_pass localhost:9000; fastcgi_pass localhost:9000;
fastcgi_index index.php; fastcgi_index index.php;
fastcgi_read_timeout 900; fastcgi_read_timeout 900;
......
...@@ -4,7 +4,6 @@ namespace App\Http; ...@@ -4,7 +4,6 @@ namespace App\Http;
use App\Http\Middleware\AllowLocalOnly; use App\Http\Middleware\AllowLocalOnly;
use App\Http\Middleware\HttpCache; use App\Http\Middleware\HttpCache;
use App\Http\Middleware\SettingsMigration;
use Illuminate\Foundation\Http\Kernel as HttpKernel; use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel class Kernel extends HttpKernel
...@@ -84,7 +83,6 @@ class Kernel extends HttpKernel ...@@ -84,7 +83,6 @@ class Kernel extends HttpKernel
'spam' => \App\Http\Middleware\Spam::class, 'spam' => \App\Http\Middleware\Spam::class,
'keyvalidation' => \App\Http\Middleware\KeyValidation::class, 'keyvalidation' => \App\Http\Middleware\KeyValidation::class,
'allow-local-only' => AllowLocalOnly::class, 'allow-local-only' => AllowLocalOnly::class,
'settings-migration' => SettingsMigration::class,
'httpcache' => HttpCache::class, 'httpcache' => HttpCache::class,
]; ];
} }
\ No newline at end of file
...@@ -39,7 +39,7 @@ class LocalizationRedirect ...@@ -39,7 +39,7 @@ class LocalizationRedirect
if (app()->environment("local")) { if (app()->environment("local")) {
$allowed_hostnames[] = "nginx"; $allowed_hostnames[] = "nginx";
// Allow ngrok aswell under local env // Allow ngrok aswell under local env
if (\preg_match("/\.ngrok\.io$/", $host)) { if (\preg_match("/\.ngrok-free\.app$/", $host)) {
$allowed_hostnames[] = $host; $allowed_hostnames[] = $host;
} }
} }
......
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class SettingsMigration
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
// We migrate settings from cookie path /meta/ to root
// because the new keymanager needs to have access to the metager settings to generate accurate setting links
foreach (\Cookie::get() as $key => $value) {
\Cookie::queue(\Cookie::forget($key, "/meta/"));
\Cookie::queue(\Cookie::forever($key, $value, "/"));
}
return $next($request);
}
}
\ No newline at end of file
...@@ -55,6 +55,12 @@ class TokenAuthorization extends Authorization ...@@ -55,6 +55,12 @@ class TokenAuthorization extends Authorization
if (!$this->canDoAuthenticatedSearch()) { if (!$this->canDoAuthenticatedSearch()) {
return false; return false;
} }
$tokens_to_use = [];
for ($i = 0; $i < $this->cost; $i++) {
$tokens_to_use[] = array_shift($this->tokens);
}
$url = $this->keyserver . "/token/use"; $url = $this->keyserver . "/token/use";
$ch = curl_init($url); $ch = curl_init($url);
...@@ -66,7 +72,7 @@ class TokenAuthorization extends Authorization ...@@ -66,7 +72,7 @@ class TokenAuthorization extends Authorization
], ],
CURLOPT_TIMEOUT => 5, CURLOPT_TIMEOUT => 5,
CURLOPT_POST => true, CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode(["tokens" => $this->tokens]), CURLOPT_POSTFIELDS => json_encode(["tokens" => $tokens_to_use]),
CURLOPT_USERAGENT => "MetaGer" CURLOPT_USERAGENT => "MetaGer"
]); ]);
...@@ -74,15 +80,19 @@ class TokenAuthorization extends Authorization ...@@ -74,15 +80,19 @@ class TokenAuthorization extends Authorization
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response_code === 201) { if ($response_code === 201) {
$this->usedTokens = sizeof($this->tokens); $this->usedTokens = sizeof($tokens_to_use);
Cookie::queue(Cookie::forget("tokens", "/")); $this->updateCookie();
return true; return true;
} elseif ($response_code === 422) { } elseif ($response_code === 422) {
$result = json_decode($result); $result = json_decode($result);
if ($result === null) { if ($result !== null) {
return false; $remaining_tokens = $this->parseError($result);
for ($i = sizeof($remaining_tokens) - 1; $i >= 0; $i--) {
array_unshift($this->tokens, $remaining_tokens[$i]);
}
} }
$this->parseError($result); $this->updateCookie();
return false;
} }
} }
...@@ -131,7 +141,11 @@ class TokenAuthorization extends Authorization ...@@ -131,7 +141,11 @@ class TokenAuthorization extends Authorization
private function updateCookie() private function updateCookie()
{ {
Cookie::queue(Cookie::forever("tokens", json_encode($this->tokens), "/", null, true, true)); if (sizeof($this->tokens) === 0) {
Cookie::queue(Cookie::forget("tokens", "/", null));
} else {
Cookie::queue(Cookie::forever("tokens", json_encode($this->tokens), "/", null, true, true));
}
} }
private function parseError($result) private function parseError($result)
...@@ -145,8 +159,7 @@ class TokenAuthorization extends Authorization ...@@ -145,8 +159,7 @@ class TokenAuthorization extends Authorization
$new_tokens[] = new Token($error_token->token, $error_token->signature, $error_token->date); $new_tokens[] = new Token($error_token->token, $error_token->signature, $error_token->date);
} }
} }
$this->tokens = $new_tokens; return $new_tokens;
$this->updateCookie();
} }
} }
} }
......
...@@ -255,7 +255,7 @@ Route::get('settings', function () { ...@@ -255,7 +255,7 @@ Route::get('settings', function () {
return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/')); return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/'));
}); });
Route::match(['get', 'post'], 'meta/meta.ger3', 'MetaGerSearch@search')->middleware("settings-migration", 'httpcache', 'spam', 'browserverification', 'humanverification', 'useragentmaster')->name("resultpage"); Route::match(['get', 'post'], 'meta/meta.ger3', 'MetaGerSearch@search')->middleware('httpcache', 'spam', 'browserverification', 'humanverification', 'useragentmaster')->name("resultpage");
Route::get('meta/loadMore', 'MetaGerSearch@loadMore'); Route::get('meta/loadMore', 'MetaGerSearch@loadMore');
......