Commit Graph

623 Commits

Author SHA1 Message Date
xisi
18f808a85b After messing around for quite awhile now with the SQL NOW() and timestamp comparison, I've come to the conclusion it's much better for my sanity to do the expiration check in php - there seems to be some divergence between the way this is handled between SQL setups I've tested. So there you go. 2014-01-20 04:32:54 -05:00
xisi
bacbb8c36c after looking into this quite a bit, this is the correct way to do it after all 2014-01-20 04:30:17 -05:00
xisi
13e6c43ba5 add notify_email to accounts table and getUserNotifyEmail() method in user class 2014-01-20 04:30:17 -05:00
xisi
9ecd8d4d3e added signup_timestamp to accounts table
added getSignupTime() method to user class
added 014_accounts_update.sql and updated 000_base_structure.sql
incremented db version
2014-01-20 04:30:17 -05:00
xisi
15eca659b9 fixed a bug in edit account template
moved csrf token to above template in smarty assigns
fixed a bug in user class
remove small login/fix header to catch up
2014-01-20 04:30:17 -05:00
xisi
8756036646 cleaned up account edit csrf slightly
added csrf protection to workers under sitewide config
added csrf protection to notifications under sitewide config
added csrf protection to invitations under sitewide config
cleaned up login page csrf
cleaned up contactform/contactform page
cleaned up register/register page
moved config->csrf->forms->register to sitewide
added login ip/user/time to notification on login
2014-01-20 04:29:45 -05:00
xisi
9ccb5e15bc refactored old token usage in account edit page 2014-01-20 04:27:58 -05:00
xisi
d83542e03e Added method to get description image of csrf token with name
moved sitewide into options portion of the config option
csrf protection for contact form under sitewide config option
changed register to 1 hour token
2014-01-20 04:27:58 -05:00
xisi
6da5510035 clean up pages that use csrftokens 2014-01-20 04:26:04 -05:00
xisi
42d93f5beb specific timing for csrf tokens 2014-01-20 04:26:04 -05:00
xisi
a56140ca84 Moved csrftoken stuff into a class
added getCurrentIP method to user class
added config option for sitewide csrf protection
2014-01-20 04:26:04 -05:00
Sebastian Grewe
5b7cf6ab93 [FIX] SQL again, sigh 2014-01-19 17:28:34 +01:00
Sebastian Grewe
8a983835c6 [FIX] Whoopsie SQL 2014-01-19 17:25:55 +01:00
Sebastian Grewe
d4db477c2d [FIX] Also honor diff for share difficulties if unset 2014-01-19 17:22:00 +01:00
Sebastian Grewe
b905089a01 [FIX] Removed debug output 2014-01-19 17:18:09 +01:00
Sebastian Grewe
0fb543c3ed [FIX] Honor target_bits for hashrate 2014-01-19 17:17:24 +01:00
Sebastian Grewe
cf49db4535 [IMPROVED] Cronbased global Hash-/Sharerate cache
* [ADDED] New statistic method to fetch all user mining stats
* [ADDED] New global cache to getUserHash/Sharerate calls
* [ADDED] New memcache key for new global cache

Addresses #1471 and may fix it already if no other changes are required.
2014-01-19 17:05:27 +01:00
Sebastian Grewe
10e3fcab7e Merge pull request #1468 from Neozonz/issue-1467
MySQL Optimization: always use order by when using limits
2014-01-19 06:39:13 -08:00
Neozonz
44e0fa6745 Reverted 2014-01-19 09:35:39 -05:00
Neozonz
73e3bb2284 Removed ORDER BY for single queries 2014-01-19 06:05:55 -05:00
Neozonz
773286bd06 ORDER BY for Updates/Deletes 2014-01-19 06:00:29 -05:00
Neozonz
38f5daba6b Search blocks by desc and order by for deletes 2014-01-19 06:00:14 -05:00
Neozonz
47eb9f7fa0 Allow getWorkerHashRate to set invervals 2014-01-19 05:56:31 -05:00
Joey
0309886645 What a stupid thing of me to miss
UNIX_TIMESTAMP() for time comparison, oops
2014-01-17 03:53:09 -05:00
Sebastian Grewe
a572d0cea0 Merge pull request #1351 from TheSerapher/issue-1345
Issue 1345
2014-01-16 23:46:40 -08:00
Sebastian Grewe
1dfbeea5f7 Merge pull request #1420 from TheSerapher/issue-1343
[IMPROVED] jsonRPC Error Handling with CURL
2014-01-16 06:15:42 -08:00
obigal
75729c6592 pplns payouts speed improvements / reworked insert method 2014-01-16 14:42:05 +01:00
Sebastian Grewe
63960e2e62 [IMPROVED] Allow e-mails only for login
This is a major change in MPOS. Usernames will not be allowed anymore.
This will avoid a lot of brute force issues since usernames are not a
valid login method anymore.

