This patch refreshes the openssl port and makes it build the utilities
in apps/, e.g. the openssl utility.
Now you can do this from Serenity:
$ openssl s_client -connect example.org:443
...
GET / HTTP/1.1
Host: example.org
<HTTP response here>
The download URL was bit-rotten and needed a fix.
Prior to this, we ran the DHCP client as a high-priority service, but
making the system feel laggy "for some network stuff" is not the
greatest of ideas :^)
Our C++ code generator tools have been relying on host-side dbg() being
forwarded to stdout until now. Now they use out() instead.
Hopefully this will make it easier and more enticing to use streams in
userspace programs as well. :^)
Major changes are:
The layout and mouse handling has been rewritten to always center
images in the window.
QuickShow now accepts multiple images on drag and drop. The first
image gets opened in the current window, further images are opened in
new processes.
QSWidget now loads images on its own with QSWidget::load_from_file().
An on_drop callback has been introduced for QSWidget.
Added an open menu.
Added an about box and placeholder icons to the application.
QuickShow now starts without loading the sunset-retro wallpaper.
AK::Bitmap is extended with find_next_range_of_unset_bits().
The function is implemented using count_trailing_zeroes_32(), which is
optimized on many platforms, that gives a huge performance boost.
Functions find_longest_range_of_unset_bits() and find_first_fit() are
implemented with find_next_range_of_unset_bits(). According to
benchmarks, they are 60-100% faster.
Introduce a central assert implementation so that the LibJS test suite
can take advantage of one implementation instead of copy/pasting the
same function into every test case file.
Adding the ability to turn on Clang analyzer support in the Lagom build.
Right now the following are working warning free on the LibJS test suite:
-DENABLE_MEMORY_SANITIZER:BOOL=ON
-DENABLE_ADDRESS_SANITIZER:BOOL=ON
The following analyzer produces errors when running the LibJS test suite:
-DENABLE_UNDEFINED_SANITIZER:BOOL=ON
While debugging test failures, it's pretty frustrating to have to go do
printf debugging to figure out what test is failing right now. While
watching your JS Raytracer stream it seemed like this was pretty
furstrating as well. So I wanted to start working on improving the
diagnostics here.
In the future I hope we can eventually be able to plumb the info down
to the Error classes so any thrown exceptions will contain enough
metadata to know where they came from.