Commit Graph

954 Commits

Author SHA1 Message Date
Michael Drake 90a260a2cc Doxygen: Fix instance of bad function comment syntax. 2016-07-24 12:21:23 +01:00
Vincent Sanders c313524998 reduce curl usage to fetcher, url unescaping and time parsing 2016-06-29 23:06:53 +01:00
Vincent Sanders aa5090c85b move utf8 header into public API 2016-05-30 11:20:15 +01:00
Vincent Sanders 5061687867 store toolbar config in standard options instead of a separate file 2016-05-21 12:17:49 +01:00
Vincent Sanders e181a7fcf2 Fix several doxygen errors 2016-05-05 22:41:03 +01:00
Vincent Sanders 6da3b3102c remove unused warn_user API 2016-05-02 16:09:28 +01:00
Vincent Sanders 7b28db6249 message get API should not raise user errors itself 2016-04-29 09:41:10 +01:00
Vincent Sanders bf3ee089cb use the miscellaneous table warning entry
change all the frontends to provide the warning callback in the
miscelaneous table instead of using the warn_user function.

Changing all the warn_user callsites still requires completion.
2016-04-25 23:11:55 +01:00
Vincent Sanders a828150d9c for strtof to be redefined on haiku stdlib must be included beforehand 2016-04-21 23:56:16 +01:00
Vincent Sanders 04841668f0 attempt to fix haiku headers 2016-04-21 23:37:35 +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 3488e337b6 remove unused wallclock API 2016-04-21 14:34:36 +01:00
Vincent Sanders f33d9dcc8c cleanup unneeded includes in utils.h after API simplification 2016-04-20 23:56:29 +01:00
Vincent Sanders dd31499bf9 move remove underscores utility to alongside the single gtk call site 2016-04-20 23:38:08 +01:00
Vincent Sanders 7ba291037b move regex helper to be with teh single remaining call site 2016-04-20 23:33:31 +01:00
Vincent Sanders d29bccdb3a add missing explicit dirent includes 2016-04-19 15:56:57 +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 4f38963337 move time function to apropriate header 2016-04-19 10:36:35 +01:00
Vincent Sanders 836ea5679e move sys/time.h support functionality out of generic header
The utils header is a large collection of functionality for several
system headers and API. This splits out the ones from sys/time.h into
a separate header reducing the need for many unconnected source files
to include the system header unecessarily.
2016-04-19 09:16:09 +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
Vincent Sanders 0bc5d2ca4c create date and time to seconds since epoch processing utility function
currently NetSurf uses curl_getdate to convert textural date and time
strings into seconds since epoch. It is betetr to move this
functionality to a utility function so curl_getdate can easily be
replaced if required.
2016-04-16 23:50:22 +01:00
Vincent Sanders d15ab96a51 Fix size_t printf formatting
The printf formatting for size_t is set in c99 as %zu but in windows
it is %Iu this is solved by adding and inttypes style PRI macro for size_t

This also uses this macro everywhere size_t is formatted.
2016-03-17 22:00:54 +00:00
Vincent Sanders 1d7b305db9 fixup nsurl handling to avoid locale specific character type implementation 2016-03-14 13:01:06 +00:00
Vincent Sanders 5e604235e4 Initial pass removing gtk frontend theme code 2016-03-08 15:45:28 +00:00
Michael Drake ebfcc6d9a9 Add script for setting files to git last touched date.
This may help with whatever issue is causing a problem with RISC OS
!Boot and !System distributions.

From the base of the netsurf repo, you can run it like this:

  $ ./utils/git-date.sh riscos/distribution/
