FS#54208 - [dillo] browser won't display secure web pages (https://)

Attached to Project: Community Packages
Opened by bubba (pigiron) - Saturday, 27 May 2017, 22:17 GMT
Last edited by Sergej Pupykin (sergej) - Wednesday, 31 May 2017, 11:40 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: community/dillo 3.0.5-4 will not display a secure web page (https://) because it wasn't compiled with openssl-1.0 support. When you attempt to go to a secure web page, Dillo itself displays an error message saying that it wasn't compiled with SSL support so it can't show the web page.

I performed a "git pull" on the latest Community packages and compiled Dillo myself and got the same results. But the "config.log" file contained the following:

----
configure:6005: checking for SSL_library_init in -lssl
configure:6030: gcc -o conftest -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I/usr/local/include -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib conftest.c -lssl -lcrypto >&5
/tmp/ccmiiDGU.o: In function `main':
conftest.c:(.text.startup+0x7): undefined reference to `SSL_library_init'
collect2: error: ld returned 1 exit status
[snip]
configure:6055: WARNING: *** No libssl found. Disabling ssl support.***
-----

The Dillo web browser does not yet support OpenSSL version 1.1 and the compile was defaulting to that version, hence the failure.

I modified the following lines in PKGBUILD to force a build against OpenSSL 1.0:

-----
depends=('fltk' 'libjpeg' 'perl' 'openssl-1.0' 'libpng' 'gcc-libs' 'libxcursor'
'libxi' 'libxinerama')

CFLAGS="-I/usr/include/openssl-1.0" LDFLAGS="-L/usr/lib/openssl-1.0" \
./configure --prefix=/usr --sysconfdir=/etc --enable-cookies --enable-dlgui \
--enable-ssl
-----

then recompiled, and this build now displays secure web pages, and the /usr/lib/dillo/dpi/https/https.filter.dpi file is now linked to OpenSSL:

$ ldd https.filter.dpi
linux-vdso.so.1 (0x00007ffe0b90e000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007f45d2faa000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007f45d2d3c000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f45d2998000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f45d2794000)
/lib64/ld-linux-x86-64.so.2 (0x00007f45d341b000)

So now the wait begins for OpenSSL 1.1 upstream support in Dillo, but it might be a long wait.


Additional info:
* package version(s): 3.0.5-4
* config and/or log files etc.: Nothing special


Steps to reproduce: "dillo https://bugs.archlinux.org"
This task depends upon

Closed by  Sergej Pupykin (sergej)
Wednesday, 31 May 2017, 11:40 GMT
Reason for closing:  Fixed
Comment by Sergej Pupykin (sergej) - Monday, 29 May 2017, 10:06 GMT
I can reproduce this bug but cannot reproduce solution. After recompilation against openssl-1.0 it just waits forever on https pages.
Comment by bubba (pigiron) - Monday, 29 May 2017, 15:32 GMT
That's strange. I uninstalled dillo, repeated my steps as described above on community/dillo/trunk/PKGBUILD, did a "pacman -U dillo-3.0.5-4-x86_64.pkg.tar.xz", and it works. Are you sure the web site wasn't down? Do non-secure web pages (http://) work?

Also, be aware that when Dillo is started it fires up "dpid" daemon(s) that don't immediately die when Dillo is closed, so run "dpidc stop" to kill it/them after making changes.

I went through my Dillo configuration files (which have almost no customization) and the only thing I can find that's even remotely relevant to this is:

mkdir ~/.dillo
cp /etc/dillo/dillorc ~/.dillo/
Edit ~/dillo/dillorc to uncomment the following line:
http_user_agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"

But I doubt that's going to make much of a difference. The *only* other customization I have in that file is the "geometry" attribute.
Comment by Sergej Pupykin (sergej) - Wednesday, 31 May 2017, 11:40 GMT
It looks like it was problem on my machine, dillo-3.0.5-5 should work now.

Loading...