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