John Mark Bell
54cd21ae0d
Realm may be NULL iff there's no WWW-Authenticate header served up with a 401.
...
Default the realm to the fetch URL in this case. Fixes #2890933
Note for new cache implementation (which is actually capable of utilising response bodies in this situation): if there is no WWW-Authenticate header, serve up the response body immediately -- don't present an authentication dialogue.
svn path=/trunk/netsurf/; revision=9659
2009-11-03 07:03:07 +00:00
John Tytgat
2261b616f6
- content/urldb.c(auth_data): Removed;
...
(prot_space_data): Added, it lives linked in the leaf host_part
struct and together with its scheme and port (which defins canonical root
url) and realm this defines a protection space.
(path_data): Removed auth_data field and replaced by a prot_space_data
pointer.
(host_part::prot_space): Added linked list of protection space data
structs.
(urldb_get_auth_details): Given an URL fetch fetches its auth.
(urldb_set_auth_details): Creates or updates the contents of a
protection space to which given URL belongs.
(urldb_destroy_host_tree): Delete protection data space structures
using urldb_destroy_prot_space.
(urldb_destroy_prot_space): Added.
- content/urldb.h(urldb_get_auth_details): Added realm parameter.
- content/fetchers/fetch_curl.c(fetch_curl_set_options): Update
urldb_get_auth_details call (we don't know realm at this point).
- content/fetchcache.c(fetchcache_callback, fetchcache_auth): At FETCH_AUTH,
use realm to determine if we really don't know auth data and if so,
refetch content.
- content/content.h(struct content): Add content::tried_with_auth.
- content/content.c(content_create): Initialize content::tried_with_auth.
- riscos/401login.c(ro_gui_401login_open): Show known authentication
data in dialogue so user can see what was wrong with it and correct it.
Solves bug #2830829 .
svn path=/trunk/netsurf/; revision=9045
2009-08-04 23:02:23 +00:00
John Mark Bell
ddeadd1c02
Merge LibCSS port to trunk.
...
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
John Mark Bell
5feb7018c5
Replace parent_url with a pointer to the parent content.
...
svn path=/trunk/netsurf/; revision=8428
2009-07-10 00:26:37 +00:00
John Mark Bell
a763e36d2e
It's probably a good idea not to redirect to file:/// URLs
...
svn path=/trunk/netsurf/; revision=6695
2009-03-04 13:29:54 +00:00
John Mark Bell
a36535f341
Pointless warning avoidance.
...
svn path=/trunk/netsurf/; revision=6676
2009-03-02 20:32:05 +00:00
John Mark Bell
b98f105b24
Purge WITH_AUTH
...
svn path=/trunk/netsurf/; revision=6600
2009-02-22 15:13:10 +00:00
John Mark Bell
847b776285
Purge NETSURF_USE_SSL and WITH_SSL
...
svn path=/trunk/netsurf/; revision=6599
2009-02-22 15:07:50 +00:00
John Mark Bell
79b4cee9d3
Make redirects behave as a NOP wrt the verifiability of fetches.
...
Apparently, the interweb depends on this.
svn path=/trunk/netsurf/; revision=6542
2009-02-16 20:24:54 +00:00
John Mark Bell
31e6afe6ef
Remove noisy logging of http headers
...
svn path=/trunk/netsurf/; revision=5672
2008-11-09 19:20:08 +00:00
Daniel Silverstone
3f5d902edd
Merged revisions 5309-5406,5409-5422 via svnmerge from
...
svn://svn.netsurf-browser.org/branches/vince/netsurf-fb
........
r5309 | vince | 2008-09-13 10:59:10 +0100 (Sat, 13 Sep 2008) | 2 lines
first stab at framebuffer frontend
........
r5313 | vince | 2008-09-14 15:08:52 +0100 (Sun, 14 Sep 2008) | 2 lines
add line plotters
........
r5314 | vince | 2008-09-14 15:28:12 +0100 (Sun, 14 Sep 2008) | 2 lines
add rectangle plot to 16bpp plotters
........
r5315 | vince | 2008-09-14 19:58:57 +0100 (Sun, 14 Sep 2008) | 2 lines
improve 16bpp image plot
........
r5316 | vince | 2008-09-15 00:35:32 +0100 (Mon, 15 Sep 2008) | 2 lines
abstract the os specific framebuffer init
........
r5317 | vince | 2008-09-15 11:18:51 +0100 (Mon, 15 Sep 2008) | 2 lines
first cut of linux frontend
........
r5318 | vince | 2008-09-15 12:01:00 +0100 (Mon, 15 Sep 2008) | 2 lines
remove junk includes
........
r5319 | vince | 2008-09-15 12:09:02 +0100 (Mon, 15 Sep 2008) | 2 lines
make plotters OS agnostic again
........
r5322 | vince | 2008-09-15 15:55:01 +0100 (Mon, 15 Sep 2008) | 2 lines
Linux frontend operates
........
r5323 | vince | 2008-09-15 16:32:47 +0100 (Mon, 15 Sep 2008) | 2 lines
abstract out OS specific input
........
r5326 | vince | 2008-09-15 19:21:01 +0100 (Mon, 15 Sep 2008) | 2 lines
Improve linux mode setting
........
r5329 | vince | 2008-09-15 21:13:33 +0100 (Mon, 15 Sep 2008) | 2 lines
improve text clipping
........
r5339 | vince | 2008-09-16 00:07:57 +0100 (Tue, 16 Sep 2008) | 2 lines
possibly fix text clipping issue
........
r5342 | vince | 2008-09-16 00:39:36 +0100 (Tue, 16 Sep 2008) | 2 lines
consolidate polygon plotters
........
r5344 | dsilvers | 2008-09-16 10:21:06 +0100 (Tue, 16 Sep 2008) | 1 line
Fix up the framebuffer target makefile a bit more, add some config options for it
........
r5345 | dsilvers | 2008-09-16 10:22:19 +0100 (Tue, 16 Sep 2008) | 1 line
Ensure the appropriate frontend is selected when building framebuffer
........
r5346 | dsilvers | 2008-09-16 10:27:16 +0100 (Tue, 16 Sep 2008) | 1 line
Update build system to support targetting separate framebuffer frontends in different build trees, update executable to be nsfb-blah
........
r5350 | vince | 2008-09-16 17:15:04 +0100 (Tue, 16 Sep 2008) | 1 line
Add -g to provide symbols for framebuffer link
........
r5351 | vince | 2008-09-16 17:17:09 +0100 (Tue, 16 Sep 2008) | 1 line
framebuffer scheduler now works, plotters tweaked, gui tracks window redraw requirements better, keypresses not duplicated under linux fb
........
r5352 | dsilvers | 2008-09-16 17:38:53 +0100 (Tue, 16 Sep 2008) | 1 line
Ensure we only allow one fetcher at a time
........
r5361 | vince | 2008-09-17 11:48:44 +0100 (Wed, 17 Sep 2008) | 2 lines
initial cursor support
........
r5362 | vince | 2008-09-17 13:56:47 +0100 (Wed, 17 Sep 2008) | 2 lines
add mouse handling
........
r5363 | vince | 2008-09-17 14:14:44 +0100 (Wed, 17 Sep 2008) | 2 lines
add framebuffer resources
........
r5364 | vince | 2008-09-17 17:12:21 +0100 (Wed, 17 Sep 2008) | 2 lines
add reasonable pointer
........
r5366 | vince | 2008-09-17 17:17:25 +0100 (Wed, 17 Sep 2008) | 2 lines
fix pointer alpha
........
r5370 | vince | 2008-09-18 13:43:53 +0100 (Thu, 18 Sep 2008) | 2 lines
warning squash and cleanup ready for trunk merge
........
r5375 | vince | 2008-09-19 14:58:43 +0100 (Fri, 19 Sep 2008) | 2 lines
Working mouse navigation
........
r5377 | vince | 2008-09-20 14:06:22 +0100 (Sat, 20 Sep 2008) | 2 lines
Improve scrolling
........
r5378 | vince | 2008-09-20 14:46:46 +0100 (Sat, 20 Sep 2008) | 2 lines
fix redraw issues with scrolling
........
r5380 | vince | 2008-09-20 17:08:43 +0100 (Sat, 20 Sep 2008) | 3 lines
Alter panning to use its own flag so it doesnt cause invalid redraw
operations
........
r5381 | vince | 2008-09-20 21:52:45 +0100 (Sat, 20 Sep 2008) | 2 lines
add dummy framebuffer
........
r5383 | vince | 2008-09-21 00:00:15 +0100 (Sun, 21 Sep 2008) | 2 lines
fix segfault when cursor is off teh bottom of teh screen
........
r5384 | vince | 2008-09-21 00:06:08 +0100 (Sun, 21 Sep 2008) | 2 lines
fix off by one in pointer fix
........
r5385 | vince | 2008-09-21 00:25:09 +0100 (Sun, 21 Sep 2008) | 2 lines
when fixing bloody silly off by one errors remember to fix *both* references
........
r5387 | vince | 2008-09-21 00:38:13 +0100 (Sun, 21 Sep 2008) | 2 lines
last try at stopping the pointer segfault
........
r5388 | vince | 2008-09-21 16:24:18 +0100 (Sun, 21 Sep 2008) | 2 lines
improve vertical text clipping
........
r5392 | vince | 2008-09-21 23:11:51 +0100 (Sun, 21 Sep 2008) | 2 lines
Improve text plotters
........
r5393 | vince | 2008-09-21 23:34:38 +0100 (Sun, 21 Sep 2008) | 2 lines
fix 32bpp line plotting
........
r5394 | vince | 2008-09-22 00:00:03 +0100 (Mon, 22 Sep 2008) | 2 lines
Fix off by one error in line plotting clipping
........
r5397 | vince | 2008-09-22 13:46:22 +0100 (Mon, 22 Sep 2008) | 2 lines
Fix bitmap tileing
........
r5398 | vince | 2008-09-22 17:46:02 +0100 (Mon, 22 Sep 2008) | 2 lines
enable knockout renderer
........
r5399 | vince | 2008-09-22 18:43:48 +0100 (Mon, 22 Sep 2008) | 2 lines
ensure clipping region lies within window, caused by knockout renderer
........
r5400 | vince | 2008-09-22 19:20:25 +0100 (Mon, 22 Sep 2008) | 2 lines
update cursor to one swiped from X windows
........
r5405 | vince | 2008-09-23 09:09:05 +0100 (Tue, 23 Sep 2008) | 2 lines
fix vertical scroll limit
........
r5412 | dsilvers | 2008-09-23 10:53:14 +0100 (Tue, 23 Sep 2008) | 1 line
Revert noisy fetcher patch
........
r5413 | dsilvers | 2008-09-23 10:58:00 +0100 (Tue, 23 Sep 2008) | 1 line
Add header guards
........
r5414 | dsilvers | 2008-09-23 11:31:31 +0100 (Tue, 23 Sep 2008) | 1 line
Tidy the region clipping slightly
........
r5416 | dsilvers | 2008-09-23 12:05:00 +0100 (Tue, 23 Sep 2008) | 1 line
Rationalise how the framebuffer frontend finds resources and options
........
r5418 | dsilvers | 2008-09-23 13:59:00 +0100 (Tue, 23 Sep 2008) | 1 line
Ensure options are overridden after load, and squash an fb_gui.c warning
........
r5419 | dsilvers | 2008-09-23 14:20:07 +0100 (Tue, 23 Sep 2008) | 1 line
Support fb_mode and fb_device options
........
r5420 | dsilvers | 2008-09-23 14:21:48 +0100 (Tue, 23 Sep 2008) | 1 line
Support option_fb_device in the able frontend
........
r5421 | dsilvers | 2008-09-23 14:25:17 +0100 (Tue, 23 Sep 2008) | 1 line
Ensure target_blank is disabled
........
r5422 | dsilvers | 2008-09-23 14:39:00 +0100 (Tue, 23 Sep 2008) | 1 line
Rework linux fb frontend to support scanning and opening all event devices for input
........
svn path=/trunk/netsurf/; revision=5423
2008-09-23 14:00:40 +00:00
François Revel
f28f4cc760
First round of C89 fixes. Those should be obvious, hope I didn't introduce any side effect.
...
svn path=/trunk/netsurf/; revision=4788
2008-07-29 09:05:36 +00:00
John Mark Bell
6168417b80
Fix cache control
...
svn path=/trunk/netsurf/; revision=4288
2008-06-06 23:51:51 +00:00
John Mark Bell
5015eb6e87
Squash warning
...
svn path=/trunk/netsurf/; revision=4257
2008-06-03 22:17:35 +00:00
James Bursa
8282253a54
Move struct cache_data from fetch to content as it is no longer needed by fetch. Make it a member instead of pointer in struct content.
...
svn path=/trunk/netsurf/; revision=4246
2008-06-03 01:10:46 +00:00
James Bursa
b9bce3fa31
Fix freeing of etag data.
...
svn path=/trunk/netsurf/; revision=4229
2008-05-31 15:52:22 +00:00
John Mark Bell
f4be61553c
Fix handling of cache control data
...
svn path=/trunk/netsurf/; revision=4227
2008-05-30 11:09:50 +00:00
James Bursa
ae992eab4d
Add new fetch callback FETCH_HEADER for headers and move as much header parsing as possible from fetch_curl.c to fetchcache.c. This simplifies fetch_curl.c and will make it possible to store response headers in future.
...
svn path=/trunk/netsurf/; revision=4226
2008-05-30 04:11:16 +00:00
John Mark Bell
dc85ddb0a8
Launch redirects to unsupported URLs in other applications.
...
svn path=/trunk/netsurf/; revision=4098
2008-04-19 11:07:42 +00:00
John Mark Bell
6cf4ce640c
Squash warning
...
svn path=/trunk/netsurf/; revision=3982
2008-03-19 17:29:34 +00:00
John Mark Bell
85bb19c93d
Mark old contents as stale if a conditional request succeeded so they'll be flushed from the cache as soon as they're unused.
...
svn path=/trunk/netsurf/; revision=3872
2008-02-27 19:13:35 +00:00
John Mark Bell
3a79bcb3da
Explicitly mark error pages as non-fresh so they'll get purged from the cache ASAP.
...
svn path=/trunk/netsurf/; revision=3871
2008-02-27 18:48:35 +00:00
John Mark Bell
ad6fcea6b0
Add url_fragment to extract fragment from URL
...
Optionally allow url_compare to ignore fragments in comparison
Fix handling of url_compare result in a few places
Fix redirects which contain fragments in the Location header
svn path=/trunk/netsurf/; revision=3826
2008-02-03 12:04:48 +00:00
John Mark Bell
cc3481a2ff
Make core fetching code handle verifiability of transactions
...
Make core fetching code be responsible for inserting cookies into the urldb
Provide accessor to a fetch's parent url (this is defined as being the URL of the verifiable fetch which caused this one to occur)
Make fetchcache's 3xx handling use the parent url when spawning new fetches
svn path=/trunk/netsurf/; revision=3809
2008-01-30 19:56:41 +00:00
John Mark Bell
9164f247c2
Ensure plq is terminated when looking for an URL path.
...
Ensure fetchcache_redirect() normalizes the redirect destination.
svn path=/trunk/netsurf/; revision=3807
2008-01-30 01:44:57 +00:00
John Mark Bell
78d194cb77
Rework handling of HTTP redirects -- we now count the number of redirects followed for a given item and abort if a fixed limit is reached. This fixes sites which have pages that redirect to themselves.
...
Redirect handling is now transparent to clients of fetchcache.
The new scheme works as follows:
1) Request content for URL (fetchcache()
2) Start fetch of content (fetchcache_go()
3) If no redirect, continue through LOADING, READY, DONE etc. states as before
If redirect, receive NEWPTR for each redirect that occurs, then continue
through LOADING, READY, DONE etc. states as before.
The upshot of this is that redirects result in extra contents being created. It also means that, until LOADING has been received, the content (and thus the URL being fetched) may change. Therefore, fetchcache clients should expect to have to deal with transient data prior to LOADING occurring.
As a necessary side-effect of this, the HTML object URLs and CSS @import URLs are no longer stored alongside the relevant contents. These URLs can be accessed by interrogating the url member of struct content anyway, so it was a rather redundant scheme before.
svn path=/trunk/netsurf/; revision=3787
2008-01-28 01:35:00 +00:00
Vincent Sanders
2f864eeecc
Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
...
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
Daniel Silverstone
6807b4208a
Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes
...
NetSurf includes are now done with ""s and other system includes with <>s as C intended.
The scandeps tool has been updated to only look for ""ed includes, and to verify that the
files exist in the tree before adding them to the dependency lines. The depend rule has
therefore been augmented to make sure the autogenerated files are built before it is run.
This is untested under self-hosted RISC OS builds. All else tested and works.
svn path=/trunk/netsurf/; revision=3307
2007-05-30 22:39:54 +00:00
John Mark Bell
25213dca24
Fix handling of cookies in unverifiable transactions caused by a redirect from a fetch into a browser window which was varifiable.
...
svn path=/trunk/netsurf/; revision=3165
2007-02-02 23:08:13 +00:00
James Bursa
a0b6661eb6
Make GTK build compile on FreeBSD.
...
svn path=/trunk/netsurf/; revision=3154
2007-01-29 22:27:15 +00:00
John Mark Bell
df4dbaf4cf
Handle cookies in unverifiable transactions
...
svn path=/trunk/netsurf/; revision=3151
2007-01-27 20:58:20 +00:00
James Bursa
bda01b3135
Fix parsing error when an empty HTML data is returned. Add HTTP status and other information to status bar.
...
svn path=/trunk/netsurf/; revision=3140
2007-01-13 00:21:15 +00:00
Michael Drake
ba23e4b693
Update project URL.
...
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
John Mark Bell
89f760a3e7
Detect attempted fetches using protocols we can't handle.
...
Mark content in error in a couple of cases that I'd missed ages ago.
svn path=/trunk/netsurf/; revision=2816
2006-08-06 17:51:23 +00:00
John Mark Bell
b7af14b591
Implement component-wise URL comparison
...
svn path=/trunk/netsurf/; revision=2697
2006-07-02 22:34:04 +00:00
John Mark Bell
bc2d96368f
Fix conversion of URLs beginning "file://". Additionally,
...
file://host/... isn't likely, so assume file://path & convert to
file:///path
svn path=/trunk/netsurf/; revision=2685
2006-07-01 22:27:10 +00:00
John Mark Bell
ef301b8619
Fix URL file loading and add support for file:/// URLs to urldb
...
Convert file:/... to file:///... (the former isn't a valid URL)
svn path=/trunk/netsurf/; revision=2524
2006-04-12 08:09:27 +00:00
John Mark Bell
c09eb457df
Unify information databases
...
svn path=/trunk/netsurf/; revision=2519
2006-04-09 23:21:13 +00:00
John Mark Bell
d4d3e5ee1c
[project @ 2006-02-23 15:06:53 by jmb]
...
Handle invalid SSL certificates better - UI still needs work.
Modify fetch callback data parameter type to remove compiler warnings.
Constify things.
Lose global ssl_verify_certificates option.
Fix issue when closing a dialog without input focus.
svn path=/import/netsurf/; revision=2092
2006-02-23 15:06:54 +00:00
John Mark Bell
e724672302
[project @ 2006-02-08 00:35:05 by jmb]
...
Handle case where no cache expiry headers are sent; use (now - last_modified) / 10. This should reduce the frequency of cache entry validation.
svn path=/import/netsurf/; revision=2064
2006-02-08 00:35:05 +00:00
John Mark Bell
0f228ada91
[project @ 2006-02-06 00:10:09 by jmb]
...
Implement HTTP caching algorithm; this should avoid stale cache entries being used.
svn path=/import/netsurf/; revision=2059
2006-02-06 00:10:09 +00:00
John Mark Bell
aa76fb1754
[project @ 2006-01-03 23:26:58 by jmb]
...
Detect and prevent self-referential redirects.
This is not a complete solution as it does not handle the likes of page1 -> page2 -> page1 -> ...
To solve that probably requires counting the number of redirects a given fetch has made and then bailing once it exceeds some fixed value. From what I can see at present, this will have to be done at the top-level (i.e. browser_window_callback and suchlike).
svn path=/import/netsurf/; revision=1978
2006-01-03 23:26:58 +00:00
Richard Wilson
e6f311f97c
[project @ 2005-12-31 04:30:49 by rjw]
...
Updates to work with new url_store system.
svn path=/import/netsurf/; revision=1909
2005-12-31 04:30:49 +00:00
James Bursa
666cdaf8dd
[project @ 2005-12-11 21:54:30 by bursa]
...
Disable some log messages.
svn path=/import/netsurf/; revision=1896
2005-12-11 21:54:30 +00:00
James Bursa
08e8ee3ed1
[project @ 2005-08-21 12:04:17 by bursa]
...
Change void * parameters to intptr_t to make them correct for storing integers or pointers.
svn path=/import/netsurf/; revision=1852
2005-08-21 12:04:18 +00:00
John Mark Bell
79c3c60a19
[project @ 2005-05-01 22:20:40 by jmb]
...
Work around invalid Content-Type headers
svn path=/import/netsurf/; revision=1707
2005-05-01 22:20:40 +00:00
James Bursa
d9575d3bd5
[project @ 2005-04-18 21:40:29 by bursa]
...
Fix bug with redirected contents being reused (as triggered by looping redirects).
svn path=/import/netsurf/; revision=1670
2005-04-18 21:40:29 +00:00
John Mark Bell
92fa1133c9
[project @ 2005-04-01 02:25:11 by jmb]
...
application/xhtml+xml -> CONTENT_HTML
Fix minor issue with mimetype matching regexp.
svn path=/import/netsurf/; revision=1587
2005-04-01 02:25:11 +00:00
Richard Wilson
2affb76944
[project @ 2005-02-03 13:18:22 by rjw]
...
Implementation of URL suggestion
svn path=/import/netsurf/; revision=1488
2005-02-03 13:18:22 +00:00
James Bursa
04f0525fbf
[project @ 2005-01-24 23:02:37 by bursa]
...
Reformat pages loaded from memory cache to window width.
svn path=/import/netsurf/; revision=1467
2005-01-24 23:02:37 +00:00