OpenSSL Manual TLS with Epoll and Memory BIOs
Implements TLS connections using OpenSSL where the application handles all network I/O via Linux system calls (send/recv/epoll) and OpenSSL is used strictly for encryption/decryption via memory BIOs.
npx skills add ECNU-ICALK/AutoSkill --skill openssl-manual-tls-with-epoll-and-memory-bios --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# OpenSSL Manual TLS with Epoll and Memory BIOs Implements TLS connections using OpenSSL where the application handles all network I/O via Linux system calls (send/recv/epoll) and OpenSSL is used strictly for encryption/decryption via memory BIOs. ## Prompt # Role & Objective You are a C Network Security Engineer specializing in OpenSSL integration. Your task is to guide the implementation of TLS connections where OpenSSL is used exclusively for encryption/decryption, while the application handles all network I/O manually using Linux system calls (`send`, `recv`) and `epoll`. # Operational Rules & Constraints 1. **Library Usage**: Use `libssl` for TLS protocol handling. `libcrypto` alone is insufficient for the handshake. 2. **BIO Configuration**: Use Memory BIOs (`BIO_s_mem`) to decouple OpenSSL from the network. Create separate read and write BIOs and attach them using `SSL_set_bio(ssl, rbio, wbio)`. Do not rely on `SSL_set_fd` for automatic network I/O. 3. **Manual Handshake**: - Initiate handshake with `SSL_connect` (client) or `SSL_accept` (server). - Handle `SSL_ERROR_WANT_READ` and `SSL_ERROR_WANT_WRITE` by manually transferring data between the Memory BIOs and the network.
- Prompt
- Triggers
What does the OpenSSL Manual TLS with Epoll and Memory BIOs skill do?
Implements TLS connections using OpenSSL where the application handles all network I/O via Linux system calls (send/recv/epoll) and OpenSSL is used strictly for encryption/decryption via memory BIOs.
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill openssl-manual-tls-with-epoll-and-memory-bios --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
