Commit Graph

963 Commits

Author SHA1 Message Date
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
nupplaPhil 1408908c84
Refactor Session Handling (make it more simple & handler are now handler again) 2019-12-11 20:30:31 +01:00
nupplaPhil 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
nupplaPhil 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
nupplaPhil ce2610000b
Renaming class 2019-12-10 08:49:33 +01:00
nupplaPhil 26bd956912
Optimize L10n usage for Session (reduce "App" complexity even more) 2019-12-10 00:56:49 +01:00
nupplaPhil cad7e534a4
Add phpdoc 2019-12-10 00:50:05 +01:00
nupplaPhil 555513e4b4
Add Session Management instances (including Depenency Injection)
- Prerequesite for mocking Sessions
- Reduce "App" class complexity
2019-12-10 00:44:56 +01:00
nupplaPhil 009a8bb939
Initializing SessionHandlers with Dependency Injection 2019-12-09 23:09:18 +01:00
nupplaPhil 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
nupplaPhil 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
nupplaPhil 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
nupplaPhil 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
Hypolite Petovan 0b97b32a59
Merge pull request #7379 from nupplaphil/task/refactor_l10n_for_test
Refactor L10n for testing
2019-07-16 16:03:42 -04:00
Philipp Holzer 92fb0a82ca
Dynamic config loading
- Move settings, defaults and dbstructure to directory 'static'
- Dynamic loading of config files (after the static loading)
- Filter out '-sample.config.php' and '-sample.ini.php' files
- Remove unnecessary ConfigFileManager
- Move ConfigFileLoader to Utils
- Add tests for multi-loading for INI, config and sample-filtering
2019-07-16 20:16:43 +02:00
Philipp Holzer eb024a3718
Refactor L10n for testing
- Moving L10n to L10n\L10n
- Adding constructor information
- Adding to factory
- simplify/speedup tests
2019-07-16 16:44:47 +02:00
Hypolite Petovan c6cd2b131d Add transitive type hints in Core\PConfig 2019-07-16 07:45:24 -04:00
Hypolite Petovan 68f5b639eb Restore $uid parameter integer type-hint in Config
- Add integer type-hint to Feature::isEnabled
2019-07-15 22:00:49 -04:00
Philipp Holzer f70271aa5d
Allow nullable UID in PConfigCache 2019-07-15 21:14:13 +02:00
Philipp Holzer d5de5b6789
Bugfixing bad UIDs for PConfig 2019-07-15 21:11:38 +02:00
Philipp Holzer ebf00e32a1
minor phpdoc fixings 2019-07-15 20:54:33 +02:00
Philipp Holzer 74f7c16585
Fixup phpdoc 2019-07-15 20:19:52 +02:00
Philipp Holzer 9d98a4ce3a
Refactor PConfiguration 2019-07-15 20:13:53 +02:00
Philipp Holzer 6801e8b5ab
Fixing initial load config 2019-07-15 08:58:37 +02:00
Philipp Holzer 4af08d82b2
Added string type-hint for get() and a test case for it 2019-07-14 23:23:20 +02:00
Philipp Holzer a654470061
fix phpdoc 2019-07-14 22:41:09 +02:00
Philipp Holzer b48c22dc1a
minor fixing: phpdoc & type-hint 2019-07-14 22:31:53 +02:00
Philipp Holzer a2c6240da0
some minor fixings 2019-07-14 22:26:36 +02:00
Philipp Holzer 4913502922
bugfix: add lost changes due merge 2019-07-14 22:12:45 +02:00
Philipp Holzer c293eadb78
Improve & fixing Tests 2019-07-14 22:12:11 +02:00
Philipp Holzer 486f139342
Move Preload/JIT Configuration logic from Adapter to Core-Configuration 2019-07-14 22:09:07 +02:00
Philipp Holzer c82127ffb7
Splitting ConfigCache & PConfigCache
- Remove IConfigCache & IPConfigCache
- Add new PConfigCache
- Add missing Logger::init() (bugfixing tests)
2019-07-12 22:53:37 +02:00
Philipp Holzer e1d135238a
Revert default password setting & using "HiddenString" even for empty strings 2019-07-09 22:38:54 +02:00
Philipp Holzer ab7c6499ff
Bugfixing DB/Installer
- default value with HiddenString
- Fixing checkDB during installation
2019-07-09 22:22:06 +02:00
Michael 6bb418c5a7 Use "received" instead of "created" when displaying posts in creation order 2019-07-07 21:30:33 +00:00
Michael 6041f74df6 New constant for federated protocols 2019-07-01 18:00:55 +00:00
Hypolite Petovan b9ab613777 Merge branch 'master' into develop 2019-06-23 17:40:52 -04:00
Hypolite Petovan d7d44e1af7
Merge pull request #7245 from annando/unify-constants
Fix delivery counter for poking / unify delivery commands
2019-06-10 11:59:40 -04:00
Hypolite Petovan 151c026a8a
Merge pull request #7244 from nupplaphil/task/hidden_string
Introduce HiddenString for Config-Values
2019-06-10 10:50:41 -04:00
Michael 41dc243186 Fix delivery counter for poking / unify delivery commands 2019-06-10 14:19:24 +00:00
Philipp Holzer 50d8dbb123
Bugfixing wrong typed password setting 2019-06-10 15:46:51 +02:00
Philipp Holzer 4666b18e5b
Bugfixing empty password setting 2019-06-10 15:40:15 +02:00
Philipp Holzer 357d9b5108
Introduce HiddenString for Config-Values 2019-06-10 14:46:31 +02:00
Philipp Holzer cc7444d84d
Move internal recursion-counter to the end of all cur/fetchUrl parameters 2019-06-10 14:34:54 +02:00
Philipp Holzer 79fe3c92c7
Fixing Installer - ReplaceMacro 2019-06-07 00:36:10 +02:00
Hypolite Petovan 5414d51d4c Prevent fatal error in ACL::getFullSelectorHTML when accessing a profile as a remote visitor
See https://github.com/friendica/friendica/issues/6916#issuecomment-495724811
2019-05-28 21:09:06 -04:00
Hypolite Petovan 01e71254d9 Replace defaults() calls on $_SESSION by Core\Session calls
- Replace direct calls to $_SESSION by Core\Session calls in Module\Login
2019-05-26 21:26:59 -04:00
Philipp Holzer 26d4214c19
added suggestions 2019-05-26 21:53:24 +02:00
Philipp Holzer 220f8f0862
friendica-6950 uimport doesn't support "pwdreset_time":null 2019-05-26 15:49:44 +02:00
Hypolite Petovan 08d7d42f81 Ensures Search methods return an empty ResultList instead of null
- Addresses https://github.com/friendica/friendica/issues/6916#issuecomment-494876901
2019-05-24 08:13:36 -04:00
Philipp Holzer 3d67987cbc
simplification 2019-05-20 19:27:53 +02:00
Philipp Holzer 5e79d3fc82
Fixing method signature 2019-05-20 19:19:57 +02:00
Philipp Holzer 2bb2bb19fd
refactor method signature 2019-05-20 19:15:47 +02:00
Philipp Holzer 58c8959da0
Add search types 2019-05-20 19:13:37 +02:00
Philipp Holzer 83fd03b124
Add PhpDoc 2019-05-20 18:44:44 +02:00
Philipp Holzer 1e36c68e48
Moving Search to Core, Refactor Objects 2019-05-20 18:42:27 +02:00
Hypolite Petovan bf82736522 Exclude /api and /proxy from 2fa check 2019-05-15 08:56:02 -04:00
Hypolite Petovan 78b651d2e8 Revert Use Contact::select() instead of DBA::select(‘contact) in Core\Session 2019-05-13 14:07:02 -04:00
Hypolite Petovan e077f30d51 Use Contact::select() instead of DBA::select(‘contact) in Core\Session
- Replace remaining occurrences of $_SESSION with Session methods
2019-05-13 13:33:20 -04:00
Hypolite Petovan d7e9b91181 Add two-factor authentication
- Add 2FA login interception in Session::setAuthenticatedForUser
- Add 2fa session variable holding the last auth code
2019-05-13 01:52:01 -04:00
Hypolite Petovan 6071fe81b4 Move Authentication::setAuthenticatedSessionForUser to Session::setAuthenticatedForUser 2019-05-13 01:51:59 -04:00
Hypolite Petovan f0f44dbd84 Delete all addon hooks by default on uninstall 2019-05-08 00:46:13 -04:00
Tobias Diekershoff 959054f2f2 Add subject to DB Update email 2019-05-06 11:13:38 +02:00
Philipp Holzer 62fd5375dc
Move mod/maintenance to src/Module/Maintenance 2019-05-05 10:06:50 +02:00