Bug#17667: An attacker has the opportunity to bypass query logging.
This adds a new, local-only printf format specifier to our *printf functions
that allows us to print known-size buffers that must not be interpreted as
NUL-terminated "strings."
It uses this format-specifier to print to the log, thus fixing this
problem.
include/my_sys.h:
Add prototype for my_memmem() .
mysys/Makefile.am:
Add reference to new file, my_memmem.c
mysys/mf_iocache2.c:
Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s",
but unlike the string-indicator, it requires the width and doesn't stop printing
at NUL characters.
Also, simplify the code a bit.
TODO: This code should be unified with the strings/my_vnsprintf.c code in
the future.
sql/sql_parse.cc:
The query is not a C-string, but is a sized buffer, containing any character
at all, which may include NUL characters.
strings/my_vsnprintf.c:
Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s",
but unlike the string-indicator, it requires the width and doesn't stop printing
at NUL characters.
tests/Makefile.am:
We may need some of our local functions.
tests/mysql_client_test.c:
Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s",
but unlike the string-indicator, it requires the width and doesn't stop printing
at NUL characters.
mysql-test/t/mysql_client_test.opt:
New BitKeeper file ``mysql-test/t/mysql_client_test.opt''
Add '--log' server parameter.
mysys/my_memmem.c:
New BitKeeper file ``mysys/my_memmem.c''
Implement memmem, a black-box work-alike of the GNU memmem(), which functions
like strstr() but for arbitrary blocks of memory.
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
config/ac-macros/yassl.m4:
typo
libmysql/Makefile.am:
move common code to Makefile.shared
libmysql/Makefile.shared:
move common code to Makefile.shared
libmysql_r/Makefile.am:
move common code to Makefile.shared
Changed web address order.mysql.com to shop.mysql.com
netware/mysql_install_db.c:
Changed web address order.mysql.com to shop.mysql.com
Docs/MySQLEULA.txt:
Changed web address order.mysql.com to shop.mysql.com
scripts/mysql_install_db.sh:
Changed web address order.mysql.com to shop.mysql.com
Multiple equalities were not adjusted after reading constant tables.
It resulted in neglecting good index based methods that could be
used to access of other tables.
mysql-test/r/having.result:
Adjusted a test case results after fix for bug #16504.
mysql-test/r/select.result:
Added a test case for bug #16504.
mysql-test/r/subselect.result:
Adjusted a test case results after fix for bug #16504.
mysql-test/r/varbinary.result:
Adjusted a test case results after fix for bug #16504.
mysql-test/t/select.test:
Added a test case for bug #16504.
sql/item.cc:
Fixed bug #16504.
An Item_equal object may contain only a constant member.
It may happen after reading constant tables.
sql/item_cmpfunc.cc:
Fixed bug #16504.
Added method Item_equal::check_const that check appearance of new
constant items in a multiple equality.
sql/item_cmpfunc.h:
Fixed bug #16504.
Added method Item_equal::check_const that check appearance of new
constant items in a multiple equality.
sql/sql_select.cc:
Fixed bug #16504.
Adjusted multiple equalities after reading constant tables.
Fixed a few typo in comments.
Let "make install" install mysql-test-run.pl
mysql.spec.sh:
Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS (bug#16662)
support-files/mysql.spec.sh:
Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS (bug#16662)
mysql-test/Makefile.am:
Let "make install" install mysql-test-run.pl
Use CPPFLAGS when testing to link "libz" found in --with-zlib-dir=,
and search the given include directory first (bug#18369)
config/ac-macros/zlib.m4:
Use CPPFLAGS when testing to link "libz" found in --with-zlib-dir=,
and search the given include directory first (bug#18369)
Use CPPFLAGS when testing to link "libz" found in --with-zlib-dir=,
and search the given include directory first (bug#18369)
acinclude.m4:
Use CPPFLAGS when testing to link "libz" found in --with-zlib-dir=,
and search the given include directory first (bug#18369)
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new
VC++Files/libmysqld/libmysqld.vcproj:
Auto merged
VC++Files/mysys/mysys.vcproj:
Auto merged
VC++Files/sql/mysqld.vcproj:
Auto merged
Set MYSQL_SERVER_SUFFIX from build scripts, not hard
code it into Visual Studio project files, bug#15974
VC++Files/bdb/bdb.vcproj:
Set MYSQL_SERVER_SUFFIX from build scripts, not hard code into project files, bug#15974
VC++Files/innobase/innobase.vcproj:
Set MYSQL_SERVER_SUFFIX from build scripts, not hard code into project files, bug#15974
VC++Files/libmysqld/libmysqld.vcproj:
Set MYSQL_SERVER_SUFFIX from build scripts, not hard code into project files, bug#15974
VC++Files/mysqldemb/mysqldemb.vcproj:
Set MYSQL_SERVER_SUFFIX from build scripts, not hard code into project files, bug#15974
VC++Files/mysys/mysys.vcproj:
Set MYSQL_SERVER_SUFFIX from build scripts, not hard code into project files, bug#15974
VC++Files/sql/mysqld.vcproj:
Set MYSQL_SERVER_SUFFIX from build scripts, not hard code into project files, bug#15974
Enable automake to determine dependency on yaSSL, by explicitly
listing the .la files in Makefile.am, instead of using
'yassl_libs_with_path', bug#18273
config/ac-macros/yassl.m4:
Enable automake to determine dependency on yaSSL, by explicitly
listing the .la files in Makefile.am, instead of using
'yassl_libs_with_path', bug#18273
libmysql/Makefile.am:
Enable automake to determine dependency on yaSSL, by explicitly
listing the .la files in Makefile.am, instead of using
'yassl_libs_with_path', bug#18273
libmysql_r/Makefile.am:
Enable automake to determine dependency on yaSSL, by explicitly
listing the .la files in Makefile.am, instead of using
'yassl_libs_with_path', bug#18273
Fixed BUG#15650: DELETE with LEFT JOIN crashes server
with innodb_locks_unsafe_for_binlog.
Fixed compilation problem with non-C99 compilers
in btr0sea.c
innobase/btr/btr0sea.c:
Applied innodb-5.0-ss398 snapshot.
Fix compilation problem with non-C99 compilers.
sql/ha_innodb.cc:
Applied innodb-5.0-ss398 snapshot.
Remove assertion ut_error which crashes the mysqld
server if it prints a warning about the adaptive latch.
into mysql.com:/home/timka/mysql/src/5.0-bug-16710
mysql-test/r/group_min_max.result:
Auto merged
mysql-test/t/group_min_max.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/opt_range.cc:
Auto merged
The bug was due to a missed case in the detection of whether an index
can be used for loose scan. More precisely, the range optimizer chose
to use loose index scan for queries for which the condition(s) over
an index key part could not be pushed to the index together with the
loose scan.
As a result, loose index scan was selecting the first row in the
index with a given GROUP BY prefix, and was applying the WHERE
clause after that, while it should have inspected all rows with
the given prefix, and apply the WHERE clause to all of them.
The fix detects and skips such cases.
mysql-test/r/group_min_max.result:
Added test for BUG#16710.
mysql-test/t/group_min_max.test:
Added test for BUG#16710.
sql/item.cc:
Added new method [Item | Item_field]::find_item_in_field_list_processor.
sql/item.h:
Added new method [Item | Item_field]::find_item_in_field_list_processor.
sql/opt_range.cc:
Handle the case when there is no MIN/MAX aggregate function, and a
keypart of the index being considered, that is after the GROUP BY
prefix, is used in the WHERE clause and the condition where it is
used cannot be pushed to the index.
If this is the case, we rule out this index.
Use when testing if shared library exists, bug#16332
config/ac-macros/openssl.m4:
Use when testing if shared library exists, bug#16332
config/ac-macros/zlib.m4:
Use when testing if shared library exists, bug#16332
After merge fix for bug#15560
item_sum.h:
After merge fix for bug#15560
sql/sql_select.cc:
After merge fix for bug#15560
sql/item_sum.h:
After merge fix for bug#15560
sql/item_sum.cc:
After merge fix for bug#15560
out of a nested join to the on conditions for the nest.
The bug happened due to:
1. The function simplify_joins could change on expressions for nested joins.
Yet modified on expressions were not saved in prep_on_expr.
2. On expressions were not restored for nested joins in
reinit_stmt_before_use.
mysql-test/r/join_nested.result:
Added a test case for bug #18279.
mysql-test/t/join_nested.test:
Added a test case for bug #18279.
sql/sql_prepare.cc:
Fixed bug #18279.
On expressions were not restored for nested joins in
reinit_stmt_before_use.
sql/sql_select.cc:
Fixed bug #18279.
The function simplify_joins could change on expressions for nested joins.
Yet modified on expressions were not saved in prep_on_expr.