- Update from version 0.12pre6 (2012) to 0.15.1 (July 2022) - Update of rootfile - Original elinks was last updated in 2012. In Jan 2020 a fork was made of the package and has been maintained since then on an ongoing basis. This new fork is used by Arch Linux - elinks has not been an addon since CU141 but the lfs file was still in the addon format This has been adjusted to make it in line with a core program - The previous patches related to ssl have been removed as the fixes are now part of the source tarball. - Changelog ELinks 0.15.1 Released on 2022-07-31 * about:config * option --always-load-config #137 * compilation fixes on Windows #140 * added ui.background_char #142 * sample build scripts and docker files * experimental DGI support * DOS port based on links code * configurable Accept-Header #143 * minor compilation fixes ELinks 0.15.0 Released on 2021-12-24 * Serbian translation update ELinks 0.15.0rc2 Released on 2021-12-19 * Serbian translation update * HOME_ETC ELinks 0.15.0rc1 Released on 2021-12-04 * removed -Wno-pointer-sign from CFLAGS * close stdin before calling a background program (sgerwk) and options related to it #108, #109, #110, #113 * gemini protocol and text/gemini mime type * changed rendering of blockquote element * avoid tmpfile in lua (sgerwk) #115, #118 * console.log in js (mtatton) #93 * localstorage (mtatton) #98 * options document.browse.search.beginning_only document.browse.search.ignore_history ui.double_esc * ui.temperature.* to show temperature of CPU * document.plain.fixup_tables * enhanced ecmascript code. Added QuickJS * Notes on ECMAScript: requires C++ compiler, sqlite3, libxml++5 >= 5.0.1.GIT and either mozjs78-dev or QuickJS-2021-03-27 Most sites don't work, some crash. Some workarounds were implemented: a) ECMAScript is disabled by default b) ~/.elinks/allow.txt and ~/.elinks/disallow.txt with url prefixes c) Added toggle-ecmascript action. You can bind it to some key * other small fixes ELinks 0.14.3 Released on 2021-09-26 * Fix issue with negative value of cells #126 ELinks 0.14.2 Released on 2021-08-29 * crash in nttp #114 * XSS in gopher #125 ELinks 0.14.1 Released on 2021-05-30 * Disable spidermonkey by default #85 * Show error message about libgcrypt-config. #86 * off by two. #88 * Check NULL. #99 * fix error message when no previous search was performed #100 * alert when moving to the next match of a failed search #101 * include unistd.h and errno.h to define safe_read() #107 ELinks 0.14.0 Released on 2020-12-27 No changes since 0.14.0rc2. ELinks 0.14.0rc2 Released on 2020-12-13 * ~/.elinks/allow.txt - list of allowed url prefixes for js ELinks 0.14.0rc1 Released on 2020-12-06 * dblatex for pdf. PR #64 * fixes CTRL-Z. #65 * changes in mime handlers. PR #66 * fixes in data protocol. #67, #68, #71, #72, #73 * allow to wrap text in PRE. #69 * pass #fragment to external command. #75 * introduced "document.browse.search.reset". #76 * added meson as alternative build system * in #77 I'm going to attach static binaries for released versions * mozjs dependency updated to 52.* Note that, to compile with javascript support you must compile by g++ with -fpermissive option. There is a lot of warnings. Unfortunately JS often crashes. Without help from someone familiar with SpiderMonkey, we won't go far. As you might notice, I renamed repo to elinks. Thanks to all involved in this release. ELinks 0.13.5 Released on 2020-08-30 * added clipboard selection using keyboard. #59 * fixed drawing menus over emoji characters. #60 * encoding to utf-8 and decoding back in python's pre_format_html_hook This is likely the last release of 0.13.x series. ELinks 0.13.4: Released on 2020-07-31. * fixed segfault with gnutls. introduced in 0.13.3 * updated smart and dumb prefixes to https. Thanks Guido Cella. PR #54 * added the st terminal to config options. PR #55 * doc updates PR #57 * also pass the uri as %u to external handler. Thanks sgerwk. PR #58 * added the ui.clipboard_file config option ELinks 0.13.3: Released on 2020-06-29. * configure option --with-luapkg=name You can choose lua version at compilation time. For example: --with-luapkg=luajit * config option connection.ssl.https_by_default (Thanks Guido Cella) not enabled by default * docs updates (Guido Cella) * fixes related to ui.mouse_disable and xterm-like terminals (Thanks sgerwk) * show an alert when the search string is not found (sgerwk) ELinks 0.13.2: Released on 2020-05-31. * command line option -remote search(...) (thanks sgerwk) * command line option -bind-address * config option ui.mouse_disable (sgerwk) * config option ui.tostop * config option ui.sessions.fork_on_start * compatibility (compilability) with lua-5.2 and 5.3 * modified cookies code (not well tested) ELinks 0.13.1: Released on 2020-01-31. * Fixed issue with uploading files to local cgi. * Python scripts in contrib converted to python3. ELinks 0.13.0: Released on 2019-12-27. Incompatibilities: * The protocol.fsp.sort option has been removed. ELinks always sorts. * bug 1024: Verify the host name or IP address in the server certificate if connection.ssl.cert_verify is not 0. Miscellaneous: * The configure script is no longer part of tarball, you must generate it. For example running ./autogen.sh * major bug 181: Slave ELinks processes can now run an external editor. This used to work in the master process only. * major bug 722: Filter CSS according to media types. New option document.css.media. * bug 638: Propagate the existence of $DISPLAY from slave terminals to mailcap test commands. * bugs 762, 1082: Small memory leak in goto_current_link/goto_imgmap * bug 963: New option document.css.ignore_display_none. * bug 977: Fixed crash when opening in new tab a non link with onclick attribute. * bug 1008: File upload fields in HTML forms now stream the files to the server, instead of reading them to memory in advance. This lets you upload larger files. The downsides are that ELinks may use a cached response even if you have modified a file between requests, and that ELinks can send inconsistent data if you modify a file while it is being uploaded. * bug 1054: Don't abort downloads when closing the terminal from which they were started. When such a download ends, display the message in the most recently used terminal. If the user chooses ``Background and Notify'' via the download manager in some terminal, reassociate the download with that terminal. These changes do not apply to downloads to external handlers. * Really retry forever when connection.retries = 0. * enhancement: Session-specific options. Any options changed with toggle-* actions no longer affect other tabs or other terminals. * Do not crash when document.browse.minimum_refresh_time = 0 and a document has a meta refresh with a delay of 0. * Properly update link highlighting and status bar information when the repeat prefix is changed. * Handle SSL rehandshakes * Fix compatibility with Ruby >= 1.9 * enhancement 15: Domain-specific options. Use set_domain in elinks.conf to e.g. disable cookies for google.com. The option manager window does not yet support this. * enhancement 867: Use bracketed paste mode on xterm. This requires xterm patch #228 or later configured with --enable-readline-mouse. * enhancement 824: Experimental support for combining characters. See features.conf for details. * enhancement: Add a new entry Link Info under Link main menu. * enhancement: Indicate backgrounded downloads using an unused led. * enhancement: Display the number of ECMAScript interpreters that have been allocated for documents in the Resources dialog. * Fedora enhancement 346861: Add support for nss_compat_ossl library (OpenSSL replacement). * enhancement: ``elinks --dump'' uses box-drawing characters if supported by the charset. * enhancement 1070: Support 256 colors on fbterm-1.4. * enhancement 1075: Scrolling the entire contents of dialog boxes. Especially useful for multi-file BitTorrent downloads. * Report if the Lua function edit_bookmark_dialog receives the wrong number or types of arguments instead of silently failing. * enhancement: Add ``Invalidate'' button to the cache manager. * enhancement: Add ``Search contents'' button to the cache manager with which one can search through the cache items' data rather than their metadata. * enhancement: Add rudimentary support for the HTML5 media elements, <video> and <audio>. * enhancement: Add move-half-page-up and move-half-page-down actions. * enhancement: Add option to change overlap for vertical scrolling. * enhancement: HTML meta refresh allows semicolons in URLs, and the syntax is more like in Firefox. * link against lua51 not lua50 * SpiderMonkey must be mozjs-17.0. This version is latest with C API. Find it with pkg-config. * using iconv for some multibyte charsets. It works if the terminal codepage is UTF-8. More charsets will be added on demand. * enhancement: support SSL client certificate * python scripting is Python3 only * brotli and zstd encodings * possibility to make use of libevent instead of select for event loop * terminfo queries for output (not input) as compilation option
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/elinks | 3 + lfs/elinks | 19 ++---- src/patches/elinks-0.11.0-ssl-noegd.patch | 21 ------ src/patches/elinks-0.12pre6-openssl11.patch | 73 --------------------- 4 files changed, 7 insertions(+), 109 deletions(-) delete mode 100644 src/patches/elinks-0.11.0-ssl-noegd.patch delete mode 100644 src/patches/elinks-0.12pre6-openssl11.patch
diff --git a/config/rootfiles/common/elinks b/config/rootfiles/common/elinks index a29fe8e33..be30d1cde 100644 --- a/config/rootfiles/common/elinks +++ b/config/rootfiles/common/elinks @@ -59,6 +59,9 @@ usr/local/share/locale/de/LC_MESSAGES/elinks.mo #usr/local/share/locale/it #usr/local/share/locale/it/LC_MESSAGES #usr/local/share/locale/it/LC_MESSAGES/elinks.mo +#usr/local/share/locale/ja +#usr/local/share/locale/ja/LC_MESSAGES +#usr/local/share/locale/ja/LC_MESSAGES/elinks.mo #usr/local/share/locale/locale.alias #usr/local/share/locale/lt #usr/local/share/locale/lt/LC_MESSAGES diff --git a/lfs/elinks b/lfs/elinks index 24ade5625..d2867c1c6 100644 --- a/lfs/elinks +++ b/lfs/elinks @@ -26,19 +26,13 @@ include Config
SUMMARY = An advanced and well-established feature-rich text mode web browser
-VER = 0.12pre6 +VER = 0.15.1
THISAPP = elinks-$(VER) -DL_FILE = $(THISAPP).tar.bz2 +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = elinks -PAK_VER = 2 - -DEPS = - -SERVICES =
############################################################################### # Top-level Rules @@ -48,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 3d91c2a4b03cf77a2a86131cfb5339a40c6e89c8aaab7293d5b7f6861f0b7647b1951f2bc15814e342c926a154707162a7814981cdc729329dfb04627133f3bf +$(DL_FILE)_BLAKE2 = dcec7054d417842e709f26bab53ddb1bf43556de4c69d116ad1e049664bc7c5a5513f02cee500d591252b439a66f354079e2e3eff5692202102cb900e06340c2
install : $(TARGET)
@@ -71,18 +65,13 @@ $(patsubst %,$(DIR_DL)/%,$(objects)) : $(subst %,%_BLAKE2,$(objects)) : @$(B2SUM)
-dist: - @$(PAK) - ############################################################################### # Installation Details ###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/elinks-0.12pre6-openssl11.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/elinks-0.11.0-ssl-noegd.patch + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) $(UPDATE_AUTOMAKE) cd $(DIR_APP) && ./configure cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) diff --git a/src/patches/elinks-0.11.0-ssl-noegd.patch b/src/patches/elinks-0.11.0-ssl-noegd.patch deleted file mode 100644 index 581873461..000000000 --- a/src/patches/elinks-0.11.0-ssl-noegd.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- elinks-0.11.0/src/network/ssl/ssl.c.noegd 2006-01-10 09:24:50.000000000 +0100 -+++ elinks-0.11.0/src/network/ssl/ssl.c 2006-01-10 09:25:01.000000000 +0100 -@@ -44,18 +44,6 @@ SSL_CTX *context = NULL; - static void - init_openssl(struct module *module) - { -- unsigned char f_randfile[PATH_MAX]; -- -- /* In a nutshell, on OS's without a /dev/urandom, the OpenSSL library -- * cannot initialize the PRNG and so every attempt to use SSL fails. -- * It's actually an OpenSSL FAQ, and according to them, it's up to the -- * application coders to seed the RNG. -- William Yodlowsky */ -- if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) { -- /* Not an EGD, so read and write to it */ -- if (RAND_load_file(f_randfile, -1)) -- RAND_write_file(f_randfile); -- } -- - SSLeay_add_ssl_algorithms(); - context = SSL_CTX_new(SSLv23_client_method()); - SSL_CTX_set_options(context, SSL_OP_ALL); diff --git a/src/patches/elinks-0.12pre6-openssl11.patch b/src/patches/elinks-0.12pre6-openssl11.patch deleted file mode 100644 index 210af635e..000000000 --- a/src/patches/elinks-0.12pre6-openssl11.patch +++ /dev/null @@ -1,73 +0,0 @@ -From d83c0edf4c6ae42359ff856d7a879ecba5769595 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka kdudka@redhat.com -Date: Fri, 17 Feb 2017 16:51:41 +0100 -Subject: [PATCH 1/2] fix compatibility with OpenSSL 1.1 - ---- - src/network/ssl/socket.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c -index c9e2be4..467fc48 100644 ---- a/src/network/ssl/socket.c -+++ b/src/network/ssl/socket.c -@@ -83,7 +83,7 @@ static void - ssl_set_no_tls(struct socket *socket) - { - #ifdef CONFIG_OPENSSL -- ((ssl_t *) socket->ssl)->options |= SSL_OP_NO_TLSv1; -+ SSL_set_options((ssl_t *) socket->ssl, SSL_OP_NO_TLSv1); - #elif defined(CONFIG_GNUTLS) - { - /* GnuTLS does not support SSLv2 because it is "insecure". -@@ -419,7 +419,7 @@ ssl_connect(struct socket *socket) - } - - if (client_cert) { -- SSL_CTX *ctx = ((SSL *) socket->ssl)->ctx; -+ SSL_CTX *ctx = SSL_get_SSL_CTX((SSL *) socket->ssl); - - SSL_CTX_use_certificate_chain_file(ctx, client_cert); - SSL_CTX_use_PrivateKey_file(ctx, client_cert, --- -2.7.4 - - -From ec952cc5b79973bee73fcfc813159d40c22b7228 Mon Sep 17 00:00:00 2001 -From: Tomas Mraz tmraz@fedoraproject.org -Date: Fri, 17 Feb 2017 16:44:11 +0100 -Subject: [PATCH 2/2] drop disablement of TLS1.0 on second attempt to connect - -It would not work correctly anyway and the code does not build -with OpenSSL-1.1.0. ---- - src/network/ssl/socket.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c -index 467fc48..b981c1e 100644 ---- a/src/network/ssl/socket.c -+++ b/src/network/ssl/socket.c -@@ -82,6 +82,11 @@ - static void - ssl_set_no_tls(struct socket *socket) - { -+#if 0 -+/* This implements the insecure renegotiation, which should not be used. -+ * The code also would not work on current Fedora (>= Fedora 23) anyway, -+ * because it would just switch off TLS 1.0 keeping TLS 1.1 and 1.2 enabled. -+ */ - #ifdef CONFIG_OPENSSL - SSL_set_options((ssl_t *) socket->ssl, SSL_OP_NO_TLSv1); - #elif defined(CONFIG_GNUTLS) -@@ -96,6 +101,7 @@ ssl_set_no_tls(struct socket *socket) - gnutls_protocol_set_priority(*(ssl_t *) socket->ssl, protocol_priority); - } - #endif -+#endif - } - - #ifdef USE_OPENSSL --- -2.7.4 -