2016-02-19 15:25:06 +00:00
Vincent Sanders 8915a49b3f setup flags for building monkey on RISC OS 2016-02-15 15:16:23 +00:00
Vincent Sanders eaed6b1dda Use compiler environment to control riscos header usage
Instead of relying on building the RISC OS frontend to determine correct
include compatability use the compiler __riscos__ macro.
2016-02-15 15:00:57 +00:00
Michael Drake d39531ff55 Ensure fetch attempts is not reduced to less than 1. 2016-02-15 11:06:37 +00:00
Michael Drake c207216fa2 Fix constraints on curl_fetch_timeout option.
5 <= n <= 60 seconds.
2016-02-15 09:55:57 +00:00
Vincent Sanders 157f05bc61 enable monkey to be built everywhere it is completely generic now 2016-02-12 14:16:31 +00:00
Vincent Sanders 90f65814c6 fix coverity build generated tar handling 2016-02-11 12:01:41 +00:00
Vincent Sanders d0334c35e9 fix coverity submission for netsurf 2016-02-09 11:32:21 +00:00
Vincent Sanders 9610dbd210 remove possible null dereference on allocation faliure
fix null dereference is calloc fails. coverity 1316339
2016-02-09 10:31:46 +00:00
Vincent Sanders 1de182a349 ensure mac os x path is correct 2016-02-07 22:10:35 +00:00
Vincent Sanders bfbd838395 update jenkins build script for yosemite 2016-02-07 21:59:28 +00:00
Vincent Sanders 94b913e5b3 update for aarch64 2016-02-01 16:27:58 +00:00
Vincent Sanders 6847fad653 remove javascript build option from jenkins script 2016-01-25 16:10:42 +00:00
Vincent Sanders 65bdef55ab move the container code to gtk directory as its only ever used there. 2016-01-19 15:10:29 +00:00
Michael Drake fcaf43ddcc Add 'mailto' lwc corestring. 2016-01-08 17:16:42 +00:00
Vincent Sanders 74fdde2b57 remove necessity for header change in libutf8proc
The combining character class definition was put in the libutf8proc
header instead of being local to the IDNA implementation.
2016-01-03 16:07:40 +00:00
Chris Young b962d3db82 Revert "Skip invalid commandline args instead of aborting"
This reverts commit 4ad94124a6.
2015-11-27 12:32:13 +00:00
Chris Young 4ad94124a6 Skip invalid commandline args instead of aborting 2015-11-24 23:55:40 +00:00
Daniel Silverstone b42a910ed9 Ensure that those events listed in 8.1.5.2 as forwarded from body to window, don't get registered for listeners on body 2015-11-22 14:50:35 +00:00
Daniel Silverstone 4d1ef3bac4 Add support for retrying timed-out cURL fetches.
This is an attempt to amelioriate the situation found in #2384 where
we see the cURL connect() failing to complete.  Based on the pcap
from the bug log, we believe that RISC OS is likely failing to signal
the completion of the connection to cURL.  As such, cURL times out.

This change permits retries of timed out connections in the hope that
a fresh socket FD might subsequently function correctly.  The defaults
chosen mean that the previous behaviour of 30 seconds before timeout
is reported will remain the same, but in that time we will make 3 separate
attempts to connect the socket.
2015-11-10 21:51:54 +00:00
Vincent Sanders c3b7e650c5 Fix segmentation fault when a string option is set to NULL
The check for a user option being a default value was not protecting
against the value being set to NULL.
2015-11-05 14:47:45 +00:00
Michael Drake b1533a7f76 Stop utf8 conversion leaking its strings. 2015-10-31 13:44:14 +00:00
Michael Drake 67cbdf6bef Don't fail on URLs with no host. 2015-10-31 13:44:14 +00:00
Michael Drake 25cd49034c Style guide adherence. 2015-10-31 13:44:06 +00:00
Michael Drake 1bb7d295bb Make nsurl utf8 string conversion function consistent with nsurl API. 2015-10-25 09:03:20 +00:00
Chris Young 27adf07fb7 Update gtk frontend to new API 2015-10-24 15:12:57 +01:00
Chris Young 65b510fbc3 Rework IDN URL retrieval to return an nserror 2015-10-24 15:12:57 +01:00
Chris Young 5206518a75 Add URL fragment 2015-10-24 15:12:57 +01:00
Chris Young 920cb0571d Check we've obtained the host string 2015-10-24 15:12:56 +01:00
Chris Young 6afda499c2 Show the IDN decoded form in the URL bar on GTK if the option is set. 2015-10-24 15:12:56 +01:00
Chris Young 5f5ca2c205 Add a function to retrieve the decoded version of IDNA URLs 2015-10-24 15:12:56 +01:00
Adrien Destugues 2071c2a91b Fix BeOS build
Mainly C/C++ conflicts:
* Designated initializer are not part of C++
* C++ already defines min() and max()
* Force C99 and remove -O0 since we now use a decent compiler
2015-10-12 21:08:25 +01:00
Vincent Sanders b50ee13100 Fix checking of distcc 2015-08-12 15:05:28 +01:00
Vincent Sanders fd21e488e0 Add support for builders with distcc installed 2015-08-12 14:50:54 +01:00
Vincent Sanders 7e9fcada3b Fixup jenkins build scripts to cope with duktape for javascript 2015-08-09 12:46:35 +01:00
Daniel Silverstone a4455f79ce Add support for BODY, HEAD, html namespaces and keying of html content data 2015-08-09 11:58:42 +01:00
Adrien Destugues 989bc6e190 Fix build on 64-bit Haiku
- Fix path to look for libnetwork to work also on non-hybrid systems
- Remove references to /boot/common as it is not used anymore
- Fix a few type errors
- Use compiler provided va_copy when available
2015-07-14 09:12:44 +01:00
Vincent Sanders f24b4b94bc Update jenkins build script to cope with arm linux builds 2015-07-13 13:31:28 +01:00
Vincent Sanders 82beca0432 Complete hash table tests and clean up ineterface. 2015-07-12 17:28:03 +01:00
Vincent Sanders 94b5c95676 Add unit test for bloom filter
Adds check based unit test for teh bloom filter implementation. This
is based on Roberts original test code in utils/bloom.c and uses
/usr/share/dict as a source of strings to check bloom creation, no
false negatives and the false positive rate is below 15%.
2015-07-10 10:48:26 +01:00
Vincent Sanders 7b2d15a036 Add tests for all asserts in nsurl API and for access and access_leaf 2015-07-09 23:29:44 +01:00
Vincent Sanders 5b09363597 Add asserts to ensure operations not passed bad pointers 2015-07-09 17:44:51 +01:00
Michael Drake cd1949bc96 Improve component documentation. 2015-07-09 17:24:03 +01:00
Michael Drake 433f47641e Fix mention of nsurl_destroy. 2015-07-09 15:02:51 +01:00
Vincent Sanders 8e26870e15 Fix logging to stderr if verbose_log was set before nslog_init was called 2015-07-05 00:51:29 +01:00
Vincent Sanders ccac301176 Fix a signed comparison error in nsurl parsing.
In utils/nsurl.c the function nsurl__create_from_section() has a
section dealing with non-redundant ports (starting line 973).

