Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Categories: connectors experimental galera main
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

connectors experimental galera main
Lawrin Novitsky
CONCPP-164 Savepoint names in setSavepoint were not quoted and escaped

They are not quoted and escaped also in release and rollabck methods. It
could cause incorrect work and created theoretical opportunity for SQL
injection.

The testcase has been added and savepoint suite added to ctest tests.
Lawrin Novitsky
CONCCP-165 Making PS more resilient to forged metadata

PS here means server side prepared statements. With forged metadata
driver could read past the allocated buffer.
The fix make the read area is not longer than buffer_length. Atm I can't
see any possibility for a testcase. We need to be able to run "evil
server" for that.
Lawrin Novitsky
ODBC-497 Adding infer to the Github Actions workflow
Lawrin Novitsky
Merge branch 'odbc-3.1' into odbc-3.2

As part of merge the 3.2 specific part of ODBC-507 has been made.
Vladislav Vaintroub
MDEV-40608 propagate DBUG_OFF, ENABLED_DEBUG_SYNC and SAFE_MUTEX to external plugins

These affect THD's ABI (like WITH_WSREP) but aren't recorded anywhere
a plugin build could see them. Resolve them for whichever config is
actually installed and write plain values via INSTALL(CODE), rather
than a generator expression baked into mysqlservices' own interface
(which would resolve against the *consuming* plugin's config, not the
installed library's - verified wrong with a toy project). Replaces the
unconditional -DDBUG_OFF this file was forcing on every plugin build
regardless of which config was actually installed.

Assisted-by: Claude:claude-5-sonnet
Lawrin Novitsky
ODBC-506 Paramarray operation error can cause buffer overrun in the next

such operation.
In 3.1 the error has to happen on the last paramset, 3.2 does not have
this limitation.
That happened because the variable used for array offset was not reset
in such case.
Lawrin Novitsky
Merge branch 'cpp-1.0' into cpp-1.1
Lawrin Novitsky
CONCPP-167 Changing of auto_increment_increment with crashed the driver

This could happen only if rewriteBatchedStatements on - only in this
case auto_increment_increment was tracked. If that actually happened, the bug in
the session tracking processing caused unhandled exception that aborted the program.

The test has been added.
Lawrin Novitsky
ODBC-505 Positioned operations did not quote column names

If the name contained some special character, that could cause error.
Maliscous server could expoit this for SQL injection. Only happened in
3.2. The testcase has been added.
Lawrin Novitsky
ODBC-507 Param arrays with DAE parameters did not work

We did not have a test for this case, so not clear if it worked and was
broken at some point or did not work at all.
The test is being added along with the fix.
Also the fix almost completely re-writes ODBC-506 fix as the code
causing it(and the fix) is completely removed and/or rewritten.
In particular, ArrayOffset has been removed from the Stmt handle as it's
meaning/use was almost duplicating DaeRowNumber.
Buffers for positioned update(WHERE CURRENT OF) parameter values now
stored in the handle as their lifetime in case of DAE should be longer
than statement execution function. We had the testcase for it, though.
Lawrin Novitsky
C/C has been moved to the commit that is supposed to be 3.3.21
Lawrin Novitsky
Fix of the last merge - the test in Actions has to be with latest C/C 3.4

and not 3.3.
Also, fixed one test in preparedstatement for the MySQL
Lawrin Novitsky
ODBC-501 SQLGetDescRec returns wrong record data

The RecNumber argument of the function is 1-based, but internal function
getting the record is 0-based. That cauesed the shift in returned data.
Also the condition for returning SQL_NO_DATA was incorrect. Internal
function for the record number + 1 from the last automatically creates
the record. SQL_NO_DATA was actually not returned for theis case, but
SQL_ERROR. This is also fixed.
The test of SQLGetDescREc has been added.
Lawrin Novitsky
ODBC-504 Catalog functions did not snitize parameters(length)

All but SQLTables did not check if name parameters are too long. That
could cause buffer overwlows.
The testcase has been added.
Lawrin Novitsky
ODBC-503 _snprintf return value was used as prefix len for the error msg

It wasn't checked and theorethically it can be negative. This was saved
as offset to start writing error message in case of error.
Substituted all _snprintf use with standard snprintf.
For the error mesage prefix len calculation it's not much safer, so
limited server version to some sane value(32 atm)
Lawrin Novitsky
CONCPP-161, CONCPP-162 Fix and test of the wrong DB metadata methods parameters escaping

There were 2 separate issues - some hepler functions had hardcoded parameter for
"BACKSLASH_NO_ESCAPE", and 2nd - other helper functions that actually
escaped quots, due to the bug could process own output and in this way
multiply quots/backslashes.
Lawrin Novitsky
Linux build fix
Lawrin Novitsky
Merge branch 'odbc-3.1' into odbc-3.2

The C/C has been moved to what will be 3.4.11
Lawrin Novitsky
Removed last remains of the _snprintf

Fixed strange error in one test.
Fixed test for the current 13.0 servers(18 columns in I_S.statistics)
Fixed wStmt drop issue in the test framework. I guess in 3.2 this has
been already fixed.
Lawrin Novitsky
ODBC-498 Reading SQL_ATTR_METADATA_ID caused stack corruption

The fix and the trestcase.
The priver would write additionally 4 bytes past the given buffer. Plus
the value written into the buffer would be wrong.
The break in the switch was missing.
The test is also covering stmt attribute
Daniel Bartholomew
bump the VERSION
Vladislav Vaintroub
MDEV-40608 build mysqlservices without an embedded CRT requirement

mysqlservices only exposes a thin C API, no CRT state crosses it, so
don't force whatever CRT/config built the server onto a plugin linking
it. Without /Zl, a plugin built in a config with no matching installed
mysqlservices variant (CMake silently substitutes one - verified with
a toy project) gets an ignorable but noisy LNK4098 warning.

Assisted-by: Claude:claude-5-sonnet
copilot-swe-agent[bot]
Fix test_resultsetmetadata for MariaDB 12.3 display size change

Co-authored-by: lawrinn <[email protected]>
Lawrin Novitsky
Version bump -> 3.2.10

Somehow was forgotten
Lawrin Novitsky
Removed last remains of the _snprintf

Fixed strange error in one test.
Fixed test for the current 13.0 servers(18 columns in I_S.statistics)
Lawrin Novitsky
ODBC-502 Driver can read and send to server memore past query end

This happened if UTF16 character with UnixODBC(i.e. Linux and not
Window) would have lower byte as the high byte in a surrogate pair
leading unit. One of helper functions erroneously took such character as
leading unit of a surrogate pair, and vise versa - would not recognize
real leading unit as such. That could lead to calculated byte length
would be longer, than the real one, it will be used for query text
transcoding to connection charset and thus memory past he end of query
read and sent to the server.
SQLNativeSqlW had the problem caused be similar reasons, but it did not
need length in char calculation, but in SQLWCHAR units.
The tast has been added and SQLNativeSqlW test thas been extended.
Also fixed one test in prepare failing with certain server defaults.
Lawrin Novitsky
Fixed the test for the case of SSPS
Sergei Golubchik
fixup: do not remove WITH_WSREP

this creates ABI incompatiility. install wsrep headers instead
Lawrin Novitsky
ODBC-499 bookmark buffer overflow in case of array fetch.

If bookmarks were used together with array row fetch, the address of the
bookmark buffer is calculated incorrectly, and with column-wise binding
it is guaranteed that the driver writes past the allocated buffer. With
row-based it's less probable, but address was calculated incorrectly and
would overwrite column data.
Also, the bookmark themselves would be written for the 1st row in the
block cursor, and that is incorrect.
The patch adds thorough test of the bookmarks use.
Lawrin Novitsky
CONCPP-160 Binary RS metadata was re-read before mysql_stmt_store_result

That prevented the driver to have info about max field length. That made
calculation of that length by C/C useless + made it allocate larger
buffers for row and RS cache.

The test does not cover that. I can not think of one. But leaving it in
plcace - won't hurt.
bsrikanth-mariadb
MDEV-39368: Code cleanup and make it more maintainable

1. Remove hard codings and instead use MACROS
2. Introduce pre and post query hooks
3. Remove duplicate code and instead use functions
Lawrin Novitsky
ODBC-506 3.2 specific part

Dirty "ArrayOffset" could cause driver to think ArrayStatusPtr is not
null, i.e. provided by the application ever if it didn't. That could
cause the crash.
Lawrin Novitsky
CONCPP-165 the driver made more resilient to unexpected data in date/time fields

The functions parsing Date and Timestamp fields(in text protocol) expected data
in normal format only. Evil server could make them write to unallocated
vector members and with specially crafted strings could control offset
and whad driver writes there
Lawrin Novitsky
Removed last remains of the _snprintf

Fixed strange error in one test.
Lawrin Novitsky
Moved C/C to what is supposed to be 3.3.21
Lawrin Novitsky
Removed last remains of the _snprintf