Go to file
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
!NetSurf Replace accidentally checked in files with previous ones. 2008-01-28 01:11:37 +00:00
content 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. 2008-01-28 01:35:00 +00:00
css 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. 2008-01-28 01:35:00 +00:00
debug 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. 2008-01-28 01:35:00 +00:00
desktop 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. 2008-01-28 01:35:00 +00:00
Docs Remove old TODO docs. 2008-01-22 18:55:10 +00:00
gtk Fix symlinks 2008-01-19 23:33:21 +00:00
image Fix coordinates when redrawing an SVG within a page. 2007-12-11 02:40:33 +00:00
render 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. 2008-01-28 01:35:00 +00:00
riscos 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. 2008-01-28 01:35:00 +00:00
utils The previous fix was broken -- URI paths include the leafname. 2008-01-07 12:01:11 +00:00
COPYING Clarify licensing arrangements 2007-08-09 15:32:39 +00:00
makefile Replace accidentally checked in files with previous ones. 2008-01-28 01:11:37 +00:00
Makefile.sources Initial work on new makesystem. See top of Makefile.unix for notes. Not yet finished, will make ML posting when done. 2007-12-22 21:15:58 +00:00
Makefile.unix Initial work on new makesystem. See top of Makefile.unix for notes. Not yet finished, will make ML posting when done. 2007-12-22 21:15:58 +00:00
netsurf Remove bashism and improve nsgtk launcher shell script, add simple BUILDING-GTK document. 2007-02-06 16:52:47 +00:00
posix.mk GCCSDK 4 build support. 2007-12-28 15:43:57 +00:00
ReadMe Mention Uniboot and OS version support. 2007-05-13 17:49:58 +00:00
riscos.mk Purge NCOS build options; these have been redundant for ages. 2007-07-21 22:17:07 +00:00
scandeps Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes 2007-05-30 22:39:54 +00:00

NetSurf
=======

This is a development build of NetSurf, an open source web browser.

The latest version of NetSurf is available from:

   http://www.netsurf-browser.org/


Installation
------------

Installation is a three step process:

   1.  Use the Boot Merge facility provided by Configure to merge
       the supplied !Boot directory with the one on your system.

       If there is no !Boot merge facility on your system, simply
       drag the supplied !Boot over your existing boot structure.

   2.  Use the System Merge facility provided by Configure to merge
       the supplied !System directory with the one on your system.

   3.  Drag the !NetSurf application directory to a place on your
       hard disc.

Double click on !NetSurf in your chosen location to launch NetSurf.


Note   NetSurf requires WindowManager 3.80 or later. This comes
       with RISC OS 4 and above. RISC OS 3 users should install
       the Universal Boot Sequence from:
       http://acorn.riscos.com/riscos/releases/UniBoot/

Note   RISC OS 3.1 and earlier are not supported.


Licences
--------

NetSurf is provided under the GPL. See !NetSurf.Docs.licence_en


The !Boot and !System directories contain items provided produced
by third parties. Their licences are provided in the 3rd Party
directory.

AcornURI
  http://sudden.recoil.org/others/

Iconv
  http://www.netsurf-browser.org/iconv/

SharedUnixLibrary
  http://www.riscos.info/downloads/gccsdk/sharedunixlib/system.zip

Tinct
  http://www.tinct.net/tinct.asp