Merge branch 'master' of github.com:BOINC/boinc

This commit is contained in:
David Anderson 2016-02-10 14:55:21 -08:00
commit 71832f73dc
17 changed files with 1968 additions and 1729 deletions

View File

@ -732,12 +732,14 @@ static void handle_get_project_init_status(GUI_RPC_CONN& grc) {
" <url>%s</url>\n"
" <name>%s</name>\n"
" <team_name>%s</team_name>\n"
" <setup_cookie>%s</setup_cookie>\n"
" %s\n"
" %s\n"
"</get_project_init_status>\n",
gstate.project_init.url,
gstate.project_init.name,
gstate.project_init.team_name,
gstate.project_init.setup_cookie,
strlen(gstate.project_init.account_key)?"<has_account_key/>":"",
gstate.project_init.embedded?"<embedded/>":""
);
@ -777,7 +779,7 @@ void handle_lookup_account(GUI_RPC_CONN& grc) {
MIOFILE in;
ai.parse(grc.xp);
if (!ai.url.size() || !ai.email_addr.size() || !ai.passwd_hash.size()) {
if ((!ai.url.size() || !ai.email_addr.size() || !ai.passwd_hash.size()) && !ai.server_assigned_hash) {
grc.mfout.printf("<error>missing URL, email address, or password</error>\n");
return;
}

View File

@ -1888,8 +1888,9 @@ void CAdvancedFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
} else if ((0 >= pDoc->GetProjectCount()) && !status.disallow_attach) {
if (pis.url.size() > 0) {
strProjectName = pis.name;
strProjectURL = pis.url;
strProjectName = pis.name.c_str();
strProjectURL = pis.url.c_str();
strProjectSetupCookie = pis.setup_cookie.c_str();
bAccountKeyDetected = pis.has_account_key;
bEmbedded = pis.embedded;
@ -1911,27 +1912,22 @@ void CAdvancedFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
wxGetApp().ShowApplication(true);
pWizard = new CWizardAttach(this);
if ( strProjectURL.size() &&
(strProjectAuthenticator.size() || strProjectSetupCookie.size()) &&
!pDoc->project((char*)strProjectURL.c_str())
if (pWizard->Run(
wxURI::Unescape(strProjectName),
wxURI::Unescape(strProjectURL),
wxURI::Unescape(strProjectAuthenticator),
wxURI::Unescape(strProjectInstitution),
wxURI::Unescape(strProjectDescription),
wxURI::Unescape(strProjectKnown),
wxURI::Unescape(strProjectSetupCookie),
bAccountKeyDetected,
bEmbedded)
){
if (pWizard->Run(
wxURI::Unescape(strProjectName),
wxURI::Unescape(strProjectURL),
wxURI::Unescape(strProjectAuthenticator),
wxURI::Unescape(strProjectInstitution),
wxURI::Unescape(strProjectDescription),
wxURI::Unescape(strProjectKnown),
wxURI::Unescape(strProjectSetupCookie),
bAccountKeyDetected,
bEmbedded)
){
// If successful, display the work tab
m_pNotebook->SetSelection(ID_ADVTASKSVIEW - ID_ADVVIEWBASE);
} else {
// If failure, display the notices tab
m_pNotebook->SetSelection(ID_ADVNOTICESVIEW - ID_ADVVIEWBASE);
}
// If successful, display the work tab
m_pNotebook->SetSelection(ID_ADVTASKSVIEW - ID_ADVVIEWBASE);
} else {
// If failure, display the notices tab
m_pNotebook->SetSelection(ID_ADVNOTICESVIEW - ID_ADVVIEWBASE);
}
}

View File

@ -813,8 +813,9 @@ void CSimpleFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
} else if ((0 >= pDoc->GetProjectCount()) && !status.disallow_attach) {
if (pis.url.size() > 0) {
strProjectName = pis.name;
strProjectURL = pis.url;
strProjectName = pis.name.c_str();
strProjectURL = pis.url.c_str();
strProjectSetupCookie = pis.setup_cookie.c_str();
bAccountKeyDetected = pis.has_account_key;
bEmbedded = pis.embedded;
@ -836,22 +837,17 @@ void CSimpleFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
wxGetApp().ShowApplication(true);
pWizard = new CWizardAttach(this);
if ( strProjectURL.size() &&
(strProjectAuthenticator.size() || strProjectSetupCookie.size()) &&
!pDoc->project((char*)strProjectURL.c_str())
){
pWizard->Run(
wxURI::Unescape(strProjectName),
wxURI::Unescape(strProjectURL),
wxURI::Unescape(strProjectAuthenticator),
wxURI::Unescape(strProjectInstitution),
wxURI::Unescape(strProjectDescription),
wxURI::Unescape(strProjectKnown),
wxURI::Unescape(strProjectSetupCookie),
bAccountKeyDetected,
bEmbedded
);
}
pWizard->Run(
wxURI::Unescape(strProjectName),
wxURI::Unescape(strProjectURL),
wxURI::Unescape(strProjectAuthenticator),
wxURI::Unescape(strProjectInstitution),
wxURI::Unescape(strProjectDescription),
wxURI::Unescape(strProjectKnown),
wxURI::Unescape(strProjectSetupCookie),
bAccountKeyDetected,
bEmbedded
);
}
if (pWizard) {

View File

@ -14,7 +14,7 @@ AC_SUBST([LIBBOINC_VERSION])
WRAPPER_RELEASE=26016
AC_SUBST([WRAPPER_RELEASE])
VBOXWRAPPER_RELEASE=26183
VBOXWRAPPER_RELEASE=26184
AC_SUBST([VBOXWRAPPER_RELEASE])
AC_CANONICAL_TARGET

View File

@ -514,6 +514,7 @@ struct PROJECT_INIT_STATUS {
std::string url;
std::string name;
std::string team_name;
std::string setup_cookie;
bool has_account_key;
bool embedded;

View File

@ -1263,7 +1263,9 @@ int PROJECT_INIT_STATUS::parse(XML_PARSER& xp) {
if (xp.parse_string("url", url)) continue;
if (xp.parse_string("name", name)) continue;
if (xp.parse_string("team_name", team_name)) continue;
if (xp.parse_string("setup_cookie", setup_cookie)) continue;
if (xp.parse_bool("has_account_key", has_account_key)) continue;
if (xp.parse_bool("embedded", embedded)) continue;
}
return ERR_XML_PARSE;
}
@ -1271,7 +1273,10 @@ int PROJECT_INIT_STATUS::parse(XML_PARSER& xp) {
void PROJECT_INIT_STATUS::clear() {
url.clear();
name.clear();
team_name.clear();
setup_cookie.clear();
has_account_key = false;
embedded = false;
}
PROJECT_CONFIG::PROJECT_CONFIG() {
@ -2274,11 +2279,15 @@ int RPC_CLIENT::lookup_account(ACCOUNT_IN& ai) {
" <email_addr>%s</email_addr>\n"
" <passwd_hash>%s</passwd_hash>\n"
" <ldap_auth>%d</ldap_auth>\n"
" <server_assigned_hash>%d</server_assigned_hash>\n"
" <server_hash>%s</server_hash>\n"
"</lookup_account>\n",
ai.url.c_str(),
ai.email_addr.c_str(),
passwd_hash.c_str(),
ai.ldap_auth?1:0
ai.ldap_auth?1:0,
ai.server_assigned_hash?1:0,
ai.server_hash.c_str()
);
buf[sizeof(buf)-1] = 0;

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -78,6 +78,8 @@
DD2B6C8113149177005D6F3E /* procinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD2B6C7E13149177005D6F3E /* procinfo.cpp */; };
DD2B6C8D131491B7005D6F3E /* procinfo_mac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDB6934F0ABFE9C600689FD8 /* procinfo_mac.cpp */; };
DD2B6C8E131491B8005D6F3E /* procinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD2B6C7E13149177005D6F3E /* procinfo.cpp */; };
DD30CACF1C6B3C7F00AE1D14 /* project_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD30CACD1C6B3C7F00AE1D14 /* project_init.cpp */; };
DD30CAD01C6B3CCB00AE1D14 /* project_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD30CACD1C6B3C7F00AE1D14 /* project_init.cpp */; };
DD3157C316740D5300B6C909 /* gpu_intel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD3157C016740C9100B6C909 /* gpu_intel.cpp */; };
DD33C6F308B5BAF500768630 /* gui_http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD33C6F108B5BAF500768630 /* gui_http.cpp */; };
DD33C6F808B5BB4500768630 /* acct_setup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD33C6F708B5BB4500768630 /* acct_setup.cpp */; };
@ -782,6 +784,8 @@
DD2D25CB07FAB41700151141 /* DlgSelectComputer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = DlgSelectComputer.cpp; path = ../clientgui/DlgSelectComputer.cpp; sourceTree = SOURCE_ROOT; };
DD2D25CC07FAB41700151141 /* DlgSelectComputer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DlgSelectComputer.h; path = ../clientgui/DlgSelectComputer.h; sourceTree = SOURCE_ROOT; };
DD30446A0864332D00D73756 /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../clientgui/mac/config.h; sourceTree = SOURCE_ROOT; };
DD30CACD1C6B3C7F00AE1D14 /* project_init.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = project_init.cpp; sourceTree = "<group>"; };
DD30CACE1C6B3C7F00AE1D14 /* project_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = project_init.h; sourceTree = "<group>"; };
DD3157C016740C9100B6C909 /* gpu_intel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gpu_intel.cpp; sourceTree = "<group>"; };
DD33C6F108B5BAF500768630 /* gui_http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = gui_http.cpp; sourceTree = "<group>"; };
DD33C6F208B5BAF500768630 /* gui_http.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = gui_http.h; path = ../client/gui_http.h; sourceTree = SOURCE_ROOT; };
@ -1829,6 +1833,8 @@
DD76BF9117CB45870075936D /* opencl_boinc.cpp */,
DD76BF9217CB45870075936D /* opencl_boinc.h */,
F54B901602AC0A2201FB7237 /* parse.cpp */,
DD30CACD1C6B3C7F00AE1D14 /* project_init.cpp */,
DD30CACE1C6B3C7F00AE1D14 /* project_init.h */,
DDE1372D10DC5E8D00161D6B /* notice.cpp */,
DDE1372E10DC5E8D00161D6B /* notice.h */,
F54B901502AC0A2201FB7237 /* parse.h */,
@ -2950,6 +2956,7 @@
DD407A6907D2FBC200163EF5 /* proxy_info.cpp in Sources */,
DD407A6B07D2FBC700163EF5 /* shmem.cpp in Sources */,
DD4329910BA63DEC007CDF2A /* str_util.cpp in Sources */,
DD30CAD01C6B3CCB00AE1D14 /* project_init.cpp in Sources */,
DDA45500140F7DE200D97676 /* synch.cpp in Sources */,
DDC06AB410A3E93F00C8D9A5 /* url.cpp in Sources */,
DD407A6D07D2FBD100163EF5 /* util.cpp in Sources */,
@ -3295,6 +3302,7 @@
DD25F72B15914F8C007845B5 /* gpu_detect.cpp in Sources */,
DDE17420166746F70059083A /* app_config.cpp in Sources */,
DD3157C316740D5300B6C909 /* gpu_intel.cpp in Sources */,
DD30CACF1C6B3C7F00AE1D14 /* project_init.cpp in Sources */,
DD76BF9517CB45D20075936D /* opencl_boinc.cpp in Sources */,
DD6A829C181103990037172D /* thread.cpp in Sources */,
DDDC2055183B560B00CB5845 /* mac_address.cpp in Sources */,

