summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-07Fix pedantic warningsRodrigo Arias Mallo
Reviewed-by: dogma
2024-08-07Enable -pedantic and -std=c++11 by defaultRodrigo Arias Mallo
Reviewed-by: dogma
2024-07-27Add SVG support for currentColorRodrigo Arias Mallo
The currentColor special value for the fill and stroke attributes allows an image to follow the same foreground color of the surounding text.
2024-07-27Add SVG currentColor testRodrigo Arias Mallo
2024-07-26Use FLTK reported DPI for SVG imagesRodrigo Arias Mallo
2024-07-26Mention SVG support in the documentationRodrigo Arias Mallo
2024-07-26Add SVG support in ChangelogRodrigo Arias Mallo
2024-07-26Don't report unknown SVG elements for nowRodrigo Arias Mallo
Until we have a way to enable or disable messages, we shouldn't pollute the output log. These may as well be better suited for a bug-like window.
2024-07-26Add support for g and symbol inside defsRodrigo Arias Mallo
These are used by Wolfram equations, example: https://mathworld.wolfram.com/images/equations/FourierTransform/Inline7.svg https://mathworld.wolfram.com/FourierTransform.html
2024-07-26Warn about SVG ignored elementsRodrigo Arias Mallo
2024-07-26Add support for MathJax equations in nanosvgRodrigo Arias Mallo
Allows Dillo to render Wikipedia math equations.
2024-07-26Merge SVG support from mobilized Dillo forkRodrigo Arias Mallo
Uses the nanosvg library to add SVG support. See: https://www.toomanyatoms.com/software/mobilized_dillo.html Authored-By: dogma
2024-07-18Improve line number style for HTML sourceRodrigo Arias Mallo
Make the background of line numbers appear as a single color and increase the contrast to improve readability. Also add a bit of space and a separator line between the numbers and the code itself.
2024-07-18Add anchors in line numbers for HTML source viewRodrigo Arias Mallo
They allow linking to an specific line in the source code. This would be useful to add to the bug meter view, so the user can quickly jump to the error line in the HTML source. Fixes: https://github.com/dillo-browser/dillo/issues/214
2024-07-14Render JSON content as plain textRodrigo Arias Mallo
Some website endpoints return information in JSON, which is helpful to be read as plain text in some situations. The content can still be downloaded to disk using the save button or the context menu. An example is the following endpoint https://tls.browserleaks.com/tls, which provides TLS fingerprinting information in JSON, which will change when reloading the page (only when Dillo is linked with LibreSSL). The original page https://tls.browserleaks.com/ uses JS and cannot be used in Dillo. See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/6C5K4F6NBRUDSPNPWTXLQXCK3U3SI7DM/
2024-07-04Fix ASan new-delete-type-mismatch errorRodrigo Arias Mallo
With the adreess sanitizer enabled there was an error: AddressSanitizer: new-delete-type-mismatch Caused by a size mismatch in the delete operator as the called destructor was the incorrect one.
2024-06-29Reduce floppy disk size after formattingRodrigo Arias Mallo
The useful space to store files inside a floppy is less than the capacity of the floppy itself: % mkfs.msdos -C floppy.img 1440 mkfs.fat 4.2 (2021-01-31) % stat -c %s floppy.img 1474560 % mkdir floppy % sudo mount -o loop,uid=$USER floppy.img floppy % dd if=/dev/zero bs=1 count=100M of=floppy/test dd: error writing 'floppy/test': No space left on device 1457665+0 records in 1457664+0 records out 1457664 bytes (1,5 MB, 1,4 MiB) copied, 0,912079 s, 1,6 MB/s % echo $((1474560 - 1457664)) 16896 It needs a bit more than 16K to store the FAT table, so round it to 32K to allow some clearance for changes in FAT header size. % echo $((1474560 - 32*1024)) 1441792
2024-06-29Check release fits in a floppy disk of 1.44 MBRodrigo Arias Mallo
For now we check gzip as it is widely available and has a medium compression ratio. Fixes: https://github.com/dillo-browser/dillo/issues/208
2024-06-25Ignore meta refresh content without URLRodrigo Arias Mallo
The content="0" attribute was wrongly parsed as the URL "0". The change makes the parser ignore a redirect with a content value that doesn't have ";" or "url=" after the delay number. Fixes: https://github.com/dillo-browser/dillo/issues/204
2024-06-25Add support for zoom factorRodrigo Arias Mallo
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
2024-06-21Only enable static_assert if supportedRodrigo Arias Mallo
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
2024-06-21Add CI job to build with old C and C++ standardsRodrigo Arias Mallo
For now we depend on some features of GNU, but should be doable to make it strict ISO C99 compliant.
2024-06-12Fix segfault in Done button of downloadsRodrigo Arias Mallo
The destructor was using a harcoded index to the elements to free from the original array of arguments used to call the wget program. When the user agent was introduced, the index of the elements that require free() shifted, causing the free() call to operate on the constant string of the user agent instead. Rather than relying on the hardcoded index, two new pointers hold the values of the strings that need to be free()'d in the destructor. Further additions in the argument array won't cause more problems. Reported-by: pastebin <pastebin@gmx.com> Fixes: https://github.com/dillo-browser/dillo/issues/196 See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/IPWQYKTYTO5G2BH3UU5224FRUFWCVGSO/
2024-06-11Ignore empty page title for tab labelsRodrigo Arias Mallo
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.
2024-06-09Allow empty URLs with base URL setRodrigo Arias Mallo
They are used for href="" in links or action="" in forms. Fixes: https://github.com/dillo-browser/dillo/issues/190
2024-06-09Add new_tab_page optionRodrigo Arias Mallo
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
2024-06-08Release version 3.1.1v3.1.1Rodrigo Arias Mallo
2024-06-07Ensure the same number of tags for CSS and HTMLRodrigo Arias Mallo
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
2024-06-02Clarify --enable-rtfl option descriptionRodrigo Arias Mallo
Make more clear that it is not needed for normal use and will slow down the browser.
2024-06-02Remove undefined floatRef debug line in RTFLRodrigo Arias Mallo
Fixes: https://bugs.gentoo.org/933361
2024-06-01Handle PNG warnings as non-fatalRodrigo Arias Mallo
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
2024-06-01Don't call SSL_get_error() with pending dataRodrigo Arias Mallo
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.
2024-06-01Handle SSL_ERROR_ZERO_RETURN in OpenSSLRodrigo Arias Mallo
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
2024-06-01Update ChangeLog for HTML tests in tarballRodrigo Arias Mallo
2024-06-01Ensure the compare command can fail safelyRodrigo Arias Mallo
As we run the driver with "set -e", it will stop on the first failure. The compare(1) command from magick exits with non-zero when the inputs are not equal: > The compare program returns 2 on error, 0 if the images are similar, > or a value between 0 and 1 if they are not similar. So, to prevent it from interrupting the cleanup steps after the comparison, we make it always success.
2024-06-01Remove test directories for distcleanRodrigo Arias Mallo
In order to leave a clean build directory by distclean, all generated files must be removed. The environment variable DILLO_TEST_LEAVE_FILES can be set to leave the generated test results, which aids debugging when tests fail.
2024-06-01Perform distcheck in another build treeRodrigo Arias Mallo
As we are now copying the contents of the render/ and manual/ directories under test/html, any remaining files from a previous build will be included. To prevent errors from a previous `make check` command, we make the check and distcheck in different build directories.
2024-06-01Add HTML tests to EXTRA_DISTMatt Jolly
This will enable tests to be easily run by downstream distributions from the tarball release.
2024-06-01Run make distcheck with HTML tests enabled in CIRodrigo Arias Mallo
Ensure the tarball can run the HTML when the configure flag --enable-html-tests is set.
2024-05-20Add workaround for OpenSSL in CygwinRodrigo Arias Mallo
Cygwin doesn't seem to support detached threads used by the threaded DNS resolver at the same time the dynamic OpenSSL library is used. As a workaround we suggest disabling the threaded DNS (will use the same thread) if building with OpenSSL on Cygwin. Fixes: https://github.com/dillo-browser/dillo/issues/172
2024-05-18Avoid reaching into X509_ALGORTheo Buehler
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.
2024-05-12Add Alpine to CIRodrigo Arias Mallo
2024-05-12Disable TLSv1.3 in MbedTLS 3.6.0 for nowRodrigo Arias Mallo
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
2024-05-08Add release date for 3.1.0 in ChangeLogRodrigo Arias Mallo
Fixes: https://github.com/dillo-browser/dillo/issues/160
2024-05-08Update macOS dillo install instructionsMichael Yin
Dillo is now packaged (bottled) in Homebrew as seen here - https://github.com/Homebrew/homebrew-core/blob/master/Formula/d/dillo.rb
2024-05-06Convert some old files from iso8859-1 to utf-8 encodingArtem Polishchuk
2024-05-05Update macOS install instructionsMike Yin
On macOS, Homebrew will install OpenSSL to different locations depending on which architecture you're on (Intel or ARM). It also doesn't put the headers and library files in the default search path for gcc. This added instruction in the doc/install.md aligns with a similar instruction for BSD and is architecture and OpenSSL version agnostic (because it just asks Homebrew to tell us what the prefix is). pkg-config could easily work across platforms or the lookup could be configured to test for homebrew, but I didn't want to make a much bigger change to the autoconf script.
2024-05-05Add link to Mobilized Dillo forkRodrigo Arias Mallo
2024-05-04Release version 3.1.0v3.1.0Rodrigo Arias Mallo
2024-05-04Update online manual URLRodrigo Arias Mallo
The old manual page is no longer needed as we have the latest manual rendered in the new website.