Fixes #1345 once merged.
2014-01-16 14:40:51 +01:00
xisi
e7725399c2 change function name for sending 2f emails 2014-01-16 05:55:57 -05:00
xisi
8736123df2 improved bad csrf token error message
cleaned up wording of config
improved leadtime defaults in getCSRFToken
2014-01-16 05:55:57 -05:00
xisi
2d0938b35b [ADDED] Simple CSRF protection tokens
* Adds config options for disabling, timeout lead time, and forms
 * Adds another salt in config that's used in the token
 * Adds protection for login form by default
2014-01-16 05:55:57 -05:00
xisi
8ed8338b3e fixed my incorrect use of notif settings array 2014-01-16 05:53:36 -05:00
xisi
f3a6d65eab send notifications on successful login when active 2014-01-16 05:53:36 -05:00
xisi
96b734edaa fix how late we delete tokens for 2fa 2014-01-16 05:53:36 -05:00
xisi
d9d678be61 retooled most of the email confirmation setup 2014-01-16 05:53:36 -05:00
xisi
69eec05cb7 simplified notifications with index, updated the settings method, and fixed up template, sql fixes 2014-01-16 05:42:43 -05:00
xisi
bfd803ec28 Incremented version, moved config options, return vals fixed in 2f checks 2014-01-16 05:42:43 -05:00
xisi
ef904858ae [Addition] E-mail confirmations for user actions
* If enabled, sends e-mail to confirm user withdraws, edits and pw changes
 * Adds 4 config options, enabled + individual settings
 * Adds 3 new token_types
2014-01-16 05:42:43 -05:00
nicoschtein
14ad54a8ed Added last_login table column to getAllUserStats 2014-01-15 17:51:10 -02:00
Sebastian Grewe
610e564c2f [IMPROVED] Further improvements on error handling 2014-01-15 16:28:26 +01:00
Sebastian Grewe
aa27e8dfde [IMPROVED] jsonRPC Error Handling with CURL
* [ADDED] Use curl instead of fopen
* [ADDED] Error handling for various connection issues
* [MOVED] jsonRPC library into lib folder
* [UPDATED] Pools page for proper RPC errors with caching enabled

It's using the base RPC class but modified to support CURL. Simplified
some code since we won't need those features. Should make maintaining
that code a whole lot easier.

Fixes #1343 once merged.
2014-01-15 16:11:59 +01:00
Sebastian Grewe
78beb8b674 [UPDATE] Added index call checks where missing 2014-01-14 11:05:41 +01:00
Sebastian Grewe
20305026e8 [ADDED] User login overview to admin dashboard
Fixes #1374 once merged
2014-01-12 09:05:59 +01:00
Sebastian Grewe
4fe46cbd2a [ADDED] last_login timestamp
* [RENAMED] sessionTimeoutStamp to last_login
* [UPDATE] user class to store login time after successful login
* [ADDED] SQL Upgrade file for new column
* [UPDATE] Updated base SQL file

Fixes #1162 once merged.
2014-01-11 20:32:45 +01:00
Sebastian Grewe
2417ee7c4f [FIX] Log SQL errors on invalid checkUserPassword
Fixes #1366 once merged.
2014-01-11 19:28:37 +01:00
Sebastian Grewe
f98d08df83 [SECURITY] Fixing XSS in PHP_SELF
Fixes #1364 once merged.
2014-01-11 19:01:14 +01:00
Sebastian Grewe
6baad2dd06 [UPDATE] Added active workers to admin dashboard
* Using lower time range for shares: 120 seconds
* Updated worker class with new time range for active workers
* Added statistics, active users call with 120 seconds time range
* Updated admin panel dashboard template

Fixes #1352 once merged.
2014-01-11 12:37:39 +01:00
Sebastian Grewe
41defc88fa Merge pull request #1338 from cpo/next
issue-1336
2014-01-10 23:17:31 -08:00
Sebastian Grewe
627b7a17ff [FIX] Catch jsonRPC exceptions
Fixes #1339 once merged.
2014-01-10 16:20:24 +01:00
Chris Polderman
5981489925 issue-1336 2014-01-10 14:15:41 +01:00
Sebastian Grewe
19094e73e3 Merge pull request #1271 from drainx/next
JSON-RPC
2014-01-09 22:11:35 -08:00
Andrea Baccega
7fd258fab4 Fixed documentation typos. 2014-01-07 15:56:47 +01:00
Sebastian Grewe
549477a7ad [ADDED] User overview in admin dashboard
* Total users
* Locked users
* Admin users
* No Fees users

Thanks @daygle for the suggestion!

Fixes #1277 once merged
2014-01-07 10:32:34 +01:00
Sebastian Grewe
727b082059 [FIX] Registration password lenght, API class default time 2014-01-07 09:39:43 +01:00
drainx
f7b087df98 Small human error fix. 2014-01-06 18:29:23 -06:00
drainx
5a1c693fa6 Move from XML-RPC to JSON-RPC. 2014-01-06 17:34:54 -06:00
Sebastian Grewe
8fcd59eeea [ADDED] Account unlock mail on failed PIN 2014-01-02 13:28:33 +01:00
Sebastian Grewe
878fa1c1c8 [IMPROVED] Unlock notification mails on auto-locks
* Added new token type: account_unlock
* Added update SQL File
* Updated base structure with new token type
* Added empty template
* Updated user class to send mail on failed passwords
* Added unlock account page to use tokens

Addresses #670
2014-01-02 11:51:22 +01:00
Sebastian Grewe
5c5db8dc93 Merge pull request #1191 from TheSerapher/issue-1181
Issue 1181
2014-01-02 02:08:19 -08:00
Sebastian Grewe
e8d460cfe6 [UPDATE] Removed debug echo output 2014-01-02 11:05:49 +01:00
Sebastian Grewe
67a6d9aff4 [UPDATE] Coding style 2014-01-02 11:05:07 +01:00
Sebastian Grewe
4c3421cc8a Merge pull request #1165 from Neozonz/issue-1164
Initial commit for pin reset functionality
2014-01-02 02:02:37 -08:00
Sebastian Grewe
dc81ad3123 Merge pull request #1166 from TheSerapher/issue-1159
Issue 1159
2014-01-01 02:11:02 -08:00
Sebastian Grewe
6656e47fdc [FIX] Spelling error
Fixes #1192 once merged
2014-01-01 08:39:49 +01:00
Sebastian Grewe
731985b30f [IMPROVED] Token expiration timers
* Added new SQL file to update tokentypes table
* Added new function to base class
* Renamed function in base class used in shares class
* Added new error code
* Added new cronjob to delete expired tokens
* Added new cronjob to run-cron scripts and monitoring page
* Added new function to tokentype class
* Added new function to token class

Will address #1181 once merged.
2013-12-31 22:31:47 +01:00
Sebastian Grewe
ee02445b7d Merge branch 'issue-965' into next
Conflicts:
	public/templates/mpos/master.tpl
2013-12-31 16:27:16 +01:00
Neozonz
5e401bd6dd fixed indent 2013-12-30 09:17:22 -08:00
Sebastian Grewe
2c18abf8be [SECURITY] Better token generator 2013-12-30 12:15:36 +01:00
Sebastian Grewe
abb3688e56 [FIX] Hardcoded confirms removed 2013-12-30 12:05:33 +01:00
Sebastian Grewe
48a4edad5b [FIX] Proper account summary 2013-12-30 12:02:38 +01:00
Sebastian Grewe
de302a03dc [IMPROVED] data gathering for Auto Payout
* Using improved SQL query created by @feeleep75
* Adjusted the query to further cut down the data returned

Fixes #1159 once merged.
2013-12-30 11:57:29 +01:00
Neozonz
e3db7e0a02 Initial commit for pin reset functionality 2013-12-30 03:29:20 -05:00
Sebastian Grewe
f4a1110c48 Merge pull request #1089 from TheSerapher/issue-1043
Issue 1043
2013-12-28 12:23:23 -08:00
poolpm
c9215475b0 [FIX] Wrong behavior on Edit Account with no addy
When an account is edited and no payment address has been set, the following non-sense message appears:
Unable to connect to RPC server for coin address validation

This patch fixes the issue and allows profile to be edited with no payment address
2013-12-27 16:21:25 +01:00
Sebastian Grewe
91e7413539 Merge pull request #1125 from TheSerapher/issue-1118
[SECURITY] Fixed exploit in token types
2013-12-26 15:40:00 -08:00
Sebastian Grewe
b16d9afcad [SECURITY] Fixed exploit in token types
Fixes an exploit due to missing check of token type used.

Fixes #1118 once merged.
2013-12-27 00:21:22 +01:00
Andre Jochems
76655f87b9 gettransaction query not working
The method gettransaction is not spelled correctly
2013-12-26 14:06:52 -05:00
Sebastian Grewe
2a24f90ed0 [ADDED] Pagination support on pool workers page
Adds pagination support for the admin panel pool workers page. Will
greatly increase loading times of this page if working as intended.

Fixes another part of #1043.
2013-12-23 23:04:13 +01:00
Sebastian Grewe
065d10d2e0 [IMPROVED] User info pagination and filters
This will add pagination and user filters to the Admin Panel User
Information page.

* Added various filter methods (combined with AND in SQL)
* Added pagination and limits to fetch only matching users

This will greatly increase efficiency on larger pools

Fixes #1043 once merged.
2013-12-23 22:37:57 +01:00
Sebastian Grewe
51a996573d [IMPROVED] Transaction data handling
This will improve loading times on large transaction tables. Thanks
@feeleep75 for helping with this one.

* Do not use SQL_CALC_NUM_ROWS since it will do a full table scan
* Allow admins to disable account transaction summaries to speed up page
  loads on large tables
* added new admin setting under system to Disable TX Summaries

Fixes #1065 once merged
2013-12-23 10:48:12 +01:00
Frederick Behrends
a785d251e0 [FIX] fixed division by Zero for Coins without valid Network Hashrate 2013-12-23 09:58:47 +01:00
Sebastian Grewe
126dbae525 Merge pull request #1029 from TheSerapher/issue-1021
Issue 1021
2013-12-22 00:01:01 -08:00
headz
549fb9b6cb [FiX] Division by zero warning on $dNetworkHashrate
When not connected to a wallet, the value of $dnetworkHashrate is set to 0, which causes a division by zero error.
2013-12-20 19:56:27 -05:00
Sean Hickey
5ddf30983e Undefined property: Notification::$mail
I'm not 100% sure this is a bug, but I'm getting the following error from my crons.

> PHP Notice:  Undefined property: Notification::$mail in /var/www/MPOS/public/include/classes/notification.class.php on line 158

> PHP Fatal error:  Call to a member function getError() on a non-object in /var/www/MPOS/public/include/classes/notification.class.php on line 158

It appears the `Notification` class extends the `Mail` class instead of `Base`, in which case `$this->mail` does not exist.
2013-12-20 05:10:09 -05:00
Sebastian Grewe
6d7004e5ec Merge pull request #1047 from Fredyy90/patch-3
added blocks until next difficulty change to EstNextDifficulty
2013-12-19 22:48:28 -08:00
Frederick Behrends
8495fa3fc3 [FIX] calculation 2013-12-20 06:51:41 +01:00
Frederick Behrends
ccb14c37cd added blocks until next difficulty change to EstNextDifficulty 2013-12-20 03:59:47 +01:00
Frederick Behrends
4ec364f036 [FIX] enable Caching for ExpectedNextDifficulty and NetworkExpectedTimePerBlock 2013-12-20 03:38:53 +01:00
xisi
fd98a9bfaa Actually fixing the code this time? 2013-12-19 09:25:20 -05:00
xisi
a51d195141 Cleanup code for update/add 2013-12-19 09:20:15 -05:00
Joey
47a13f937b Update worker.class.php
Cleaned up code
2013-12-19 09:11:59 -05:00
Joey
d85ae9bd7c Update worker.class.php
[UPDATE] Fix for issue #957
2013-12-19 06:51:28 -05:00
Joey
fcebc8eb2b Update worker.class.php
Fix for issue #957
2013-12-19 06:48:00 -05:00
Joey
019e3c8082 Update worker.class.php
Fix for issue #957
2013-12-19 05:59:23 -05:00
Sebastian Grewe
ac1a561f7b [IMPROVED] Better handling of archived shares
Please check the appropriate ticket #1021 for details of the changes
made. Tested locally with shares created via INSERT.

Fixes #1021 after merge.
2013-12-19 09:34:45 +01:00
Sebastian Grewe
cba4e5f1a4 Merge pull request #1003 from TheSerapher/issue-986
[FIX] Admin User Panel for PPS Payouts
2013-12-18 22:40:22 -08:00
Joey
e0c2a19542 [FIX] Uninitialized var in roundstats class 2013-12-18 09:34:38 -05:00
Sebastian Grewe
dd80fdcc1a Merge pull request #1020 from TheSerapher/issue-997
Issue 997
2013-12-18 00:27:42 -08:00
Sebastian Grewe
6cc367ad50 [FIX] Admin User Panel for PPS Payouts
This will fix #986 once merged.
2013-12-17 10:56:37 +01:00
Sebastian Grewe
cef176c754 [FIX] Wrong parameter count 2013-12-17 09:48:07 +01:00