View File

@ -101,6 +101,12 @@ void shared_delete_file(std::string& filename) {
boinc_delete_file(path);
}
int shared_stat(std::string& filename, struct stat* stat_file) {
char path[MAXPATHLEN];
sprintf(path, "shared/%s", filename.c_str());
return stat(path, stat_file);
}
bool read_fraction_done(double& frac_done, VBOX_VM& vm) {
char path[MAXPATHLEN];
char buf[256];
@ -612,6 +618,12 @@ int main(int argc, char** argv) {
//
vboxlog_msg("Detected: Minimum checkpoint interval (%f seconds)", pVM->minimum_checkpoint_interval);
// Record what the minimum heartbeat interval is.
//
if (pVM->heartbeat_filename.size()) {
vboxlog_msg("Detected: Heartbeat check (file: '%s' every %f seconds)", pVM->heartbeat_filename.c_str(), pVM->minimum_heartbeat_interval);
}
// Validate whatever configuration options we can
//
if (pVM->enable_shared_directory) {
@ -1015,7 +1027,7 @@ int main(int argc, char** argv) {
should_exit = true;
}
if (stat(pVM->heartbeat_filename.c_str(), &heartbeat_stat)) {
if (shared_stat(pVM->heartbeat_filename, &heartbeat_stat)) {
// Error
vboxlog_msg("VM Heartbeat file specified, but missing file system status. (errno = '%d')", errno);
should_exit = true;

View File

@ -16,7 +16,7 @@
#define WRAPPER_RELEASE 26016
/* Release part of vboxwrapper version number */
#define VBOXWRAPPER_RELEASE 26183
#define VBOXWRAPPER_RELEASE 26184
/* String representation of BOINC version number */
#define BOINC_VERSION_STRING "7.7.0"

View File

@ -94,9 +94,9 @@
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">vboxwrapper_26151_windows_x86_64</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">vboxwrapper_26183_windows_x86_64</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">vboxwrapper_26184_windows_x86_64</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">vboxwrapper_26151_windows_intelx86</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">vboxwrapper_26183_windows_intelx86</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">vboxwrapper_26184_windows_intelx86</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>