Commit Graph

37 Commits

Author SHA1 Message Date
Kevin Reed 8f787b2f32
Merge pull request #2737 from lfield/server-version
Added server version detection and publishing
2018-11-08 12:09:46 -06:00
Shawn Kwang cd409c36d8 web rpc: add consent check to get_project config
RPC checks if consent_type 'ENROLL' is enabled by the project. If this is true and if the terms-of-use file exists, then show the contents of the file in the XML output.
2018-10-23 11:06:55 -05:00
lfield 237375a6b9 moved release.inc, removed branch, added link, changed git args 2018-10-09 13:06:52 +02:00
lfield ad1d27fa94 Added version detection and publishing 2018-10-05 15:03:54 +02:00
Shawn Kwang cbce74df7c Merge branch 'master' into sak-useroptin-dbaddconsent
Prepare for merging this development branch into master.

Conflicts:
	html/ops/db_update.php
2018-09-12 11:48:25 -05:00
Shawn Kwang 9e0fd72ee4 web rpc: Added global scope to master_url variable. 2018-06-27 13:51:38 -05:00
Shawn Kwang f7332ccdfb web: Add new constant for terms of use file.
Add new constant in project.inc, TERMSOFUSE_FILE, which is a path to the project's terms of use. This defaults to the previous location, a text file in the project's base directory.

get_project_config.php RPC modified to use this new constant, but if it is not defined, then the code will attempt to use the old path: this should be backwards-compatible for projects that do not update project.inc, but have a terms_of_use.txt file in their base directory.

HTML code modified to use this new constant.
2018-06-11 11:09:17 -05:00
David Anderson 13b9783c27 get_project_config.php: say whether account manager 2018-03-09 22:15:03 -08:00
David Anderson 20bcd33093 get_project_config.php: include project keyword list if present 2017-08-01 10:24:19 -07:00
David Anderson 5ea948224e web: make $master_url a global var 2016-11-25 20:41:09 -08:00
Christian Beer dff8fcffc6 Web: read-only RPCs should use the replica DB 2016-06-20 15:14:55 +02:00
David Anderson d0fb0184e8 client/manager/server: finish LDAP support
- get_project_config.php: if project supports LDAP,
  advertise this to the client.
- Manager: if project supports LDAP, say "Email address or LDAP ID"
  in Attach Project wizard,
  and don't do email address validation.
- lookup_account GUI RPC (client side): if passing an LDAP ID,
  don't lowercase it, and don't hash passwd
- lookup_account GUI RPC (server side): if passing an LDAP ID,
  pass appropriate URL args to Web RPC
- lookup_account Web RPC: in LDAP case, pass "ldap_auth" arg,
  and pass "ldap_uid" and "passwd".
  Handle these appropriately.
2014-10-18 23:53:27 -07:00
David Anderson 7e00868161 get_project_config: don't show platforms for deprecated apps 2014-02-02 22:08:09 -08:00
David Anderson c4f4421ff0 client/manager/server: use HTTPS for web RPCs if possible
The web RPCs done by the client during project attach
(lookup_account, create_account)
have an email address and password hash in their request.
Network sniffers could potentially see these,
so we should use HTTPS for these RPCs if possible.
However, not all BOINC projects have SSL-enabled web servers.
So I did the following:

- Change get_project_config.php to return an additional
  <web_rpc_url_base> element.
  This is SECURE_URL_BASE (if specified in the project's
  project.inc config file) or, if not, the master URL.
- This new element is parsed into the PROJECT_CONFIG structure.
- In calls to create_account and lookup_account,
  the Manager uses PROJECT_CONFIG::web_rpc_url_base
  if it's available, else the master URL.

So, the new Manager/client uses HTTPS for RPCs to projects
that have updated their get_project_config.php,
and specify a SECURE_URL_BASE with https:// prefix.

