Commit Graph

31254 Commits

Author SHA1 Message Date
David Anderson c5f0b4a88d remote job submission: fix bug that caused spurious errors to be returned
From Steve Clark
2018-04-09 20:26:05 -07:00
David Anderson 938f10bdde admin web: add missing include file for add-user function 2018-04-09 18:31:52 -07:00
David Anderson 2eb2b63b25 client: print message if do starvation AM RPC 2018-04-09 18:14:53 -07:00
David Anderson f43e2971fa
Merge pull request #2455 from JuhaSointusalo/boinccmd-get_tasks-tweak
boinccmd/lib: --get_tasks output tweaks
2018-04-09 15:20:28 -07:00
David Anderson f2c89d0c4a fix typo 2018-04-09 11:50:34 -07:00
David Anderson f38a5d67e5 client: fix logic for assigning sched_req_no_work:
if we didn't ask for work, don't change it
2018-04-09 11:47:42 -07:00
Vitalii Koshura cdb68aaa00
[Manager] Fix fields populating on 'Add Project' wizard on launch
When opening 'Add Project' wizard it shows next fields empty:
Research area, Organisation, and Web site.
This happens because of EllipseStringIfNeeded() function that truncates the string to 0 symbols because the wizard window was not constructed yet and has undefined size.

This fixes #2444.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2018-04-09 19:20:31 +03:00
David Anderson 644f0ae6ba Debug and finish starvation prevention for dynamic AMs.
- Add an official notion of dynamic AM.
  Conveyed in AM reply message, stored in AM account file.
- Report accounting info only to dynamic AMs
- Fix bug where account info file wasn't written for AMs using authenticators
- In handling GUI RPC to do AM RPC, use info for current AM, e.g. if it's dynamic
2018-04-08 19:46:39 -07:00
David Anderson 99dd146bbb client: if using a dynamic AM and have idle resources, tell the AM
See issue #2452.
If using a dynamic AM, the client may starve, e.g. because
the assigned projects are down.
Detect this, and send "starvation RPCs" to the AM
giving details about the situation.
But don't do this too often; use exponential backoff.
2018-04-07 15:42:19 -07:00
Kevin Reed 3e585ede29 web: add default values to not null team columns that are not assigned when team
is created
2018-04-06 15:48:52 -05:00
Juha Sointusalo e6f2f1a73c boinccmd/lib: --get_tasks output tweaks
- show if unstarted tasks are suspended, fixes #2403
- tune down verboseness and show suspend status only if task is suspended
- show estimated time remaining for unstarted tasks to allow estimating cache size
- show unstarted task's app version number correctly by using version number from RESULT (via version_num) instead of ACTIVE_TASK (via app_version_num)
2018-04-06 23:42:59 +03:00
Kevin Reed 4a6246a8bb web: create token table and php object to interact with token table.
Add script that will delete expired tokens once a day
2018-04-06 13:30:01 -05:00
Kevin Reed 39cc8c0500 web: Replace html/inc/util.inc random_string() implementation with one
that is considered cryptographically secure.  This required adding the
random_compat library (MIT License) to provide support for PHP versions
before 7.
2018-04-06 09:15:51 -05:00
Shawn Kwang 7b1c077f5c Drupal: Changed create account to set show_hosts to false.
Also added help text to Privacy form.

https://dev.gridrepublic.org/browse/DBOINCP-430
2018-04-05 08:27:32 -05:00
Kevin Reed a9dac7ee5e
Merge pull request #2446 from BOINC/dpa_stop_web
web: don't check for stop_web in page_head().
2018-04-04 14:49:59 -05:00
Kevin Reed 78f96d25f3 web: refactor password hashing changes to move compatibility library as a
.inc file and to move common functions into user_util.inc
2018-04-04 13:47:26 -05:00
Kevin Reed 333e5c49eb Add the password compatability library to the create project setup
scripts
2018-04-04 13:46:16 -05:00
Kevin Reed df64472c11 Merge branch 'master' into knr_passwd_hash 2018-04-04 10:49:14 -05:00
Shawn Kwang df3fcae9ab Drupal: Fix bug when there is no language, a default flag should appear.
https://dev.gridrepublic.org/browse/DBOINCP-433
2018-04-04 10:26:56 -05:00
CharlieFenton 46e7d3d943
Merge pull request #2436 from JuhaSointusalo/client-build-info
client: show build not OS platform in messages
2018-04-03 17:59:07 -07:00
David Anderson 1562265a7d web: don't check for stop_web in page_head().
Allow projects to show (non-DB) content even if stop_web is present
(e.g. description of the project on front page).
stop_web really means "the DB is offline".
2018-04-03 14:44:40 -07:00
David Anderson 6093ed3a3f Add a mechanism allowing project admins to "delete" a user
This leaves the user record and host records in the DB
to avoid dangling references from the result table.
It:
- changes the user name, email addr, and auth to "deleted_xxx"
- removes the user from team
- removes posts by the user
- removes PMs by the user
- removes friend connection
- removes profile
- "anonymizes" the hosts (erase IP addr and domain name)

