Skip to content

fix: disable MSSQL encryption by default#41811

Open
lupingblaine wants to merge 1 commit into
appsmithorg:releasefrom
lupingblaine:fix/41627-mssql-ssl-handshake-failure
Open

fix: disable MSSQL encryption by default#41811
lupingblaine wants to merge 1 commit into
appsmithorg:releasefrom
lupingblaine:fix/41627-mssql-ssl-handshake-failure

Conversation

@lupingblaine
Copy link
Copy Markdown

@lupingblaine lupingblaine commented May 14, 2026

Summary

This PR fixes MSSQL connection failures caused by the default SSL setting.

Currently, new MSSQL datasources default to NO_VERIFY, which generates encrypt=true in the JDBC URL. This can cause SSL handshake failures when the SQL Server does not require encryption.

Changes

  • Changed the default SSL mode from NO_VERIFY to DISABLE
  • Added graceful fallback when SSL configuration is missing
  • Default to encrypt=false when SSL settings are absent

Fixes #41627

Summary by CodeRabbit

  • Bug Fixes
    • Improved MSSQL database connection handling when SSL configuration is missing; connections now default to disabled encryption instead of throwing an error.
    • Updated default SSL authentication type for MSSQL connections.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 38e5802a-4cda-43c7-bd7a-154a298a6e22

📥 Commits

Reviewing files that changed from the base of the PR and between d75495a and ecec931.

📒 Files selected for processing (2)
  • app/server/appsmith-plugins/mssqlPlugin/src/main/java/com/external/plugins/MssqlPlugin.java
  • app/server/appsmith-plugins/mssqlPlugin/src/main/resources/form.json

Walkthrough

MSSQL plugin SSL configuration handling becomes more permissive: absent SSL settings now default to disabled encryption instead of raising an exception, with the form schema updated to reflect DISABLE as the initial AuthType value rather than NO_VERIFY.

Changes

MSSQL SSL Default Behavior

Layer / File(s) Summary
SSL configuration handling
app/server/appsmith-plugins/mssqlPlugin/src/main/java/com/external/plugins/MssqlPlugin.java, app/server/appsmith-plugins/mssqlPlugin/src/main/resources/form.json
addSslOptionsToUrlBuilder treats null SSL configuration as valid and appends encrypt=false; with early return instead of throwing AppsmithPluginException. Form default initialValue for datasourceConfiguration.connection.ssl.authType changes from NO_VERIFY to DISABLE.

🎯 2 (Simple) | ⏱️ ~8 minutes

🔐 Encryption defaults with grace,
No more exceptions in this case,
MSSQL relaxes its SSL dance, 💃
From error to encrypt=false—a second chance.

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR fixes MSSQL SSL configuration issues, but the linked issue #41627 is about adding SeaTable as a native data source plugin—a completely unrelated feature. Verify the correct issue number is linked; this PR should reference an issue about MSSQL encryption/SSL configuration, not the SeaTable plugin issue.
Out of Scope Changes check ⚠️ Warning All changes are scoped to MSSQL SSL/encryption configuration, but the linked issue #41627 concerns SeaTable integration, indicating a scope mismatch between PR objectives and linked issue. Confirm the linked issue is correct; if this is intentional cross-issue work, clarify the connection or link the appropriate MSSQL-related issue.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: disabling MSSQL encryption by default.
Description check ✅ Passed The description covers the problem, changes made, and issue reference; follows template requirements with motivation and issue link.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

feat: Add SeaTable as native data source plugin

1 participant