Skip to content

Compile fixes for SSL on Windows 64bit - #2555

Merged
jwillemsen merged 12 commits into
DOCGroup:masterfrom
jwillemsen:jwi-sslerrors
Jul 25, 2026
Merged

Compile fixes for SSL on Windows 64bit#2555
jwillemsen merged 12 commits into
DOCGroup:masterfrom
jwillemsen:jwi-sslerrors

Conversation

@jwillemsen

@jwillemsen jwillemsen commented Jul 22, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Refactor
    • Clarified platform-aware select() width/range handling across SSL accept/connect, proxy connector, SSL stream, and related example event loops without changing behavior.
    • Updated Win32 OpenSSL file-descriptor assignment to use safer integer casting.
    • Streamlined a small SSL context variable initialization in DH parameter loading.
  • Style
    • Minor cleanup to make readiness/event-loop select() calculations more explicit.

    * ACE/ace/SSL/SSL_SOCK_Acceptor.cpp:
    * ACE/ace/SSL/SSL_SOCK_Stream.inl:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp:
    * ACE/ace/SSL/SSL_SOCK_Connector.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
    * ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp:
@mergify

mergify Bot commented Jul 22, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@jwillemsen

Copy link
Copy Markdown
Member Author

Fixed DOCGroup/bugzilla#4179

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 52230006-e2e6-4929-a9ef-d94dc2bcc93e

📥 Commits

Reviewing files that changed from the base of the PR and between ecb1ed3 and 9c53c46.

📒 Files selected for processing (1)
  • ACE/examples/IPC_SAP/SSL_SAP/SSL-server.cpp

Walkthrough

SSL select width calculations are now platform-conditional across SSL socket, proxy, and example event-loop code. Windows SSL descriptor conversions use explicit intptr_t and C++ casts. DH parameter result declaration is scoped to its assignment.

Changes

SSL portability and cast updates

Layer / File(s) Summary
Platform-specific select width handling
ACE/ace/SSL/SSL_SOCK_Acceptor.cpp, ACE/ace/SSL/SSL_SOCK_Connector.cpp, ACE/ace/SSL/SSL_SOCK_Stream.cpp, ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp, ACE/examples/IPC_SAP/SSL_SAP/SSL-server-*.cpp, ACE/ace/ACE.cpp
Select width values are initialized locally and computed from handles only on non-Windows builds; acceptor handle comparisons and event-loop logic remain unchanged.
Explicit SSL descriptor casts
ACE/ace/SSL/SSL_SOCK_Stream.inl, ACE/examples/C++NPv2/*_Logging_Daemon.cpp
Windows SSL_set_fd calls now convert handles through intptr_t using static_cast<int>.
DH parameter result declaration
ACE/ace/SSL/SSL_Context.cpp
The PEM_read_bio_DHparams() result is declared at assignment, with the existing null check retained.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Poem

A rabbit hopped through SSL code,
And tidied handles on the road.
Windows widths now rest at zero,
Casts guide each socket like a hero.
DH results bloom where read calls start—
Small changes, neatly set apart.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: SSL compile fixes for Windows 64-bit builds.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

    * ACE/ace/SSL/SSL_SOCK_Connector.cpp:
    * ACE/ace/SSL/SSL_SOCK_Stream.inl:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp:
    * ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp:

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp`:
- Line 151: Update the ACE::select call in SSL_Proxy_Connector to avoid
reinterpret_cast<int>(handle): pass 0 for the Windows HANDLE path, where nfds is
ignored, and use static_cast<int>(handle) only on non-Windows platforms.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0a1dc305-5c65-4948-8d57-5e3aa6270348

📥 Commits

Reviewing files that changed from the base of the PR and between 398719d and 525a02c.

📒 Files selected for processing (5)
  • ACE/ace/SSL/SSL_SOCK_Connector.cpp
  • ACE/ace/SSL/SSL_SOCK_Stream.inl
  • ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp
  • ACE/examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp
  • ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp
🚧 Files skipped from review as they are similar to previous changes (4)
  • ACE/ace/SSL/SSL_SOCK_Stream.inl
  • ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp
  • ACE/ace/SSL/SSL_SOCK_Connector.cpp
  • ACE/examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp

Comment thread ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp Outdated
    * ACE/ace/SSL/SSL_SOCK_Acceptor.cpp:
    * ACE/ace/SSL/SSL_SOCK_Connector.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp:
    * ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp:
    * ACE/ace/ACE.cpp:
    * ACE/ace/SSL/SSL_SOCK_Acceptor.cpp:
    * ACE/ace/SSL/SSL_SOCK_Stream.cpp:
    * ACE/ace/SSL/SSL_SOCK_Connector.cpp:
    * ACE/ace/SSL/SSL_SOCK_Stream.inl:
    * ACE/examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
    * ACE/examples/C++NPv2/AIO_Client_Logging_Daemon.cpp:
    * ACE/examples/C++NPv2/TPC_Logging_Server.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
    * ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp:
    * ACE/ace/ACE.cpp:
    * ACE/ace/SSL/SSL_SOCK_Acceptor.cpp:
    * ACE/ace/SSL/SSL_SOCK_Connector.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp:
    * ACE/protocols/ace/INet/SSL_Proxy_Connector.cpp:
    * ACE/ace/SSL/SSL_SOCK_Stream.cpp:
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
    * ACE/ace/SSL/SSL_Context.cpp:
@jwillemsen jwillemsen changed the title Compile fixes for SSL Compile fixes for SSL on Windows 64bit Jul 24, 2026
    * ACE/examples/IPC_SAP/SSL_SAP/SSL-server.cpp:
@jwillemsen
jwillemsen merged commit 354177e into DOCGroup:master Jul 25, 2026
47 of 48 checks passed
@jwillemsen
jwillemsen deleted the jwi-sslerrors branch July 25, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant