10000*major + 100*minor + release,
rather than 100*major + minor.
Sometimes you need release-level resolution.
This affects:
- app_version.min_core_version
- config: min_core_client_version_announced
- config: min_core_client_version
Projects using these must multiply them by 100.
svn path=/trunk/boinc/; revision=20149
if project has crazy DCF, don't automatically request 1 sec;
only request work if there's a shortfall.
- intermediate checkin for notices stuff
svn path=/trunk/boinc/; revision=20145
sends the first rather than last 64KB of stderr to server.
This doesn't belong here; this choice should come from the server.
I may take this out later.
- user web: when add a private message, always add a notification
svn path=/trunk/boinc/; revision=20141
Old: in a flat file (html/project/project_news.inc)
New: in a forum (called "News" by default)
The script html/ops/news_convert.php copies news from
old to new format.
You'll also need to edit your index.php and use
"show_news(0, 5)" to show news.
- web: added a "message of the day" mechanism.
Edit html/user/motd.php to show a message.
This will be shown as the first news item,
but it's not archived (i.e., it's not a forum post)
svn path=/trunk/boinc/; revision=19949
the BOINC stylesheet (main.css) was included.
This is no good if we're exporting the HTML.
Add an option to generate generic HTML.
- web: add options to the forum RSS feed:
1) threads_only: just show threads (i.e. 1st post in each thread)
2) truncate: truncate posts to 256 chars.
If this is not set, convert post from BBcode to generic HTML,
and put this (XML-encoded) in item.description
This is preparation for using the forum code for project news,
and for displaying forum RSS feeds in the manager.
svn path=/trunk/boinc/; revision=19915
- default: script can be run from command line;
to run from web you need to be logged in as a particular user.
(in addition to .htaccess protection).
- if include $cli_only at start of script:
can only be run from the command line.
- if include $skip_auth_ops at start of script:
can run from web without being logged in
(this is set ONLY in login_action.php)
- admin web: added $cli_only = true to a bunch of scripts
svn path=/trunk/boinc/; revision=19230
to accept CPU, NVIDIA and ATI jobs.
These prefs are shown only where relevant:
e.g., only for processor types for which the project has app versions,
and if it has versions for only one type, no pref is shown.
These prefs affect both client and scheduler.
The client won't ask for work for a device blocked by prefs,
and the scheduler won't send it.
This replaces earlier optional project-specific prefs for
"no CPU jobs" and "no GPU jobs".
(However, these prefs continue to be honored on the server side).
- client: if NVIDIA driver is unknown, say that rather than 0
svn path=/trunk/boinc/; revision=19194
Got rid of auth_ops_cmdline() (not needed).
auth_ops() is now called in util_ops.inc;
every script in html/ops/ must include util_ops.inc.
Note: for existing projects, the admin web interface
will now show "access denied".
Projects must think about what access control policy they want,
and specify it in project.inc
svn path=/trunk/boinc/; revision=19053
(this is separate from login to user pages,
since the cookie path is different).
- admin web: added a framework for project-specified
access control to admin pages.
Can be on the basis of user ID, user flags, etc.
To do this, define functions auth_ops() and auth_ops_cmdline()
in html/project/project.inc
(see the one in project.samples/ for an example)
This is in addition to .htaccess protection.
svn path=/trunk/boinc/; revision=19052
use job name as tiebreaker if received times are the same.
This makes the order deterministic.
- web: show elapsed time and CPU time,
and show app version info, in result display
svn path=/trunk/boinc/; revision=19008
don't modify user preferences or CPID.
- client: fix bug that shows ATI version incorrectly
- database: host.posts has been repurposed as a salt (or seqno)
for a new type of weak authenticator that won't depend on password
- web code:
modify forum_preferences.posts instead of host.posts.
(actually, the former isn't used either, we just do a select count(*);
should fix this at some point).
svn path=/trunk/boinc/; revision=18865
return ERR_IN_PROGRESS is the reference site check is in progress.
This hopefully fixes a bug where:
- the user is connected via a proxy
- the manager is run for the first time, and an attach is tried
- the get_project_config.php fetch fails because no proxy config
- the manager gets the CC_STATUS before the ref site check has
finished, so it thinks there's a network connection,
and it doesn't ask the user for proxy info
svn path=/trunk/boinc/; revision=18712
for showing how GPU instances are being reserved
- scheduler: add "sse3" plan class example
- web: add option (NO_TEAMS constant) for suppressing teams
svn path=/trunk/boinc/; revision=18658
Add the following to html/project/project.inc:
$banned_email_domains = array(
"foo.bar",
"blah"
);
Email addresses ending with any of those strings will be disallowed.
- Web RPCs: have am_set_info.php do the same checking for
email addresses (invalid, banned) as the other web code
svn path=/trunk/boinc/; revision=18352
but allow other tags (like <a>).
Note: if the image is itself inside a <a href=x>,
then the [Image link] will be linked to x, not to the image.
svn path=/trunk/boinc/; revision=18169
- db_update.php: select database (not clear if this ever worked)
- translation: fix bug if have both BOINC and project translation
svn path=/trunk/boinc/; revision=18141
limits the # of completed results handled per scheduler RPC.
This may be needed to avoid crashes due to memory allocation
failure (each reported result uses about 128KB memory).
- web: In showing result lists,
include "Validate error" results in the "Invalid" category.
(Previously they didn't appear in any category)
svn path=/trunk/boinc/; revision=18104
don't use the variable name "sgi";
include <xxx.h> instead of <cxxx>; the latter just adds
overloaded functions that we avoid.
svn path=/trunk/boinc/; revision=17954
(say what kind of job and why we're scheduling it)
- client: log messages describing GPUs: one line per GPU; fixes#879
svn path=/trunk/boinc/; revision=17847
working-set size into a fixed-size buffer.
Use %e instead.
TODO: figure out why WSS was huge.
- web: if "en" is primary language, don't read translation files
svn path=/trunk/boinc/; revision=17831
- web: divide the stylesheet into "main.css"
(which has formatting stuff, rounded corners etc.)
and "white.css" (which has colors).
The above two from Simek.
- scheduler: change default min NVIDIA driver version
from 17500 to 17700
svn path=/trunk/boinc/; revision=17819
which compiles the translation files into the form
used by the web code.
Projects that don't use "upgrade" will need to do this manually
whenever translation files change.
svn path=/trunk/boinc/; revision=17652
"client state", and "outcome" into a single status.
The fact that there are three separate status fields
is an implementation detail that users don't need to see.
svn path=/trunk/boinc/; revision=17599
There are two mechanisms to prevent the scheduler from
sending jobs that won't finish by their deadline.
Simple mechanism:
The client sends the interval x for which CPUs are projected
to be saturated.
Given a job with estimated duration y,
the scheduler doesn't send it if x + y exceeds the delay bound.
If it does send it, x is incremented by y.
Complex mechanism:
Client sends workload description.
Scheduler does EDF simulation, sees if deadlines are missed.
The only project using this AFAIK is BOINC alpha test.
Neither of these mechanisms takes coprocessors into account,
and as a result jobs could be sent that are doomed to
miss their deadline.
This checkin adds coprocessor awareness to the Simple mechanism.
Changes:
Client:
compute estimated delay (i.e. time until non-saturation)
for coprocessors as well as CPU.
Send them in scheduler request as part of coproc descriptor.
Scheduler:
Keep track of estimated delays separately for different resources
- client: fixed bug that computed CPU estimated delay incorrectly
- client: the work request (req_secs) for a resource is the min
of the project's share and the shortfall.
svn path=/trunk/boinc/; revision=17086
The bug caused the default language to be ignored if set to "English"
regardless of whether this was done through the browser or through a
cookie.
svn path=/trunk/boinc/; revision=17012
- Added translation awareness to view_profile.php
- Added translation awareness to show_user.php
- Added cacheability to the community_links() by splitting it into a function for getting the cacheable object "get_community_links_object()" and another for displaying it "community_links()"
- Added the community_links cacheable object to the cache in show_user.php
- Changed view_profile.php from being full-page cached to using data caching. Only the community_links object is cached as that is the only one containing heavy queries. All other queries are simple and will be cached at the SQL query cache level.
svn path=/trunk/boinc/; revision=16749
- web: check whether to show profile in separate function
from displaying profile; eliminate double headers
- scheduler: finish purge of redundant arguments
svn path=/trunk/boinc/; revision=16726
put a textual summary of them in host.serialnum (currently unused)
- web: show coprocs on host detail page
- db_dump: include coproc info in host XML
svn path=/trunk/boinc/; revision=16697
- add a "forgot email address?" link
- change text to say that the authenticator method can be used
in case of forgotten email OR forgotten password
- if bad password on login, show them the login form again
(with email field populated)
instead of a harsh failure message
- if bad email on login, show login form again instead of harsh message
- update authenticator method instructions
with new BOINC data directory paths
svn path=/trunk/boinc/; revision=16399
- Removed language interface code (noone seemed to understand/use it anyways)
- Removed a lot of debug. Compiling the language files will now only show whether the compile worked or not
- Removed automatic change-detection. You must now manually trigger compiles using ops/update_translations.php (improves performance slightly)
- Extended tra() to support arbitrary number of arguments
- Random code documentation fixes
- Fixed language override selection page to now correctly show the possible language alternatives
svn path=/trunk/boinc/; revision=16190
- web: remove file_get_contents() workaround for PHP4
- web: If Akismet or ReCaptcha failure,
display the form again with a warning message at the top.
That way the user doesn't lose the text they just typed.
svn path=/trunk/boinc/; revision=16175
(after user confirmation).
This is called from "upgrade", and can also be run by itself.
NOTE: this mechanism will handle all DB updates going forward.
Older updates must be done the old way (edit and run db_update.php)
- Web: let teams determine whether they're accepting new members
svn path=/trunk/boinc/; revision=16160
- Allow projects to specify how special users can be highlighted in their forums through CSS
- Special users are now highlighted by default
- Post body background is now 25% transparent in browsers that support transparency (white.css only)
svn path=/trunk/boinc/; revision=16134
- Fix missing newline after "Send message" button in authorcol
- Added CSS class forum_toplinks for links at the top of forum pages
svn path=/trunk/boinc/; revision=16048
- Fix CSS compatibility issues towards IE6-series of browsers
- Buttons will now light up when hovering over them with the mouse
svn path=/trunk/boinc/; revision=16047
for a particular (non-ASCII) profile text.
Not sure why, but I rewrote sub_sentence() in
less obscure way and it works now
- web: slight cleanup of translation code.
Can we please replace this with gettext()??
svn path=/trunk/boinc/; revision=16035
e.g. it handles <foo /> correctly,
and handles <foo attr="x">
(it doesn't return the attributes, but it doesn't choke on them).
- GUI RPC client lib:
use XML_PARSER to process authorization replies,
e.g. so that it handles <authorized />
TODO: use XML_PARSER to parse all GUI RPC requests and replies
- web: add a CSS entry for news item titles
- web (news items): add an optional "category" field to news items:
suggested values: "server status", "news", "emergency".
These are not used to display the items,
but are passed in the RSS feed and could be used by news aggregators.
- manager: replace "BOINC-based account managers" with "account managers"
svn path=/trunk/boinc/; revision=16028
- client: don't leak process handles when abort jobs
- client: if an app exits or we kill it, always destroy the shmem segment.
- web: more HTML 4.01 Transitional conformity changes
svn path=/trunk/boinc/; revision=15865
(language_select.php wasn't working)
- tr.po had some syntax error, and was way out of date.
replaced it with en.po
svn path=/trunk/boinc/; revision=15858
"HTML 4.01 Transitional" test.
The BOINC home page, project home page, and forum index now pass.
- web: .po files need to have CHARSET, LANG_NAME_NATIVE,
and LANG_NAME_INTERNATIONAL
svn path=/trunk/boinc/; revision=15855
added "count" field to DB table to keep track of how many times
we've refreshed.
- show refresh schedule on main courses page
- default for random structure is all units, not 1
svn path=/trunk/boinc/; revision=15846
(mostly from Simek)
fixes#716
- validator: tweak the way host error rate is computed,
e.g. on error bump rate by .1 instead of .05
svn path=/trunk/boinc/; revision=15771
If an app is hard, the scheduler always does the deadline check,
even if the client has no other jobs for this project.
And the estimated wallclock duration is multiplied by 1.3,
to avoid sending jobs to hosts that will barely make the deadline.
Hard apps are marked by setting weight = -1.
This is a total kludge, to avoid adding another field to app.
svn path=/trunk/boinc/; revision=15607
set the timestamp of the thread to the timetamp of
the latest non-hidden post (rather than to now).
Same thing for forum timestamp.
- scheduler: return more informative message to user in case of
request message parse error
svn path=/trunk/boinc/; revision=15526
was being cast to a pointer to 64-bit time field
(this caused wrong results on 64-bit servers)
From Sharov Artyom.
svn path=/trunk/boinc/; revision=15517
This tells the sample bitwise validator to ignore this file.
- client: parse the above field (avoid "unparsed XML" msgs)
svn path=/trunk/boinc/; revision=15514
- client: change CUDA detection on Linux and Mac.
Look for libcuda.so in /usr/lib/nvidia and /usr/lib64/nvidia.
If we find it, assume that libcudart is in the library path.
svn path=/trunk/boinc/; revision=15477
don't create shmem segs in global name space.
Hopefully this will fix a bug
(on Vista, UAC off, non-protected install)
where apps fail to attach to shmem.
svn path=/trunk/boinc/; revision=15444
it was already decremented when the post was hidden
- Added a function to forum_repair.php to fix inconsistencies
due to the above bug
svn path=/trunk/boinc/; revision=15433
(fix links on profile-index pages)
- web: use cache-control "no-store" only for home.php.
This makes it so that, e.g. if you scroll to the middle of a long page,
follow a link, then click Back,
you'll go back the original scroll position rather than top of page.
svn path=/trunk/boinc/; revision=15391
There are two aspects:
1) undoing magic quotes (if it's being used).
This must be done for all GET and POST string inputs.
It is now done automatically by get_str() and post_str().
The places that refer to $_GET and $_POST directly
must do it themselves using undo_magic_quotes().
2) Escaping user-supplied strings before using them in DB queries.
This is done by process_user_text()
(which should be renamed db_escape_string()).
The new principle:
call process_user_text() in the function that does the DB query
(not at any higher level).
svn path=/trunk/boinc/; revision=15389
1) it's not correct to apply stripslashes() to all form input.
That should be done only if magic quotes is on.
I fixed this by adding a function undo_magic_quotes()
that does the right thing.
2) There's no reason to strip backslashes from user-supplied text
(forum titles and bodies, private messages, passwords etc.)
I'm not sure why this was being done.
It prevented messages from containing backslashes.
svn path=/trunk/boinc/; revision=15364