Skip to content

MariaDB releases (10.6.24, 10.11.15, 11.4.9, 11.8.5, 12.1.2)#21

Merged
jwaisner merged 1 commit intomainfrom
November
Nov 23, 2025
Merged

MariaDB releases (10.6.24, 10.11.15, 11.4.9, 11.8.5, 12.1.2)#21
jwaisner merged 1 commit intomainfrom
November

Conversation

@jwaisner
Copy link
Contributor

@jwaisner jwaisner commented Nov 23, 2025

PR Type

Enhancement


Description

  • Add configuration files for five new MariaDB releases

  • Each release includes bearsampp.conf and my.ini configuration files

  • Versions added: 10.6.24, 10.11.15, 11.4.9, 11.8.5, 12.1.2

  • Configurations include database paths, port settings, and InnoDB parameters


Diagram Walkthrough

flowchart LR
  A["MariaDB Releases"] --> B["10.6.24"]
  A --> C["10.11.15"]
  A --> D["11.4.9"]
  A --> E["11.8.5"]
  A --> F["12.1.2"]
  B --> G["bearsampp.conf + my.ini files"]
  C --> G
  D --> G
  E --> G
  F --> G
Loading

File Walkthrough

Relevant files
Configuration changes
15 files
bearsampp.conf
MariaDB 10.6.24 configuration file                                             
+10/-0   
my.ini
MariaDB 10.6.24 database settings                                               
+46/-0   
my.ini.ber
MariaDB 10.6.24 backup configuration                                         
+46/-0   
bearsampp.conf
MariaDB 10.11.15 configuration file                                           
+10/-0   
my.ini
MariaDB 10.11.15 database settings                                             
+46/-0   
my.ini.ber
MariaDB 10.11.15 backup configuration                                       
+46/-0   
bearsampp.conf
MariaDB 11.4.9 configuration file                                               
+10/-0   
my.ini
MariaDB 11.4.9 database settings                                                 
+46/-0   
my.ini.ber
MariaDB 11.4.9 backup configuration                                           
+46/-0   
bearsampp.conf
MariaDB 11.8.5 configuration file                                               
+10/-0   
my.ini
MariaDB 11.8.5 database settings                                                 
+46/-0   
my.ini.ber
MariaDB 11.8.5 backup configuration                                           
+46/-0   
bearsampp.conf
MariaDB 12.1.2 configuration file                                               
+10/-0   
my.ini
MariaDB 12.1.2 database settings                                                 
+46/-0   
my.ini.ber
MariaDB 12.1.2 backup configuration                                           
+46/-0   

@qodo-code-review
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🔴
Default root no password

Description: The default root account is configured without a password (mariadbRootUser = "root" with
mariadbRootPwd = ""), which enables trivial unauthorized access if the instance is exposed
or started without additional access controls.
bearsampp.conf [7-8]

Referred Code
mariadbRootUser = "root"
mariadbRootPwd = ""
Default root no password

Description: The default root account is configured without a password (mariadbRootUser = "root" with
mariadbRootPwd = ""), which enables trivial unauthorized access if the instance is exposed
or started without additional access controls.
bearsampp.conf [7-8]

Referred Code
mariadbRootUser = "root"
mariadbRootPwd = ""
Default root no password

Description: The default root account is configured without a password (mariadbRootUser = "root" with
mariadbRootPwd = ""), which enables trivial unauthorized access if the instance is exposed
or started without additional access controls.
bearsampp.conf [7-8]

Referred Code
mariadbRootUser = "root"
mariadbRootPwd = ""
Default root no password

Description: The default root account is configured without a password (mariadbRootUser = "root" with
mariadbRootPwd = ""), which enables trivial unauthorized access if the instance is exposed
or started without additional access controls.
bearsampp.conf [7-8]

Referred Code
mariadbRootUser = "root"
mariadbRootPwd = ""
Default root no password

Description: The default root account is configured without a password (mariadbRootUser = "root" with
mariadbRootPwd = ""), which enables trivial unauthorized access if the instance is exposed
or started without additional access controls.
bearsampp.conf [7-8]

Referred Code
mariadbRootUser = "root"
mariadbRootPwd = ""
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit logs: The configuration files add database services without enabling or referencing any auditing
of critical actions, making it unclear whether audit trails will be recorded.

Referred Code
[client]
port = 3307
socket = /tmp/mariadb.sock

[mysqld]
port = 3307
socket = ~BEARSAMPP_LIN_PATH~/tmp/mariadb.sock
key_buffer_size = 16M
max_allowed_packet = 1M

table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb10.11.15
log-error=~BEARSAMPP_LIN_PATH~/logs/mariadb.log
datadir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb10.11.15/data

skip-external-locking


 ... (clipped 25 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Error handling unclear: The added configuration does not define failure handling (e.g., on start-up, log rotation,
or disk-full scenarios) or diagnostics beyond a single log file path, leaving robustness
unspecified.

Referred Code
[client]
port = 3307
socket = /tmp/mariadb.sock

[mysqld]
port = 3307
socket = ~BEARSAMPP_LIN_PATH~/tmp/mariadb.sock
key_buffer_size = 16M
max_allowed_packet = 1M

table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb12.1.2
log-error=~BEARSAMPP_LIN_PATH~/logs/mariadb.log
datadir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb12.1.2/data

skip-external-locking


 ... (clipped 25 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status:
Log exposure risk: The configuration writes errors to a common log file but does not indicate safeguards
against exposing internal details to end-users or unsecured outputs.

Referred Code
basedir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb11.4.9
log-error=~BEARSAMPP_LIN_PATH~/logs/mariadb.log
datadir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb11.4.9/data

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status:
Unstructured logs: The configuration enables error logging to a plain text file without specifying structured
logging or redaction controls, which may hinder secure auditing.

Referred Code
basedir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb10.6.24
log-error=~BEARSAMPP_LIN_PATH~/logs/mariadb.log
datadir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb10.6.24/data

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
Weak defaults: The configuration sets mariadbRootUser = "root" with an empty mariadbRootPwd,
which could permit insecure default authentication if applied directly.

Referred Code
mariadbRootUser = "root"
mariadbRootPwd = ""

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Use templates for configuration files

To avoid significant code duplication, use a templating system to generate the
version-specific MariaDB configuration files. This approach centralizes
configuration and simplifies future maintenance.

Examples:

bin/mariadb10.6.24/my.ini [1-46]
[client]
port = 3307
socket = /tmp/mariadb.sock

[mysqld]
port = 3307
socket = ~BEARSAMPP_LIN_PATH~/tmp/mariadb.sock
key_buffer_size = 16M
max_allowed_packet = 1M


 ... (clipped 36 lines)
bin/mariadb10.11.15/my.ini [1-46]
[client]
port = 3307
socket = /tmp/mariadb.sock

[mysqld]
port = 3307
socket = ~BEARSAMPP_LIN_PATH~/tmp/mariadb.sock
key_buffer_size = 16M
max_allowed_packet = 1M


 ... (clipped 36 lines)

Solution Walkthrough:

Before:

// file: bin/mariadb10.6.24/bearsampp.conf
mariadbVersion = "10.6.24"
... // identical settings

// file: bin/mariadb10.6.24/my.ini
...
basedir=.../mariadb10.6.24
datadir=.../mariadb10.6.24/data
... // identical settings

// file: bin/mariadb10.11.15/bearsampp.conf
mariadbVersion = "10.11.15"
... // identical settings

// ... and so on for all other versions

After:

// file: templates/bearsampp.conf.tpl
mariadbVersion = "{{MARIADB_VERSION}}"
... // common settings

// file: templates/my.ini.tpl
...
basedir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb{{MARIADB_VERSION}}
datadir=~BEARSAMPP_LIN_PATH~/bin/mariadb/mariadb{{MARIADB_VERSION}}/data
... // common settings

// build_script.py
versions = ["10.6.24", "10.11.15", ...]
for version in versions:
  generate_config_from_template(
    'templates/my.ini.tpl',
    f'bin/mariadb{version}/my.ini',
    {'MARIADB_VERSION': version}
  )
  // ... and so on for other templates
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies massive code duplication across all new configuration files and proposes a templating solution, which is a significant architectural improvement for maintainability.

High
Security
Avoid using an empty root password

Set a non-empty default password for the MariaDB root user to fix a critical
security vulnerability. The current configuration uses an empty password.

bin/mariadb10.11.15/bearsampp.conf [8]

-mariadbRootPwd = ""
+mariadbRootPwd = "changeme"
  • Apply / Chat
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies a critical security vulnerability by pointing out the empty root password and recommends setting a default password, which is a crucial security best practice.

High
General
Enable safe updates for data protection

Enable the safe-updates option in the MariaDB configuration to prevent
accidental mass data modification from UPDATE or DELETE statements without a
WHERE or LIMIT clause.

bin/mariadb10.11.15/my.ini [37]

-#safe-updates
+safe-updates
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: This is a valuable suggestion that enhances data safety by preventing accidental mass updates or deletions, which is a common and dangerous mistake.

Medium
  • More

@jwaisner jwaisner merged commit 0cf0d1e into main Nov 23, 2025
1 check passed
@jwaisner jwaisner deleted the November branch November 23, 2025 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant