Commit Graph

914 Commits

Author SHA1 Message Date
Hypolite Petovan 6e4a428c73
Merge pull request #7907 from nupplaphil/task/reduce_app_deps
Cleanup Session/Authentication
2019-12-14 09:53:40 -05:00
Hypolite Petovan fe5b80b9ba Return early if user.uid isn't present in ACL::getFullSelectorHTML
- Addresses https://github.com/friendica/friendica/issues/7675#issuecomment-565533824
2019-12-13 13:29:18 -05:00
Philipp Holzer 1408908c84
Refactor Session Handling (make it more simple & handler are now handler again) 2019-12-11 20:30:31 +01:00
Philipp Holzer 02c40ad1cb
Overwrite constructor of Memory session handling so no session ini-setting in backend/testing environments are possible 2019-12-10 23:35:16 +01:00
Philipp Holzer b9f8762eb3
Use Native Session functions (global "$_SESSION" variable) for Memory class because of the direct usage of the $_SESSION class all around the codebase 2019-12-10 22:29:49 +01:00
Philipp Holzer ce2610000b
Renaming class 2019-12-10 08:49:33 +01:00
Philipp Holzer 26bd956912
Optimize L10n usage for Session (reduce "App" complexity even more) 2019-12-10 00:56:49 +01:00
Philipp Holzer cad7e534a4
Add phpdoc 2019-12-10 00:50:05 +01:00
Philipp Holzer 555513e4b4
Add Session Management instances (including Depenency Injection)
- Prerequesite for mocking Sessions
- Reduce "App" class complexity
2019-12-10 00:44:56 +01:00
Philipp Holzer 009a8bb939
Initializing SessionHandlers with Dependency Injection 2019-12-09 23:09:18 +01:00
Philipp Holzer 54392fab81
Move Cookie to own class (with tests)
Move Authentication to App namespace
2019-12-08 22:45:34 +01:00
Michael b1fa0e8e26 ACL: Contact list is now sorted, forums reappeared 2019-12-06 07:25:21 +00:00
Hypolite Petovan 7cfe05f849 Restore correct test for hidewall in ACL::getFullSelectorHTML 2019-12-05 20:05:47 -05:00
Philipp Holzer 96555a7385
Refactor "Authentication" class with four main methods:
- withSession() - for auto authentication with Session/Cookie variables
- withOpenId() - for authentication with an OpenID account
- withPassword() - for authentication with Password
- setForUser() - for setting the user auth context of the current session

Refactor "Session" class - contains now "native" Session Management methods
2019-12-05 23:02:51 +01:00
Philipp Holzer 18a3d18ba6
Move Authentication methods to class "Authentication" 2019-12-05 23:02:50 +01:00
Hypolite Petovan f989c331a3 Fix warnings about unexpected parameter array values type in ACL::getFullSelectorHTML
- Addresses https://github.com/friendica/friendica/issues/7676#issuecomment-560503744
2019-12-03 06:59:51 -05:00
Philipp 6531819971
Merge pull request #7884 from MrPetovan/bug/7834-ignore-reload
Restore post reload after (un)ignore
2019-12-02 09:40:31 +01:00
Hypolite Petovan 01b81f7bba
Merge pull request #7885 from nupplaphil/bug/7881_allowed_themes
Themes are now saved just once
2019-12-01 08:12:20 -05:00
Philipp Holzer 7ebd5e6b15
Themese are now saved just once 2019-12-01 08:43:50 +01:00
Hypolite Petovan d3c45f9186 Update type hint of System::jsonExit parameter to mixed
- Output isn't necessarily an array
2019-11-30 23:15:28 -05:00
Hypolite Petovan 461f7f4bb0 Assume hidewall key may be missing in ACL::getFullSelectorHTML
- Addresses https://github.com/friendica/friendica/issues/7677#issuecomment-559974588
2019-11-30 10:45:47 -05:00
Hypolite Petovan 3a7ef7893f Fix typo in ACL::getFullSelectorHTML 2019-11-29 15:55:52 -05:00
Hypolite Petovan 0ff4381305 Ensure the existence of expected default permission keys in ACL::getFullSelectorHTML
- Addresses https://sozialwolke.net/display/703b8751-145d-e11f-a923-98e999239905
2019-11-29 11:39:49 -05:00
Michael Vogel 2f2480d88d
Merge pull request #7876 from MrPetovan/task/7308-backport-compose-acl
Generalize the Compose ACL to the whole site
2019-11-28 21:24:20 +01:00
Hypolite Petovan ae3d4f63a3 Use visibility tags input for the default ACL selector
- Move friendica-tagsinput to default view folder
- Update all references to ACL::getFullSelectorHTML
- Fix theme-specific issues with the new ACL
2019-11-28 12:54:53 -05:00
Hypolite Petovan 11da7f4095 Add new ACL::getContactListByUserId and ACL::getGroupListByUserId methods 2019-11-28 12:33:00 -05:00
Hypolite Petovan 440d3eb9c4 Simplify Theme::getPathForfile to expand its uses 2019-11-28 12:27:16 -05:00
Michael fdaac8a681 Add "discourse" as protocol 2019-11-24 20:06:47 +00:00
Hypolite Petovan 03bf1dcbd3 Move Object\Image static methods to Util\Images
- Optimize imports in modified files
2019-11-02 07:48:45 -04:00
Philipp Holzer 1f368d469f
Move Friendica\Core\NotificationsManager to Friendica\Model\Notify 2019-10-26 02:01:46 +02:00
Philipp Holzer 07cea24430
Move Activity/Namespaces defines to constants 2019-10-24 21:40:12 +02:00
Hypolite Petovan 5dcf6bfc58 Remove extra spaces before closing parentheses in src/ 2019-10-16 08:58:09 -04:00
Hypolite Petovan 146646c4d4 Replace deprecated calls to defaults() by ?? and ?: in src/ 2019-10-16 08:38:52 -04:00
Hypolite Petovan 1cdbf32aa2 Remove duplicate array entry in Core\Logger 2019-10-12 21:10:03 -04:00
Hypolite Petovan 001c9ed259 Fix typo in Core\Authentication 2019-10-11 19:57:04 -04:00
dew-git 811cdcdfcb Fix security vulnerbilities.
Fix possible length extension attack, predicable generators, timing attacks on hash comparision and improved formatting.
2019-10-10 15:21:41 -08:00
Philipp Holzer a522cf609b
Fix browser language detection (& tests) 2019-10-10 16:39:04 +02:00
Hypolite Petovan e5fbaf6a00 Add Session::clear method
- Replace manual session clear by method in mod/manage
2019-10-06 11:21:54 -04:00
Hypolite Petovan b62e20c7bf Code beautification 2019-10-05 08:34:07 -04:00
Hypolite Petovan 445133cb21 Move Module\Search\Acl::contactAutocomplete to Core\Search::searchGlobalContact
- Replace broken reference to directory /lsearch module with /search module
2019-10-04 22:19:54 -04:00
Hypolite Petovan 8f20e2054b Move /acl module to src/
- Move Core\ACL::contactAutocomplete to Module\Search\Acl
- Rename module path to /search/acl
2019-10-03 22:40:42 -04:00
Hypolite Petovan 2333526b8a
Merge pull request #7678 from annando/remote-rework
Reworked the remote authentication
2019-09-30 09:18:43 -04:00
Philipp Holzer dc73117a62
code optimization 2019-09-30 14:03:15 +02:00
Philipp Holzer 49e812f3d3
Bugfix GetAllKeys() of Memcache
- Abstract Memcache and Memcached implementation
2019-09-30 14:03:15 +02:00
Philipp Holzer d5dd12b8f8
Add Drone CI
- Add drone test environment
- Add drone config
- apt phpunit
- Fix api.php
- Fix item.php
- Fix DBStructure
- Check if caching is possible during tests
2019-09-30 14:03:12 +02:00
Michael 83b00ef308 New function "isAuthenticated" 2019-09-28 18:09:11 +00:00
Michael 6e9026e033 Renamed function, beginning to replace the "remote_user" function 2019-09-28 09:36:41 +00:00
Michael 704cdf1b5a New function to store the "remote" session value / making the changes work 2019-09-26 04:47:42 +00:00
Michael ec66553032 Reworked "remote" cookie handling 2019-09-25 22:24:17 +00:00
Michael d5c37001cd Empty the "remote" variable, avoid being remote to yourself 2019-09-25 07:02:07 +00:00
Michael 6a376c29d8 Fix session size problems 2019-09-25 05:57:32 +00:00
Michael 5254147ccc Fix "redir" loop 2019-09-23 22:13:20 +00:00
Hypolite Petovan 32707022bf Remove GET page parameter access from Core\ACL 2019-09-13 20:06:57 -04:00
Hypolite Petovan 1a81ed8616 Fix notice message when $return is undefined in Core\ACL 2019-09-13 20:06:22 -04:00
Michael 2dbd843ed2 Don't display ignored pending contacts, link to contact request page 2019-09-09 05:29:33 +00:00
Philipp Holzer 8273b88a3e
Add missing getPokeVerbs() method 2019-09-03 16:07:05 +02:00
Philipp 08b6f55a89
Merge pull request #7589 from annando/delivery-counter
Fix delivery counter / archive relay contacts
2019-09-03 15:59:49 +02:00
Michael 8947473c71 Contact details are now available when searching for a single contact 2019-09-02 05:33:13 +00:00
Michael 6af4c90dff Fix delivery counter / archive relay contacts 2019-09-02 03:25:05 +00:00
Hypolite Petovan ce7ec11d1d
Merge pull request #7570 from nupplaphil/bug/friendica-7298
Some code hardenings for semaphore locking
2019-08-29 15:02:07 -04:00
Michael Vogel cf170c9c02 Fixed count, added to-do 2019-08-28 06:44:37 +02:00
Michael Vogel 9b7432781b Don't transmit content to already archived contacts 2019-08-27 21:01:11 +02:00
Philipp Holzer de7c026590
Some code hardenings for semaphore locking 2019-08-26 23:55:54 +02:00
Michael Vogel a892156052 Output better comparable log entries for the worker 2019-08-23 07:23:32 +02:00
Michael 5a1a5a54dc Delivery count now counts the failed delivery attempts as well 2019-08-20 07:39:13 +00:00
Philipp Holzer c803dcb6c5
Fix Locks
- Wrong return of lock releasing with DBA provider
- It's not possible to maintain Semaphore locks, since they aren't accessible by other processes
Should solve https://github.com/friendica/friendica/issues/7298#issuecomment-521996540
2019-08-17 19:33:36 +02:00
Philipp Holzer 2c73377b39
Create Core\Process as a base for followup work 2019-08-17 09:09:13 +02:00
Philipp Holzer 90b438e082
Move mode settings to App\Mode
- Move isAjax() to App\Mode
- Move isTablet() to App\Mode
- Move isMobile() to App\Mode
- Refactor last usage of App->isBackend()
2019-08-17 09:09:13 +02:00
Hypolite Petovan feb720a3ee
Merge pull request #7518 from nupplaphil/bug/lock_unlink
Fix Lock-Unlink
2019-08-15 12:11:01 -04:00
Philipp Holzer 2369ea1d50
Fix Lock-Unlink
- Check if .sem file exists before unlinking it
- Fixing https://github.com/friendica/friendica/issues/7298#issuecomment-521670482
2019-08-15 17:55:17 +02:00
Philipp Holzer 290dd2ab39
moved rest of BaseURL 2019-08-15 17:36:07 +02:00
Philipp Holzer 734b63adba
Fixed wrong "BaseUrl" class (=> "BaseURL") 2019-08-15 17:23:35 +02:00
Philipp Holzer 08be92a862
Moved BaseURL to App namespace (because similar type as Arguments/Modules/Modes) 2019-08-15 17:23:00 +02:00
Philipp Holzer 689a2145f6
Add @see for SO link 2019-08-15 16:24:11 +02:00
Philipp Holzer e2e109b8c1
Fix getAllKeys() method for memcache instances 2019-08-15 14:26:05 +02:00
Philipp Holzer 41e2031e6b
Console Lock
WIP
2019-08-15 14:26:04 +02:00
Philipp Holzer 0af9747c6c
Add Arguments & Modules class 2019-08-13 16:29:11 +02:00
Hypolite Petovan f068d00645
Merge pull request #7510 from nupplaphil/bug/Fix_Redis_test
Fix Redis test
2019-08-13 06:41:07 -04:00
Philipp Holzer b28e11fee8
- Remove deprecated Redis::delete() function 2019-08-13 08:54:26 +02:00
Philipp Holzer 31cfac1cfa
Fix Redis test
- Check if $redis_port is null
2019-08-13 08:32:08 +02:00
Michael Vogel afac4b7698 Improved calculation of deferred tasks 2019-08-13 06:43:08 +02:00
Michael Vogel e07a17daf6 Added config value 2019-08-11 23:07:06 +02:00
Michael Vogel 5c72aeb8d7 Worker: The retrial value can now skip retrial levels 2019-08-11 10:28:52 +02:00
Michael Vogel 35a487ae30 Don't fork worker on frontend by default 2019-08-08 22:42:12 +02:00
Philipp Holzer a66580444f
Fixing sort of BaseURL usage for App & Cache usage 2019-08-04 20:01:15 +02:00
Philipp Holzer 3834d5e129
Renamed __toString() to getName() 2019-08-04 16:14:19 +02:00
Philipp Holzer d2211bd6dd
Removed some leftovers 2019-08-04 15:58:53 +02:00
Philipp Holzer 19777baa79
- Move constants to the "Cache" class (more transparent than inside the interface) 2019-08-04 15:53:28 +02:00
Philipp Holzer 34e4968c06
Adding possibility to use a different cache-backend for locking and caching
- Renaming *LockDriver to *Lock since it isn't a "driver" anymore
2019-08-04 15:42:39 +02:00
Philipp Holzer 86bf2ee45a
Rename *CacheDriver to *Cache because they don't act as driver anymore 2019-08-04 10:26:53 +02:00
Philipp Holzer d56bd28a07
Refactor Cache/Lock to DICE
- Refactor Cache classes
- Refactor Lock classes
- Improved test speed (removed some seperate class annotations)
2019-08-03 20:51:58 +02:00
Michael Vogel e8459cce34
Merge pull request #7381 from MrPetovan/task/7309-frio-compose
[frio] New Compose page
2019-08-01 08:15:02 +02:00
Philipp Holzer a60eb9e33d
Use DICE for Console
- Use Friendica\Core\Console as Controller for DI-library
- Refactor every console command to use DICE (when possible)
- Adjusting tests
2019-07-31 19:37:42 +02:00
Hypolite Petovan 3e6018b3f2 Add meta protocol group for private post support 2019-07-29 20:31:48 -04:00
Philipp Holzer 6c2cf494b5
Remove DependencyFactory
- Include all necessary classes in `dependencies.config.php`
- Add DI-reference to BaseObject (acts as a global registry)
- Refactor all static "init()" methods to use the global registry

- Refactor Logging for Worker-Logger a little bit
2019-07-27 23:54:12 +02:00
Hypolite Petovan 4ec4a04e49 Remove mod/ping from 2fa exception list
- Prevent asynchronous calls to redirect to /2fa in case of missing valid 2fa session
2019-07-23 20:03:08 -04:00
Philipp Holzer a8e6a57e9b
Fixing installer 2019-07-21 14:21:02 +02:00
Philipp Holzer 55999730e0
Introduce DICE
- Adding dice library
- Adding dependency config

- Removing Factories
- Refactoring App\Mode constructor
- Refactoring App\Router constructor
- Refactoring BasePath for DI usage
- Refactoring ConfigFileLoader constructor
- Refactoring Profiler constructor

- Adjust entrypoints (index, console, worker, ..)

- Adding functional test for DI
- Fix tests because of refactorings
2019-07-21 01:22:10 +02:00
Hypolite Petovan f5e07be04e Fix undefined property notice in L10n\L10n 2019-07-18 21:21:16 -04:00
Hypolite Petovan 11e4f906c2
Hot-fix: Core\L10n::t method passing parameter bug
Follow-up to #7379
2019-07-16 21:18:25 -04:00