Note 1: this is accessed by admins using a script in ops/;
It's not available to users.

Note 2: this may not satisfy the requirements of EU-GDPR
since it doesn't delete the user and host records.
2018-04-03 14:27:10 -07:00
Jord van der Elst 3e056dd81b
Change 'home language' to 'native language' 2018-04-03 21:36:33 +02:00
Juha Sointusalo fb16e55293 client: show build not OS platform in messages
The client shows what kind of operating system it has detected in startup log message and elsewhere. This is confusing and not helping in troubleshooting when people expect these messages to describe the client itself.

Change the messages to use client's build platform instead.

Startup log message, output of --version and user agent string should be safe to change without breaking anything. The client still uses OS platform in various places but changing these would break stuff:

- Scheduler request XML. Scheduler expects scheduler_request.platform_name to be OS primary platform.
- client_state.xml. Client writes OS primary platform and alt platforms separately to client_state.xml. The client reads primary platform only to see if it has changed. The client doesn't read alt platforms but some other program might and depends on the platforms being as they are now. Not changing this means the client won't be able to detect when its own platform has changed. OS platform changes are still detected.
- get_state GUI RPC. The client writes primary platform to client_state.platform_name and all platforms, including primary, to client_state.platform. BOINC Manager only reads client_state.platform. As such, client_state.platform_name could be changed to client's build platform but some 3rd party manager might depend on it being OS primary platform.
- time_stats_log. The client writes platform info there. Unclear who uses that information.

Closes #2386.
2018-03-30 11:23:11 +03:00
Shawn Kwang d0b0031875 Drupal: Altered wording to be more clear. 2018-03-29 15:45:27 -05:00
tristanolive 133abaadf4
Merge pull request #2425 from drshawnkwang/drupal_feature_userroles-forums
Drupal: Added user roles to forum user info, below username and stats.
2018-03-29 10:05:20 -04:00
tristanolive 756b04b836
Merge pull request #2423 from drshawnkwang/drupal_fix-bug-readonlydb
Drupal: Changed db_set_active to use proper database name.
2018-03-29 09:35:43 -04:00
CharlieFenton 1c38628f95
Merge pull request #2420 from JuhaSointusalo/mgr-per-thread-locale
lib, mgr: use per-thread locale on Linux
2018-03-29 02:16:31 -07:00
David Anderson ac474dbafd
Merge pull request #2431 from serval2412/master
cppcheck: printf format string
2018-03-28 12:10:39 -07:00
Julien Nabet 32253c3e30 cppcheck: printf format string
[sched/target_batch.cpp:182]: (warning) printf format string requires 1 parameter but 2 are given.
2018-03-28 18:01:14 +02:00
Kevin Reed 5c5267f28c
Merge pull request #2405 from BOINC/dpa_am_auth
let AMs use authenticators instead of name/password
2018-03-28 10:45:58 -05:00
Kevin Reed de11733ba2
Merge pull request #2426 from BOINC/dpa_web_rpc
create_account web RPC: improve parsing and error handling
2018-03-28 10:08:22 -05:00
Juha Sointusalo 50a79e0f34 build: remove NO_PER_THREAD_LOCALE stuff
NO_PER_THREAD_LOCALE has been replaced by HAVE__CONFIGTHREADLOCALE and
HAVE_USELOCALE.

Also remove HAVE_DECL__CONFIGTHREADLOCALE which was used only for
NO_PER_THREAD_LOCALE.
2018-03-28 16:21:33 +03:00
Juha Sointusalo f97421a735 mgr: remove SET_LOCALE from DlgDiagnosticLogFlags.cpp
SET_LOCALE is no-op when using per-thread locales making SET_LOCALE
unnecessary.

When per-thread locales are not available using SET_LOCALE in
CDlgDiagnosticLogFlags can cause Manager to get stuck to C locale. The
lifetime of two SET_LOCALE objects can be interleaved if log flags are
loaded or saved and an async RPC is launched at the same time. If the
lifetimes are interleaved the first object sets global locale to C. The
second object saves the global locale that was set to C by the first
object. First object restores the global locale correctly. After that
the second object incorrectly restores the global locale to C.
2018-03-28 16:21:33 +03:00
Juha Sointusalo 450f89ec39 lib, mgr: use per-thread locales on Linux
On Linux, Manager sometimes prints timestamps in C locale instead of the
locale user has chosen. This happens when Manager is formatting a
timestamp and at the same time a GUI RPC is in progress. GUI RPCs
temporarily set the global locale to C locale with SET_LOCALE.

