Commit Graph

1027 Commits

Author SHA1 Message Date
Vincent Sanders
e582497322 if the cookie is a session cookie indicate it
previously session cookies were simply displayed as having an expiry
in 1970 which was unhelpful.
2016-09-13 23:17:28 +01:00
Vincent Sanders
a91c7cdf04 make urldb parsing of ascii data explicit 2016-09-10 23:05:24 +01:00
Vincent Sanders
fa1af79e7c document file fetcher being locale dependant 2016-09-10 23:05:24 +01:00
Michael Drake
91d6215215 Duktape: Prevent clang static analysis.
Restore 336326af3a for 1.5.1 import.
2016-08-31 18:58:13 +01:00
Michael Drake
a64f8eb8a0 Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 1.5.1 import.
2016-08-31 18:58:13 +01:00
Michael Drake
9800c5f298 Duktape: Update to version 1.5.1.
Version 1.5.1 includes some of our own fixes, reducing our delta
to upstream.

These should not be needed now:

    - 2cbb337756
      Squash harmless Clang warning introduced in Duktape 1.5.0.
    - 8f8cda2b48
      Fix Duktape on AmigaOS3 (thanks to Tygre and Sami)
2016-08-31 18:54:35 +01:00
Chris Young
8f8cda2b48 Fix Duktape on AmigaOS3 (thanks to Tygre and Sami) 2016-08-27 18:51:17 +01:00
Sergei Rogachev
a815ad6250 Fix longjmp to invalid address on jpeg init error
Libjpeg used in NetSurf for decoding of JPEG images handles exceptions using a
pair of non-local jump functions: setjmp() and longjmp(). When a decompression
context is created via a call to the function jpeg_create_decompress() the
caller passes a structure jpeg_decompress_struct as a parameter. This structure
should has a validly initialized jump buffer, so the initialization or other
functions called in future can jump to the exception handling context.

The jpeg backend of NetSurf now initializes libjpeg mistakenly: jump buffer is
filled after the call to jpeg_create_decompress(). It results in jump to random
addresses in the case of exception caught during operation of the function
jpeg_create_decompress().

The patch moves the initialization of jump buffer before the call to
jpeg_create_decompress().

Signed-off-by: Sergei Rogachev <rogachevsergei@gmail.com>
2016-08-14 22:37:12 +01:00
Vincent Sanders
59b108498a fix bitmap modification callback calling for bmp image handler
bitmap file decoding is done at first call to redraw but was not
calling the modified callback at the correct time immediately after
decode so frontend image chnages were not being done. This caused
nsgtk to fail to apply its colour space fixups so red was swapped with
blue.
2016-08-14 22:26:37 +01:00
Michael Drake
fe00eac8cb Buildsystem: Make curl/openssl usage build-time options. 2016-08-13 13:31:07 +01:00
Vincent Sanders
9176d3233f ensure url database destructor cleans up correctly 2016-08-09 13:15:02 +01:00
Vincent Sanders
115985f069 extend url database unit testing to cover more API 2016-08-09 12:26:37 +01:00
Vincent Sanders
c1aec1cfa0 fix urldb warning and test build 2016-08-08 13:52:54 +01:00
Vincent Sanders
05d2b9a92c update urldb dump to use LOG rather than writing to stderr directly 2016-08-08 13:44:18 +01:00
Vincent Sanders
b939afe3fc Allow certificate verification user prompt creation to return errors 2016-07-31 13:25:20 +01:00
Michael Drake
fa2e3b7784 URL unescape: return the new length to the caller.
The avoids situations were we threw away the length, only for
the caller to have to strlen the returned string.

