Except for very specific cases, strncpy() should never be used.
It can result in a non-terminated string.
Also replace strncat() with strlcat(); the latter is simpler
because you don't have to calculate remaining buffer space.
With old (7.15) versions of libcurl, args passed to curl_easy_setopt()
(such as the URL) were supposed to remain unchanged until
the operation was done.
Starting with 7.17 it was changed so that curl_easy_setopt()
copied its arguments.
The BOINC client was assuming the latter.
When linked against the former,
URLs would mysteriously change to garbage strings.
I changed things to work with the old libcurl semantics.
.gzb file extension. I was wrong in how I read the conditional and
it turns out that libcurl does not honor the content-encoding even
if it is capable of supporting it. My bad.
client/
http_curl.cpp
svn path=/trunk/boinc/; revision=25205
Disable libcurls ability to decompress on-the-fly and let the CC decompress
it after it has been fully downloaded.
client/
http_curl.cpp
svn path=/trunk/boinc/; revision=25138
so that if you use <http_debug> and filter by project
you don't see other projects' HTTP stuff
- client simulator: cc_config.xml is part of the scenario;
log flags are part of the simulation
svn path=/trunk/boinc/; revision=24410
- Fix build problems on Mac OS X using autotools
- Consistently use #if HAVE_X for platform checks,
rather than #ifdef HAVE_X or #if defined(HAVE_X)
- In Unix build, make lots of compiler checks standard
- Fix some compile warnings
From Matt Arsenault.
Note: there are now lots of compile warnings in clientgui/ on Unix,
mostly in WxWidgets code
svn path=/trunk/boinc/; revision=24303
- client: remove once-per-week limit for client-generated notices;
need to show "network connection required" more often
- client: when remove "network conn required" notice
(because now have conn)
set the flag that says complete notice list is being sent
- client: if RSS feed fetch returns <error_num>,
show the corresponding message rather than "XML parse error"
svn path=/trunk/boinc/; revision=23063
in the following situation.
Suppose GPU job A is running,
and GPU job B (which has never run before) preempts it.
Then
1) an ACTIVE_TASK and slot dir are allocated for B (slot dir is empty)
2) A is told to quit; B isn't started until A exits
(because they're GPU jobs)
3) before A exits, B is suspended
4) eventually B is started.
Its scheduler state is SUSPENDED rather than UNINITIALIZED,
so the scheduler thinks it slot dir has already been populated.
But it hasn't, and when the app starts it fails immediately
because no files are there.
Fix: decide whether a slot dir needs to be populated by
seeing whether it's empty,
rather than looking at the scheduler state of the task.
svn path=/trunk/boinc/; revision=22206
(contacting google.com and possibly alerting the user)
for "background" HTTP ops. These include:
- periodic account manager requests
- periodic notice RSS feed fetches
- periodic fetch of project list
- periodic fetch of current client version
svn path=/trunk/boinc/; revision=22037