lwc_intern_string() was being called with negative lengths and as it
takes a size_t (unsigned) so is getting passed a very large length
which causes a segfault.

this is supposed to be protected by the flag setting on line 969
however the arithmetic is all *unsigned* so the condition never
matches

(gdb) p length - (colon - pegs->at + skip)
$9 = 18446744073709551608

changing the check arithmetic to be a simple comparison against length
prevents this issue and reduces the amount of computation required.
2015-07-04 09:36:46 +01:00
Vincent Sanders a94ae7a80a Allow translation messages to be compiled in as GTK resources 2015-06-21 23:27:22 +01:00
Vincent Sanders 67ded2a02a This moves message loading out of netsurf_init into each frontend
The translated message loading is dependant on configuration of
resource location in each frontend, additionally they should have the
ability to deal with errors in this loading in a implementation
specific manner.

This also extends the message loading API to be capable of loading
from an inline memory buffer instead of from a file.
2015-06-21 23:27:22 +01:00
Vincent Sanders 335bbe4f52 Move the browser identification and machine info logging.
Previously this information was logged when netsurf_init was called
which might be many lines out output into the log.

It is useful to have this information at the beginning of the log to
make it easily found. In addition it makes netsurf_init less complex.
2015-06-21 23:27:21 +01:00
Vincent Sanders 25d7f0c657 use logfile as variable name as cocoa gives an error about the symbol type of logf 2015-05-29 16:32:12 +01:00
Vincent Sanders faf9b9d919 Improve logging interface to reduce overhead
This reduces logging overhead by only calling the log output function
once instead of three times.

Additionally the nslog_gettime interface no longer needs to be
exported and the static function is directly inlined further reducing
function call overhead.

Finally the appending of a newline uses fputc instead of a full printf
call which is considerably more simple and further reduces overhead
time.
2015-05-29 16:18:18 +01:00
Vincent Sanders 4324bf535f Allow verbose logging to be directed to a file 2015-05-29 16:14:42 +01:00
Vincent Sanders 0d811963c1 fixup all the remaining logging macro callsites
The semantic patch tool appears to have missed some difficult to
reason about callsites which have now been manually cleaned up
2015-05-28 17:06:18 +01:00
Vincent Sanders c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders 2092ab252f utility to translate public suffix data into a c code 2015-05-06 23:45:48 +01:00
Vincent Sanders 408e818cbe Update posix source version on monkey frontend to reflect oyr usage of scandir 2015-05-03 14:46:29 +01:00
Vincent Sanders 47d08b6506 Revert "Fix RISC OS not having a pread/pwrite implementation."
This reverts commit 82c7a7a4ba.

