61 Commits

Author SHA1 Message Date
ljacqu
d2a28bdaed #850 Fix export of legacy hashes property
- Ugly workaround due to #1014: need to have EnumSetProperty extend from StringListProperty type so that it is exported in a proper manner (as a string list). To get an enum Set we need to call a dedicated method on EnumSetProperty for the time being.
2016-11-22 22:02:34 +01:00
ljacqu
5dda439bed Move RandomStringUtilsTest to correct package 2016-11-13 10:49:51 +01:00
ljacqu
bb89a59a8a #850 Add setting specifying which password hashes should be checked 2016-11-13 10:37:01 +01:00
ljacqu
5cce7e1fae Update version of ConfigMe, Mockito and sqlite-jdbc 2016-10-30 14:05:22 +01:00
Gabriele C
f3cd193d47 Move RandomStringUtils 2016-10-04 19:16:06 +02:00
ljacqu
e224d62b7e Hashes: make tests faster when 'skip long tests' profile is enabled 2016-08-27 21:26:36 +02:00
ljacqu
289ce7740f Update injector version and move shutdown logic to separate classes 2016-08-20 21:54:41 +02:00
ljacqu
7f3c308009 #848 Prevent "invalid salt version" when hash format is clearly not BCrypt 2016-08-13 20:10:38 +02:00
ljacqu
19de5a0525 Close #449 Rename NewSetting class to Settings :) 2016-07-23 15:50:40 +02:00
ljacqu
9a91156000 #835 Replace injector classes with ones from ch.jalu.injector project 2016-07-17 21:50:48 +02:00
ljacqu
160cbc6aa4 #849 Catch exception in TwoFactor hash and write unit tests 2016-07-15 18:23:18 +02:00
ljacqu
8f5817883e Testing - check return value of Set#add instead of separately checking Set#contains 2016-07-03 11:47:37 +02:00
ljacqu
1f35ccd841 Improve bat helpers / minor changes to logging and todo messages 2016-07-02 10:17:52 +02:00
ljacqu
d6e1fd5ceb Use injection in and for LimboCache, migrate some legacy settings, remove setGroup from Utils
- New injector method allows to retrieve services if they've already been instantiated -> useful for onDisable() which might be run after aborted initialization
- Deprecate various methods that need to be removed
2016-06-12 16:14:34 +02:00
ljacqu
3753a0ef96 #565 Allow to skip extended encryption methods
- Set system property via surefire plugin and create profile that modifies the property
- Check for the new property in AbstractEncryptionMethodTest and shorten/skip the tests when necessary
2016-06-05 00:29:31 +02:00
ljacqu
9b1ee86b2f Trivial code householding
- Replace `if (!x) ... else ...` with `if(x) ... else ...`
- Avoid throwing RuntimeException; use children
2016-05-30 12:18:55 +02:00
ljacqu
3c6415a6a4 #432 Use injector instantiate hash algorithms 2016-04-30 12:17:18 +02:00
ljacqu
a78e0408c6 #449 Remove use of legacy settings in encryption methods 2016-04-23 12:46:30 +02:00
ljacqu
ca0cbe6caf Code householding
- Move console initialization for tests into TestHelper
- Remove unused properties in legacy Settings
- Add issue number to TODO comments where applicable
2016-04-14 12:28:19 +02:00
ljacqu
c079692f1d Minor - code householding (tests)
- Remove redundant uses of WrapperMock
- Use assertThat() from JUnit, not hamcrest
- Use hamcrest Matchers everywhere (not BaseMatchers etc.)
- Favor Mockito's argThat() over using ArgumentCaptor (more succinct)
- Delete useless test classes
2016-04-03 07:38:13 +02:00
ljacqu
45fd241517 Update settings in PasswordSecurity upon reload 2016-03-12 08:16:57 +01:00
bakatrouble
0992997483 Fix Django crypt
(cherry picked from commit 189f916)
2016-02-14 23:08:51 +01:00
ljacqu
b8e2f5fe1d Use RandomString for IPB4 implementation; minor documentation
- Improve RandomString and create new generateLowerUpper method
- Add documentation to the IPB4 class to explain why the salt is stored twice
2016-02-10 21:16:12 +01:00
games647
ee962bce11 Add missing imports -> fixes building finally 2016-02-10 18:52:34 +01:00
Gabriele C
07e5a67ad5 Merge pull request #97 from AuthMe-Team/ipb4
IPB4 Support
2016-02-09 00:14:24 +01:00
DNx5
8e38384a0d Implement the encryption method and test unit. 2016-02-09 05:58:59 +07:00
ljacqu
99b7b80f1d #450 Fix copying of JAR files to plugin folder
- Create SettingsMigrationService#copyFileFromResource (inspired from CustomSettings)
- Use new method to copy missing files in plugin folder from JAR
- Create YamlFileConfiguration inside NewSetting: FileConfiguration object provided by JavaPlugin#getConfig() sets default values from the JAR's config.yml :(
- Change ConsoleLogger to take logger from plugin (work in progress)
2016-02-06 17:10:00 +01:00
Gabriele C
3c88482e22 Maven enhancements 2016-01-21 16:12:39 +01:00
ljacqu
3b33dc774d #369 Fix WBB4 algorithm
- Update BCrypt implementation version
- Separate third-party BCrypt implementation from our BCRYPT EncryptionMethod extension
- Fix WBB4: ensure password is hashed with bcrypt twice and that we check accordingly
2016-01-18 13:31:54 +01:00
ljacqu
391e1b04a2 Fix #440 Hash algo's sometimes skipped for old algorithm support
- Fix check that discards potentially trying all encryption methods if password didn't match
- Wrap call to encryption method properly to avoid calling methods with hasSeparateSalt() = true and a null salt
2016-01-14 21:55:09 +01:00
ljacqu
120e69ac67 Fix null pointer in tests 2016-01-07 20:49:41 +01:00
DNx5
fab13c586f Remove skip test for Xenforo hash. 2016-01-07 07:41:09 +07:00
DNx5
2c13783c6c Created test for XFBCRYPT. 2016-01-07 07:12:30 +07:00
DNx5
da5de58afb Rename XF class into XFBCRYPT. 2016-01-07 06:15:39 +07:00
ljacqu
561e21f5e2 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/datasource/DataSource.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-02 00:52:08 +01:00
ljacqu
d46a2f0755 Fix test in PasswordSecurity for new savePassword() 2015-12-31 13:52:16 +01:00
ljacqu
a0da423a7b Minor - Javadoc changes
- Add/replace/improve javadoc in the commands and encryption section
- Note: A simple <p> is the javadoc way to make a new paragraph
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format
- Note: Do not escape '<' and '>' inside of {@code }
- Note: '>' does not need to be escaped
2015-12-31 13:32:41 +01:00
DNx5
0c305a6287 Added new updatePassword method in DataSource class 2015-12-31 12:55:34 +07:00
DNx5
9eeb510b08 Messing up the test. 2015-12-31 12:20:48 +07:00
ljacqu
aed23cb1ef Revert removal of XENFORO enum, hash class and custom SQL
- Undo commits 121d323 and 1c12278
- Add TODO's with issue number
- Add slight, necessary adjustments for code changes since the reverted commits
2015-12-31 00:36:08 +01:00
ljacqu
eea3697fa4 #364 Add test for bogus hashes
- Verify that a "hash" in the wrong format doesn't throw exception (this is relevant when the supportOldPasswordHash setting is enabled)
2015-12-30 23:24:36 +01:00
ljacqu
c0a393b8b3 Minor - rename EncryptedPassword to HashedPassword
- We hash passwords; we don't encrypt them
2015-12-30 22:51:59 +01:00
ljacqu
e85dbe81e5 #358 Ensure lowercase player name, issue cleanup
- Ensure within PasswordSecurity that the player name is lowercase
- Remove check for MD5VB separate salt (we only generate hashes with the salt embedded, so either we need to change that or we don't need this check)
- Remove obsolete TODO
2015-12-30 22:45:18 +01:00
ljacqu
3328656134 #358 Create test for PasswordSecurity, create salt column if not exists
- Add test class for PasswordSecurity
- Check and create the salt column in MySQL and SQLite when necessary
- Add javadoc to some classes
2015-12-30 21:36:07 +01:00
ljacqu
a3402d573f #358 Handle hash + salt as one "unit"
- Rename HashResult to EncryptedPassword to reflect its broader use
- Use EncryptedPassword in methods that require the hash and the salt, instead of passing them as strings separately
- Store EncryptedPassword as field in PlayerAuth; updatePassword() thus processes the entire data in the EncryptedPassword object
2015-12-30 17:56:22 +01:00
ljacqu
922082f312 #364 Add HashAlgorithm integration test, fix failing tests
- Create integration test for the HashAlgorithm enum
- Create AsciiRestricted annotation and make test aware of it
- Add option to skip "same hash for same salt" test (for wordpress)
- Change some EncryptionMethods to extend from a common superclass
2015-12-29 13:29:26 +01:00
ljacqu
121d323221 #369 Delete Xenforo (XF) encryption algorithm
Rationale:
- Seems not to have been working since it was added to the codebase
- Seems not to correspond to the actual Xenforo password hashing (class does some sort of JSON extraction?)
- It would be easier to rewrite it from scratch if someone requests it later
2015-12-28 22:32:24 +01:00
ljacqu
47f4275225 #358 Update EncryptionMethod to new interface
- Add new methods to the EncryptionMethod interface
- Delete temporary interface (NewEncrMethod)
- Remove temporary checks and casts to NewEncrMethod
2015-12-28 22:00:43 +01:00
ljacqu
73bc6e286a #369 Fix bcrypt 2y implementation
- Change salt length to 22: it was once changed on accident during some other commit
2015-12-28 21:03:33 +01:00
ljacqu
48d0a65724 #358 Create encryption method supertypes, add new methods 2015-12-28 20:10:45 +01:00