Note, there seems to be a case of the amiga front end writing
beyond end of allocation.  Added a TODO for now.
2016-07-24 14:03:16 +01:00
Michael Drake
7202ff2f64 Data URL handling: Use url_unescape rather than curl. 2016-07-24 12:23:42 +01:00
Michael Drake
f9870c41f5 Whitespace: Convert spaces to tab for indent. 2016-07-24 12:07:31 +01:00
Daniel Silverstone
c523bb47a0 Actually use utils/inet.h instead of sys/select.h 2016-06-27 21:58:09 +01:00
Daniel Silverstone
be1ff548cb fetch.h needs sys/select.h for the fd_set type et al. 2016-06-27 21:50:54 +01:00
Daniel Silverstone
47ccd9855d Move fetcher_fdset to fetch.h (and rename to fetch_fdset). Maybe not ideal but better 2016-06-27 21:09:39 +01:00
Daniel Silverstone
a468b40990 Refactor the fdset acquisition into the fetchers to stop fetch.c including curl.h 2016-06-27 21:00:58 +01:00
Vincent Sanders
ab6c03f311 Fix handling of certificate chains
When processing a x509 certificate chain from openssl it is necessary
to allow teh entire chain to be processed rather than halting
processing at the first certificate with an error. This allows errors
with a certificate authority to be examined.
2016-06-27 13:39:07 +01:00
Vincent Sanders
976eca9958 msplit public url database API out for frontends 2016-06-13 23:34:45 +01:00
Vincent Sanders
042fcb82b8 Move javascript content handler as appropriate for updated source format 2016-06-07 16:01:04 +01:00
Vincent Sanders
0fad46cd0f reduce unecessary usage of content headers 2016-06-06 16:10:47 +01:00
Vincent Sanders
8861923455 Allow include directories to be added by sub makefiles 2016-06-06 14:47:27 +01:00
Vincent Sanders
cf73e369ef fixup rsvg image handler for content API changes 2016-06-06 09:16:47 +01:00
Vincent Sanders
76a68d7dd0 Update content to split public and internal API 2016-06-06 09:01:38 +01:00
Vincent Sanders
667605869f move plotters header into public API 2016-05-30 21:05:57 +01:00
Vincent Sanders
7fc0a4c481 move desktop window header into public API 2016-05-30 17:32:57 +01:00
Vincent Sanders
8711fbe47d move mouse and pointer state header into public API 2016-05-30 12:10:08 +01:00
Vincent Sanders
527756cca0 move fetch header into public API 2016-05-30 11:29:39 +01:00
Vincent Sanders
fe7eb85614 move misc header into public API 2016-05-30 11:23:32 +01:00
Vincent Sanders
2dab078f21 move bitmap API header to core include directory 2016-05-26 23:01:03 +01:00
Vincent Sanders
6722943b81 move the CSS content handler 2016-05-26 11:18:41 +01:00
Vincent Sanders
3224d7121a move image content handlers to accomodate core build changes 2016-05-23 23:32:16 +01:00
Vincent Sanders
6a36d4ec2b remove all core usage of warn_user API 2016-04-26 12:50:16 +01:00
Vincent Sanders
974a4a21e1 split out the layout glyph sizing and splitting API
This refactors the core "font" sizing API to be handled through gui
 function tables similar to every other core/frontend calling API.
2016-04-23 23:32:21 +01:00
Vincent Sanders
2bb68cb874 need strings.h for strncasecmp on freebsd 2016-04-21 23:04:00 +01:00
Vincent Sanders
7d9c9dba36 Split utils header into string functions and everything else
split out the string handling API from the rest of the utils header
and fix up all the fallout.
2016-04-21 22:36:21 +01:00
Vincent Sanders
10ef7b3f1d update content wallclock timing to use monotonic time interface 2016-04-20 22:58:48 +01:00
Vincent Sanders
a6dd92c571 use monotonic clock call for html reflow timing 2016-04-20 19:18:15 +01:00
Vincent Sanders
dee7426656 stop content header dragging in so many other headers 2016-04-19 23:20:29 +01:00
Vincent Sanders
798654f910 remove curl fetchers use of the wallclock API
The wallclock() API uses gettimeofday which can be affected by the the
systems clock being changed etc. The curl fetcher usage of this API is
to generate a timing delta and does not cope with the gettimeofday
issues.

This changes the fetcher to use the nsutils library monotonic time
function which does not suffer from the issues with gettimeofday.
2016-04-19 14:18:09 +01:00
Vincent Sanders
afea659fef move dir_sort_alpha function from generic utils to one specific place it is used 2016-04-19 12:01:05 +01:00
Vincent Sanders
1bc010665e Reduce unecessary use of directory entry headers
The config header was causing many source files to unecessarily
include the dirent headers causing extra dependancies. This has been
fixed by providing a utility dirent header that provides a common API
across all platforms while removing the unecessary dirent header usage.
2016-04-19 11:21:06 +01:00
Vincent Sanders
392307bb1f reduce content header interdependancy 2016-04-18 23:04:16 +01:00
Vincent Sanders
34f6aa1323 clean up header usage in content hnadling core 2016-04-18 20:58:49 +01:00
Vincent Sanders
ade0cd8bb9 Reduce unecessary use of networking headers
The utility configuration header dragged in a number of bsd sockets
and related API as a side effect of setting up the configuration. By
splitting the header and API setup into a separate header only the
small number of places that need the functionality explitly include
it.
2016-04-17 13:42:28 +01:00