API/UI: err 414 on manipulating entities with long name
|Assigned To:||Daniel Lobato Garcia|
|Found in release:||Pull request:||https://github.com/theforeman/foreman/pull/4134|
|Velocity based estimate||-|
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1397056
Description of problem:
since string length restrictions no longer apply, satellite allows users to create entities of HUGE length. Such entities are not able to be manipulated later on (editing, deleting), due to the fact, that the names of the entities are being used as the GET parameter of the requests. Such requests return 414 (request URI too long).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. navigate to e.g. Host -> Architectures -> New architecture
2. generate a really huge string (e.g. 10000 chars) (might vary)
3. create a new architecture with generated string as a name.
4. navigate to architectures.
5. try to click (to edit) the new arch or try to delete it
414 - request uri too long
it either works (the id is used in URI instead of a name) or the size restriction should be reintroduced.
Fixes #17850 - Prevent 414 on architecture/usergroup
These two fields had been modified using change_column in other
migrations which removed the limit on 'name'. This causes a 414 if
you create a very long name and try to edit the field.
After the change, the limit is restored so very long names are
forbidden by validates_length_in_database and 414s are prevented