Commit Graph

429 Commits

Author SHA1 Message Date
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
89793c2171 Make content_reset actually do what it's meant to (i.e. reset the appropriate members)
Fix up CONTENT_MSG_REFRESH scheduled events to gracefully the refresh URL disappearing from under them.

svn path=/trunk/netsurf/; revision=3870
2008-02-27 18:38:41 +00:00
John Mark Bell
7f70acaca6 Silence noisy logging
svn path=/trunk/netsurf/; revision=3830
2008-02-03 18:21:49 +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
John Mark Bell
02e2fab6a3 More work on cookie parser. Our junk value handling is now significantly closer to that of other browsers.
+ Fix infinite loop when encountering a spurious \r
 + Values are only treated as quoted if the first non-whitespace character is "
 + Cookies are inserted into the db in the order of receipt. This brings our 
   Cookie: header ordering closer to other browsers (though this strictly 
   shouldn't matter -- no ordering is defined, other than by path specificity)
 + Fix testcase assertions to cope with new output ordering

svn path=/trunk/netsurf/; revision=3709
2008-01-19 01:51:39 +00:00
John Mark Bell
e5e2eb09f6 Work on cookies to bring our behaviour closer to the spec and other browsers:
+ Improve handling of quoted cookies -- now processes nested quotes correctly
  + Improve cookie output -- now knows which version it's outputting for and 
    processes things appropriately
  + Add assertion that we're dealing with a domain cookie in the case where the
    cookie domain and URL host part don't match during validation.
  + Tidy up fix for broken domain cookie setting -- it's now less confusing to 
    read.
  + Preserve cookie value quoting, regardless of its necessity.
  + Modify Cookie file format to save value_was_quoted flag -- version number 
    bumped to 101.
  + Add more testcases.

svn path=/trunk/netsurf/; revision=3708
2008-01-17 20:00:55 +00:00
John Mark Bell
2fa8e656a1 The previous fix was broken -- URI paths include the leafname.
Make url_path() return the full path (including the leafname).
Defaulted cookie path attributes have the leafname and trailing slash stripped.
Add testcase for defaulted path.
Fix testcase conditions for paths with leafnames.

svn path=/trunk/netsurf/; revision=3693
2008-01-07 12:01:11 +00:00
John Mark Bell
74078b6e36 Fix potential crash in urldb_dump()
Relax 4.3.2(i) checking (Cookie path must be a prefix of URL path). We now permit a cookie path containing the document leafname -- we strip the leafname from the path.
Make testsuite build again.
Add tests for cookie path checking.

svn path=/trunk/netsurf/; revision=3692
2008-01-07 04:58:06 +00:00
John Mark Bell
d1bf94dc4d Work around sites sending domain cookies for .foo.com from hosts such as bar.bat.foo.com, then expecting domain matching to succeed. This causes me pain.
svn path=/trunk/netsurf/; revision=3637
2007-10-30 23:19:03 +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
James Bursa
07c54283e3 Move window scaling from platform-specific code to desktop/browser.c. Modify gtk gui to handle scaling in the same way as RO.
svn path=/trunk/netsurf/; revision=3478
2007-08-07 03:55:18 +00:00
John Mark Bell
81f3fcbafd Fix crash when building error page -- fetch will be NULL, so fetch_get_referer will fail.
svn path=/trunk/netsurf/; revision=3476
2007-08-06 22:17:04 +00:00
John Mark Bell
40b1c80896 Ensure option strings aren't blank before setting headers: previously, a blank option string could result in "Accept-Language: , *;q=0.1" being sent, for example.
svn path=/trunk/netsurf/; revision=3450
2007-07-21 08:53:00 +00:00
Michael Drake
d2c3d22f52 Change ArtWorks file MIME type to "image/x-artworks".
svn path=/trunk/netsurf/; revision=3449
2007-07-21 00:20:04 +00:00
John Mark Bell
04fb714f8e Add SVG content name to content_type_name array.
svn path=/trunk/netsurf/; revision=3448
2007-07-21 00:14:15 +00:00
Rob Kendrick
1522bfeed6 Add incremental parsing of SVG data to librsvg content handler.
svn path=/trunk/netsurf/; revision=3441
2007-07-19 13:47:59 +00:00
Rob Kendrick
04292695be Initial work on RSVG image handler. Still a lot to do.
svn path=/trunk/netsurf/; revision=3433
2007-07-18 17:58:35 +00:00
Rob Kendrick
59f358eb0f Wrap internal SVG renderer with appropriate #ifdef WITH_NS_SVG
svn path=/trunk/netsurf/; revision=3432
2007-07-18 14:49:26 +00:00
James Bursa
afc9517fbd Add CONTENT_SVG to content handling.
svn path=/trunk/netsurf/; revision=3406
2007-07-13 03:54:47 +00:00
John Mark Bell
17ab65e69a Fix uninitialised fetch structure entries.
This was causing the Referer header to be sent regardless (assuming the referer string was non-NULL).

svn path=/trunk/netsurf/; revision=3387
2007-07-08 11:35:53 +00:00
James Bursa
594eb74c4c Fix deadlock when fetching stylesheets when max_fetchers_per_host is reached by splitting fetch_can_be_freed() into fetch_remove_from_queues() and fetch_free().
svn path=/trunk/netsurf/; revision=3380
2007-07-04 18:44:13 +00:00
James Bursa
960c11de1a Rename register_curl_fetchers() to fetch_curl_register(). Add declarations for static functions and reorder functions.
svn path=/trunk/netsurf/; revision=3379
2007-07-04 18:05:16 +00:00
Daniel Silverstone
e2d0019119 Add option_suppress_curl_debug and default it to true
svn path=/trunk/netsurf/; revision=3373
2007-06-27 16:27:52 +00:00
Daniel Silverstone
82c4458689 Only pass option_ca_bundle and option_ca_path to cURL if they are non-empty.
svn path=/trunk/netsurf/; revision=3372
2007-06-27 16:13:54 +00:00
Daniel Silverstone
e91cfc8e47 Add ca_path option which sets CURLOPT_CAPATH.
svn path=/trunk/netsurf/; revision=3369
2007-06-27 15:39:56 +00:00
Daniel Silverstone
18edcf5a40 Move the p->parent check in urldb to before the cookie loop. Prevents the cookie stuff exploding on domain cookies with no path. Fixes breakage with visiting launchpad.net
svn path=/trunk/netsurf/; revision=3368
2007-06-27 15:35:30 +00:00
John Mark Bell
92fd7ff871 Fix cookie domain matching in unverifiable transactions.
Minor tidying.

svn path=/trunk/netsurf/; revision=3337
2007-06-10 19:59:29 +00:00
Daniel Silverstone
e671fe3707 Add debug about ring sizes. Ensure we dispatch queued jobs when a job is freed.
svn path=/trunk/netsurf/; revision=3333
2007-06-10 18:12:30 +00:00
John Mark Bell
87ca206e13 Warning fixes.
svn path=/trunk/netsurf/; revision=3332
2007-06-10 18:08:22 +00:00
Daniel Silverstone
e6d754cc96 Remove a time consuming LOG(()) and add some whitespace to help me think
svn path=/trunk/netsurf/; revision=3331
2007-06-10 17:55:07 +00:00
Daniel Silverstone
1dd7e97eb3 Merge scheme switcher branch in.
svn path=/trunk/netsurf/; revision=3330
2007-06-10 17:46:44 +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
Daniel Silverstone
25e22eb1f5 Add a -v option to enable debug logging. Pass -v by default to the RO runimage.
svn path=/trunk/netsurf/; revision=3306
2007-05-30 22:27:58 +00:00
James Bursa
5d2a2c42b2 Log curl_version() in fetch_init().
svn path=/trunk/netsurf/; revision=3267
2007-05-06 05:55:13 +00:00
James Bursa
d0db5ed413 Fix warning: field precision should have type 'int', but argument 4 has type 'long int'.
svn path=/trunk/netsurf/; revision=3262
2007-05-02 03:06:52 +00:00
James Bursa
21407fe8ab Fix some warnings in recent gcc.
svn path=/trunk/netsurf/; revision=3261
2007-05-02 02:47:39 +00:00
James Bursa
0547422534 Move user-agent generation into fetch.c and simplify.
svn path=/trunk/netsurf/; revision=3260
2007-05-02 02:38:38 +00:00
John Mark Bell
b229c41e9c 1) Fix corruption of history data structure on cloning
2) Only destroy urldb's thumbnail bitmap if it's not the same as the new 
   one. This needs revisiting at a later date such that the mess 
   surrounding who owns bitmap objects is sorted (and so that urldb 
   doesn't need to know about bitmaps)

svn path=/trunk/netsurf/; revision=3243
2007-04-07 20:30:39 +00:00
John Mark Bell
f059818d74 Squash memory leak
svn path=/trunk/netsurf/; revision=3235
2007-04-05 12:33:12 +00:00
John Mark Bell
ccfc0e7516 Fix abort on attempted destruction of CONTENT_DIRECTORY (1690222)
svn path=/trunk/netsurf/; revision=3228
2007-03-28 22:56:54 +00:00
John Mark Bell
91cfb11592 Fix crash on WWW-Authenticate header with no realm (1686714)
svn path=/trunk/netsurf/; revision=3216
2007-03-23 22:39:10 +00:00
John Mark Bell
f261e4426a Lose noisy logging
svn path=/trunk/netsurf/; revision=3213
2007-03-18 23:48:12 +00:00
John Mark Bell
947ab0dcd2 Ensure content structures are zero initialised.
Make css_destroy check that the stylesheet pointer exists (content 
destructors may be called whilst the content is still loading - e.g. if 
the content type isn't permissable in the context it was loaded from).
Fixes 1627413, 1580980.

svn path=/trunk/netsurf/; revision=3212
2007-03-18 20:19:13 +00:00
John Mark Bell
0d750eac73 Improve debug output so that content usage may be traced
svn path=/trunk/netsurf/; revision=3210
2007-03-18 17:04:18 +00:00
John Mark Bell
6d0795b923 Handle redirects with partial bodies.
svn path=/trunk/netsurf/; revision=3209
2007-03-18 13:02:07 +00:00
John Mark Bell
9cf5122797 Content handlers should not call warn_user - they should broadcast the
error using content_broadcast and leave it to the content owner(s) to 
decide what to do about it.

Only use warn_user for top-level contents.


svn path=/trunk/netsurf/; revision=3204
2007-03-11 22:08:57 +00:00
Richard Wilson
7368688642 Dynamically update scale view (implement 1556975) and prevent double redraws.
svn path=/trunk/netsurf/; revision=3191
2007-03-03 19:46:20 +00:00
John Mark Bell
cf17b38065 Ensure handle options are reset appropriately (fixes 1668354)
svn path=/trunk/netsurf/; revision=3189
2007-02-25 16:52:53 +00:00
Daniel Silverstone
657e384a84 Fix RING_FINDBYHOST to actually find things. jmb found the bug, I verified his patch and committed it
svn path=/trunk/netsurf/; revision=3186
2007-02-22 11:48:39 +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
John Mark Bell
8cf2e40daa Bring handling of submission of blank file inputs in line with other browsers.
Tidy up fetch_post_convert while I'm at it.

svn path=/trunk/netsurf/; revision=3159
2007-01-30 23:19:21 +00:00
Rob Kendrick
5426a708a9 Generates and use a User-Agent: string based on new netsurf_version_major/minor values, and results of uname().
svn path=/trunk/netsurf/; revision=3158
2007-01-30 19:51:54 +00:00
Rob Kendrick
7c88381a59 Make time taken that is displayed in status bar use gettimeofday()-based time rather than clock()-based time
svn path=/trunk/netsurf/; revision=3157
2007-01-30 15:32:31 +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
b76283f3d5 Handle strdup failure
svn path=/trunk/netsurf/; revision=3153
2007-01-28 23:53:20 +00:00
John Mark Bell
9612b35de1 Improve domain matching of referer and host.
Lose comparison of schemes - this was spurious and wrong.
Fixes 1646417.

svn path=/trunk/netsurf/; revision=3152
2007-01-28 16:34:50 +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
John Mark Bell
f629a4f00f Revert hack around broken pipe (not caching fetch handles used for SSL
connections).
Ignore SIGPIPE completely as nothing other than OpenSSL is expected to 
generate it.

svn path=/trunk/netsurf/; revision=3145
2007-01-18 01:26:58 +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
James Bursa
e76140557d Add fetch_http_code() to retrieve the HTTP status code of a fetch.
svn path=/trunk/netsurf/; revision=3139
2007-01-13 00:19:02 +00:00
Daniel Silverstone
cf0718f649 Update the file comment for fetch.c as requested.
svn path=/trunk/netsurf/; revision=3133
2007-01-02 13:07:28 +00:00
John Mark Bell
98b451ffae Add option to set Accept-Charset header (Stefaan Claes)
svn path=/trunk/netsurf/; revision=3124
2006-12-28 00:42:14 +00:00
John Mark Bell
abcce3dfe7 Fix typo.
Default type -> text/plain

svn path=/trunk/netsurf/; revision=3123
2006-12-28 00:36:37 +00:00
John Mark Bell
5b3f0755f6 Add URLdb destruction functionality
svn path=/trunk/netsurf/; revision=3115
2006-12-08 22:38:46 +00:00
John Mark Bell
016dc5270a Further fixes and tidying to urldb. Also squash some memory leaks.
svn path=/trunk/netsurf/; revision=3104
2006-12-04 02:10:40 +00:00
James Bursa
b6b768f521 Improved tracking of memory usage. c->size is now exclusive of talloc size, and the two are added to find the full size.
svn path=/trunk/netsurf/; revision=3103
2006-12-03 22:34:26 +00:00
Richard Wilson
55ed73bf02 Lose debug.
svn path=/trunk/netsurf/; revision=3088
2006-12-01 21:13:27 +00:00
Richard Wilson
ef65cb38bd Fix 1535120, 1528673
svn path=/trunk/netsurf/; revision=3087
2006-12-01 21:09:49 +00:00
Richard Wilson
c9d76ba242 Fix 1597646
svn path=/trunk/netsurf/; revision=3086
2006-12-01 19:07:28 +00:00
Richard Wilson
9bb9194a7d Fix 1563546, plug possible memory leak.
svn path=/trunk/netsurf/; revision=3085
2006-12-01 18:38:04 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
James Bursa
65b356ba75 Documentation moved to Docs/01-content
svn path=/trunk/netsurf/; revision=3050
2006-11-11 19:46:51 +00:00
John Mark Bell
fbc0ac49e6 Log hostname on insertion failure.
svn path=/trunk/netsurf/; revision=3000
2006-10-12 14:10:18 +00:00
Chris Williams
f4e4ec00b7 Ignore body data from 401 replies to prevent disruption of auth login handling
svn path=/trunk/netsurf/; revision=2972
2006-10-01 13:17:52 +00:00
John Mark Bell
09d2b99973 Ensure urldb_add_path always has a path.
Extract hostname from url authority returned by url_get_components.

svn path=/trunk/netsurf/; revision=2958
2006-09-17 23:10:42 +00:00
Richard Wilson
1086d53b89 Lower overhead of urldb calls by using url component calls.
svn path=/trunk/netsurf/; revision=2908
2006-09-02 18:51:33 +00:00
Richard Wilson
74fa727509 Experimental new frames code.
svn path=/trunk/netsurf/; revision=2906
2006-09-02 15:52:41 +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
ca154b54c0 Fix edge case in cookie search code when handling Path=/foo
svn path=/trunk/netsurf/; revision=2776
2006-07-17 23:19:43 +00:00
Richard Wilson
0309e937e6 Allow the user to delete cookies.
svn path=/trunk/netsurf/; revision=2770
2006-07-16 21:42:37 +00:00
Richard Wilson
9294938976 Extent cookie_update API to allow notification of deleted domains. Fix nodes not being re-calculated.
svn path=/trunk/netsurf/; revision=2765
2006-07-16 16:10:43 +00:00
John Mark Bell
4c564c28bf Display session cookies' expiry correctly
Fix urldb debug build
Fix GTK build's cookie_update API

svn path=/trunk/netsurf/; revision=2752
2006-07-15 11:59:25 +00:00
Richard Wilson
652f594cbb Further url completion fixes
svn path=/trunk/netsurf/; revision=2744
2006-07-13 21:28:07 +00:00
Richard Wilson
1fcceb72f6 Fix url completion
svn path=/trunk/netsurf/; revision=2743
2006-07-13 19:48:45 +00:00
Richard Wilson
a836591435 Add basic cookie viewer, make trees use textarea components for UTF8 editing, trim headers, fix tree redraw issues.
svn path=/trunk/netsurf/; revision=2739
2006-07-13 12:46:02 +00:00
John Mark Bell
5bbd5f259e Don't cache curl handles that were used to fetch https URLs; with any
luck, this should fix broken pipe crashes.

svn path=/trunk/netsurf/; revision=2723
2006-07-09 01:25:06 +00:00
Richard Wilson
badad073ec Generate directory listings (fix 1397934)
svn path=/trunk/netsurf/; revision=2719
2006-07-06 00:07:11 +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
28a7ed4989 Relax domain matching to allow host a.com to match .a.com
svn path=/trunk/netsurf/; revision=2684
2006-07-01 21:35:30 +00:00
John Mark Bell
8c3e9b882b Fix crash when url_* fails
svn path=/trunk/netsurf/; revision=2678
2006-06-29 22:04:56 +00:00
John Mark Bell
83ef76adc7 Only accept cookies from cookie-enabled transactions
svn path=/trunk/netsurf/; revision=2668
2006-06-29 00:01:24 +00:00
John Mark Bell
a63221a624 Rewrite cookie parser to be more tolerant of junk input
No longer need urldb_init; remove it.

svn path=/trunk/netsurf/; revision=2643
2006-06-24 15:44:48 +00:00
John Mark Bell
bb91584f7c Strip day names from date strings before parsing; these are too variable
to bother with (and carry no information useful to us)
Make expires avpair handling cater for dates after 2038.

svn path=/trunk/netsurf/; revision=2642
2006-06-24 00:01:55 +00:00
John Mark Bell
5f10c6277a Remove assertion of invalid assumption (fixes #1509118)
svn path=/trunk/netsurf/; revision=2637
2006-06-20 12:05:19 +00:00
John Mark Bell
dcb3caf1eb Make cookie file parser more strict (cookies with spaces in the value
have been seen in the wild).
Fix lookup of cookies for top-level paths (i.e. a path segment of "/")

svn path=/trunk/netsurf/; revision=2636
2006-06-20 11:45:41 +00:00
John Mark Bell
8ac57593b8 Fix handling of broken Expires avpairs
svn path=/trunk/netsurf/; revision=2633
2006-06-19 23:40:27 +00:00
John Mark Bell
4f249f9d0a Merge cookies changes into head - unvalidated transactions and a UI
still need implementing.

svn path=/trunk/netsurf/; revision=2632
2006-06-19 21:49:25 +00:00
John Mark Bell
026ba672ae Fix handling of hosts with no paths attached (fixes #1505891)
svn path=/trunk/netsurf/; revision=2620
2006-06-15 15:06:59 +00:00
John Mark Bell
c1dbdad995 Provide persistent flag for urldb entries.
Make hotlist use this, rather than abusing the last visited date.
This fixes the hotlist being copied to global history issue.

svn path=/trunk/netsurf/; revision=2619
2006-06-14 22:46:12 +00:00
John Mark Bell
217e59aebe Fix off-by-one error in search routines which caused crashes with
(invalid) host names ending in a '.'.

svn path=/trunk/netsurf/; revision=2618
2006-06-14 21:47:23 +00:00
Richard Wilson
a2465c779f Remove RISC OS dependencies from filename code.
svn path=/trunk/netsurf/; revision=2540
2006-04-21 23:49:52 +00:00
James Bursa
312bece1d0 Make static function names consistent.
svn path=/trunk/netsurf/; revision=2537
2006-04-16 10:30:51 +00:00
John Mark Bell
faf76f5f5f Ignore scheme when performing partial match
svn path=/trunk/netsurf/; revision=2535
2006-04-15 18:57:57 +00:00
John Mark Bell
e5912fedd1 Use database's copy of URL for new global history entries
svn path=/trunk/netsurf/; revision=2534
2006-04-15 18:53:20 +00:00
John Mark Bell
037fb6d91d Fix host match functions
svn path=/trunk/netsurf/; revision=2532
2006-04-15 17:48:47 +00:00
John Mark Bell
5873160a8b Fix undersized buffer for reading port number into
Detect no URLs for a host before adding host to database.

svn path=/trunk/netsurf/; revision=2530
2006-04-15 13:59:53 +00:00
John Mark Bell
1b48febd2f Fix issues with authentication storage/lookup in database
svn path=/trunk/netsurf/; revision=2527
2006-04-12 23:23:47 +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
4ecbfb483c Handle memory exhaustion for version 1.06 URL files
Log failure to insert from version 1.05 URL files for debugging purposes

svn path=/trunk/netsurf/; revision=2523
2006-04-11 17:00:26 +00:00
John Mark Bell
e0ba508992 Store URLs explicitly in URL database for faster access.
Iteration callbacks now passed url_data struct to remove need to look up

svn path=/trunk/netsurf/; revision=2522
2006-04-11 02:39:55 +00:00
John Mark Bell
1ee3d620b8 New URL file format more suited to urldb implementation
svn path=/trunk/netsurf/; revision=2520
2006-04-10 08:43:30 +00:00
John Mark Bell
c09eb457df Unify information databases
svn path=/trunk/netsurf/; revision=2519
2006-04-09 23:21:13 +00:00
Daniel Silverstone
7ddb6b6f19 [project @ 2006-03-14 15:01:57 by dsilvers]
Urgh, unconditional variables made my brain hurt

svn path=/import/netsurf/; revision=2129
2006-03-14 15:01:57 +00:00
Daniel Silverstone
40260f177a [project @ 2006-03-14 14:21:00 by dsilvers]
Multi-parallel fetch. Needs documenting, works in basic GTK tests, makes things way faster on GTK port. Needs testing on RO and in general more testing is good.

svn path=/import/netsurf/; revision=2127
2006-03-14 14:21:01 +00:00
Richard Wilson
25a995931d [project @ 2006-03-04 20:46:35 by rjw]
Continue work towards favicon support.

svn path=/import/netsurf/; revision=2104
2006-03-04 20:46:35 +00:00
Michael Drake
b48ed604f5 [project @ 2006-03-04 10:48:40 by tlsa]
Tweak timeouts.

svn path=/import/netsurf/; revision=2103
2006-03-04 10:48:40 +00:00
Richard Wilson
60ea34ad48 [project @ 2006-02-26 02:25:19 by rjw]
Add support for ICO files.

svn path=/import/netsurf/; revision=2096
2006-02-26 02:25:19 +00:00
Richard Wilson
da4a9313f1 [project @ 2006-02-25 18:50:34 by rjw]
Support for BMP files

svn path=/import/netsurf/; revision=2095
2006-02-25 18:51:51 +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
Richard Wilson
4cc85469cb [project @ 2006-02-21 20:49:11 by rjw]
Allow any content to be used as a background. Simplify bitmap code.

svn path=/import/netsurf/; revision=2087
2006-02-21 20:49:12 +00:00
John Mark Bell
5ce5fe084c [project @ 2006-02-19 18:26:23 by jmb]
Rewrite HTTP authentication.
Fix extraction of realm from WWW-Authenticate header.
Tidy up login dialog code.

svn path=/import/netsurf/; revision=2085
2006-02-19 18:26:23 +00:00
James Bursa
07d55db910 [project @ 2006-02-13 23:04:32 by bursa]
Disable sending of Expect: 100-continue for POSTs (fixes using the bug tracker). Remove unnecessary setting of Host header.

svn path=/import/netsurf/; revision=2080
2006-02-13 23:04:32 +00:00
James Bursa
415254c326 [project @ 2006-02-12 23:07:28 by bursa]
Rewrite handling of text/plain contents. Now rendered directly instead of converting to HTML.

svn path=/import/netsurf/; revision=2078
2006-02-12 23:07:28 +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
6be0b8e60c [project @ 2006-02-07 00:44:52 by jmb]
Squash leaks and fake ETag header for local objects.

svn path=/import/netsurf/; revision=2060
2006-02-07 00:44:52 +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
0f77b057a1 [project @ 2006-01-25 06:52:38 by jmb]
Meta refresh support

svn path=/import/netsurf/; revision=2039
2006-01-25 06:52:38 +00:00
Richard Wilson
37fbf489d4 [project @ 2006-01-24 23:04:07 by rjw]
Minor optimisations to start-up

svn path=/import/netsurf/; revision=2027
2006-01-24 23:04:07 +00:00
John Mark Bell
745deb7a9d [project @ 2006-01-08 01:51:33 by jmb]
Make data file locations user-configurable (no UI for this as yet)
Reduce intrusiveness of ncos modifications
Fix GTK build
Remove Cookies file details from Messages (this data never belonged in there anyway)
Make gui_init more robust against memory exhaustion.

svn path=/import/netsurf/; revision=2014
2006-01-08 01:51:33 +00:00
John Mark Bell
07d4f5c57b [project @ 2006-01-07 02:33:36 by jmb]
Fix 1347726.

svn path=/import/netsurf/; revision=2011
2006-01-07 02:33:36 +00:00
Richard Wilson
dee8928366 [project @ 2006-01-06 05:32:45 by rjw]
Remove bad data. Optimise loading of URL data. Massively decrease the time taken to save URL data.

svn path=/import/netsurf/; revision=1989
2006-01-06 05:32:45 +00:00
Richard Wilson
43f8d0048c [project @ 2006-01-05 02:05:34 by rjw]
Massively increase efficiency of URL completion.

svn path=/import/netsurf/; revision=1985
2006-01-05 02:05:34 +00:00
Richard Wilson
075c6e98b6 [project @ 2006-01-04 23:03:00 by rjw]
Make URL file loading handle invalid thumbnail filenames better. Decrease time taken to find a hostname.

svn path=/import/netsurf/; revision=1983
2006-01-04 23:03:00 +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
John Mark Bell
05bb6641e1 [project @ 2006-01-03 17:01:17 by jmb]
Fix 1371902.
fetch_filetype now receives the unix path with the leading / (which it always should have done, tbh).

svn path=/import/netsurf/; revision=1976
2006-01-03 17:01:17 +00:00
Richard Wilson
e68f319778 [project @ 2006-01-02 23:03:07 by rjw]
Quickly match repeated hostname calls.

svn path=/import/netsurf/; revision=1968
2006-01-02 23:03:07 +00:00
James Bursa
cb04ca9640 [project @ 2006-01-02 13:18:32 by bursa]
Fix documentation comments. Change types of some members of struct url_content. Fix possible leak in url_store_find_hostname().

svn path=/import/netsurf/; revision=1947
2006-01-02 13:18:32 +00:00
John Mark Bell
43d4cfecf7 [project @ 2005-12-31 05:35:59 by jmb]
Fix attempted read/write to NULL pointer

svn path=/import/netsurf/; revision=1923
2005-12-31 05:35:59 +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
Richard Wilson
579d8ff0b6 [project @ 2005-12-31 04:27:53 by rjw]
Store more URL data centrally.

svn path=/import/netsurf/; revision=1907
2005-12-31 04:27:53 +00:00
James Bursa
ad13eb98af [project @ 2005-12-19 21:54:51 by bursa]
Fix busy polling in gtk build.

svn path=/import/netsurf/; revision=1900
2005-12-19 21:54:51 +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
Adrian Lees
1efd4796a2 [project @ 2005-12-10 14:31:32 by adrianl]
ArtWorks support

svn path=/import/netsurf/; revision=1891
2005-12-10 14:31:33 +00:00
James Bursa
972392ef66 [project @ 2005-10-30 21:22:19 by bursa]
Add index parameter to content_open().

svn path=/import/netsurf/; revision=1872
2005-10-30 21:22:19 +00:00
Adrian Lees
8a88130630 [project @ 2005-10-01 23:27:22 by adrianl]
Pedantic corrections

svn path=/import/netsurf/; revision=1868
2005-10-01 23:27:22 +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