Conflicts:
	content/fs_backing_store.c
2015-04-02 16:37:04 +01:00
Vincent Sanders 82c7a7a4ba Fix RISC OS not having a pread/pwrite implementation. 2015-03-31 22:41:37 +01:00
Michael Drake 78663e9111 Remove fragment from nsurl hash. 2015-03-27 11:58:52 +00:00
Vincent Sanders a487f7e611 Move win32 window operations into their own module
This splits up a great deal of the win32 window code out from other
gui code. It also remove large quantities of unused and junk
variables and functions.
2015-03-12 23:48:53 +00:00
Michael Drake 7247f48d2f Remove unused #include. 2015-03-05 20:17:42 +00:00
Michael Drake ac636100e8 Remove include of nsurl from corestrings.h 2015-02-26 16:58:41 +00:00
Michael Drake 30909f8ed5 Move FILE_SCHEME_PREFIX to corestrings. 2015-02-26 16:14:23 +00:00
Vincent Sanders d61444e703 add missing errno include 2015-01-30 17:13:35 +00:00
Vincent Sanders 791a45141d Updated time_t fallback reading to not fail if the value is 0
The non strptime fallback reading of time_t values would report
faliure if the value it read was 0 which is a valid time. This fixes
this path to only fail if there was an actual error processing the
value.
2015-01-30 17:04:34 +00:00
Chris Young 989a5da334 Cast timeval.usec calculations to int as AmigaOS3 has some conflicting headers which means it can be treated as an unsigned value.
This ensures the log time is always correct.
2015-01-19 19:15:48 +00:00
Vincent Sanders 2d58f8360e jenkins helper script quoting in shell wilidcard case was wrong 2014-12-21 14:15:58 +00:00
Vincent Sanders 3f331a701a add freebsd to jenkins build script for gtk, framebuffer and monkey 2014-12-21 13:59:39 +00:00
Vincent Sanders 8e60d32831 remove some warnings from freebsd build 2014-12-21 02:01:45 +00:00
Vincent Sanders 6684b938e2 Update the coverity build script for buildsystem HOST/BUILD changes 2014-12-19 16:56:43 +00:00
Vincent Sanders 876b6cbeb0 fix BUILD/HOST usage to work with fixed buildsystem 2014-12-19 13:30:20 +00:00
Vincent Sanders 0f6f0a0169 Improve message split generation
This changes the message splitting code to ensure that a translation
is generated for every different key using a specified language as a
fallback if no translation is available.

This also allows for a messages to be generated when there is no
fallback at all and when the translation is the same as the fallback
language
2014-12-02 16:27:24 +00:00
Vincent Sanders 9bc07e8d8f make coverity build script use updated environment variables 2014-11-30 00:37:35 +00:00
Vincent Sanders 669df172ec Fix my spelling of teh everywhere 2014-11-18 17:16:26 +00:00
Vincent Sanders 1deb36759b uipdate jenkins build script to confirm to new core buildsystem 2014-11-16 13:33:08 +00:00
Vincent Sanders 97759f62af USe the externally built conveniance utf8proc library 2014-11-14 13:46:08 +00:00
Vincent Sanders 9fde3502b6 doxygen cleanups in utils 2014-11-12 23:27:13 +00:00
Vincent Sanders e32a2ad46e Doxygen fixes 2014-11-09 15:28:03 +00:00
Vincent Sanders 8f64d5d223 Improve Doxygen documentation 2014-11-08 12:35:11 +00:00
Vincent Sanders f287379a7c Fix several doxygen issues 2014-11-08 11:38:20 +00:00
Vincent Sanders 3fc1fe0493 fix dumb mistake in missing a close bracket. 2014-11-04 20:53:19 +00:00
Vincent Sanders d85b74fd72 change logic to check for false instead of not true to fix coverity 1250328 2014-11-04 20:41:31 +00:00
Vincent Sanders ad343eccb1 remove unecessary utils/types.h
This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
2014-11-02 20:10:32 +00:00
Vincent Sanders c31c4babe1 Change contextual content retrieval to browser features.
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.

