144 Commits

Author SHA1 Message Date
games647
316f8fc642 Fix Java 9 support for Pbkdf2Django (#1390)
* Replace DatatypeConverter in Pbkdf2Django to support Java 9

* Fix NPE in AuthMeInitializer and CastException in Recovery tests

* Set logger for SetPasswordTest to prevent NPE on logging

* Use TestHelper for initializing ConsoleLogger
2017-10-29 12:11:24 +01:00
Alexandre Vanhecke
8fe92da119 #1150 - Add Argon2 support
- Add argon2 implementation

- Extract argon2 library check to method on Argon 2
- Add link to Wiki page on errors
- Check within Argon2Test if the test cases should be run, not in the abstract parent
2017-10-23 00:10:48 +02:00
ljacqu
b211c97395 Minor: delete PlainText implementation
- It never gets used anymore and could cause security issues if we did accidentally use it as EncryptionMethod
2017-10-22 09:27:03 +02:00
ljacqu
fca77b940f #1016 Deprecate MD5, SHA1, SHA512: no longer allowed for active use
- Deprecate unsalted hashes: if such a hash is configured, move it to the legacy hashes setting to still support the existing hashes in the database but hash all passwords from now on with our default, SHA256.
2017-10-19 21:30:19 +02:00
ljacqu
5be3f8facc #1095 Update SMF hash algorithm to generate salt as SMF does
- The salt isn't used for password hashing but SMF requires that there be one to generate the authentication cookie. This does not yet enable registration from Minecraft: SMF has other non-null columns that need to be tackled. This is a first step.
2017-10-08 22:42:37 +02:00
ljacqu
f88350b06d Fix Checkstyle violations
- Mostly missing Javadoc on large methods
- CommandInitializer: split command building method into multiple methods
2017-07-16 23:07:13 +02:00
timvisee
cae29a2f99 Revert "Implement ARGON2 hash (#1165)" due to an unwanted added binary.
This reverts commit bf387827907c482b0ee50be6735ad10c1a3a6c50.
2017-06-01 13:06:15 +02:00
ljacqu
c803822fa8 #1188 Create and keep encryption method instance (#1191)
- Avoid creating the same object over and over; instead keep it and only change it on settings reload
2017-04-30 17:41:51 +02:00
ljacqu
d0dbc14358 Minor - fix some small todo's 2017-04-23 11:02:43 +02:00
Gabriele C
bf38782790 Implement ARGON2 hash (#1165)
* Implement ARGON2 hash

#1150

* Fix argon hash verify

* Add argon2 test

* #1150 Account for Argon2 managing salts internally
2017-04-14 18:03:27 +02:00
ljacqu
c54231b255 #1138 Show warning for hashes that will be deprecated in 5.4
- Introduce Usage.DEPRECATED to mark the hash algorithms accordingly
- Log warning when such a deprecated hash algorithm is used
- Update hash algorithms doc page
2017-03-25 00:23:54 +01:00
ljacqu
8f197bbebf #1128 Rename converter classes to start with uppercase letter 2017-03-17 19:28:40 +01:00
ljacqu
6bd0b7c4e0 #1128 Rename files to match new case of Java classes 2017-03-17 19:21:20 +01:00
ljacqu
8ebb3c6b5a Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1128-camel-case-rename 2017-03-17 18:50:57 +01:00
ljacqu
731d085ccd #1128 Rename to camel case (PR #235)
* rename classes according to cammel case and make code reflect these updates

* rename according to cammel case

* rename to camel case more accuratley

* rename to camel case try 3; fix Ipb4 java doc

* retry rename camel case

* rename to camel case
2017-03-17 18:49:30 +01:00
ljacqu
8aa573b9ed Minor fixes as found by Checkstyle 2017-03-05 10:58:29 +01:00
ljacqu
d2fccdeb80 Update Injector and create injectable object factory
- Using e.g. Factory<Converter> instead of the injector directly makes its purpose more specific and disallows any future abuse of the injector's functions
2017-02-05 16:52:35 +01:00
ljacqu
d717f75bb4 #1014 Use ConfigMe improvements to create custom Enum set property 2016-12-23 23:51:23 +01:00
ljacqu
79a3858b29 #685 Allow to configure number of rounds for PBKDF2 2016-11-26 18:41:04 +01:00
ljacqu
122c6586bc #685 Add php implementation for PBKDF2
- Create php sample for PBKDF2
- Rename pbkdf2 java classes (remove Crypt prefix)
- Remove options from hash setting comment that should not be used
2016-11-25 16:41:55 +01:00
ljacqu
de5324bbc6 #685 Fix PBKDF2 implementation
- Fix our PBKDF2 hash implementation and its test class
- Use external dependency as PBKDF2 implementation
2016-11-25 15:51:15 +01:00
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
7d65d2a7c4 Fix various code issues as detected by Sonar
Mostly minor changes:
- Add deprecated javadoc tag on deprecated members
- Reduce duplication (FlatFile, BackupService, ...)
- Make methods static
- Reduce size of anonymous classes
- Replace name with displayName in PermissionsSystemType (avoids confusing with Enum name())
- Tabs to spaces
- Merge if statements

Code from third-party sources (BCryptService, BinTools, PHPBB) not modified.
2016-11-22 18:20:55 +01:00
ljacqu
bb89a59a8a #850 Add setting specifying which password hashes should be checked 2016-11-13 10:37:01 +01:00
Gabriele C
f3cd193d47 Move RandomStringUtils 2016-10-04 19:16:06 +02:00
ljacqu
f804b528e5 Change message verification task to add todo comments in same order
- Make verification task add todo comments to YML files in the same order as the MessageKey enum
- Use DefaultCharsets everywhere instead of Guava's Charsets class (thanks to DNx5)
2016-09-17 10:56:30 +02:00
ljacqu
c1e90a8faf Minor - favor Guava's UTF-8 charset constant; sensible -> sensitive in issue template 2016-09-16 23:38:36 +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
e7b980d435 #605 Logger - name methods after their log level
- Remove separate print stacktrace method
- Log level into the log similar to console output
2016-07-12 22:06:32 +02:00
ljacqu
7788ad6230 #765 Replace Utils usages with TeleportService + misc householding
- Remove some legacy settings
- Move Utils "addNormal" method to AuthGroupHandler

(Reapplied changes from orphaned fe29089)
2016-07-03 19:55:31 +02:00
Gabriele C
e12ae2cf96 Use spaces, finish working on #423, import cleanup 2016-06-13 16:13:03 +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
6341d00df0 Code householding - remove legacy settings and TODO messages
- Remove fields in legacy settings that are now unused
- Remove various irrelevant todo messages
- Reduce visibility on some elements
2016-05-24 18:59:01 +02:00
ljacqu
92a8a5dd41 #704 Remove reloading from hash algorithms
- A new instance is created for every hash operation, so reloading will never happen on those classes
2016-05-18 19:09:38 +02:00
ljacqu
e04f7dc711 #704 Implement reloading via injector
- Create interfaces Reloadable and SettingsDependent to recognize reloadable classes
- Iterate through instances in injector to reload
2016-05-12 19:51:10 +02:00
Gabriele C
5ceabe2146 Cleanup 2016-05-04 17:26:58 +02:00
ljacqu
3c6415a6a4 #432 Use injector instantiate hash algorithms 2016-04-30 12:17:18 +02:00
ljacqu
02079f1f5c #432 Create custom dependency injector 2016-04-27 22:49:20 +02:00
ljacqu
a78e0408c6 #449 Remove use of legacy settings in encryption methods 2016-04-23 12:46:30 +02:00
ljacqu
2cd43d599d Minor - MyBB has alphanumerical salts, not restricted to hexadecimal 2016-04-22 21:24:37 +02:00
ljacqu
00cb01b3bd #663 Don't print stacktrace when encountering invalid hash formats 2016-04-21 18:05:47 +02:00
ljacqu
5d12ec8b56 Minor fixes + code householding
- Fix SpawnCommandTest testing FirstSpawnCommand
- Fix javadoc errors
- Map TODO's to issue numbers where applicable
- Fix trivial TODO's
2016-03-13 11:09:27 +01:00
ljacqu
45fd241517 Update settings in PasswordSecurity upon reload 2016-03-12 08:16:57 +01:00
ljacqu
8511a257ed #494 Fix conversion plaintext to SHA256
- Make sure database is set up before attempting to perform the migration
2016-02-20 11:16:25 +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
225df4f9c9 Add missing imports -> fixes building finally 2016-02-10 18:51:15 +01:00