TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-06-15T05:24:09ZTYPO3 Forge
Redmine TYPO3 Core - Feature #101077 (New): Improve administrative handling of "Anonymize IP Adresses"http://forge.typo3.org/issues/1010772023-06-15T05:24:09ZSybille Peterssypets@gmx.de
<ul>
<li>currently it is only possible to select 1 table in the task (but more can be configured in ext_localconf.php)</li>
<li>the task is a scheduler task which means you have to create a scheduler task first, you can't just run it from the console (which means extra work and you can't (easily) store the configuration in a Git repo)</li>
</ul>
<a name="Sugestions"></a>
<h2 >Sugestions<a href="#Sugestions" class="wiki-anchor">¶</a></h2>
<ul>
<li>make a Symfony command out of it</li>
<li>make it possible to run it with "all configured tables" which would use all tables in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][self::class]['options']</li>
</ul>
<p>In the "Table garbage collection" task there is a checkbox "Clean all available tables"</p>
<a name="Side-note"></a>
<h2 >Side note<a href="#Side-note" class="wiki-anchor">¶</a></h2>
<p>It is unclear to me whether all current scheduler tasks will be migrated to Symfony commands in the future.</p> TYPO3 Core - Task #96015 (Closed): Remove unused language labelshttp://forge.typo3.org/issues/960152021-11-17T18:32:32ZSybille Peterssypets@gmx.de
LLL:EXT:redirects/Resources/Private/Language/locallang_module_redirect.xlf:
<ul>
<li>source_host</li>
<li>source_path</li>
<li>destination</li>
<li>hits</li>
<li>hit_last</li>
<li>filter.destination</li>
</ul> TYPO3 Core - Bug #92541 (New): Text of flash message is misleading for JavaScript errorshttp://forge.typo3.org/issues/925412020-10-12T11:53:07ZSybille Peterssypets@gmx.de
<p>Example: Page tree error message</p>
<pre><code class="text syntaxhl" data-language="text">Page tree error
Got unexpected response from the server. Please check logs for details.
</code></pre>
<p>When I get this type of error, the logs are usually empty. This is usually a JavaScript error displayed in browser console.</p>
<p>It would be great if error message which recommends to look in logs is only given if error has been logged.</p>
<p>Would be great if user got a different hint if there has been a JavaScript error.</p> TYPO3 Core - Feature #92231 (Closed): Add some more error messages to linkvalidatorhttp://forge.typo3.org/issues/922312020-09-08T18:55:47ZSybille Peterssypets@gmx.de
<p>For some error types, the error messages are too long, verbose and not suited for non technical audience.</p>
<p>The reason is, that not all error types have language strings and in some cases a generic error message and the exception (from Guzzle) is used.</p>
<p>I would propose to add some more error messages.</p>
<p>Also, the "Network error / invalid domain" error message is misleading, because all error reasons listed in <a class="external" href="https://curl.haxx.se/libcurl/c/libcurl-errors.html">https://curl.haxx.se/libcurl/c/libcurl-errors.html</a> return that. In fact, the error code is also returned which could be used to give a more specific error message.</p>
<a name="Examples-that-already-have-short-custom-error-messages"></a>
<h2 >Examples that already have short custom error messages:<a href="#Examples-that-already-have-short-custom-error-messages" class="wiki-anchor">¶</a></h2>
<p>404:</p>
<pre><code class="text syntaxhl" data-language="text">The requested url was not found (404).
</code></pre>
<p>403:</p>
<pre><code class="php syntaxhl" data-language="php"><span class="nc">Accessing</span> <span class="n">this</span> <span class="n">address</span> <span class="n">is</span> <span class="n">not</span> <span class="nf">allowed</span> <span class="p">(</span><span class="mi">403</span><span class="p">)</span><span class="mf">.</span>
</code></pre>
<a name="Examples-for-errors-with-long-and-cluttered-error-message"></a>
<h2 >Examples for errors with long and cluttered error message<a href="#Examples-for-errors-with-long-and-cluttered-error-message" class="wiki-anchor">¶</a></h2>
<p>401:</p>
<pre><code class="text syntaxhl" data-language="text">An error occurred (401): "Client error: `GET https://url-which-requires-login/login` resulted in a `401 Unauthorized` response:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh (truncated...)
".
</code></pre>
<p>wrong domain:</p>
<pre><code class="text syntaxhl" data-language="text">Network error / invalid domain:cURL error 6: Could not resolve host: invalid-domain.de; Unknown error (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
</code></pre>
<p>ssl problem:</p>
<pre><code class="text syntaxhl" data-language="text">Network error / invalid domain:cURL error 51: Unable to communicate securely with peer: requested domain name does not match the server's certificate. (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
</code></pre>
<p>timeout:</p>
<pre><code class="text syntaxhl" data-language="text">Network error / invalid domain:cURL error 28: Connection timed out after 10001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
</code></pre>
<p>HTTP Status code 500:</p>
<pre><code class="text syntaxhl" data-language="text">Network error / invalid domain:Server error: `GET http://some-domain/` resulted in a `500 Internal Server Error` response:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
< (truncated...)
</code></pre>
<p>wrong protocol:</p>
<pre><code class="text syntaxhl" data-language="text">Network error / invalid domain:cURL error 1: Protocol hhttps not supported or disabled in libcurl (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
</code></pre>
<p>502:</p>
<pre><code class="text syntaxhl" data-language="text">Network error / invalid domain:Server error: `GET http://hochschule-ohne-grenzen.org/` resulted in a `502 Proxy Error` response:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Proxy Error</title>
</head><body>
<h1>Proxy E (truncated...)
07.09.20 16:15
</code></pre> TYPO3 Core - Feature #92193 (New): Make console commands (directly) visible in list of scheduler ...http://forge.typo3.org/issues/921932020-09-04T09:55:26ZSybille Peterssypets@gmx.de
<p>When you create a new task in the scheduler, you can see a list of available tasks in Class.</p>
<p><img src="http://forge.typo3.org/attachments/download/35430/scheduler1.png" alt="" loading="lazy" /></p>
<p>Here, you have to select "Execute console commands" to see a list of the console commands.</p>
<p>This makes the usability a bit clunky, because you do not have a full list of what is available. You have to choose "console command" and only then do you see the console commands (or not).</p>
<p>Extension authors may want to make their schedulable tasks available as console commands because this adds more flexibility (as they can be called on the console or via cron directly). However, having the commands then be a bit hidden is a downside of this.</p>
<a name="Possible-solution"></a>
<h2 >Possible solution<a href="#Possible-solution" class="wiki-anchor">¶</a></h2>
<ul>
<li>add the console commands to the list of scheduler tasks to be visible like any other scheduler task.</li>
</ul> TYPO3 Core - Task #91977 (Rejected): Code cleanup in ExtensionListCommandhttp://forge.typo3.org/issues/919772020-08-11T15:01:15ZSybille Peterssypets@gmx.deTYPO3 Core - Task #87394 (Closed): composer gerrit:setup should be available for all platformshttp://forge.typo3.org/issues/873942019-01-11T08:51:38ZSybille Peterssypets@gmx.de
<p>I am currently updating the Contribution Guide. I would like to simplify the setup.</p>
<p>composer gerrit:setup sets up both commit hooks: commit-msg and pre-commit. The pre-commit hook currently may not run on Windows.</p>
<p>For this reason, you can't just write: just run composer gerrit:setup to setup commit hooks. You have to write: for windows do ..., for Linux / Mac do ...</p>
<p>So, it might be useful to do one of the following:</p>
<ol>
<li>make the pre-commit hook portable</li>
<li>only copy the commit-msg hook with gerrit:setup</li>
<li>or check before copying if it will run on current system in <a href="https://github.com/TYPO3/TYPO3.CMS/blob/master/Build/Scripts/composer/InstallerScripts.php" class="external">InstallerScripts:enablePreCommitHook</a></li>
</ol> TYPO3 Core - Task #87176 (Closed): Add git setup script for core developmenthttp://forge.typo3.org/issues/871762018-12-16T23:33:05ZSybille Peterssypets@gmx.de
<p>Currently, several commands must be executed manually. Some of these, can't just be copy-pasted, because user-specific options must be added to commands (email address, username, etc.).</p>
<p>A script can be added, which makes the setup easier.</p>
<p>Currently, you must execute the following commands:</p>
<pre><code class="text syntaxhl" data-language="text">git config user.name "Your Name"
git config user.email "your-email@example.com"
git config branch.autosetuprebase remote
# usually, not required
mkdir -p .git/hooks
cp Build/git-hooks/commit-msg .git/hooks/commit-msg
# make executable (usually not required)
chmod +x .git/hooks/commit-msg
# optional
cp Build/git-hooks/unix+mac/pre-commit .git/hooks/
chmod +x .git/hooks/pre-commit
git config url."ssh://<YOUR_TYPO3_USERNAME>@review.typo3.org:29418".pushInsteadOf git://git.typo3.org
# optional
git config commit.template ~/.gitmessage.txt
</code></pre>
<p>See <a class="external" href="https://docs.typo3.org/typo3cms/ContributionWorkflowGuide/Setup/Git/Index.html">https://docs.typo3.org/typo3cms/ContributionWorkflowGuide/Setup/Git/Index.html</a></p> TYPO3 Core - Task #85725 (Closed): Add directories created by rendering of documentation to .giti...http://forge.typo3.org/issues/857252018-08-02T10:38:01ZSybille Peterssypets@gmx.deTYPO3 Core - Bug #85386 (Closed): Fix inconsistency of command line arguments, help output and d...http://forge.typo3.org/issues/853862018-06-25T17:57:40ZSybille Peterssypets@gmx.de
<p>Note: Closed for now, until researched further. Initially noticed that documentation partly does not fit behaviour or may be a little difficult to understand.</p>
<p>There seems to be also an issue with inconsistency of some options and the help output.</p>
<p><strong>1. Some commands have --dry-run in their help message and some do not</strong></p>
<ul>
<li>cleanup:deletedrecords : does not</li>
<li>cleanup:multiplereferencedfiles : does</li>
</ul>
<p>Weird that deletedrecords should suddenly not support dry-run</p>
<blockquote><blockquote>
<p>this needs to be researched further, not really a problem of the docs, though.</p>
</blockquote></blockquote>
<p><a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_8-7/typo3/sysext/lowlevel/README.rst">https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_8-7/typo3/sysext/lowlevel/README.rst</a></p>
<p>In TYPO3 7 there where some common options so you could execute the commands without problems in a loop using a generic commmand line, e.g.</p>
<pre><code class="text syntaxhl" data-language="text">for tag in $tags;do
if [[ $cmd == fix ]];then
# fix
php ./typo3/cli_dispatch.phpsh lowlevel_cleaner $tag -r -s -v 2 --AUTOFIX --YES --refindex update
else
# dry-run
php ./typo3/cli_dispatch.phpsh lowlevel_cleaner $tag -r -s -v 2 --dryrun
fi
done
</code></pre>
<p>Having --dryrun <strong>and</strong> --AUTOFIX makes absolutely no sense, so it is better now, but it should be easier to use.</p>
<p><strong>2. Usage:</strong></p>
<pre><code class="text syntaxhl" data-language="text"> help [options] [--] [<command_name>]
Arguments:
command The command to execute
command_name The command name [default: "help"]
</code></pre>
<p>Not very inuitive</p>
<ul>
<li>where is 'command' in the usage at the top?</li>
</ul>
<p><strong>3. Two different help messages with help and --help.</strong></p>
<p>The output with --help is confusing (--help is documented), the output of help is better. Maybe better to document only help (and not --help and remove that)</p>
<p>e.g <br /><pre><code class="text syntaxhl" data-language="text">php ./typo3/sysext/core/bin/typo3 help cleanup:multiplereferencedfiles
</code></pre></p> TYPO3 Core - Epic #84889 (Closed): Make frontend: PageRepository and PageRepositoryTest notice freehttp://forge.typo3.org/issues/848892018-04-28T10:54:03ZSybille Peterssypets@gmx.de
<p>Core: Error handler (BE): PHP Notice: Undefined index: disabled in /var/www/linkvalidator/typo3/sysext/frontend/Classes/Page/PageRepository.php <a href="https://github.com/TYPO3/TYPO3.CMS/blob/48adc7ac337bc45eb4263ebc675080f2042c685a/typo3/sysext/frontend/Classes/Page/PageRepository.php#L1364" class="external">line 1364</a></p>
<p>Core: Error handler (BE): PHP Notice: Undefined index: starttime in /var/www/linkvalidator/typo3/sysext/frontend/Classes/Page/PageRepository.php <a href="https://github.com/TYPO3/TYPO3.CMS/blob/48adc7ac337bc45eb4263ebc675080f2042c685a/typo3/sysext/frontend/Classes/Page/PageRepository.php#L1368" class="external">line 1368</a></p>
<p>Core: Error handler (BE): PHP Notice: Undefined index: endtime in /var/www/linkvalidator/typo3/sysext/frontend/Classes/Page/PageRepository.php <a href="https://github.com/TYPO3/TYPO3.CMS/blob/48adc7ac337bc45eb4263ebc675080f2042c685a/typo3/sysext/frontend/Classes/Page/PageRepository.php#L1372" class="external">line 1372</a></p>
<p>Core: Error handler (BE): PHP Notice: Undefined index: TYPO3\CMS\Frontend\Page\PageRepository in /var/www/linkvalidator/typo3/sysext/frontend/Classes/Page/PageRepository.php <a href="https://github.com/TYPO3/TYPO3.CMS/blob/48adc7ac337bc45eb4263ebc675080f2042c685a/typo3/sysext/frontend/Classes/Page/PageRepository.php#L209" class="external">line 209</a></p> TYPO3 Core - Task #84836 (Closed): Create a template with best practices for php files in Build/S...http://forge.typo3.org/issues/848362018-04-22T15:00:55ZSybille Peterssypets@gmx.de
<p>Some of the existing scripts in Build/Scripts have been converted to PHP. New scripts will be created. It might be good to have a template which includes some best practices, e.g.</p>
<ul>
<li>security: abort script if not called from command line</li>
<li>handle command line arguments</li>
<li>Apply <a href="https://www.php-fig.org/psr/psr-1/#23-side-effects" class="external">PSR-1 2.3 Side Effects</a> ? Which could mean do not define class and execute it in one file. </li>
<li>... more?</li>
</ul>
<p>This script could continuously be refined and the other scripts updated at least for critical and security-related things.</p> TYPO3 Core - Bug #69665 (Closed): Rendering of TypoScript shortcutIcon does not consider HTTPS (i...http://forge.typo3.org/issues/696652015-09-11T12:40:28ZSybille Peterssypets@gmx.de
<p>IMHO it should be possible to enter the URL for shortcutIcon as arbitrary URL, specifically in any the following formats:</p>
<ul>
<li>absolute path, starting with /</li>
<li>absolute URL e.g. <a class="external" href="https://www.example.org">https://www.example.org</a></li>
<li>scheme relative : //www.example.org</li>
</ul>
<p>The current rendering is not flexible enough for HTTP/ HTTPS because the rendered and cached page will be dependant on the URL scheme first used. This may result in a URL with HTTP scheme used for favicon (if the page is first fetched via http), which will then be cached and used for HTTPS as well resulting in security warnings (mixed content).</p>
<a name="TYPO3-source-code-45-and-62-more-or-less-the-same"></a>
<h1 >TYPO3 source code (4.5 and 6.2 more or less the same):<a href="#TYPO3-source-code-45-and-62-more-or-less-the-same" class="wiki-anchor">¶</a></h1>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TSFE'</span><span class="p">]</span><span class="o">-></span><span class="n">pSetup</span><span class="p">[</span><span class="s1">'shortcutIcon'</span><span class="p">])</span> <span class="p">{</span>
<span class="nv">$favIcon</span> <span class="o">=</span> <span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TSFE'</span><span class="p">]</span><span class="o">-></span><span class="n">tmpl</span><span class="o">-></span><span class="nf">getFileName</span><span class="p">(</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TSFE'</span><span class="p">]</span><span class="o">-></span><span class="n">pSetup</span><span class="p">[</span><span class="s1">'shortcutIcon'</span><span class="p">]);</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">is_file</span><span class="p">(</span><span class="n">PATH_site</span> <span class="mf">.</span> <span class="nv">$favIcon</span><span class="p">))</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">function_exists</span><span class="p">(</span><span class="s1">'finfo_open'</span><span class="p">))</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nv">$finfo</span> <span class="o">=</span> <span class="o">@</span><span class="nb">finfo_open</span><span class="p">(</span><span class="no">FILEINFO_MIME</span><span class="p">))</span> <span class="p">{</span>
<span class="nv">$iconMimeType</span> <span class="o">=</span> <span class="s1">' type="'</span> <span class="mf">.</span> <span class="nb">finfo_file</span><span class="p">(</span><span class="nv">$finfo</span><span class="p">,</span> <span class="p">(</span><span class="n">PATH_site</span> <span class="mf">.</span> <span class="nv">$favIcon</span><span class="p">))</span> <span class="mf">.</span> <span class="s1">'"'</span><span class="p">;</span>
<span class="nb">finfo_close</span><span class="p">(</span><span class="nv">$finfo</span><span class="p">);</span>
<span class="nv">$pageRenderer</span><span class="o">-></span><span class="nf">setIconMimeType</span><span class="p">(</span><span class="nv">$iconMimeType</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="nv">$pageRenderer</span><span class="o">-></span><span class="nf">setFavIcon</span><span class="p">(</span><span class="nc">GeneralUtility</span><span class="o">::</span><span class="nf">getIndpEnv</span><span class="p">(</span><span class="s1">'TYPO3_SITE_URL'</span><span class="p">)</span> <span class="mf">.</span> <span class="nv">$favIcon</span><span class="p">);</span>
<span class="p">}</span>
</code></pre>
<p>As you can see, it is not possible to use relative or absolute paths because TYPO3_SITE_URL is prepended in any case. It is not possible to use absolute URLs because this will result in is_file failing.</p>
<p>This issue has actually already been reported, but for typo3.org, see <a class="external" href="https://forge.typo3.org/issues/58265">https://forge.typo3.org/issues/58265</a></p>
<p>Any help is appreciated.</p> TYPO3 Core - Bug #37467 (Closed): Change in class.t3lib_div.php may break things for HTTPS via re...http://forge.typo3.org/issues/374672012-05-24T14:51:11ZSybille Peterssypets@gmx.de
<p>The change introduced in TYPO3 4.5.16 as fix for bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Wrong HTTP protocol in combination with a proxy (Closed)" href="http://forge.typo3.org/issues/36004">#36004</a> makes working in backend impossible for some HTTPS reverse-proxy configurations.</p>
<p>It may be a misconfiguration on our end, but as far as I can see, since the change HTTPS will only work with reverse proxy, if <strong>X-Forwarded-For</strong> contains local and proxy IP and</p>
<pre><code class="php syntaxhl" data-language="php"> <span class="err">$</span><span class="p">[</span><span class="s1">'TYPO3_CONF_VARS'</span><span class="p">][</span><span class="s1">'SYS'</span><span class="p">][</span><span class="s1">'reverseProxyHeaderMultiValue'</span> <span class="o">=</span> <span class="s2">"last"</span><span class="p">;</span>
</code></pre>
<p>Login to backend works, but then a network connections error is displayed (<em>"Verbindungsproblem Bei dem Versuch eine Verbindung zum Server herzustellen ist ein Fehler aufgetreten. Bitte überprüfen Sie Ihre Netzwerkverbindung."</em>)</p>
<p>Analyzing this shows that the changed line 4151 in class.t3lib_div.php has caused this problem:</p>
<p>older version:</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="k">self</span><span class="o">::</span><span class="nf">cmpIP</span><span class="p">(</span><span class="nv">$_SERVER</span><span class="p">[</span><span class="s1">'REMOTE_ADDR'</span><span class="p">],</span> <span class="nv">$proxySSL</span><span class="p">))</span> <span class="p">{</span>
</code></pre>
<p>newer version:<br /><pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="k">self</span><span class="o">::</span><span class="nf">cmpIP</span><span class="p">(</span><span class="k">self</span><span class="o">::</span><span class="nf">getIndpEnv</span><span class="p">(</span><span class="s1">'REMOTE_ADDR'</span><span class="p">),</span> <span class="nv">$proxySSL</span><span class="p">))</span> <span class="p">{</span>
</code></pre></p> TYPO3 Core - Feature #36542 (Closed): Changed domain handling on "View webpage" from backend caus...http://forge.typo3.org/issues/365422012-04-25T12:32:51ZSybille Peterssypets@gmx.de
<p>Due to fix for Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: t3lib_befunc::getViewDomain returns wrong or no domain (Closed)" href="http://forge.typo3.org/issues/30892">#30892</a>:</p>
<p>This new behaviour causes problems for us.</p>
<p>For a long time (due to bug or not) the domain currently used in the backend was used for loading a page with "View webpage". Due to the change in getViewDomain, the first domain from the domain records is now used.</p>
<p>On multi-site installations we use a generic domain for working in the backend and this should be consistent with the domain used for viewing the page from the backend.</p>
<p>We now have to patch the core or completely change handling.</p>
<p>Ideal would be to make this configurable !!!</p>