By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.

Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
2014-11-02 15:46:42 +00:00
Michael Drake 98b6d02df6 Move host_is_ip_address into urldb, as that's the only thing that cares. 2014-10-31 14:31:06 +00:00
Vincent Sanders 02ff3920ce remove unused url_init function 2014-10-31 00:50:32 +00:00
Vincent Sanders ce3d991918 use nsurl_nice and remove url_nice
change all callers over to using new API for generating nice filenames
from a url and remove the old API.
2014-10-31 00:24:57 +00:00
Michael Drake 07376fc96b Remove unused variable. 2014-10-30 22:47:25 +00:00
Michael Drake 13832a453a Add a nsurl_nice, which can replace url_nice. 2014-10-30 22:34:09 +00:00
Michael Drake 3ff7557c34 Add a lwc corestring for "/". 2014-10-30 22:34:09 +00:00
Vincent Sanders c646d05ae5 update nsurl file header to contain references to the specifications it implements 2014-10-29 23:41:13 +00:00
Vincent Sanders d204d6d555 Clean up saving as PDF
This removes the global PDF_Password interface that had completely
bitrotted and moves it into the standard misc operation table with a
sensible defualt implementation.

This also cleans up and fixes the gtk frontend implementation of the
pdf password callback so it compiles.

Finally this moves the implementation to a sensible place alongside
the other exporters reducing target makefile complexity futher.
2014-10-26 23:53:14 +00:00
Vincent Sanders 14e2829489 remove the die API from the core.
The die() API for abnormal termination does not belong within the core
of netsurf and instead errors are propogated back to the callers.

