boinc icon indicating copy to clipboard operation
boinc copied to clipboard

Minor: BOINC client reports "project successfully added" when it is not

Open makeasnek opened this issue 2 years ago • 5 comments
trafficstars

Describe the bug I came across this while experimenting a bit with the BOINC protocol for communicating client <-> server.

Environment:

  • BOINC manager 7.16.6
  • Ubuntu 20.04
  • BOINC version 7.16.6 x86_64-pc-linux-gnu

I unfortunately cannot test this with a more recent BOINC version due to current Linux packaging situation.

Steps To Reproduce

  1. Go to Tools -> Add Project
  2. Enter server url and authentication information when prompted
  3. Server returns malformed response to lookup_account.php?email_addr=user%website%2Ecom&passwd_hash=yourpasswordhere. In my case, it returned the following xml information below.
  4. BOINC Manager reports "project added successfully", but project does not appear in project list and does not appear to be added successfully. Event viewer with standard flags doesn't indicate there was any issue.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<project_config>
    <name>testserver</name>
    <master_url>http://127.0.0.1:8000/testserver</master_url>
    <web_rpc_url_base>http://127.0.0.1:8000/testserver</web_rpc_url_base>
    <min_passwd_length>6</min_passwd_length>
    <client_account_creation_disabled/>
    <rpc_prefix>http://127.0.0.1:8000/testserver</rpc_prefix>
<platforms>
    <platform>
        <platform_name>i686-pc-linux-gnu</platform_name>
        <user_friendly_name>Linux/x86</user_friendly_name>
    </platform>
    <platform>
        <platform_name>x86_64-pc-linux-gnu</platform_name>
        <user_friendly_name>64 bit Linux/x86_64</user_friendly_name>
    </platform>
    <platform>
        <platform_name>windows_intelx86</platform_name>
        <user_friendly_name>Windows/x86</user_friendly_name>
    </platform>
    <platform>
        <platform_name>windows_x86_64</platform_name>
        <user_friendly_name>Windows/x86_64</user_friendly_name>
    </platform>
    <platform>
        <platform_name>x86_64-apple-darwin</platform_name>
        <user_friendly_name>Mac OS X 64 bit (Intel)</user_friendly_name>
    </platform>
    <platform>
        <platform_name>arm-android-linux-gnu</platform_name>
        <user_friendly_name>Android running on ARM</user_friendly_name>
    </platform>
    <platform>
        <platform_name>aarch64-android-linux-gnu</platform_name>
        <user_friendly_name>Android running on ARM64</user_friendly_name>
    </platform>
    <platform>
        <platform_name>arm-unknown-linux-gnueabihf</platform_name>
        <user_friendly_name>Linux running on ARM, hardware FP</user_friendly_name>
    </platform>
</platforms>
</project_config>

Additional context Obviously one would not expect the BOINC client to be able to successfully connect to a BOINC server returning bad information. However, an error message indicating a failure would be helpful to the user, and potentially helpful to the admin running the server if the user passes it onto them. Such messages are given to the user in other failure conditions.

makeasnek avatar Oct 14 '23 04:10 makeasnek

I looked at this a bit, and was confused by the presence of <client_account_creation_disabled/> in the get_project_config.php output. This element was (I think) removed in 2006. Are you using server software from that era? Does the problem go away if you remove this from your project.config.xml?

davidpanderson avatar Oct 15 '23 22:10 davidpanderson

<client_account_creation_disabled/>

Really? A quick search of GitHub finds 8 references in current code.

It also features extensively in #2351, which you opened on 15 February 2018.

RichardHaselgrove avatar Oct 16 '23 07:10 RichardHaselgrove

This issue is looks very similar to #3686. @davidpanderson, could you please double check?

AenBleidd avatar Oct 16 '23 07:10 AenBleidd

I can't repro #3686 (using the test project). Can anyone repro this issue with a publicly visible server?

davidpanderson avatar Oct 16 '23 19:10 davidpanderson

I looked at this a bit, and was confused by the presence of <client_account_creation_disabled/> in the get_project_config.php output. This element was (I think) removed in 2006. Are you using server software from that era?

I made a server response based off an existing project's response, I believe it was WCG. Unfortunately I can't make a reproducible copy of the code which was used to create this error condition, but clearly whatever function is used to check if a project is successfully attached is incorrectly determining that a project is successfully attached. I was just playing around with a network sniffer and replay tool to better understand the BOINC protocol.

makeasnek avatar Oct 22 '23 05:10 makeasnek