Use SET_LOCALE's per-thread locale version and set thread locale in
Manager's RPC thread to fix this.

Also clean up #ifdef mazes in SET_LOCALE and Manager's RPC thread now
that there are HAVE_* macros available. Remove OS X < 10.4 code because
that old OS X versions are not supported any more.

Fixes #2399.
2018-03-28 16:20:15 +03:00
Kevin Reed 7579067918
Merge pull request #2427 from BOINC/dpa_email_msg
web: use "name@xxx.yyy" instead of "name@domain" to show form of emai…
2018-03-28 08:19:17 -05:00
Juha Sointusalo 6e2204c082 build: check for per-thread locale support
Allows fixing and cleaning up per-thread locale support in Manager and
libboinc.

locale.h and xlocale.h were checked for libboinc_graphics. Move
xlocale.h check to correct place and remove locale.h check. locale.h has
been part of C standard library since C89.

The support for per-thread locales cannot be reliably inferred from the
existence of different headers. Some systems declare uselocale() in
locale.h, others in xlocale.h and xlocale.h is no longer included in GNU
libc. Instead explicitly check for uselocale() and
_configthreadlocale().

Add uselocale() check result to Mac config.h so that the #ifdef mazes
can be simplified.

Also correct quoting in AC_CHECK_FUNCS and AC_CHECK_HEADERS calls.
2018-03-28 16:07:54 +03:00
Jord van der Elst d6791bf3bd
Update Code of Conduct to include link to Governance document
Forgot to add the link to the Governance document, thanks for that catch, Kevin.
2018-03-27 23:59:13 +02:00
Jord van der Elst 9bc929e0e2
BOINC Github Code of Conduct 2018-03-27 22:35:43 +02:00
Jord van der Elst d3d54c0e4e
Delete CODE_OF_CONDUCT.md 2018-03-27 22:35:04 +02:00
Jord van der Elst 83958d8311
Add files via upload 2018-03-27 22:34:34 +02:00
David Anderson 635cd537be web: use "name@xxx.yyy" instead of "name@domain" to show form of email addr.
Users may not know what "domain" means.
Also don't use "name@gmail.com"; they'll think they need a gmail addr.
2018-03-27 13:11:05 -07:00
David Anderson 9dccb7831d create_account web RPC: improve parsing and error handling
Projects with old server code reply with PHP warnings
interspersed with the XML.
Parse these replies manually.
2018-03-27 13:07:40 -07:00
Alexander Schlarb 4f704e9df1 Android: Improve quality of build scripts
* Make build scripts fully whitespace safe to the extend premitted by autotools
 * Let all build scripts fail fast on error, previously they would continue and then fail with spurious follow-up errors burrowing the actual issue
 * Ensure that all build scripts start with a valid shebang (`#!`)
 * Fix jumbled letters in `android/build_build_app_x86.sh`
2018-03-27 21:51:06 +02:00
Shawn Kwang 3ada381c7e Drupal: Added user roles to forum user info, below username and stats.
https://dev.gridrepublic.org/browse/DBOINCP-253
2018-03-27 11:55:16 -05:00
Shawn Kwang 19bc4def77 Drupal: Changed email templates for user registration, activation, password reset, etc.
https://dev.gridrepublic.org/browse/DBOINCP-431
2018-03-27 11:51:30 -05:00
Shawn Kwang ba4fd883ee Drupal: Changed db_set_active to use proper database name.
part of https://dev.gridrepublic.org/browse/DBOINC-60
2018-03-27 10:06:24 -05:00
Alexander Schlarb 3ee7631354 Android: update order of binary search path in build scripts
* `PATH` environment was: `export PATH="$PATH:$TCBINARIES:$TCINCLUDES/bin"`
 * If system `libcurl-dev` (Debian) is installed its `curl-config` script will be first in `PATH`
 * `./configure` will choose the system `curl-config` and fail to compile
2018-03-23 18:10:01 +01:00
Juha Sointusalo 50e8f9eac0
Merge pull request #2406 from versat/patch-1
Fix buffer size for call of function GetWindowText
2018-03-23 18:19:18 +02:00
Kevin Reed e48bb4a7cd Merge branch 'master' into knr_passwd_hash 2018-03-22 12:55:13 -05:00