This is the final part of this change and the API is now only used within
some parts of the frontends
2014-10-26 12:42:53 +00:00
Michael Drake 64d591676b Remove unused url_components stuff. 2014-10-26 10:23:28 +00:00
Michael Drake 1ccfcfe953 Remove unused url_path function. 2014-10-26 10:21:27 +00:00
Michael Drake d732b0c769 Remove unused url_scheme function. 2014-10-26 10:18:39 +00:00
Vincent Sanders e39606c411 make regex wrapper return errors instead of just aborting 2014-10-25 23:07:00 +01:00
Vincent Sanders 7cf5cf7cb7 fix doc comments 2014-10-25 17:12:16 +01:00
Vincent Sanders 94ab63319f Improve the message loading API to return error codes.
Returning an error instead of simply calling die allows more robust
error handling. Secondly initialisation may continue even if the
messages have not been loaded which is more friendly than simply
dropping dead with no communication to the user.
2014-10-25 12:45:32 +01:00
Vincent Sanders d06df231bc Update the core to use the split operations table headers
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders 02bbaa3e88 split version info into its own header and remove unnecessary nesurf.h includes
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.

Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders 1a2040bc72 Trivial sepelling, documentation and whitespace cleanups 2014-10-10 13:01:20 +01:00
Chris Young a90f5d1c8b Stop the Amiga build complaining about redefined strndup 2014-09-20 13:42:47 +01:00
Michael Drake d0a4020d16 Fix test rig leak. (cppcheck) 2014-09-06 07:49:04 +01:00
Michael Drake 050b76d49a Handle realloc failure. 2014-09-05 23:25:43 +01:00
Vincent Sanders ef5b234080 we build for haiku not beos 2014-09-05 13:18:39 +01:00
Vincent Sanders 9b62f1ec53 fix output target name 2014-09-05 01:10:12 +01:00
Vincent Sanders a8f83d729c update jenkins build script for use with beos 2014-09-05 00:52:37 +01:00
Vincent Sanders 37755fb135 add incomplete scheme fetcher for javascript urls 2014-08-25 15:59:52 -07:00
Vincent Sanders ea1e68feba remove old svn script 2014-08-17 08:46:01 +01:00
Vincent Sanders d0da99beca extend gtk viewdata to open files in an editor using the freedesktop default app specification 2014-08-16 23:33:12 +01:00
Michael Drake a807d762f9 mailto urls don't have passwords or ports, so we don't need to look for ':'. 2014-08-04 14:49:35 +01:00
Michael Drake 04ea4b52a0 Add debug. 2014-08-04 14:48:32 +01:00
Vincent Sanders af16c38d2d fix DOM tree dump debug 2014-08-04 00:37:21 +01:00
Vincent Sanders 5ce4f11eac add link context menu to gtk and add link copying and bookmarking 2014-07-07 23:29:06 +01:00
Vincent Sanders 8848f754e0 documentation fixes and cleanups 2014-07-02 16:39:08 +01:00
Vincent Sanders 06eb81235d fix fetchers include on windows 2014-07-01 09:17:22 +01:00
Vincent Sanders 16dea2e2bd stop idna (en/de)code asploding when the passed host begins with a . 2014-06-10 23:38:35 +01:00
Chris Young 2462f5658e Fix memory leak on error 2014-06-10 19:27:39 +01:00
Vincent Sanders d2b77a40a9 fix memory leaks in error paths. (coverity 1220852 and 1220851) 2014-06-10 00:22:44 +01:00
Michael Drake f6fec1a8d7 Put ultra-verbose logging inside NSURL_DEBUG #ifdef. 2014-06-09 21:22:25 +01:00
Vincent Sanders 4488c8a2e4 fallback to old url creation behaviour if the IDNA host parse fails 2014-06-09 18:05:36 +01:00
Vincent Sanders 8e29e517d5 fix disc cache size option to be unsigned 2014-06-09 13:13:59 +01:00
Vincent Sanders f1c2dde13b extend file table with mkdir all and make fs backing store use it.
enable fs backing store for RISC OS.
2014-06-05 12:06:47 +01:00
Daniel Silverstone 4641769ae5 Make chris' work compile without warning and not infinite-loop where I spotted it 2014-06-04 13:50:26 +01:00
Chris Young eee7189f05 Normalise intermediary UCS-4 string when verifying ACE labels 2014-06-04 13:24:24 +01:00
Chris Young db0856606a IDNA2008 support. 2014-06-04 13:24:24 +01:00
Chris Young 9d2d717e9f Import Punycode reference implementation. 2014-06-04 13:24:24 +01:00
Chris Young 9fb4fd738a Import a local modified version of utf8proc for Unicode normalisation. 2014-06-04 13:24:24 +01:00
Chris Young e5d5e68eb5 Required IDNA/Unicode properties files and generation. 2014-06-04 13:24:24 +01:00
Vincent Sanders 7c0da1e94f annotate die() as not returning 2014-05-28 15:12:58 +01:00
Vincent Sanders 00b6cfc57e rework path to url mapping functions to convert from and to nsurl 2014-05-26 23:52:36 +01:00
Michael Drake 1f337f292d Fix fread error handling. 2014-05-26 14:03:20 +01:00
Daniel Silverstone cb978fe470 Attempt to fix Jenkins build for cocoa 2014-05-18 22:09:54 +01:00
Vincent Sanders 3b42f73b5a check fseek return value (coverity 1109837) 2014-05-18 14:40:39 +01:00
Vincent Sanders 17b347a260 check mkdir results (coverity 1109838) 2014-05-18 14:40:39 +01:00
Vincent Sanders 39518eb3c1 fix possible buffer termination error (coverity 1195410) 2014-05-18 10:44:51 +01:00
Michael Drake 982fc516cc Move old cache path. 2014-05-16 14:04:49 +01:00
Vincent Sanders ef00272e2f add helpers for time_t reading/writing 2014-05-15 01:18:52 +01:00
Vincent Sanders 07e4924254 make vsnstrjoin correctly check for null arguments. 2014-05-13 17:39:56 +01:00
Vincent Sanders 4784273195 fix typo in nsc_time_strptime 2014-05-13 16:59:30 +01:00
Vincent Sanders 6532346277 add struct tm definition and fix build error 2014-05-13 16:46:48 +01:00
Vincent Sanders 1a3ee6090d add strptime compatability 2014-05-13 16:37:49 +01:00
Vincent Sanders 06091eee36 fix fseek error return checking (fixes coverity 1109839) 2014-05-11 23:48:40 +01:00
Vincent Sanders c3e2dc9005 check return values of fseek (fixes coverity 1109840) 2014-05-11 23:45:42 +01:00
Vincent Sanders 83fa2a9482 check return from fseek (fixes coverity 1109841) 2014-05-11 23:43:36 +01:00
Vincent Sanders f94bc67107 safely copy header name and author (fixes coverity 1195408) 2014-05-11 23:38:18 +01:00
Vincent Sanders 4776de4001 ensure filename is null terminated (fix coverity 1195409) 2014-05-11 23:35:12 +01:00
Vincent Sanders d3ddb39102 fix possible missing null termination (coverity 1195410 and 1195411 ) 2014-05-11 23:29:55 +01:00
Vincent Sanders 39b0393d31 cleanup utils header, remove cruft and add documentation 2014-05-11 21:31:14 +01:00
Vincent Sanders 7dc170e6d8 we now ensure the operations table is set up early enough the null check is not required 2014-05-10 11:17:34 +01:00
Vincent Sanders 429d6e20f7 remove unused url operations 2014-05-09 10:30:24 +01:00
Vincent Sanders 096bd47ab0 refactor url utility functions to use standard nserror codes and have appropriate documentation. 2014-05-08 00:16:50 +01:00
Vincent Sanders 6349704b5e fix silly errors in atari and amiga file operation table change 2014-05-07 16:38:58 +01:00
Vincent Sanders c56642819e add file operations table and make all frontends use it.
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.

