Commit Graph

787 Commits

Author SHA1 Message Date
Oliver Bock f9a9119002 Added missing tag 2015-12-02 13:59:46 +01:00
Oliver Bock b51e7ca2e2 Migrated to new BOINC DB API 2015-12-02 13:59:31 +01:00
Christian Beer ea7df2637e Web: use https urls everywhere
Modern Browser complain if there are non-https elements in https websites. This makes sure that if the user visits via https all elements of the page are also retrieved using SSL. Furthermore it uses https urls in emails that are send to the user, if SECURE_URL_BASE is set in project/project.inc.
The only remaining places where URL_BASE is used is when it is used as master_url where it is important that it is in sync with what the scheduler uses.
2015-11-30 09:36:29 +01:00
Rytis Slatkevičius 9a9986006f Ops: drop count operation from a loop 2015-09-03 09:37:22 +03:00
David Anderson 3d50f6b501 Merge branch 'master' of github.com:BOINC/boinc 2015-08-31 12:30:18 -07:00
David Anderson 84d7391220 admin: add --id option to delete_spammers.php (to delete a single user) 2015-08-31 11:49:30 -07:00
Rytis Slatkevičius ac27765ce0 Fix typos 2015-08-28 10:45:10 +03:00
Oliver Bock 1c1bcb92d5 admin web: retain state of "Show deprecated app versions" 2015-08-11 12:23:17 +02:00
Oliver Bock a84ba8e1d0 admin web: on update anchor at current app version 2015-08-11 12:23:04 +02:00
David Anderson 776e6fec64 web: if using HTTPS, use it also for gravatar avatars (from Janus).
Include a function gravatar_update() in db_update.php to fix existing avatar URLs
2015-07-24 14:09:11 -07:00
David Anderson 3e6ae6f48d web: fix "stay logged in" when logging in with authenticator; from Janus
Oddly enough, I couldn't repro this on Chrome or Firefox;
I remained logged in after quit/restart browser,
even though the cookie said it was for this browsing session only.
2015-07-24 13:58:38 -07:00
David Anderson e2d57dc350 web: make team types translatable; fix warning in team import 2015-07-23 23:09:54 -07:00
David Anderson 8cd8c8e7ee server software: handle 64-bit database IDs
The SETI@home result table is about to run out of 32-bit IDs,
so we need to move to 64-bit result IDs.
This will happen to the workunit table at some point too.

I changed the server C++ code to use the "long" type for all DB IDs
(and to use appropriate conversion codes like %lu).
"long" is 64 bit on 64-bit machines.
For uniformity I did this for all tables,
even ones (like app) that will never get big.

I chose NOT to change the DB schema for now.
The new code will work with 32-bit ID fields in the DB.
As projects approach the 32-bit limit on a table they can change
its ID field, and fields that reference this table, to BIGINT.
This is likely to happen only on the result and workunit tables.
I put functions in html/ops/db_update.php
to change the IDs of these tables.
2015-07-23 10:11:08 -07:00
David Anderson 8c53ae493a size_census.php: include only active hosts (expavg_credit>10) in census. 2015-07-10 16:11:16 -07:00
Rom Walton 37d8c0b4e1 HTML: Make sure BOINC-Project-Generic.pot contains comments. 2015-06-24 15:42:30 -04:00
David Anderson d48c48c530 admin web: filter deprecated apps in showing # of shmem slots 2015-06-18 15:08:09 -07:00
David Anderson 452fe458a7 size_census.php: avoid divide by zero 2015-04-28 00:32:01 -07:00
David Anderson 1c6267f2f1 scheduler: fix possible bug if use assigned jobs with FCGI scheduler
Need to end the enumeration.
2015-04-27 10:10:32 -07:00
David Anderson f55f64eec3 admin web: fix to dbinfo.php 2015-04-18 09:16:34 -07:00
David Anderson 7a00aa4976 web: changes to support MySQL strict mode
In "strict mode", inserts fail if they don't supply values
for columns with no default defined in the schema
(in non-strict mode, 0 and '' are implicit defaults).
Starting with MySQL version 5.6, strict mode is the default.
This breaks some of the BOINC web code,
which does inserts without giving values to some columns.

There are two ways to solve this:

1) change the schema to give defaults everywhere
2) change the PHP code to supply values for more columns.

I'm using 1) in some cases and 2) in others.
This commit fixes some of the errors; there are others.
2015-04-16 00:01:06 -07:00
David Anderson b6e60311ea web: add "Help desk expert" user flag
This doesn't give any moderator rights; it's for display only.

