mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=5474
This commit is contained in:
parent
252b167955
commit
7736082ca6
|
@ -23392,7 +23392,7 @@ David 28 Jan 2005
|
||||||
time_stats.C,h
|
time_stats.C,h
|
||||||
|
|
||||||
David 28 Jan 2005
|
David 28 Jan 2005
|
||||||
- add notion of CONNECTED_STATE;
|
- core client: add notion of CONNECTED_STATE;
|
||||||
can be CONNECTED, NOT_CONNECTED, or UNKNOWN.
|
can be CONNECTED, NOT_CONNECTED, or UNKNOWN.
|
||||||
Implemented get_connected_state() on Windows
|
Implemented get_connected_state() on Windows
|
||||||
- if connected state is UNKNOWN,
|
- if connected state is UNKNOWN,
|
||||||
|
@ -24999,3 +24999,11 @@ Rom 17 Feb 2005
|
||||||
client/
|
client/
|
||||||
http.C
|
http.C
|
||||||
|
|
||||||
|
David 18 Feb 2005
|
||||||
|
- core client HTTP: in a POST operation (i.e. scheduler RPC)
|
||||||
|
when start to read reply body,
|
||||||
|
reset bytes_xferred and file_offset to zero
|
||||||
|
(otherwise length calculation at the end will fail)
|
||||||
|
|
||||||
|
client/
|
||||||
|
http.C,h
|
||||||
|
|
|
@ -385,7 +385,9 @@ int HTTP_OP::init_head(const char* url) {
|
||||||
|
|
||||||
// Initialize HTTP GET operation
|
// Initialize HTTP GET operation
|
||||||
//
|
//
|
||||||
int HTTP_OP::init_get(const char* url, const char* out, bool del_old_file, double off) {
|
int HTTP_OP::init_get(
|
||||||
|
const char* url, const char* out, bool del_old_file, double off
|
||||||
|
) {
|
||||||
char proxy_buf[256];
|
char proxy_buf[256];
|
||||||
|
|
||||||
if (del_old_file) {
|
if (del_old_file) {
|
||||||
|
@ -407,7 +409,9 @@ int HTTP_OP::init_get(const char* url, const char* out, bool del_old_file, doubl
|
||||||
sprintf(proxy_buf, "/%s", filename);
|
sprintf(proxy_buf, "/%s", filename);
|
||||||
}
|
}
|
||||||
if (!pi.use_http_auth) {
|
if (!pi.use_http_auth) {
|
||||||
http_get_request_header(request_header, url_hostname, port, proxy_buf, (int)file_offset);
|
http_get_request_header(
|
||||||
|
request_header, url_hostname, port, proxy_buf, (int)file_offset
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
char id_passwd[512];
|
char id_passwd[512];
|
||||||
string encstr = "";
|
string encstr = "";
|
||||||
|
@ -779,8 +783,11 @@ bool HTTP_OP_SET::poll(double) {
|
||||||
case HTTP_OP_POST:
|
case HTTP_OP_POST:
|
||||||
retval = unlink(htp->outfile);
|
retval = unlink(htp->outfile);
|
||||||
// no error check here because file need not already exist
|
// no error check here because file need not already exist
|
||||||
//
|
|
||||||
|
bytes_xferred = 0;
|
||||||
|
file_offset = 0;
|
||||||
// fall through
|
// fall through
|
||||||
|
//
|
||||||
case HTTP_OP_GET:
|
case HTTP_OP_GET:
|
||||||
htp->http_op_state = HTTP_STATE_REPLY_BODY;
|
htp->http_op_state = HTTP_STATE_REPLY_BODY;
|
||||||
|
|
||||||
|
@ -823,9 +830,9 @@ bool HTTP_OP_SET::poll(double) {
|
||||||
scope_messages.printf("HTTP_OP_SET::poll(): got reply body\n");
|
scope_messages.printf("HTTP_OP_SET::poll(): got reply body\n");
|
||||||
htp->http_op_retval = 0;
|
htp->http_op_retval = 0;
|
||||||
if (htp->hrh.content_length) {
|
if (htp->hrh.content_length) {
|
||||||
if ((htp->bytes_xferred-htp->file_offset) != htp->hrh.content_length) {
|
if ((htp->bytes_xferred - htp->file_offset) != htp->hrh.content_length) {
|
||||||
scope_messages.printf(
|
scope_messages.printf(
|
||||||
"HTTP_OP_SET::poll(): ERR_IO: bytes transfred: %d,"
|
"HTTP_OP_SET::poll(): ERR_IO: bytes_xferred: %d,"
|
||||||
"file offset: %d, expected content length: %d\n",
|
"file offset: %d, expected content length: %d\n",
|
||||||
htp->bytes_xferred, htp->file_offset, htp->hrh.content_length
|
htp->bytes_xferred, htp->file_offset, htp->hrh.content_length
|
||||||
);
|
);
|
||||||
|
|
|
@ -48,15 +48,17 @@ struct HTTP_REPLY_HEADER {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define HTTP_OP_NONE 0
|
#define HTTP_OP_NONE 0
|
||||||
// For the first 4, data source/sink are files
|
|
||||||
#define HTTP_OP_GET 1
|
#define HTTP_OP_GET 1
|
||||||
|
// data sink is a file (used for file download)
|
||||||
#define HTTP_OP_POST 2
|
#define HTTP_OP_POST 2
|
||||||
|
// data source and sink are files (used for scheduler op)
|
||||||
#define HTTP_OP_HEAD 4
|
#define HTTP_OP_HEAD 4
|
||||||
|
// no data (used for file upload)
|
||||||
#define HTTP_OP_POST2 5
|
#define HTTP_OP_POST2 5
|
||||||
// a POST operation where the request comes from a combination
|
// a POST operation where the request comes from a combination
|
||||||
// of a string and a file w/offset,
|
// of a string and a file w/offset,
|
||||||
// and the reply goes into a memory buffer
|
// and the reply goes into a memory buffer.
|
||||||
// Used exclusively for file upload
|
// Used for file upload
|
||||||
|
|
||||||
class HTTP_OP : public PROXY {
|
class HTTP_OP : public PROXY {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -163,6 +163,13 @@ or (Redhat) go to System Settings/Add Software.
|
||||||
Notes for <a href=debian_linux_install.txt>Debian Linux</a>.
|
Notes for <a href=debian_linux_install.txt>Debian Linux</a>.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h3>Apache notes</h3>
|
||||||
|
<p>
|
||||||
|
Make sure httpd.conf sets the default MIME type as follows:
|
||||||
|
<pre>
|
||||||
|
DefaultType application/octet-stream
|
||||||
|
</pre>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<h2>Windows</h2>
|
<h2>Windows</h2>
|
||||||
|
|
|
@ -118,6 +118,11 @@ To make source distributions:
|
||||||
gmake dist
|
gmake dist
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h2>Strict warning</h2>
|
||||||
|
To compile BOINC with strict compiler warnings, use
|
||||||
|
<pre>
|
||||||
|
./configure -CXXFLAGS=\"-Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -Wnested-externs\"
|
||||||
|
</pre>
|
||||||
";
|
";
|
||||||
page_tail();
|
page_tail();
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -3,17 +3,14 @@ require_once("docutil.php");
|
||||||
page_head("The make_project script");
|
page_head("The make_project script");
|
||||||
echo "
|
echo "
|
||||||
<p>
|
<p>
|
||||||
BOINC provides a script for setting up a BOINC project.
|
BOINC provides a script <code>make_project</code>
|
||||||
This has been tested only on Linux and Solaris hosts;
|
for creating the server components of a BOINC project.
|
||||||
it may work with small modifications on Windows also.
|
It has been tested on Linux and Solaris.
|
||||||
|
|
||||||
<h3>Creating the server</h3>
|
|
||||||
<p>
|
<p>
|
||||||
First, install all components listed in the
|
First, install all components listed in the
|
||||||
<a href=build.php>Software Prerequisites</a> page.
|
<a href=build.php>Software Prerequisites</a> page.
|
||||||
|
Then run the <code>make_project</code> script.
|
||||||
<p>
|
|
||||||
Run the <code>make_project</code> script.
|
|
||||||
For example:
|
For example:
|
||||||
<pre>
|
<pre>
|
||||||
cd tools/
|
cd tools/
|
||||||
|
@ -23,24 +20,13 @@ creates a project with master URL
|
||||||
http://<hostname>/cplan/
|
http://<hostname>/cplan/
|
||||||
whose directory structure is rooted at
|
whose directory structure is rooted at
|
||||||
\$HOME/projects/cplan.
|
\$HOME/projects/cplan.
|
||||||
<pre>
|
|
||||||
cd tools/
|
|
||||||
./make_project --base \$HOME/boinc --url_base http://boink/ cplan 'Cunning Plan'
|
|
||||||
</pre>
|
|
||||||
creates a project with master URL
|
|
||||||
http://boink/cplan/ and long name <b>Cunning Plan</b>,
|
|
||||||
rooted at \$HOME/boinc/projects/cplan.
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
See 'make_project --help' for more command-line options available (such as
|
More specifically, <code>make_project</code> does the following:
|
||||||
finer control of directory structure or clobbering an existing installation).
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The script does the following:
|
|
||||||
<ul>
|
<ul>
|
||||||
<li> Create the project directory and its subdirectories.
|
<li> Create the project directory and its subdirectories.
|
||||||
<li> Create the project's encryption keys if necessary.
|
<li> Create the project's encryption keys if necessary.
|
||||||
NOTE: before making the project publicly visible,
|
NOTE: before making the project visible to the public,
|
||||||
you must move the code-signing private key
|
you must move the code-signing private key
|
||||||
to a highly secure (preferably non-networked) host,
|
to a highly secure (preferably non-networked) host,
|
||||||
and delete it from the server host.
|
and delete it from the server host.
|
||||||
|
@ -57,16 +43,40 @@ into /etc/apache/httpd.conf (path varies), or Include directly.
|
||||||
<li>It generates a crontab line to paste.
|
<li>It generates a crontab line to paste.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
The PHP scripts need access to the database,
|
The command-line syntax is as follows:
|
||||||
so the user that Apache runs under needs SELECT,INSERT,UPDATE,DELETE
|
|
||||||
to the database just created.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
You should also make sure httpd.conf sets the default MIME type as follows:
|
|
||||||
<pre>
|
<pre>
|
||||||
DefaultType application/octet-stream
|
make_project [options] project_name [ 'Project Long Name ' ]
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
Options are:
|
||||||
";
|
";
|
||||||
|
list_start();
|
||||||
|
list_bar("directory options");
|
||||||
|
list_item("--project_root",
|
||||||
|
"Project root directory path. Default: \$HOME/projects/PROJECT_NAME"
|
||||||
|
);
|
||||||
|
list_item("--key_dir", "Where keys are stored. Default: PROJECT_ROOT/keys");
|
||||||
|
list_item("--url_base", "Determines master URL Default: http://\$NODENAME/");
|
||||||
|
list_item("--no_query", "Accept all directories without querying");
|
||||||
|
list_item("--delete_prev_inst", "Delete project-root first (from prev installation)");
|
||||||
|
|
||||||
|
list_bar("URL options");
|
||||||
|
list_item("--html_user_url", "User URL. Default: URL_BASE/PROJECT/");
|
||||||
|
list_item("--html_ops_url", "Admin URL. Default: URL_BASE/PROJECT_ops/");
|
||||||
|
list_item("--cgi_url", "CGI URL. Default: URL_BASE/PROJECT_cgi/");
|
||||||
|
|
||||||
|
list_bar("database options");
|
||||||
|
list_item("--db_host", "Database host. Default: none (this host)");
|
||||||
|
list_item("--db_name", "Database name. Default: PROJECT");
|
||||||
|
list_item("--db_user", "Database user. Default: this user");
|
||||||
|
list_item("--db_passwd", "Database password. Default: None");
|
||||||
|
list_item("--drop_db_first", "Drop database first (from prev installation)");
|
||||||
|
|
||||||
|
list_bar("debugging options");
|
||||||
|
list_item("--verbose={0,1,2}", "default: 1");
|
||||||
|
list_item("-v", "alias for --verbose=2");
|
||||||
|
list_item("-h or --help", "Show options");
|
||||||
|
|
||||||
|
list_end();
|
||||||
page_tail();
|
page_tail();
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue