* naderman/ticket/9892:
[ticket/9892] Correct copyright year
[ticket/9892] Remove incorrect use of camel case
[ticket/9892] Removing closing php tag from create_schema_files
[ticket/9892] Transaction support for database update sql execution function
[ticket/9892] count is a keyword in firebird, so renaming this alias
[ticket/9892] Q&A CAPTCHA did not work on firebird, so no need to change config
[ticket/9892] Shorten login_attempt key names to avoid firebird length problems
[ticket/9892] Drop Q&A CAPTCHA tables if left in inconsistent state
[ticket/9892] Adding a number of tests for db_tools
[ticket/9892] Table prefix lengths influence index lengths in db_tools
[ticket/9892] Shorten the index names on the q&a captcha
[ticket/9892] column & index name limits, firebird auto increment in db_tools
The test creates a table and runs a number of queries on it to judge whether
the selected column types can hold the data they are expected to contain.
Additional test methods check the auto increment feature and a few of the
basic commands of db_tools. This is only a starting point. Plenty more
tests need to be added.
PHPBB3-9892
- Column names are limited to 30 characters
- Index names are limited to 31 characters.
On some dbms the index name contains both table name and actual index name
so the limit applies to the sum of the lenghts of table name and index name.
- Auto incremented column names are limited to 26 characters to provide an
additional 4 characters for sequence names
The code for firebird auto increment support using generators/sequences with
triggers was copied from create_schema_files.php
PHPBB3-9892
* naderman/ticket/9992:
[ticket/9992] Clarify explanations of ip and account limits on login
[ticket/9992] Add a comma to language for IP_LOGIN_LIMIT_MAX_EXPLAIN
[ticket/9992] Use sql_fetchfield for single row and single column result
[ticket/9992] Adding a limit on login attempts per IP.
[ticket/9992] Make sql_create_table and sql_table_exists available in updater
A new table was created to save all failed login attempts with
corresponding information on username, ip and useragent. By default
the limit is 50 login attempts within 6 hours per IP. The limit is
relatively high to avoid big problems on sites behind a reverse
proxy that don't receive the forwarded-for value as REMOTE_ADDR but
see all users as coming from the same IP address. But if these
users run into problems a special forwarded-for option is available
to limit logins by forwarded-for value instead of ip.
PHPBB3-9992
These are defined the same way in db_tools. This duplicated code should be
removed together with the rest of the db_tools duplication at some point.
PHPBB3-9992
* naderman/ticket/10198:
[ticket/10198] range validation for strings should limit characters not bytes
[ticket/10198] validate_config_vars() improperly validates multibyte strings
* ticket/bantu/9802:
[ticket/9802] Remove unnecessary htmlspecialchars() call on REMOTE_ADDR.
[ticket/9802] Only check for IPv4-mapped address when address is IPv6.
[ticket/9802] Fix tiny logic bug in loop determining REMOTE_ADDR.
[ticket/9802] Remove redundant character class definition from preg_replace.
[ticket/9802] Fix redundant str_replace call. No need to replace ' ' with ' '.
* ticket/rxu/6712:
[ticket/6712] Properly explain result of setting the bump interval to 0.
[ticket/6712] Add phpbb_ function name prefix, more docs, rename current_time
[ticket/6712] Pass $post_data by the value instead of by the reference.
[ticket/6712] Bump does not create new topic icon on index.
* ticket/rxu/217:
[ticket/217] Use positive assertions in tests.
[ticket/217] Silence errors in tests, not code.
[ticket/217] Use positive parameter statement for bbcode_init()
[ticket/217] Adjust patch, add tests
[ticket/217] Multiline [url] not converted