Age | Commit message (Collapse) | Author |
|
Allows zooming in and out of pages by changing the size of all elements,
including font size, images and tables. The initial zoom is specified in
the "zoom_factor" option of dillorc.
Use the new shortcuts Ctrl+ and Ctrl- to adjust the zoom of the current
page and Ctrl 0 to reset it to 100%. When a new tab or window is opened,
the current zoom factor is inherited. Each tab retains its own zoom
factor.
Fixes: https://github.com/dillo-browser/dillo/issues/21
|
|
Standards below C++11 don't support it, so we simply disable the static
assert. It is only required to be enabled in the CI in one build.
Reported-by: dogma
|
|
When a page has an empty title like <title></title>, don't use it to set
the tab label, but instead rely on the default tab label, which is
computed from the file name.
|
|
They are used for href="" in links or action="" in forms.
Fixes: https://github.com/dillo-browser/dillo/issues/190
|
|
Adds support to load a custom page when a new tab is opened. The current
behavior is set as the default, load a blank page. The location bar is
only selected when the new tab page is the blank page, otherwise the
page loaded gets the focus.
Co-authored-by: Alex <a1ex@dismail.de>
Fixes: https://github.com/dillo-browser/dillo/issues/124
|
|
The Tags array can be modified without changing the "ntags" number in
the CSS side. To prevent errors, an static assert ensures the same
number is used in both sides, which is known at compilation time.
Fixes: https://github.com/dillo-browser/dillo/issues/184
|
|
The libpng library may emit warnings when decoding a PNG image, which
are non-fatal. So far we were handling them as errors and stopping the
decoding process, which prevents Dillo from decoding some images. In
particular, images that emit the warning:
> iCCP: known incorrect sRGB profile
Fixes: https://github.com/dillo-browser/dillo/issues/179
Authored-by: dogma
|
|
When a positive non-zero value is returned from SSL_read or SSL_write,
there is data read or written, so there is no need to check for errors.
Only in the case the return value is 0 or negative.
|
|
It may be returned when the server closes the connection, see:
https://www.openssl.org/docs/manmaster/man3/SSL_get_error.html
We simply handle it as if there was no error and return zero bytes read.
Fixes: https://github.com/dillo-browser/dillo/issues/175
|
|
It would be nice if X509_ALGOR could be made opaque at some point.
There is a somewhat clumsy accessor X509_ALGOR_get0() that allows
obtaining the ASN1_OBJECT sitting inside an X509_ALGOR. Use this
instead.
|
|
In Mbed TLS 3.6.0 there is support for TLSv1.3 but it requires
special handling, so for now we disable it.
See: https://gitlab.alpinelinux.org/alpine/aports/-/commit/4dc36afaa81a4d73758b29fa77981d07dbae0080.patch
Fixes: https://github.com/dillo-browser/dillo/issues/158
|
|
The old manual page is no longer needed as we have the latest manual
rendered in the new website.
|
|
Implement an option to force all http urls to be upgraded to HTTPS,
similar to HTTPS-Only Mode in Firefox.
A http_force_https preference variable is provided as well as a menu
bar item to toggle this mode.
See: https://support.mozilla.org/en-US/kb/https-only-prefs
|
|
Partially reverts commit f5a0b6030c2001e5a0fcacf8139afa800643eb47.
Fixes the rendering test table-missing-width-in-one-column.
Fixes: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/H7JEBC2HYNJ6FUPQM7ILBP7I5FLU33IZ/
|
|
|
|
When a <meta> tag reports the "text/xhtml" content, we were correcting
it to the type guessed in TypeDet. However, the current
implementation to guess XHTML and HTML pages fails if the doctype is not
at the start of the document, falling back to text/plain.
A more robust solution is to set the TypeNorm to
"application/xhtml+xml", which can be handled by a_Mime_get_viewer() as
an HTML-like document.
Reported-by: Kevin Koster <dillo@ombertech.com>
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/7GJ4AAMFFPEHOIYEOH4NHVMSXMJDFYXG/
|
|
The URW Chancery L font is not likely to be installed, so by default we
use the same as for serif and sans, DejaVu.
Fixes: https://github.com/dillo-browser/dillo/issues/138
|
|
Adds the scroll_switches_tabs_reverse option in dillorc to allows
reversing the direction of tab switching based on the movement of the
mouse wheel.
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/F2EF4NHF3CBMJ3XZII2TFIE6MSXEE5AD/
Fixes: https://github.com/dillo-browser/dillo/issues/122
Reviewed-by: Rodrigo Arias Mallo <rodarima@gmail.com>
|
|
The function SSL_get_peer_certificate() is deprecated in 3.0.0, but
still defined as a compatibility macro.
Fixes: https://github.com/dillo-browser/dillo/issues/118
|
|
The W3C validator is now protected under a CloudFlare JavaScript
challenge. However, it can be bypassed by opening directly the link
after the redirection. It doesn't work if an HTML 5 page is loaded, as
that would redirect to the Nu validator which will attempt to run the
challenge again.
So the current solution is to use the "legacy" W3C validator for HTML
4.01 or older documents and the W3C Nu validator for HTML 5 documents
only. Users would need to choose which one to use manually (at least for
now).
The WDG validator at https://www.htmlhelp.org/tools/validator/ is gone,
the server reports "Server unable to read htaccess file, denying access
to be safe", so it has been removed.
Fixes: https://github.com/dillo-browser/dillo/issues/113
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/109
|
|
|
|
The width attribute in tr and td tags is deprecated in HTML 4.01 and
obsolete in HTML 5. However, we should still support it when loading the
page in the transitional mode.
Currently, the relative values of the width attribute are transformed
into CSS values. They cause the available text width to be computed by
applying the relative value to the cell width, which causes an
unintended effect.
The workaround for now is to simply ignore the value when it is
specified as a percent.
|
|
Allows paths like "file:~/" and "file:~/.dillo/dillorc" to be opened by
Dillo by expanding the tilde character '~' to the value of the $HOME
environment variable.
Fixes: https://github.com/dillo-browser/dillo/issues/81
|
|
|
|
We cannot rely on the return value and the errno, the function
SSL_get_error() must be used to determine what happen and if we need to
retry again. A wrapper function translates the SSL error into a proper
errno value.
In the case a premature EOF is sent by the server, the error queue is
emptied before the error is returned.
Fixes: https://github.com/dillo-browser/dillo/issues/79
|
|
As this is the page that new users will see for the first time, we want
to show them a very simple introduction so they can reach the full help
when they need it.
|
|
By default, scrolling the mouse wheel over the tabs will switch among
tabs. The option allows users to disable the feature.
|
|
|
|
Allows switching tabs using the mouse wheel, which is useful to quickly
scan pages by looking at the page content instead of the tab title.
|
|
The default tab height of 16 pixels was causing some usability issues as
the tabs are quite small in large monitors. The default size is
increased to 20 pixels and the new option "ui_tab_height" allows the
user to specify a different value.
|
|
They may accidentally happen if a fd callback is still attached to the
connection socket while we wait in a FTLK dialog, causing another call
to Tls_connect() which will end up in an infinite loop.
|
|
Avoids calling the callback while the TLS dialog is opened, which was
causing and infinite loop of recursive calls to Tls_connect().
Fixes: https://github.com/dillo-browser/dillo/issues/49
|
|
Instead of just assert that there are no previous TLS errors, print the
error queue and then abort. It prevents the error queue to be emptied
before having a chance to see what error was stored.
|
|
More data will be written in the SSL_Shutdown() of TLS connections,
which causes errors if the file descriptor is closed. In particular,
LibreSSL will trigger an assert.
Fixes: https://github.com/dillo-browser/dillo/issues/51
|
|
The macro hides a return path and makes it more difficult to read the
condition as it is negated.
|
|
|
|
The website is now at https://dillo-browser.github.io/ and the
repository at https://github.com/dillo-browser/dillo.
|
|
|
|
|
|
Before OpenSSL 3.0, the EVP_PKEY_get_id() was named EVP_PKEY_id().
|
|
The SSLv23_client_method() function is deprecated:
https://www.openssl.org/docs/man3.2/man3/SSLv23_client_method.html
|
|
Brings the previous OpenSSL implementation into src/IO/tls_openssl.c.
Now, the TLS functions have the implementation name as prefix, like
a_Tls_openssl_connect().
The generic interface at IO/tls.h hides the implementation which is
selected at configure time. The appropriate functions of that
implementation are called from IO/tls.c to IO/tls_<impl>.c. In this way,
support for more TLS libraries can easily be added.
In the case of mbedTLS, there are some incompatible changes from version
2 to 3, so we use some ifdefs to fix the differences.
|
|
|
|
When using the mouse wheel to scroll a page, the default scroll step was
causing a very slow scrolling speed. The new option "scroll_step" allows
the user to define how many pixels the page is moved in every step of
the mouse wheel. The default is increased to 100 pixels per step.
|
|
The DuckDuckGo service that redirects the links from the search page is
returning a broken page for non-javascript browsers. They have a meta
refresh tag in the body, instead of in the head.
Adding the kd=-1 argument causes the DuckDuckGo search results to point
directly to the target page avoiding the redirection.
Based on this patch:
https://salsa.debian.org/debian/dillo/-/commit/ffbd4fc0e6cf94b3947d02766224c0e80344a017
Thanks: liftof+dbug@gmail.com
Thanks: Axel Beckert <abe@debian.org>
Bug-Debian: https://bugs.debian/org/924357
|
|
|
|
|
|
Doxygen introduces a extra header line with a comment
which is now captured.
|
|
Add option to disable XEmbed support.
This can be useful to avoid compilation issues on non-X11 systems.
|