Also, make the special-user strings translatable.
2015-04-04 14:35:18 -07:00
David Anderson 226aac88c5 web: error summary page tweaks 2015-04-03 11:52:03 -07:00
David Anderson 97927e114b web: add error summary script 2015-04-01 00:12:21 -07:00
David Anderson 3c2f31fece comment tweaks 2015-03-25 16:45:36 -07:00
David Anderson 945a0f9f7a admin web: fixes to cancel_workunits.php 2015-02-13 10:13:47 -08:00
David Anderson 4b918967b8 admin web: appearance tweaks 2015-01-27 13:28:51 -08:00
David Anderson 80d792265b admin web: appearance tweaks 2015-01-27 13:03:23 -08:00
David Anderson fa7ded6751 admin web: typo fix 2015-01-26 10:14:57 -08:00
David Anderson 45f820b30b admin web: add more flexible interface for canceling jobs (from Bernd) 2015-01-23 11:13:44 -08:00
David Anderson 037f1b3eb2 web: fix PHP errors on empty team search; when delete spam team, delete user too 2015-01-09 10:54:05 -08:00
David Anderson c9d67c0a99 web: server status fix
Change the way we see if a web server is running on a host.
Fetch http://host, and check for 2xx or 4xx status.
With this change, new server_status.php works on SETI@home.
2014-12-01 12:51:12 -08:00
David Anderson dc2ecf6837 web: server status fix
remote_server_status.php (script for seeing if remote daemons are running)
did this by ps -C command,
and seeing if the last line of the output contained the command.
This didn't work for SETI@home, because the daemons are symbolic links in bin/.
The command that ps knows about is the file name after resolving the link.
This generally doesn't contain the original command name,
so it would look like no remote daemons are running.

Fix: look up the PID (in pid_host/xxx.pid) and use "ps PID".
This also correctly distinguishes between daemons
that use the same program on the same host.
2014-12-01 12:16:31 -08:00
David Anderson 94ecca5b80 web: more work on server status page
There were a couple of issues:
- the server status page is served from a web server, say X.
  A daemon is "remote" if it runs on a machine other than X.
  This is not the same as having a <host> element in the daemon's
  config.xml entry.
  Add logic to correctly classify daemons as remote or not.
- get rid of the <uldl_host> stuff.
  There can be separate upload and download servers,
  and they are identified by <upload_url> and <download_url>.
  They may or not be remote;
  to decide this, compare the host part of the URL
  with the host part of the project's master URL.
- Hosts are specified with the machine name (e.g. isaac)
  or domain name (isaac.ssl.berkeley.edu).
  Keep track of this distinction.
2014-12-01 00:44:51 -08:00
David Anderson b391e109df web: reimplement server status page to support remote daemons
The server status page was one of the oldest and cruftiest parts of BOINC.
It flew in the face of the model/view/controller paradigm,
and had the kind of convoluted structure that beginning programmers
often produce.
Plus it didn't work with remote daemons.
2014-11-30 20:25:39 -08:00
David Anderson db6592e6fc admin web: fix bug in "delete user" function
Also:
- use "admin_error_page()" instead of "error_page()" in admin pages
- add footer w/ Main Page link to admin pages
- code cleanup in delete user function
2014-10-29 12:25:35 -07:00
David Anderson 267ef49789 delete_spammers.php: add --user_url option
This deletes accounts with a nonempty URL, no hosts and no forum posts.

Also fix typo in util.inc
2014-10-19 00:29:50 -07:00
David Anderson 39a2d6d496 - admin web: more mysqli fixes 2014-10-09 11:19:31 -07:00
David Anderson c0e7da4931 admin web: fix bugs related to mysqli changes 2014-10-09 09:29:05 -07:00
David Anderson 40d68bc688 server: when deleting user, remove related DB records
When deleting a user (from the delete_spammers.php script),
remove records that refer to that user in
private_messages, notify, credit_user, badge_user, and friend tables.

Notes:
- This change eliminates some dangling references,
  but in general a BOINC DB doesn't have referential integrity.
  The code should check for dangling references.
- Functions like BoincUser::delete() should delete a user record,
  not try to remove things that refer to it.
  The function delete_user() (in user.inc) does this.
2014-10-08 12:14:34 -07:00
David Anderson 644690b100 server: add indices for user_submit, user_submit_app tables 2014-10-08 12:13:36 -07:00
David Anderson 964d37b009 web: fix button problem on IE; from Christian 2014-10-07 05:33:39 -07:00
David Anderson 97706bf18d web: tweaks 2014-10-07 04:02:43 -07:00
David Anderson 63ab243996 admin web: call project-defined function admin_index_extra() in main page 2014-10-05 08:15:05 -07:00
David Anderson b1bc33a39b One-click attach: cookie expire time 2014-10-05 01:31:44 -07:00
David Anderson a71ab2796a server: add --teams option to delete_spammers.php
See http://boinc.berkeley.edu/trac/wiki/ProtectionFromSpam#Cleaningupspam
2014-10-04 01:01:25 -07:00
David Anderson 2e127dd963 concierge: see if project is on list 2014-10-04 00:45:24 -07:00
David Anderson e6ecb981b3 web: change CSS usage to partly match Twitter Bootstrap. From Christian Beer. 2014-10-02 12:15:54 -07:00
David Anderson 2ea2077b2b web: change NO_MYSQLI feature to fix recursive-include problems
I seemed to be playing whack-a-mole with problems related to
recursive inclusions of project.inc.
Solve this by changing how the use of mysqli can be inhibited:
instead of defining NO_MYSQL in project, put <no_mysqli/> in config.xml
2014-09-28 12:15:26 -07:00
David Anderson 93f7def3fa web: show badges at bottom of forum-post box 2014-09-24 00:55:03 -07:00
David Anderson 6408766057 admin web: by default don't show deprecated app versions on mgt page 2014-09-21 21:06:31 -07:00