Merge remote-tracking branch 'upstream/2020.09-rc' into send-relais
This commit is contained in:
commit
522bd5d774
8 changed files with 6123 additions and 6068 deletions
|
@ -55,6 +55,7 @@ Chris Case
|
||||||
Christian González
|
Christian González
|
||||||
Christian M. Grube
|
Christian M. Grube
|
||||||
Christian Vogeley
|
Christian Vogeley
|
||||||
|
Christian Wiwie
|
||||||
Cohan Robinson
|
Cohan Robinson
|
||||||
Copiis Praeesse
|
Copiis Praeesse
|
||||||
CrystalStiletto
|
CrystalStiletto
|
||||||
|
@ -114,7 +115,6 @@ Hypolite Petovan
|
||||||
Ilmari
|
Ilmari
|
||||||
ImgBotApp
|
ImgBotApp
|
||||||
irhen
|
irhen
|
||||||
Jak
|
|
||||||
Jakob
|
Jakob
|
||||||
Jens Tautenhahn
|
Jens Tautenhahn
|
||||||
jensp
|
jensp
|
||||||
|
@ -122,6 +122,7 @@ Jeroen De Meerleer
|
||||||
jeroenpraat
|
jeroenpraat
|
||||||
Joan Bar
|
Joan Bar
|
||||||
JOduMonT
|
JOduMonT
|
||||||
|
joe slam
|
||||||
Johannes Schwab
|
Johannes Schwab
|
||||||
John Brazil
|
John Brazil
|
||||||
Jonatan Nyberg
|
Jonatan Nyberg
|
||||||
|
@ -143,7 +144,6 @@ Leberwurscht
|
||||||
Leonard Lausen
|
Leonard Lausen
|
||||||
Lionel Triay
|
Lionel Triay
|
||||||
loma-one
|
loma-one
|
||||||
loma1
|
|
||||||
Lorem Ipsum
|
Lorem Ipsum
|
||||||
Ludovic Grossard
|
Ludovic Grossard
|
||||||
Lynn Stephenson
|
Lynn Stephenson
|
||||||
|
@ -173,6 +173,7 @@ Michal Šupler
|
||||||
Michalina
|
Michalina
|
||||||
Mike Macgirvin
|
Mike Macgirvin
|
||||||
miqrogroove
|
miqrogroove
|
||||||
|
mpanhans
|
||||||
mytbk
|
mytbk
|
||||||
nathilia-peirce
|
nathilia-peirce
|
||||||
Nicola Spanti
|
Nicola Spanti
|
||||||
|
@ -231,7 +232,7 @@ Simon L'nu
|
||||||
Simó Albert i Beltran
|
Simó Albert i Beltran
|
||||||
softmetz
|
softmetz
|
||||||
soko1
|
soko1
|
||||||
SpencerDub
|
Spencer Dub
|
||||||
St John Karp
|
St John Karp
|
||||||
Stanislav N.
|
Stanislav N.
|
||||||
Steffen K9
|
Steffen K9
|
||||||
|
@ -269,7 +270,6 @@ U-SOUND\mike
|
||||||
ufic
|
ufic
|
||||||
Ulf Rompe
|
Ulf Rompe
|
||||||
Unknown
|
Unknown
|
||||||
Valvin
|
|
||||||
Valvin A
|
Valvin A
|
||||||
Vasudev Kamath
|
Vasudev Kamath
|
||||||
Vasya Novikov
|
Vasya Novikov
|
||||||
|
|
|
@ -698,7 +698,7 @@ class Site extends BaseAdmin
|
||||||
'$worker_frontend' => ['worker_frontend', DI::l10n()->t('Enable frontend worker'), DI::config()->get('system', 'frontend_worker'), DI::l10n()->t('When enabled the Worker process is triggered when backend access is performed (e.g. messages being delivered). On smaller sites you might want to call %s/worker on a regular basis via an external cron job. You should only enable this option if you cannot utilize cron/scheduled jobs on your server.', DI::baseUrl()->get())],
|
'$worker_frontend' => ['worker_frontend', DI::l10n()->t('Enable frontend worker'), DI::config()->get('system', 'frontend_worker'), DI::l10n()->t('When enabled the Worker process is triggered when backend access is performed (e.g. messages being delivered). On smaller sites you might want to call %s/worker on a regular basis via an external cron job. You should only enable this option if you cannot utilize cron/scheduled jobs on your server.', DI::baseUrl()->get())],
|
||||||
|
|
||||||
'$relay_subscribe' => ['relay_subscribe', DI::l10n()->t('Subscribe to relay'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from the relay. They will be included in the search, subscribed tags and on the global community page.')],
|
'$relay_subscribe' => ['relay_subscribe', DI::l10n()->t('Subscribe to relay'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from the relay. They will be included in the search, subscribed tags and on the global community page.')],
|
||||||
'$relay_server' => ['relay_server', DI::l10n()->t('Relay server'), DI::config()->get('system', 'relay_server', 'https://relay.diasp.org'), DI::l10n()->t('Address of the relay server where public posts should be send to. For example https://relay.diasp.org')],
|
'$relay_server' => ['relay_server', DI::l10n()->t('Relay server'), DI::config()->get('system', 'relay_server'), DI::l10n()->t('Address of the relay server where public posts should be send to. For example %s', 'https://social-relay.isurf.ca')],
|
||||||
'$relay_directly' => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')],
|
'$relay_directly' => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')],
|
||||||
'$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), ['' => DI::l10n()->t('Disabled'), 'all' => DI::l10n()->t('all'), 'tags' => DI::l10n()->t('tags')]],
|
'$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), ['' => DI::l10n()->t('Disabled'), 'all' => DI::l10n()->t('all'), 'tags' => DI::l10n()->t('tags')]],
|
||||||
'$relay_server_tags' => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')],
|
'$relay_server_tags' => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')],
|
||||||
|
|
|
@ -64,7 +64,7 @@ abstract class BaseAdmin extends BaseModule
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($_SESSION['submanage'])) {
|
if (!empty($_SESSION['submanage'])) {
|
||||||
throw new HTTPException\ForbiddenException(DI::l10n()->t('Submanaged account can\'t access the administation pages. Please log back in as the main account.'));
|
throw new HTTPException\ForbiddenException(DI::l10n()->t('Submanaged account can\'t access the administration pages. Please log back in as the main account.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,7 +192,7 @@ class HTTPRequest implements IHTTPRequest
|
||||||
|
|
||||||
$curlResponse = new CurlResult($url, $s, $curl_info, curl_errno($ch), curl_error($ch));
|
$curlResponse = new CurlResult($url, $s, $curl_info, curl_errno($ch), curl_error($ch));
|
||||||
|
|
||||||
if ($curlResponse->isRedirectUrl()) {
|
if (!Network::isRedirectBlocked($url) && $curlResponse->isRedirectUrl()) {
|
||||||
$redirects++;
|
$redirects++;
|
||||||
$this->logger->notice('Curl redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
|
$this->logger->notice('Curl redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
|
||||||
@curl_close($ch);
|
@curl_close($ch);
|
||||||
|
@ -280,7 +280,7 @@ class HTTPRequest implements IHTTPRequest
|
||||||
|
|
||||||
$curlResponse = new CurlResult($url, $s, $curl_info, curl_errno($ch), curl_error($ch));
|
$curlResponse = new CurlResult($url, $s, $curl_info, curl_errno($ch), curl_error($ch));
|
||||||
|
|
||||||
if ($curlResponse->isRedirectUrl()) {
|
if (!Network::isRedirectBlocked($url) && $curlResponse->isRedirectUrl()) {
|
||||||
$redirects++;
|
$redirects++;
|
||||||
$this->logger->info('Post redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
|
$this->logger->info('Post redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
@ -321,6 +321,11 @@ class HTTPRequest implements IHTTPRequest
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Network::isRedirectBlocked($url)) {
|
||||||
|
$this->logger->info('Domain should not be redirected.', ['url' => $url]);
|
||||||
|
return $url;
|
||||||
|
}
|
||||||
|
|
||||||
$url = Network::stripTrackingQueryParams($url);
|
$url = Network::stripTrackingQueryParams($url);
|
||||||
|
|
||||||
if ($depth > 10) {
|
if ($depth > 10) {
|
||||||
|
|
|
@ -177,6 +177,35 @@ class Network
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the provided url is on the list of domains where redirects are blocked.
|
||||||
|
* Returns true if it is or malformed URL, false if not.
|
||||||
|
*
|
||||||
|
* @param string $url The url to check the domain from
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public static function isRedirectBlocked(string $url)
|
||||||
|
{
|
||||||
|
$host = @parse_url($url, PHP_URL_HOST);
|
||||||
|
if (!$host) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$no_redirect_list = DI::config()->get('system', 'no_redirect_list', []);
|
||||||
|
if (!$no_redirect_list) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($no_redirect_list as $no_redirect) {
|
||||||
|
if (fnmatch(strtolower($no_redirect), strtolower($host))) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if email address is allowed to register here.
|
* Check if email address is allowed to register here.
|
||||||
*
|
*
|
||||||
|
|
|
@ -362,6 +362,10 @@ return [
|
||||||
// Don't use OEmbed to fetch more information about a link.
|
// Don't use OEmbed to fetch more information about a link.
|
||||||
'no_oembed' => false,
|
'no_oembed' => false,
|
||||||
|
|
||||||
|
// no_redirect_list (Array)
|
||||||
|
// List of domains where HTTP redirects should be ignored.
|
||||||
|
'no_redirect_list' => [],
|
||||||
|
|
||||||
// no_smilies (Boolean)
|
// no_smilies (Boolean)
|
||||||
// Don't show smilies.
|
// Don't show smilies.
|
||||||
'no_smilies' => false,
|
'no_smilies' => false,
|
||||||
|
|
|
@ -122,6 +122,10 @@ return [
|
||||||
// Maximum system load before delivery and poll processes are deferred.
|
// Maximum system load before delivery and poll processes are deferred.
|
||||||
'maxloadavg' => 20,
|
'maxloadavg' => 20,
|
||||||
|
|
||||||
|
// relay_server (String)
|
||||||
|
// Address of the relay server where public posts should be send to.
|
||||||
|
'relay_server' => 'https://social-relay.isurf.ca',
|
||||||
|
|
||||||
// rino_encrypt (Integer)
|
// rino_encrypt (Integer)
|
||||||
// Server-to-server private message encryption (RINO).
|
// Server-to-server private message encryption (RINO).
|
||||||
// Encryption will only be provided if this setting is set to a non zero value on both servers.
|
// Encryption will only be provided if this setting is set to a non zero value on both servers.
|
||||||
|
|
12133
view/lang/C/messages.po
12133
view/lang/C/messages.po
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue