Rey Tucker
24d2316f63
Don't delete periods when validating username uniqueness ( #11392 ) ( #11400 )
...
* Check to make sure usernames with '.' cannot be created
* Add test for instance actor account name conflicts
This makes sure that migration 20190715164535_add_instance_actor
won't fail if there's already an account that is named the same
as the domain (minus the .)
* Put the test into the correct context...
* Add another test to split this into two validations
* Don't delete periods when validating username uniqueness (#11392 )
The 20190715164535_add_instance_actor migration fails if there's
already a username similar to the domain name, e.g. if you are
'vulpine.club' and have a user named 'vulpineclub', validation
fails.
Upon further review, usernames with periods are dropped by the
regular expression in the Account class, so we don't need to
worry about it here.
Fixes #11392
2019-07-24 14:19:17 +02:00
ThibG
4ad004d2ef
Fix “invited by” not showing up for invited accounts in admin interface ( #10791 )
2019-05-19 21:40:36 +02:00
Eugen Rochko
c3b1f6963b
Change e-mail whitelist/blacklist to not be checked when invited ( #10683 )
...
* Change e-mail whitelist/blacklist to not be checked when invited
And only when creating an account, not when updating it later
Fix #10648
* Fix test
2019-05-03 23:44:44 +02:00
Eugen Rochko
753bb5e701
Change HTML validator to ignore all errors except unmatched tags ( #10534 )
2019-04-10 03:34:16 +02:00
Hinaloe
da343470c4
Allow set the voting period to just 5 minutes ( #10525 )
...
* Add spec of PollValidator for #10190
* Raise fraction less than 1 second
* format
* simplify time initialize
2019-04-09 17:02:12 +02:00
Eugen Rochko
d48f53cf1a
Fix admin validation being too strict about usernames ( #10449 )
...
* Fix admin validation being too strict about usernames
Fix #10446
* Strip Setting.site_contact_username consistently throughout the codebase
2019-04-06 17:53:17 +02:00
ThibG
cffb8cb38d
Fix HTML validation ( #10354 )
...
* Fix HTML validation
* Report first HTML error instead on validation error
2019-03-26 17:33:26 +01:00
Eugen Rochko
c21bdc81d3
Add validations to admin settings ( #10348 )
...
* Add validations to admin settings
- Validate correct HTML markup
- Validate presence of contact username & e-mail
- Validate that all usernames are valid
- Validate that enums have expected values
* Fix code style issue
* Fix tests
2019-03-23 14:07:04 +01:00
Eugen Rochko
1441046fdf
Fix poll validation issues ( #10186 )
...
- Fix missing interpolation argument in PollValidator
- Fix PollValidator rejecting exact allowed min/max durations
2019-03-06 04:54:11 +01:00
ThibG
1cba6f9790
Widen allowed time windows for polls ( #10162 )
2019-03-04 22:46:38 +01:00
Eugen Rochko
06511d1942
Fix vote validation for polls with multiple choices ( #10138 )
2019-03-03 23:41:30 +01:00
Eugen Rochko
4a3acdc916
Add polls ( #10111 )
...
* Add polls
Fix #1629
* Add tests
* Fixes
* Change API for creating polls
* Use name instead of content for votes
* Remove poll validation for remote polls
* Add polls to public pages
* When updating the poll, update options just in case they were changed
* Fix public pages showing both poll and other media
2019-03-03 22:18:23 +01:00
Franck Zoccolo
ffe97d5dda
Add support for IPv6 only MXes in Email validation ( #10009 )
...
* Add support for IPv6 only MXes
* Fixed email validator tests
2019-02-12 14:48:04 +01:00
Eugen Rochko
fd35d69b4f
Change note length validation to ignore mention domains and URLs ( #9717 )
...
Fix #4419
2019-01-05 07:16:46 +01:00
ysksn
3cab7b9a17
Add specs for UnreservedUsernameValidator ( #9698 )
...
* Add specs for UnreservedUsernameValidator
* Use instance variable
2019-01-03 13:10:02 +09:00
ysksn
5eb6d7e3e0
Add specs for BlackListedEmailValidator ( #9651 )
...
* Add specs for BlackListedEmailValidator
* Use instance variable
2018-12-29 07:23:44 +01:00
ysksn
a3b4684435
Add specs for DisallowedHashtagsValidator ( #9653 )
...
In order to implement tests easier, `#select_tags` created.
2018-12-29 07:22:51 +01:00
ysksn
c4559969b4
Add pending specs for StatusLengthValidator ( #9647 )
...
* Add pending specs of StatusLengthValidator
* Use instance variable
2018-12-28 08:18:47 +01:00
Eugen Rochko
8d3910afdd
Improve e-mail MX validator and add tests ( #9489 )
2018-12-10 22:53:25 +01:00
Eugen Rochko
32c2f5a07f
Fix follow limit validator reporting lower number past threshold ( #9230 )
...
* Fix follow limit validator reporting lower number past threshold
* Avoid floating point follow limit
2018-11-08 21:06:01 +01:00
Eugen Rochko
48c2ab8cf5
Limit the number of people that can be followed from one account ( #8807 )
...
Configurable soft limit of 7,500, and above that, configurable
ratio of 1.1 * followers, controlled by:
- MAX_FOLLOWS_THRESHOLD
- MAX_FOLLOWS_RATIO
Fix #2311
2018-10-04 17:36:11 +02:00
abcang
258eba090b
Call address instead of exchange ( #8076 )
2018-07-26 04:49:28 +02:00
Eugen Rochko
8bdc12d494
In e-mail validator, fallback from MX to A record ( #7955 )
...
Fix #7831
2018-07-05 20:57:24 +02:00
takayamaki
5a242be7ec
fix: Don't validate MX record in development ( #7654 )
2018-05-28 19:14:24 +02:00
Eugen Rochko
03c8890e09
Validate that e-mail resolves with MX and it's not blacklisted ( #7631 )
...
Original patch by @j-a4
2018-05-27 11:58:08 +09:00
Emelia Smith
49d9ea6998
Implement the ability for instances to define a list of disallowed hashtags ( #7176 )
...
The goal here isn't to prevent these hashtags from existing, but just to strongly curtail their usage; The hashtags may still exist in the database via federated status, or from being created prior to this feature.
2018-04-23 23:52:58 +02:00
Renato "Lond" Cerqueira
a4732040f0
Allow more than the max pins if account is not local ( #7105 )
...
Sidekiq sometimes throws errors for users that have more pinned items
than the allowed by the local instance. It should only validate the
number of pins for local accounts.
2018-04-12 20:36:02 +02:00
Eugen Rochko
ebba6fb7f5
Fix UniqueUsernameValidator comparison ( #6926 )
...
Comparison was downcasing only one side, therefore if previously
existing account had a non-lowercase spelling, it would be ignored
when checking for duplicates.
New rake task `mastodon:maintenance:find_duplicate_usernames` will
help find constraint violations that might have occured from the
presence of this bug.
Bump version to 2.3.3
2018-03-27 04:33:57 +02:00
Eugen Rochko
53b1100144
Permit dots in usernames with conditions ( #6844 )
...
* Permit dots in usernames with conditions
- Dot cannot be the start or end of username
- a.lice and al.ice are considered the same during sign-up
* Fix regex mixin flags
2018-03-21 10:26:53 +01:00
abcang
225fdc2409
Validation of count works even when text of status is nil ( #6429 )
2018-02-04 12:32:41 +01:00
Alexander
23ce0c86da
pam authentication ( #5303 )
...
* add pam support, without extra column
* bugfixes for pam login
* document options
* fix code style
* fix codestyle
* fix tests
* don't call remember_me without password
* fix codestyle
* improve checks for pam usage (should fix tests)
* fix remember_me part 1
* add remember_token column because :rememberable requires either a password or this column.
* migrate db for remember_token
* move pam_authentication to the right place, fix logic bug in edit.html.haml
* fix tests
* fix pam authentication, improve username lookup, add comment
* valid? is sometimes not honored, return nil instead trying to authenticate with pam
* update devise_pam_authenticatable2 and adjust code. Fixes sideeffects observed in tests
* update devise_pam_authenticatable gem, fixes for codeconventions, fix finding user
* codeconvention fixes
* code convention fixes
* fix idention
* update dependency, explicit conflict check
* fix disabled password updates if in pam mode
* fix check password if password is present, fix templates
* block registration if account is maintained by pam
* Revert "block registration if account is maintained by pam"
This reverts commit 8e7a083d650240b6fac414926744b4b90b435f20.
* fix identation error introduced by rebase
* block usernames maintained by pam
* document pam settings better
* fix code style
2018-02-02 10:18:55 +01:00
Eugen Rochko
f16141ebac
Limit users to 50 lists, remove pagination from lists API ( #5933 )
2017-12-09 01:32:29 +01:00
utam0k
51f8cbfbeb
Implement EmailBlackList ( #5109 )
...
* Implement BlacklistedEmailDomain
* Use Faker::Internet.domain_name
* Remove note column
* Add frozen_string_literal comment
* Delete unnecessary codes
* Sort alphabetically
* Change of wording
* Rename BlacklistedEmailDomain to EmailDomainBlock
2017-10-04 15:16:10 +02:00
Eugen Rochko
a47a5ab5cd
Fix #4918 - Limit pinned toots to 5 ( #4923 )
2017-09-13 11:04:32 +02:00
Eugen Rochko
3e20cb7025
Pinned statuses ( #4675 )
...
* Pinned statuses
* yarn manage:translations
2017-08-25 01:41:18 +02:00
Eugen Rochko
14004daca4
Fix length validator counting things that look like URIs like URLs ( #4462 )
...
URI.extract is too strong, not limited to URLs, matched real text.
Same issue was present in language detector.
2017-07-31 05:06:20 +02:00
Eugen Rochko
39b0588256
Count all URLs in text as 23 characters flat, do not count domain part of usernames ( #4427 )
...
* Count all URLs in text as 23 characters flat, do not count domain part of usernames
* Add new status text counting logic to web UI
2017-07-29 00:06:29 +02:00
Gô Shoemake
2d31077bdf
Fix character/grapheme count stuff ( #3839 )
...
* Bring Toot button in line with counter
Both should use stringz I guess
* Use grapheme_length for character count
2017-06-19 11:31:14 +02:00
Eugen Rochko
9ea895f05f
Correct validators so that existing error messages would look correct ( #3668 )
2017-06-09 19:46:01 +02:00
Eugen Rochko
4a6ceb24c9
Added support for configurable reserved usernames (fix of #1382 ) ( #3566 )
...
* Added support for configurable reserved usernames
* Added reserved usernames from mastodon issue 1355
* Fix reserved usernames
2017-06-05 01:03:45 +02:00
Guillaume Lo Re
9e955fe688
Stricter whitelist rules ( #2213 )
...
* Stricter whitelist rules
* Linting
* Added spec for blacklisting
* Test subdomain blacklist on domain whitelist
* No need to split
* Change spec name
2017-04-26 01:22:51 +02:00
Eugen
87f7a3922c
Punycode URI normalization ( #2370 )
...
* Fix #2119 - Whenever about to send a HTTP request, normalize the URI
* Add test for IDN request in FetchLinkCardService
* Perform IDN normalization on domains before they are stored in the DB
2017-04-25 02:47:31 +02:00
Matt Jankowski
49c3000d62
Organize coverage dirs ( #1695 )
...
* Add `Presenters` group to SimpleCov configuration
* Move validators to app/validators, add to simplecov config
2017-04-13 16:00:31 +02:00