mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=4217
This commit is contained in:
parent
989cc112db
commit
83a77b784f
|
@ -17490,7 +17490,8 @@ Lana 20 Sept 2004
|
|||
backend_lib.C
|
||||
|
||||
Rom 20 Sept 2004
|
||||
- NEWGUI: Refactor all view logic to accommodate the new task based interface.
|
||||
- NEWGUI: Refactor all view logic to accommodate
|
||||
the new task based interface.
|
||||
- NEWGUI: Add the new projects task pane.
|
||||
- NEWGUI: Stub the other tabs.
|
||||
- NEWGUI: Include new visuals for the task based UI.
|
||||
|
@ -17505,8 +17506,23 @@ David 21 Sept 2004
|
|||
profile.inc
|
||||
|
||||
Lana 21 Sept 2004
|
||||
- added getting value of the cpu_sched_period for the client from the global prefs
|
||||
- added getting value of the cpu_sched_period
|
||||
for the client from the global prefs
|
||||
|
||||
client/
|
||||
prefs.h
|
||||
prefs.C
|
||||
|
||||
David 21 Sept 2004
|
||||
- parse_state_file():
|
||||
If client_state.xml doesn't exist, try client_state_next.xml.
|
||||
If the resulting file is empty, try client_state_prev.xml
|
||||
This should hopefully fix cases of state file corruption on crash
|
||||
- change request delay from 1 hour to 1 day for:
|
||||
- no work for this platform
|
||||
- core client out of date
|
||||
|
||||
client/
|
||||
cs_statefile.C
|
||||
sched/
|
||||
sched_send.C
|
||||
|
|
|
@ -40,9 +40,18 @@ int CLIENT_STATE::parse_state_file() {
|
|||
PROJECT *project=NULL;
|
||||
int retval=0;
|
||||
int failnum;
|
||||
char *fname;
|
||||
|
||||
SCOPE_MSG_LOG scope_messages(log_messages, CLIENT_MSG_LOG::DEBUG_STATE);
|
||||
if (!boinc_file_exists(STATE_FILE_NAME)) {
|
||||
|
||||
// Look for a valid state file:
|
||||
// First the regular one, then the "next" one.
|
||||
//
|
||||
if (boinc_file_exists(STATE_FILE_NAME)) {
|
||||
fname = STATE_FILE_NAME;
|
||||
} else if (boinc_file_exists(STATE_FILE_NEXT)) {
|
||||
fname = STATE_FILE_NEXT;
|
||||
} else {
|
||||
scope_messages.printf("CLIENT_STATE::parse_state_file(): No state file; will create one\n");
|
||||
|
||||
// avoid warning messages about version
|
||||
|
@ -52,14 +61,23 @@ int CLIENT_STATE::parse_state_file() {
|
|||
return ERR_FOPEN;
|
||||
}
|
||||
|
||||
FILE* f = fopen(STATE_FILE_NAME, "r");
|
||||
FILE* f = fopen(fname, "r");
|
||||
MIOFILE mf;
|
||||
mf.init_file(f);
|
||||
fgets(buf, 256, f);
|
||||
if (!match_tag(buf, "<client_state>")) {
|
||||
msg_printf(NULL, MSG_ERROR, "Missing open tag in state file.\n");
|
||||
retval = ERR_XML_PARSE;
|
||||
goto done;
|
||||
|
||||
// if file is invalid (probably empty), try the previous statefile
|
||||
//
|
||||
fclose(f);
|
||||
f = fopen(STATE_FILE_PREV, "r");
|
||||
mf.init_file(f);
|
||||
fgets(buf, 256, f);
|
||||
if (!match_tag(buf, "<client_state>")) {
|
||||
msg_printf(NULL, MSG_ERROR, "Missing open tag in state file.\n");
|
||||
retval = ERR_XML_PARSE;
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
while (fgets(buf, 256, f)) {
|
||||
if (match_tag(buf, "</client_state>")) {
|
||||
|
|
|
@ -8,7 +8,7 @@ it consists of a program (perhaps with versions for different platforms)
|
|||
and a set of workunits and results.
|
||||
A project can operate many applications.
|
||||
Applications are maintained in the <b>application</b> table in the BOINC DB,
|
||||
and can be created using the <a href=tools_other.php>add</a> utility.
|
||||
and can be created using the <a href=tool_xadd.php>xadd</a> utility.
|
||||
|
||||
<p>
|
||||
An application program may go through a sequence of
|
||||
|
@ -54,8 +54,8 @@ files that make up the application version:
|
|||
</file_ref>
|
||||
</app_version>
|
||||
</pre>
|
||||
Application versions can be created using the
|
||||
<a href=tools_other.php>add</a> utility program.
|
||||
Application versions can be created using
|
||||
<a href=tool_update_versions.php>update_versions</a>.
|
||||
";
|
||||
page_tail();
|
||||
?>
|
||||
|
|
|
@ -30,6 +30,7 @@ show_name("Seth Cooper");
|
|||
show_name("James Drews");
|
||||
show_name("Michael Gary");
|
||||
show_name("Gary Gibson");
|
||||
show_name("Ian Hay");
|
||||
show_name("Eric Heien");
|
||||
show_name("Thomas Horsten");
|
||||
show_name("Daniel Hsu");
|
||||
|
|
|
@ -63,6 +63,7 @@ How to configure and compile the BOINC software.
|
|||
<li> <a href=build_server.php>Building server components</a>
|
||||
<li> <a href=build_client.php>Building the core client</a>
|
||||
<li> <a href=test.php>Test applications and scripts</a>
|
||||
<li> <a href=http://noether.vassar.edu/~myers/help/boinc/boinc-on-redhat.html>Compiling BOINC on Red Hat Linux 7.x</a> (by Eric Myers)
|
||||
</ul>
|
||||
|
||||
<font size=+1><b>
|
||||
|
@ -84,6 +85,7 @@ The components of a BOINC project, and how to create them.
|
|||
<li> <a href=code_signing.php>Code signing</a>
|
||||
<li> <a href=tool_update_versions.php>Adding application versions</a>
|
||||
<li> <a href=tool_upgrade.php>Upgrading a project's server software</a>
|
||||
<li> <a href=web.php>Managing the project web site</a>
|
||||
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ list_item_func(
|
|||
"Set the run mode (never/auto/always)."
|
||||
);
|
||||
list_item_func(
|
||||
"bet_run_mode(int& mode)",
|
||||
"get_run_mode(int& mode)",
|
||||
"Get the run mode (never/auto/always)."
|
||||
);
|
||||
list_item_func(
|
||||
|
|
|
@ -128,7 +128,7 @@ platform creation and naming be coordinated by a single group
|
|||
<h3>Tools</h3>
|
||||
<p>
|
||||
Platforms are maintained in the <b>platform</b> table in the BOINC DB,
|
||||
and can be created using the <a href=tools_other.php>add</a> utility.
|
||||
and can be created using the <a href=tool_xadd.php>xadd</a> utility.
|
||||
";
|
||||
page_tail();
|
||||
?>
|
||||
|
|
|
@ -77,7 +77,7 @@ The core client will accept
|
|||
a new key only if it's signed with the old key.
|
||||
This mechanism is
|
||||
designed to prevent attackers from breaking into a BOINC server and
|
||||
distributing a false key pair.
|
||||
distributing a false key.
|
||||
<p>
|
||||
<b>Denial of server attacks on data servers</b>
|
||||
<p>
|
||||
|
|
|
@ -1,51 +1,101 @@
|
|||
;; $Id$
|
||||
Boinc Core Client - HTTPS implementation
|
||||
========================================
|
||||
|
||||
These notes/hints are for ourselves (SSL SETI/BOINC group) but they might be
|
||||
useful to others
|
||||
BUILD PROCEDURES
|
||||
|
||||
COMPILING
|
||||
=========
|
||||
1 Build OpenSSL Static library which works with Boinc Client on Windows
|
||||
|
||||
32-bit:
|
||||
-------
|
||||
1-1) Install Perl (to compile OpenSSL)
|
||||
|
||||
Use 32-bit mysql CLIENT libraries (although server could be 64-bit) in
|
||||
/usr/local/mysql_32bit:
|
||||
Download package.
|
||||
URL: http://aspn.activestate.com/ASPN/Downloads/ActivePerl/index/
|
||||
|
||||
./configure MYSQL_CONFIG=/usr/local/mysql_32bit/bin/mysql_config
|
||||
install.bat will start installation.
|
||||
|
||||
64-bit:
|
||||
-------
|
||||
1-2) Download and install OpenSSL
|
||||
|
||||
On Koloth, use these flags to link with mysql-max-64bit:
|
||||
-L /usr/local/mysql/lib -lmysqlclient -lsocket -lnsl -lm -m64 -Wl,-R,/usr/local/gcc/lib/sparcv9
|
||||
URL: http://www.openssl.org/source/
|
||||
2798433 Mar 17 13:13:26 2004 openssl-0.9.7d.tar.gz (PGP sign) [LATEST]
|
||||
|
||||
Therefore configure like this:
|
||||
./configure CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS='-Wl,-R,/usr/local/gcc/lib/sparcv9'
|
||||
1-3) Download Assembler (to compile sslelay32.lib, libeay32.lib)
|
||||
|
||||
The -m64 compile flag generates 64-bit code and is necessary because the mysql
|
||||
libraries are 64-bit.
|
||||
Download nasm.exe, and put it in some directory where %PATH% can find.
|
||||
http://sourceforge.net/project/showfiles.php?group_id=6208
|
||||
|
||||
The -Wl,-R tells the linker to set the dynamic library search path (for C++)
|
||||
to the 64-bit versions (default /usr/local/gcc/lib has 32-bit libraries with
|
||||
the same name).
|
||||
(Configure)
|
||||
|
||||
C:\openssl-0.9.7d>perl Configure VC-WIN32
|
||||
|
||||
(Build assembler code)
|
||||
|
||||
C:\openssl-0.9.7d>ms\do_nasm
|
||||
|
||||
* To compile debug library, need to add 'debug' option
|
||||
in file 'do_nasm'.
|
||||
perl util\mk1mf.pl debug nasm VC-WIN32 >ms\nt.mak
|
||||
|
||||
(Build main code)
|
||||
|
||||
C:\openssl-0.9.7d>nmake -f ms\nt.mak
|
||||
|
||||
* Before executing nt.mak, change make file 'nt.mak'
|
||||
as follows:
|
||||
|
||||
For release build: /MD <20>¨ /MT, and
|
||||
For debug build: /MDd <20>¨ /MTd
|
||||
|
||||
(Check library)
|
||||
|
||||
C:\openssl-0.9.7d>cd out32
|
||||
C:\openssl-0.9.7d\out32>..\ms\test.bat
|
||||
|
||||
* If successfully build, you will see 'passed all tests'
|
||||
messages
|
||||
|
||||
|
||||
CRON SETUP
|
||||
==========
|
||||
2 Build BOINC Client
|
||||
|
||||
Need to set PATH to include python executable; need to set PYTHONPATH to
|
||||
include PyXML module.
|
||||
To discriminate the libraries, rename library files:
|
||||
- libeay32_release.lib ssleay32_release.lib for release build,
|
||||
- and libeay32_debug.lib ssleay32_debug.lib for debug build.
|
||||
|
||||
crontab:
|
||||
2-1) Put all ssl libraries in the new directory 'SSL_Use'
|
||||
(or other directories)
|
||||
|
||||
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /mydisks/a/users/boincadm/projects/cron/cron-astropulse
|
||||
Directory: \boinc\SSL_Use\
|
||||
|
||||
cron-astropulse:
|
||||
(Optional) To discriminate core client executables, create new
|
||||
.Net project and directory for executables:
|
||||
|
||||
BoincClient CUI:
|
||||
Project name - boinc_cli_SSL ,
|
||||
executables -
|
||||
\boinc-2.19\SSL_Use\Build\Debug\boinc_cli_SSL.exe
|
||||
\boinc-2.19\SSL_Use\Build\Release\boinc_cli_SSL.exe
|
||||
|
||||
BoincClient GUI
|
||||
Project name - boinc_gui_SSL ,
|
||||
executables -
|
||||
\boinc-2.19\SSL_Use\Build\Debug\boinc_gui_SSL.exe
|
||||
\boinc-2.19\SSL_Use\Build\Release\boinc_gui_SSL.exe
|
||||
|
||||
|
||||
PATH=/opt/misc/bin:/usr/bin:/bin
|
||||
PYTHONPATH=/disks/koloth/a/users/boincadm/pkg/Pyxml/PyXML-0.8.2/build/lib.solaris-2.9-sun4u-2.2
|
||||
export PATH PYTHONPATH
|
||||
2-2) Change project configuration for boinc_gui_SSL and boinc_cli_SSL
|
||||
|
||||
/mydisks/a/users/boincadm/projects/AstroPulse_Beta/bin/start --cron
|
||||
[boinc_xxx_SSL project]-[properties]-[Linker]-[Input]
|
||||
-[Additional Dependencies]
|
||||
|
||||
For release build:
|
||||
(add) libeay32_release.lib ssleay32_release.lib
|
||||
For debug build:
|
||||
(add) libeay32_debug.lib ssleay32_debug.lib
|
||||
|
||||
[boinc_xxx_SSL project]-[properties]-[C/C++]-[General]
|
||||
-[Additional Include Directories]
|
||||
|
||||
For release build:
|
||||
(add) ../openssl-0.9.7d/inc32/
|
||||
For debug build:
|
||||
(add) ../openssl-0.9.7d/inc32/
|
||||
|
||||
2-3) Build projects
|
||||
|
|
|
@ -36,17 +36,14 @@ to detect recoverable/nonrecoverable errors.
|
|||
If a canonical result is found, check_set() must set the
|
||||
validate_state field of each non-ERROR result to either VALID or INVALID.
|
||||
|
||||
<li>
|
||||
The workunit is passed in for its min_quorum field.
|
||||
<li>
|
||||
If a recoverable error occurs while reading output files
|
||||
(e.g. a directory wasn't visible due to NSF mount failure)
|
||||
(e.g. a directory wasn't visible due to NFS mount failure)
|
||||
then check_set() should return retry=true.
|
||||
This tells the validator to arrange for this WU to be
|
||||
examined again in a few hours.
|
||||
<li>
|
||||
check_set() should return nonzero if a major error
|
||||
(e.g. database failure) occurs.
|
||||
check_set() should return nonzero if a major error occurs.
|
||||
This tells the validator to write an error message and exit.
|
||||
</ul>
|
||||
<p>
|
||||
|
@ -70,8 +67,7 @@ it returns retry=true,
|
|||
which causes the validator to arrange for the WU to be examined
|
||||
again in a few hours.
|
||||
<li>
|
||||
check_pair() should return nonzero if a major error
|
||||
(e.g. database failure) occurs.
|
||||
check_pair() should return nonzero if a major error occurs.
|
||||
This tells the validator to write an error message and exit.
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
require_once("docutil.php");
|
||||
page_head("Managing the project web site");
|
||||
echo "
|
||||
<h2>Forums</h2>
|
||||
<p>
|
||||
The Special user feature allows certain users,
|
||||
like project administrators, developers etc.,
|
||||
to be shown with that title under their name in the forums.
|
||||
It is important that people who are new to a project knows
|
||||
who to pay attention to - and this is a way of giving them a hint.
|
||||
To enable the feature simply run a query on the forum_preferences table.
|
||||
You can currently use the following list of titles:
|
||||
|
||||
<pre>
|
||||
Integer / Title
|
||||
1 Project Administrator
|
||||
2 Forum moderator
|
||||
3 Developer
|
||||
4 Volunteer developer
|
||||
5 Project Scientist
|
||||
</pre>
|
||||
|
||||
So if the project administrator has the user number 42
|
||||
simply run this query to make him a special user
|
||||
(provided that the row exists):
|
||||
|
||||
<pre>
|
||||
UPDATE forum_preferences SET special_user=1 where userid=42
|
||||
</pre>
|
||||
|
||||
<h2>Caching</h2>
|
||||
<h2>News</h2>
|
||||
";
|
||||
page_tail();
|
||||
?>
|
|
@ -773,11 +773,13 @@ int send_work(
|
|||
);
|
||||
|
||||
if (wreq.nresults == 0) {
|
||||
reply.request_delay = 3600;
|
||||
strcpy(reply.message, "No work available");
|
||||
if (wreq.no_app_version) {
|
||||
strcat(reply.message,
|
||||
" (there was work for other platforms)"
|
||||
);
|
||||
reply.request_delay = 3600*24;
|
||||
}
|
||||
if (wreq.insufficient_disk) {
|
||||
strcat(reply.message,
|
||||
|
@ -803,6 +805,7 @@ int send_work(
|
|||
strcat(reply.message,
|
||||
" (your core client is out of date - please upgrade)"
|
||||
);
|
||||
reply.request_delay = 3600*24;
|
||||
log_messages.printf(
|
||||
SCHED_MSG_LOG::NORMAL,
|
||||
"Not sending work because core client is outdated\n"
|
||||
|
@ -818,7 +821,6 @@ int send_work(
|
|||
}
|
||||
|
||||
strcpy(reply.message_priority, "high");
|
||||
reply.request_delay = 3600;
|
||||
|
||||
log_messages.printf(
|
||||
SCHED_MSG_LOG::NORMAL, "[HOST#%d] %s\n",
|
||||
|
|
Loading…
Reference in New Issue