From ec058a64b2d435f9ecf914ebdc6ec16c5db7f327 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 12 Dec 2006 23:23:53 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=11654 --- checkin_notes | 7 +++++ configure.ac | 1 + doc/client_unix.php | 4 +-- doc/gui_rpc.php | 46 ++------------------------- doc/gui_rpc_auth.php | 74 ++++++++++++++++++++++++++++++++++++++++++++ doc/participate.php | 1 + lib/Makefile.am | 16 ++++++++-- lib/updater.C | 66 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 167 insertions(+), 48 deletions(-) create mode 100644 doc/gui_rpc_auth.php create mode 100644 lib/updater.C diff --git a/checkin_notes b/checkin_notes index 9138e6dc06..fb785c3d77 100755 --- a/checkin_notes +++ b/checkin_notes @@ -13311,3 +13311,10 @@ Charlie 11 Dec 2006 Rom 12 Dec 2006 (Forked from HEAD) - Branch boinc_core_release_5_8 created for the BOINC 5.8 client release. +David 12 Dec 2006 + - add updater program + + configure.ac + lib/ + Makefile.am + updater.C (new) diff --git a/configure.ac b/configure.ac index 27bb4a2f52..ccb2d4d31a 100644 --- a/configure.ac +++ b/configure.ac @@ -147,6 +147,7 @@ SAH_LINKS AC_SUBST([CLIENT_BIN_FILENAME],[boinc${EXEEXT}]) AC_SUBST([CLIENT_CMD_BIN_FILENAME],[boinccmd${EXEEXT}]) AC_SUBST([CLIENT_GUI_BIN_FILENAME],[boincmgr${EXEEXT}]) +AC_SUBST([UPDATER_BIN_FILENAME],[_updater${EXEEXT}]) dnl If we're running under cygwin, check whether we want to use X11 or WIN32 dnl GUI diff --git a/doc/client_unix.php b/doc/client_unix.php index 92da606388..1b56b27ee4 100644 --- a/doc/client_unix.php +++ b/doc/client_unix.php @@ -24,10 +24,10 @@ list_item("cc_config.xml", "turn log messages on/off by category, and other core client configuration options." ); -list_item("remote_hosts.cfg", +list_item("remote_hosts.cfg", "hosts from which remote GUI RPCs is allowed" ); -list_item("gui_rpc_auth.cfg", +list_item("gui_rpc_auth.cfg", "GUI RPC password" ); list_item("project_init.xml", diff --git a/doc/gui_rpc.php b/doc/gui_rpc.php index f157a48b62..37f918e4ff 100644 --- a/doc/gui_rpc.php +++ b/doc/gui_rpc.php @@ -44,8 +44,8 @@ Use the client version number to decide what subsequent RPCs to make

Authorization

-The RPC protocol allows the GUI program to authenticate itself -using a password; this is described below. +GUI RPC authorization is described here. +The RPC protocol allows the GUI program to authenticate itself using a password. Some of the RPC operations can be done without authentication; others can be done without authentication, but only by a GUI program running on the same machine. @@ -325,48 +325,6 @@ They can then do repeated RPCs over this connection. Each reply message ends with the character '\\003. -

Access control for GUI RPC

-

-Since GUI RPCs can control the BOINC client -(e.g. attaching/detaching projects) -it is important to protect your BOINC client from unauthorized control. -There are two levels of protection: -

-A GUI RPC is handled only if it passes both levels of protection. - -

Password protection

-

-If you place a password in a file gui_rpc_auth.cfg -in your BOINC directory, -GUI RPCs must be authenticated using the password. -

-If this file is not present, there is no password protection. - -

Remote host restriction

-

-By default the core client accepts GUI RPCs only from the same host. - -

-You can allow remote hosts to control a core client in two ways: -

"; page_tail(); diff --git a/doc/gui_rpc_auth.php b/doc/gui_rpc_auth.php new file mode 100644 index 0000000000..96ad06fcdc --- /dev/null +++ b/doc/gui_rpc_auth.php @@ -0,0 +1,74 @@ +Remote control of the BOINC client +

+The BOINC core client typically is controlled by +the BOINC Manager running on the same machine: +

+ +
+The two programs communicate over a local connection, +using 'GUI RPC' (Graphical User Interface Remote Procedure Call). +

+It's also possible to use the BOINC Manager to control +a core client on a different host: +

+ +
+And BOINCView (an add-on program developed by a third party) is +able to control many BOINC clients at once: +
+ +
+ +

Access control for GUI RPC

+

+Since GUI RPCs can control the BOINC client +(e.g. attaching/detaching projects) +it is important to protect your BOINC client from unauthorized control. +There are two levels of protection: +

+A GUI RPC is handled only if it passes both levels of protection. +

+After a standard installation, BOINC is highly secure; +it generates its own (long, random) password, +and it doesn't allow access from other hosts. + +

Password protection

+

+If you place a password in a file gui_rpc_auth.cfg +in your BOINC directory, +GUI RPCs must be authenticated using the password. +

+If this file is not present, there is no password protection. + +

Remote host restriction

+

+By default the core client accepts GUI RPCs only from the same host. + +

+You can allow remote hosts to control a core client in two ways: +

+"; +page_tail(); +?> diff --git a/doc/participate.php b/doc/participate.php index 5036fe8a87..cc84fad82c 100644 --- a/doc/participate.php +++ b/doc/participate.php @@ -47,6 +47,7 @@ or need help installing BOINC, you can
  • Teams
  • Account managers
  • Core client configuration +
  • Authorizing remote control

    Advanced users