These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.

These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders c1e2da80df add string utility to join strings 2014-05-07 16:24:30 +01:00
Vincent Sanders 0c5c7159d8 remove uncessary includes 2014-05-02 12:26:25 +01:00
Vincent Sanders b7c744cf32 make brackets match 2014-05-02 12:01:37 +01:00
Vincent Sanders 3c8769cc4b OpenBSD headers have strcasestr 2014-05-02 11:46:39 +01:00
Vincent Sanders 99c997bfc6 adjust javascript library build parameters for openbsd 2014-05-02 11:16:32 +01:00
Vincent Sanders c80a281ea5 update to cope with make tool naming 2014-05-02 11:08:01 +01:00
Vincent Sanders 1eb49059ab add OpenBSD to jenkins build script 2014-05-02 11:03:43 +01:00
Vincent Sanders 5dd6fa6f22 use compatability macro for mkdir 2014-04-28 17:38:15 +01:00
Vincent Sanders 1fd565cba7 make GTK configuration handling conform to XDG specification. 2014-04-28 16:37:00 +01:00
Michael Drake 2c4825cb38 Remove excessive logging. 2014-04-18 17:30:28 +01:00
Michael Drake d1223950d7 Handle some directories already existing.
When creating the path to the cache directory we were
  giving up on the first directory that already existed.

  This prevented the path to the cache directory getting
  made, which prevented view-source from working if the
  path was only patially available.
2014-04-18 17:12:52 +01:00
Michael Drake 2a4f7f6b65 Add more logging for filename init. 2014-04-18 17:07:24 +01:00
Michael Drake 55415ed6cd Add logging to filename_initialise(). 2014-04-18 16:50:58 +01:00
Michael Drake 9c60417f73 Simplify DOM node walker. 2014-03-31 22:09:45 +01:00
Vincent Sanders 20b3c40816 make nsurl_defragment() API more obvious and remove duplicated parameter checking 2014-03-09 16:20:53 +00:00
Vincent Sanders 87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Michael Drake 1228cd7576 Save a call to lwc_string_length. 2014-02-15 12:39:09 +00:00
Michael Drake 4a59399cd7 Ensure allocation includes space for fragment. 2014-02-15 12:32:59 +00:00
Michael Drake 42be1ffa7b Reject creation of http(s) urls without hosts. 2014-02-11 11:34:10 +00:00
Michael Drake 22d15380f4 Add function to get browser window's extents. 2014-02-08 16:03:06 +00:00
Michael Drake 8bc3a80320 Add function to get bw's URL. 2014-02-08 15:00:08 +00:00
Vincent Sanders 886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +00:00
Vincent Sanders d5a971c281 move verbose log global into logging module and remove netsurf.h include 2014-01-29 23:20:19 +00:00
Vincent Sanders 654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Vincent Sanders 8ce0a10670 move path_to_url and url_to_path to fetch operation table 2014-01-25 23:01:32 +00:00
Michael Drake 96e5368d34 Use corestring. 2014-01-25 09:53:54 +00:00
Michael Drake ae6874d308 Just ref a corestring. 2014-01-24 23:19:46 +00:00
Michael Drake 5787f8335e Simplify and optimise icon handling. 2014-01-24 23:13:18 +00:00
Michael Drake 14238615a4 Use corestrings for "about", "data", and "resource". 2014-01-24 20:08:41 +00:00
Michael Drake c4e2fff5a4 Use corestrings for fetch module's lwc strings. 2014-01-24 19:25:07 +00:00
Michael Drake 72510f550b Use corestrings in box construction. 2014-01-24 18:58:12 +00:00
Vincent Sanders a2247a75a3 cleanup copyright headers and some doc comments 2014-01-16 13:24:14 +00:00
Vincent Sanders d47fed4524 move 401 login into operation table 2014-01-16 00:52:17 +00:00
Vincent Sanders 38cb39339a move filename_from_path and path_add_part into gui operation tables 2014-01-16 00:01:25 +00:00
Daniel Silverstone 6bf609a1a4 Support image inputs 2014-01-05 16:14:17 +00:00
Daniel Silverstone b1e6c63a2f Rewrite form_successful_controls() to use the DOM.
This stops image inputs from working temporarily, but makes
inputs inside display:none work correctly.  As such, this is
a net-win.
2014-01-05 15:51:30 +00:00
Daniel Silverstone a5bb596eb3 Ensure that file inputs update the dom node and annotate with the unencoded filename 2014-01-04 18:02:50 +00:00
Vincent Sanders ad3f3590e4 Merge branch 'mmu_man/haiku-fixes' 2014-01-01 19:12:20 +00:00
Michael Drake cde62790f6 Update for new lpu API. 2013-12-14 23:17:50 +00:00
Michael Drake fabc086d4a Rename libcss_node_data key for libdom node user data. 2013-12-13 23:02:15 +00:00
François Revol d6561e51e0 Fix for gcc2 flexible array declaration 2013-12-07 01:16:22 +01:00
Michael Drake b0fc9bfcb9 Optimise selection by generating node ancestor element/class/id name bloom filters for new libcss API. 2013-12-01 19:15:14 +00:00
Vincent Sanders 14387a53b7 check mkdir call for errors (coverity 1109834) 2013-11-28 23:10:29 +00:00
Vincent Sanders 857dc3d8c8 check return from mkdir (coverity 1109834) 2013-11-27 22:35:42 +00:00
Michael Drake c933b0aff9 Sort non zero-padded numerical filename parts correctly. 2013-11-14 21:01:51 +00:00
Michael Drake 2a09b66040 Add own implementations of alphasort and scandir when not available. 2013-11-14 19:01:16 +00:00
Michael Drake 7a920ace39 Marginally cleaner handling of scandir absence. 2013-11-11 11:38:48 +00:00
Vincent Sanders 3e070502e6 improve default setting so we can override from CI system 2013-11-07 12:16:58 +00:00
Vincent Sanders 8442ab42fb add script so CI system can run build and upload results to coverity 2013-11-07 12:03:25 +00:00
Vincent Sanders ce2e1e731d update identifier for package to be cleaned 2013-11-05 08:50:01 +00:00
Vincent Sanders 785806d6ac setup old identifier before values get changed 2013-11-04 19:02:55 +00:00
Vincent Sanders 3d3b9fd815 remove old build artifacts 2013-11-04 18:50:45 +00:00
Vincent Sanders 6b29a697b9 check ftell return value coverity 1109870 2013-10-25 21:28:58 +01:00
Vincent Sanders f29306cc9a improve gtk source save to use gtk overwrite protection feature coverity 1109873 2013-10-25 21:25:56 +01:00
Michael Drake 0e4a605729 Remove unnecessary strlen. 2013-10-24 13:35:58 +01:00
Michael Drake 0c44eb081e Free string vector correctly. 2013-10-24 12:55:48 +01:00
Vincent Sanders b9c2b5df65 make js library selection target dependant 2013-09-03 16:07:57 +01:00
Michael Drake ee7df2761f Make dom node children iterator return nserror. 2013-08-16 08:25:24 +01:00
Michael Drake 8747398c98 Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2013-06-03 17:10:14 +01:00
Vincent Sanders bccaa05fdb add finalisation to options and document the API better 2013-06-01 16:09:39 +01:00
Vincent Sanders 9bd2969876 amiga is the only user of the very odd usage of the options API 2013-06-01 16:09:26 +01:00
Chris Young 3b971bb1a7 Remove bool default setter as the user will struggle to override it 2013-06-01 15:21:08 +01:00
Chris Young 0bb08cc5d2 Macros for setting default options and updating user options if they are "as default" 2013-06-01 14:57:49 +01:00
Michael Drake de85b4348a Include stdbool.h. 2013-05-31 10:02:27 +01:00
Vincent Sanders a4f67018fa fix import of old broken Choices 2013-05-29 07:59:27 +01:00
Michael Drake 44f91c9fc8 Ensure colour values around #888888 can be read in HTML output. 2013-05-28 22:15:29 +01:00
Vincent Sanders 68c2013504 add provenance to about:config 2013-05-28 21:36:46 +01:00
Vincent Sanders 06d87fec2b if the colour value is unusable do not assign garbage to teh option 2013-05-28 20:29:37 +01:00
Vincent Sanders 45d309c0e3 copy the options data with memcpy instead 2013-05-28 20:04:42 +01:00
Vincent Sanders a92e5930ff fixup issues with new options API merge 2013-05-28 16:44:46 +01:00