Website improvements
by James Bursa
The website is due for improvements in content, navigation, and design. I
think we should start by figuring out the aims of visitors of the site:
- a non-user who wants to know what NetSurf is and why he should get it
- a non-user who wants to install NetSurf
- a user who wants to upgrade to the latest version
- a user who wants to report a bug
- a user who wants to contribute in some way
- a user who needs help or documentation
- a webmaster who's seen NetSurf in their log and wants to know what it is
- a user or web designer who wants to know which standards NetSurf supports
- a new developer who would like to get the source and contribute
- a new developer on some device or platform who's looking for a browser to
port
- someone who wants to contact us
Any more that I've missed?
Current content of the site is:
- front page (currently summary, news, links)
- news archive
- screenshots
- downloads
- development information
- documentation
- development progress
- licence
- mailing lists links
- development plan
- themes
James
--
James Bursa, NetSurf developer http://www.netsurf-browser.org/
15 years, 10 months
1.1 patches
by John-Mark Bell
Courtesy of James, here's a list of the patches available for merge into
the stable branch for a 1.1 release next week:
---8<----
3297 tlsa Treat CENTER like other browsers do.
3298 tlsa More alignment changes.
3299 rjek Tweak default hotlist entries to be more up-to-date
3300 bursa Switch version to "2.0 (Development)".
3304 jmb Fix bugs in charset detection. Strip BOM from parser
input, as it confuses libxml. Ignore
non-ASCII-compatible charsets declared in meta tag (the
parser defaults to 8
3305 rjek Add UNIX-specific fetch_filetype() support. Uses
/etc/mime.types by default, but can build minimal
mappings if it doesn't exist. New code allows file://
directory list
3306 dsilvers Add a -v option to enable debug logging. Pass -v by
default to the RO runimage.
3307 dsilvers 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 i
3311 adrianl Fix interaction between failed drag save and pointer
tracking (including page drag scrolling)
3312 adrianl Overlooked warnings
3317 rjek Stop filename.c using d_type member in dirent struct, as
this is completely and utterly unportable. Not even
Linux has it anymore.
3318 rjek Check return value of stat() in filename.c and report
oddness using LOG
3322 rjek Add some debugging LOG calls to GTK gui_window_destroy
3323 rjek Fix destruction of nsgtk windows involving frames, fixes
crashes on sites such as news.bbc.co.uk
3324 rjek Whoops - remove legacy line calling function that
nolonger exists.
3325 rjek Simplify nsgtk periodic reflow. Should hopefully help in
flicker.
3328 rjek Don't bother resizing/repositioning frames when the core
asks us to if it would result in no difference.
Hopefully this fixes nsgtk consuming all available CPU
on site
3330 dsilvers Merge scheme switcher branch in.
3331 dsilvers Remove a time consuming LOG(()) and add some whitespace
to help me think
3332 jmb Warning fixes.
3333 dsilvers Add debug about ring sizes. Ensure we dispatch queued
jobs when a job is freed.
3334 dsilvers Reflow useragent.c to be 8 char indent. Also rename
build_user_agent to user_agent_build_string so that all
useragent.c starts user_agent_*
3335 jmb Fix UTF-16LE BOM detection _again_
3337 jmb Fix cookie domain matching in unverifiable
transactions. Minor tidying.
---8<----
My view is that all but the following patches can be merged across:
3297, 3298:
There's still some dispute as to the correct behaviour wrt the handling
of <center>. Other browsers don't appear to agree, either (from the
limited testing that I've seen).
Michael: Can we have some evidence as to existing behaviours, please?
3300:
Version numbering change for development branch. This should be
self-explanatory.
3330, 3331, 3332, 3333, 3334:
Scheme switcher changes. I'd like these to have rather more testing before
ending up in a stable build.
In addition (and before it gets forgotten) there's also:
3314 bursa Work around for broken PS printer driver
from RUfl.
All the above gives a changeset for the RISC OS build as follows:
+ Fix potential security flaw in cookie handling in unverifiable
transactions.
+ Fix dragging-related crash.
+ Fix printing to PostScript printers on <>RO5.
+ Fix charset detection issues.
+ Logging is now controlled by "-v" on the command line (on by default)
John.
16 years, 1 month
SSL & licencing
by John-Mark Bell
Our current SSL support is provided through OpenSSL. We don't currently
have a licence exception for linking against OpenSSL. This will be an
issue for the Debian package, at the very least -- see
http://ftp-master.debian.org/REJECT-FAQ.html
and
http://www.openssl.org/support/faq.html#LEGAL2
There are a number of ways around this:
1) Add an appropriate exception for OpenSSL to the licence. AFAICS, this
will require getting the consent of all contributors.
Advantages:
+ No code changes needed, so we know it works
Disadvantages:
+ Means contacting all contributors -- not all of whom are subscribed to
this mailing list. Do we even have contact details for some of them?
2) Moving to another SSL implementation which doesn't have licensing
issues (e.g. GNU TLS or yassl).
Advantages:
+ No need to find contact details for people.
+ Potential for code size/speed improvements through use of a different
SSL implementation (both yassl and GNU TLS are significantly smaller
than OpenSSL)
+ GNU TLS has a far nicer API -- it's even documented <fx: dies of shock>
Compare, for example, the mess in fetch_curl_done() related to
certificate chain inspection with print_x509_certificate_info() here:
http://www.gnu.org/software/gnutls/manual/html_node/X_002e509-certificate...
Disadvantages:
+ Requires code changes. (possibly not in the case of yassl)
+ Yassl seems flaky, from the experimentation James and I did a while
back. It also doesn't provide the certificate inspection API.
+ GNU TLS requires changes to curl to provide access to the TLS handle.
(we'd want to push any changes here upstream, of course)
I'd appreciate some feedback here. My own view is that GNU TLS has enough
going for it that it'd be worth the migration pain.
J.
16 years, 2 months
Commits list
by John-Mark Bell
Hi,
The svnmailer config has now been changed such that commits are now
sent to netsurf-commits(a)netsurf-browser.org.
J.
16 years, 2 months
Re: Sending Log reports
by John-Mark Bell
On Wed, 27 Jun 2007, Matthew Thompson wrote:
>> If you're writing an article, I should point out that the name of the
>> software is "NetSurf" (note the capital S).
>
> I have to admit i'd not even noticed that, I will make a note of that.
[Paypal]
>> That depends on what causes them to break; at present I have no idea (not
>> least as I have no Paypal account to test with). I'm not sure if anyone
>> else has investigated this.
>
> The problem occurs right at the end of a making a payment with Paypal,
> all the Ebay business works fine, logging in correctly, and all the
> Paypal bit works fine it's just right at the end when you click "Pay
> Now" it doesn't do anything, it looks to be doing something but then
> goes back to the same page, it maybe Javascript related I don't know
> to be honest. Oregano 2 seems to do the same thing as well.
In which case, the simplest thing to do is to save the page in question
(Page->Save or hit F3), remove any sensitive information (replace it with
Xs, or something; just don't change any tags), and attach it to a bug report.
John.
16 years, 2 months
Re: Sending Log reports
by John-Mark Bell
On Wed, 27 Jun 2007, Matthew Thompson wrote:
> I hope you don't mind sending you this email,
I don't; however, it is better to email the user's mailing list such that
any answer appears in the archives for everyone's benefit. It also makes
it more likely that you'll get a useful response.
I'm CCing the developer's list due to some of the questions below.
Details of NetSurf related mailing lists may be found at
http://www.netsurf-browser.org/lists
> but I have collected a few Netsurf error logs from crashes since V1.00
> release, I was going to send them into you but not totally sure how to
> do it, is just send them to the list as attachements ?
No, please don't do that. The guidelines for reporting bugs may be found
at http://www.netsurf-browser.org/info#Bugs. Please report any issues you
have on the bug tracker, attaching log files to the report as needed.
If in doubt, attach a log file; by the time we get to dealing with a bug
report it is likely that things will have changed. Therefore, the more
relevant information provided in the report the more likely it will get
fixed.
> Please could tell me the procedure for sending in the log reports, for
> my use and also I am going to be doing an article on Netsurf for Risc
> World soon and would like to be able to add it to that too so others
> can see.
If you're writing an article, I should point out that the name of the
software is "NetSurf" (note the capital S).
> Thanks for the continued development of Netsurf, it is very much
> appreciated but can I ask you a few questions about the future if you
> do not mind .
>
> 1) Can printing with RISC OS 5 be resolved ?
Of course. It simply requires time and effort. To do it properly also
requires the release of the printer driver sources by ROOL. We have
requested that this happen.
> 2) Is there a way to get Ebay/Paypal payments working with Netsurf, as
> this did used to work about a year ago no problems.
That depends on what causes them to break; at present I have no idea (not
least as I have no Paypal account to test with). I'm not sure if anyone
else has investigated this.
> 3) How do we know what has been changed in new releases of Netsurf ?
> is there a change log (if there is i've missed it) .
There will be a changelog between stable releases. No such thing currently
exists for the simple reason that only one stable release has been made.
Changes between development builds are logged by the version control
software we use; the last 7 days' changes may be found at the bottom of
http://www.netsurf-browser.org/builds/
> 4) There is a problem with 800x600 display and the BBC Comedy website
> guide if you go to
> http://www.bbc.co.uk/comedy/guide/articles/k/kytv_7774065.shtml
>
> the page is not correctly displayed , but switch to a higher
> resolution mode and it all works OK, i've only seen this problem on
> the BBC comedy guide site for some reason, I did speak to someone else
> about this and he said it was fixable, but not a priority which is
> fair enough. Can it be fixed?
Define "fixed". The issue is simply that the page is wider than the space
available for display. In this case, one of two things will happen; parts
of the page will wrap or, if no wrapping is possible, the page will be
displayed wider than the viewable area and will need horizontal scrolling.
Browsers in general tend to attempt the former option first.
> I am more than happy to keep testing Netsurf with websites and send in
> any error logs and post bugs to the bug tracker online or the mailing
> list - which is the best way to do it ?
The recommended way is detailed in the guidelines I referred to above.
Issues which are not recorded in the tracker are liable to get lost.
> As I said many thanks for the progress and hard work done on Netsurf,
> it is appreciated by RISC OS users and please ignore the moaners,
> whingers etc on newsgroups, we do appreciated all the developers hard
> work on it. And a donation/fund scheme, (similar to the Firefox one)
> would certainly be welcomed I think to help fund future development.
It has always been the case that financial income is not something that is
a barrier to future work. Availability of free time is, however. None of the
NetSurf developers gain any income from the project; what monies we do get
are spent on covering costs. More details may be found here:
http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/...
John.
16 years, 2 months
Fetch problem
by James Bursa
I think I've found the problem with fetching stylesheets that has been
reported by several users recently.
To reproduce, change max_fetches_per_host to 1 (options.c), then
gdb ./nsdebug, file:/home/james/Projects/netsurf/!NetSurf/Docs/intro_en,faf.
NetSurf starts infinite looping in html_find_stylesheets(). Interrupting
gives this backtrace:
#0 0x00002acc9edebd10 in __write_nocancel () from /lib/libc.so.6
#1 0x00002acc9ed93d53 in _IO_new_file_write () from /lib/libc.so.6
#2 0x00002acc9ed93c66 in _IO_new_do_write () from /lib/libc.so.6
#3 0x00002acc9ed9430c in _IO_new_file_overflow () from /lib/libc.so.6
#4 0x00002acc9ed90f3b in fputc () from /lib/libc.so.6
#5 0x0000000000406fab in fetch_dispatch_jobs () at content/fetch.c:349
#6 0x0000000000407534 in fetch_poll () at content/fetch.c:463
#7 0x0000000000437ed7 in html_find_stylesheets (c=0x5f9238, head=0x61b800) at
render/html.c:900
#8 0x00000000004368bd in html_convert (c=0x5f9238, width=1000, height=1000)
at render/html.c:445
#9 0x00000000004053a1 in content_convert (c=0x5f9238, width=1000,
height=1000) at content/content.c:739
#10 0x0000000000408f03 in fetchcache_callback (msg=FETCH_FINISHED, p=0x5f9238,
data=0x7fff0cc47ea0, size=0) at content/fetchcache.c:431
#11 0x0000000000407721 in fetch_send_callback (msg=FETCH_FINISHED,
fetch=0x5f9780, data=0x7fff0cc47ea0, size=0) at content/fetch.c:544
#12 0x000000000041311c in fetch_curl_done (curl_handle=0x5f9ab0,
result=CURLE_OK) at content/fetchers/fetch_curl.c:815
#13 0x0000000000412e9f in fetch_curl_poll (scheme_ignored=0x5dc020 "ftps") at
content/fetchers/fetch_curl.c:735
#14 0x0000000000407555 in fetch_poll () at content/fetch.c:469
#15 0x0000000000462b9d in main (argc=1, argv=0x7fff0cc484a8) at
debug/netsurfd.c:90
At this point fetch_ring and queue_ring are:
queue_ring:
file:///home/james/Projects/netsurf/ns.css
file:///home/james/Projects/netsurf/!NetSurf/Docs/netsurf
fetch_ring
file:///home/james/Projects/netsurf/!NetSurf/Docs/intro_en,faf
Since max_fetches_per_host is 1, the queued fetches are waiting for the
current fetch to stop, but this won't happen until fetch_curl_done()
finishes.
The cause of this is that fetch_curl_stop() (previously fetch_stop()) was
moved to be after the callbacks in fetch_curl_done() (previously
fetch_done()):
svn diff svn://svn.netsurf-browser.org/trunk/netsurf/content/fetch.c@3307
svn://svn.netsurf-browser.org/trunk/netsurf/content/fetchers/fetch_curl.c
-void fetch_done(CURL *curl_handle, CURLcode result)
+static void fetch_curl_done(CURL *curl_handle, CURLcode result)
{
bool finished = false;
bool error = false;
...
- /* clean up fetch and start any queued fetch for this host */
- fetch_stop(f);
-
/* postponed until after stop so that queue fetches are started */
if (abort)
; /* fetch was aborted: no callback */
else if (finished) {
...
+
+ fetch_curl_stop(f);
}
The comment that indicates why stop was at that point is still there.
I tried moving the call to fetch_curl_stop() back, but it was moved for the
reason that it now deallocates some memory used after the old position.
I guess the solution is to split fetch_curl_stop() into two parts, one to
remove the fetch from the active fetches (fetch_ring), and the second to free
it.
The fetch code is getting very complex and I think we need to simplify it if
possible. This was the case already before the split into fetch and
fetch_curl. We probably need to reconsider if the architecture based on
callbacks is the best way.
James
--
James Bursa, NetSurf developer http://www.netsurf-browser.org/
16 years, 3 months
UA string again
by Michael Drake
The UA sting of current development builds is:
NetSurf/2.0 (RISC OS; armv5l)
This is no different to what the final release version will have.
I think we should have something else. Maybe:
NetSurf/pre2.0 (RISC OS; armv5l)
or
NetSurf/2.0[test] (RISC OS; armv5l)
or something.
--
Michael Drake (tlsa) http://www.netsurf-browser.org/
16 years, 3 months