John Mark Bell
d591d8df94
Treat decomposed URLs with no path component as being for the path "/".
...
svn path=/trunk/netsurf/; revision=9703
2009-11-22 23:25:18 +00:00
John Mark Bell
8685cfb3b7
Fix the other half of this NULL dereference issue
...
svn path=/trunk/netsurf/; revision=9695
2009-11-22 14:21:47 +00:00
John Mark Bell
63848419e2
Ensure urldb file handle is closed on error.
...
svn path=/trunk/netsurf/; revision=9693
2009-11-22 14:12:03 +00:00
John Mark Bell
81c1b0e0df
Don't call memcpy when p->segment is NULL
...
svn path=/trunk/netsurf/; revision=9687
2009-11-22 13:49:43 +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 Tytgat
9d678ef7cd
Drop pkg-config on cairo, not needed here. Added const.
...
svn path=/trunk/netsurf/; revision=8985
2009-08-02 12:07:29 +00:00
John Mark Bell
ceca548a1d
Fix serialisation of page titles.
...
svn path=/trunk/netsurf/; revision=8313
2009-07-04 18:19:29 +00:00
John Mark Bell
c1e3fb0bec
Remove spurious "domain" variable from urldb_iterate_partial().
...
Lose unnecessary increment of rptr in cookie domain prefix matching.
Record that, in the long term, we need some kind of TLD service to consult so that (e.g.) .co.uk is not considered a valid domain prefix.
svn path=/trunk/netsurf/; revision=7600
2009-05-28 13:19:07 +00:00
John Mark Bell
53bbe5fb9e
Fix url completion when last character in url bar is a /
...
svn path=/trunk/netsurf/; revision=7105
2009-04-16 14:12:54 +00:00
John Mark Bell
79c0981402
Ensure that neither the current fetch host nor the referrer is an IP address before attempting to domain match them.
...
svn path=/trunk/netsurf/; revision=6466
2009-02-13 10:49:35 +00:00
John Mark Bell
e5c225f7d9
Even fuzzier domain matching.
...
svn path=/trunk/netsurf/; revision=6463
2009-02-13 00:25:48 +00:00
John Mark Bell
19321017a9
Document the assumption that all URLs passed into urldb are already normalised. Violate this precondition at your peril.
...
svn path=/trunk/netsurf/; revision=6371
2009-02-06 02:08:00 +00:00
John Mark Bell
6a0a7c346a
Let's try that again. Now actually passes the regression tests.
...
svn path=/trunk/netsurf/; revision=6317
2009-01-31 03:03:50 +00:00
John Mark Bell
e2ebfb72f7
Fix urldb_match_path().
...
Fix test code.
svn path=/trunk/netsurf/; revision=6316
2009-01-31 02:49:26 +00:00
John Mark Bell
966b402881
urldb_destroy_path_tree() -> iteration
...
svn path=/trunk/netsurf/; revision=6315
2009-01-31 02:30:28 +00:00
John Mark Bell
9085c458d3
urldb_save_cookie_paths() -> iteration
...
svn path=/trunk/netsurf/; revision=6314
2009-01-31 02:16:01 +00:00
John Mark Bell
71e397eb84
Initialising variables helps
...
svn path=/trunk/netsurf/; revision=6313
2009-01-31 02:13:12 +00:00
John Mark Bell
92b3bdeda0
urldb_delete_cookie_paths() -> iteration
...
svn path=/trunk/netsurf/; revision=6312
2009-01-31 02:12:06 +00:00
John Mark Bell
45b222ab50
Make urldb_dump_paths iterate
...
svn path=/trunk/netsurf/; revision=6311
2009-01-31 02:02:01 +00:00
John Mark Bell
a1d409d922
Make urldb_match_path() iterate.
...
svn path=/trunk/netsurf/; revision=6310
2009-01-31 01:57:15 +00:00
John Mark Bell
376ef0ca47
Make urldb_iterate_entries_path use iteration
...
svn path=/trunk/netsurf/; revision=6304
2009-01-30 19:58:46 +00:00
John Mark Bell
e5c07a3a82
Pedantic linewrapping
...
svn path=/trunk/netsurf/; revision=6303
2009-01-30 19:47:15 +00:00
John Mark Bell
29fac74dcc
Make urldb_iterate_partial_path iterate over the tree and not recurse.
...
svn path=/trunk/netsurf/; revision=6302
2009-01-30 19:43:54 +00:00
John Mark Bell
ffe288e50b
This logic looked entirely wrong. Fix it to be more sane. If this breaks things, blame the lack of commentary.
...
svn path=/trunk/netsurf/; revision=6301
2009-01-30 19:09:26 +00:00
John Mark Bell
a2fbddea60
Minor optimisation
...
svn path=/trunk/netsurf/; revision=6300
2009-01-30 18:50:55 +00:00
John Mark Bell
a3f46b12ef
Iterate when counting/writing out paths.
...
svn path=/trunk/netsurf/; revision=6299
2009-01-30 18:48:55 +00:00
John Mark Bell
79fdbab192
Jump through hoops, potentially squashing warnings.
...
svn path=/trunk/netsurf/; revision=5569
2008-10-13 23:45:08 +00:00
Daniel Silverstone
eaa744c0d2
Remove urldb_search_remove. Added hint for where to find it if we need it in future
...
svn path=/trunk/netsurf/; revision=5531
2008-10-10 11:54:37 +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
James Bursa
f87138e5de
Remove two unused functions.
...
svn path=/trunk/netsurf/; revision=4333
2008-06-14 23:17:50 +00:00
Rob Kendrick
59641def82
const fixes in plotters and history core
...
svn path=/trunk/netsurf/; revision=4083
2008-04-07 11:15:09 +00:00
John Mark Bell
46d135f42d
Squash warning
...
svn path=/trunk/netsurf/; revision=3988
2008-03-19 18:36:16 +00:00
John Mark Bell
9597b5359c
Drop support for URL file versions below 1.06
...
svn path=/trunk/netsurf/; revision=3945
2008-03-13 18:25:41 +00:00
John Mark Bell
2dadb5fac8
Forward compatible Cookie file loading/saving
...
Reduce amount of magic numbers
svn path=/trunk/netsurf/; revision=3944
2008-03-13 18:14:05 +00:00
John Mark Bell
3986abd20b
Add testcase for non-fqdn -- already passes, but may as well keep it for regression testing.
...
svn path=/trunk/netsurf/; revision=3877
2008-03-03 13:21:02 +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
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
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
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
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
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
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
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
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
John Mark Bell
fbc0ac49e6
Log hostname on insertion failure.
...
svn path=/trunk/netsurf/; revision=3000
2006-10-12 14:10:18 +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
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
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
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
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