Android note: I added code to parse the new config element,
but didn't change the higher-level code;
Joachim will need to do this.
2014-01-28 13:25:59 -08:00
David Anderson 307b4538d6 get_project_config.php: use DB abstraction layer. From Janus. 2014-01-08 17:17:07 -08:00
David Anderson ecdc25968a Extend PHP interface for Web RPCs
- add a PHP interface for lookup_account()
- PHP interfaces return error number as well as message
  (messages change; numbers don't)
- using symbolic error codes instead of hardwired numbers in PHP code
2013-12-28 22:50:59 -08:00
Rom Walton d8a2fe743a - web: The create_account RPC supports taking an invite_code parameter
but we currently do not expose a way in get_project_config to determine
        that a UI should prompt for one.  Add a <invite_code_required/> tag
        if the project is only accepting new accounts by invitation.
        
    html/user/
        get_project_config.php

svn path=/trunk/boinc/; revision=24300
2011-09-27 15:22:34 +00:00
David Anderson 837d3fc0a1 - get_project_config.php: include plan classes in platform list;
i.e., list both win/x86 and win/x86 + NVIDIA.
    This will allow the manager to show which projects can
    use the hosts's coprocessors,
    and also graying out projects that require an absent coproc.
- fix compile warnings

svn path=/trunk/boinc/; revision=17735
2009-04-03 21:55:26 +00:00
David Anderson b2d7812130 - GUI RPC: add the following items to PROJECT_CONFIG
(corresponding to the get_project_config.php web RPC):
    - platforms: list of platforms supported by the project
    - sched_stopped: scheduler disabled
    - web_stopped: DB-driven web features disabled
    - min_client_version
- GUI RPC: add the following items to CC_STATE:
    - platforms: list of platforms supported by the client
        (this replaces the unused <platform_name>)
- GUI RPC: add the following items to PROJECT_LIST_ENTRY
    (entry in the "all projects" list):
    - platforms: list of platforms supported by the project
- GUI RPC: move APP_VERSION pointer from WORKUNIT to RESULT;
    include plan class in APP_VERSION lookup.
    This completes the change of March 2008,
    and allows the Manager to work correctly when a project
    has two different app versions of the same (app, platform, version)
    running on a client at once (e.g., a CPU and a GPU app)
- get_project_config.php: remove logic that checks client version.
    This page is accessed by PHP, not just by client
- web: add link to forum page to get forum as RSS

svn path=/trunk/boinc/; revision=16900
2009-01-13 19:34:04 +00:00
David Anderson 0899975be5 - get_project_config: don't send error text if no terms_of_use.txt
- client: compute and store project work-fetch attributes

svn path=/trunk/boinc/; revision=16837
2009-01-08 00:41:15 +00:00
David Anderson 659becc98c - get_project_config.php: if config.xml has min client version,
get client version from HTTP user agent string and enforce.
- update translations script: fix apparent typos

svn path=/trunk/boinc/; revision=16586
2008-11-28 19:03:05 +00:00
David Anderson 149b2c6794 - server: if "terms_of_use.txt" exists in project dir,
send it in get_project_config.php;
    6.4 clients will display a dialog to accept terms of use during attach.

svn path=/trunk/boinc/; revision=16563
2008-11-26 03:28:48 +00:00
David Anderson 9baf78fe5f - web: added copyright and license info to PHP files
svn path=/trunk/boinc/; revision=15758
2008-08-05 22:43:14 +00:00
David Anderson ad6c38f6d4 - new <platform> elements in get_project_config.php
confuse the client because their <name> element
    gets parsed as the project name.
    Work around by changing to <platform_name>.

Note: here (and everywhere else) if we get an unparsed XML tag
    we should skip to past the close tag.
    I'll put this in soon.
    
html/user/
    get_project_config.php

svn path=/trunk/boinc/; revision=12834
2007-06-06 14:10:28 +00:00
David Anderson 601403d9aa - Client (Unix) show process exit codes as negative numbers also
(e.g., to show BOINC error codes correctly)
- get_project_config.php: add an element that lists the
    platforms supported by this project
    (i.e. for which there's a non-deprecated app version)
    Cache this info in a file (cache/platform_list.xml)
    so that it will be available even when the project's DB is down.
- Rename sample_get_project_config.php to get_project_config.php;
    a project should no longer need its own version of this file.
    Change setup_project accordingly.

client/
    app_control.C
html/user/
    get_project_config.php (new)
    sample_get_project_config.php (removed)
py/Boinc/
    setup_project.py

svn path=/trunk/boinc/; revision=12814
2007-06-04 20:32:47 +00:00
David Anderson cb583ae458 *** empty log message ***
svn path=/trunk/boinc/; revision=11116
2006-09-06 17:18:51 +00:00
David Anderson 69748078d3 invitation codes
svn path=/trunk/boinc/; revision=10213
2006-05-27 21:41:36 +00:00
David Anderson 6bcf6746cf *** empty log message ***
svn path=/trunk/boinc/; revision=10104
2006-05-05 16:33:56 +00:00
David Anderson 566cd6f85c *** empty log message ***
svn path=/trunk/boinc/; revision=9973
2006-04-19 22:59:06 +00:00
David Anderson 9ec46ca439 *** empty log message ***
svn path=/trunk/boinc/; revision=9692
2006-03-21 06:52:30 +00:00
David Anderson 0c30f68f44 generic get_project_config.php
svn path=/trunk/boinc/; revision=8555
2005-10-07 20:03:15 +00:00
David Anderson 20d9274d01 allow zero resource share
svn path=/trunk/boinc/; revision=7692
2005-08-31 18:20:06 +00:00
David Anderson 8a72aef655 remove email munge code
svn path=/trunk/boinc/; revision=7518
2005-08-26 22:26:26 +00:00
Rom Walton 5a606613f4 *** empty log message ***
svn path=/trunk/boinc/; revision=7233
2005-08-11 00:07:33 +00:00
Rom Walton f1206c6222 *** empty log message ***
svn path=/trunk/boinc/; revision=7232
2005-08-10 23:53:33 +00:00
David Anderson f8f68c0dc9 startup logic
svn path=/trunk/boinc/; revision=7224
2005-08-10 00:18:52 +00:00
David Anderson b36fef1e87 *** empty log message ***
svn path=/trunk/boinc/; revision=7216
2005-08-09 18:46:53 +00:00