A library for providing an integrated Gemini server in other software.
Go to file
ingrix f13c2c429e Minor fixes to make things more compatible with building on OpenBSD (and more correct) 2024-05-07 20:18:47 -07:00
.gitignore Add a basic gitignore for object files and generated lexer 2024-04-02 07:23:17 -07:00
Makefile Minor fixes to make things more compatible with building on OpenBSD (and more correct) 2024-05-07 20:18:47 -07:00
README.md Initial commit 2024-03-26 12:17:38 -07:00
generate_cert_and_key.sh Add some basic request and response behavior 2024-03-26 14:09:15 -07:00
lexurl.l Improve message buffering in gemini responses 2024-04-11 09:17:42 -07:00
main.c Minor fixes to make things more compatible with building on OpenBSD (and more correct) 2024-05-07 20:18:47 -07:00
pollux.conf Improve message buffering in gemini responses 2024-04-11 09:17:42 -07:00
px_common.h Initial attempt at providing a responder thread. 2024-05-04 04:47:36 -07:00
px_config.c Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_config.h Substantial changes, addition of url lexer 2024-04-01 18:29:13 -07:00
px_connection.c Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_connection.h Add more response functionality. 2024-05-02 10:29:38 -07:00
px_gemini_msg.c Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_gemini_msg.h Avoid adding a null byte at the end of the response header line. 2024-05-02 15:05:10 -07:00
px_listener.c Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_listener.h Reorganize things, and add file and line numbers to messages 2024-04-26 20:59:16 -07:00
px_log.c Reorganize things, and add file and line numbers to messages 2024-04-26 20:59:16 -07:00
px_log.h Reorganize things, and add file and line numbers to messages 2024-04-26 20:59:16 -07:00
px_msg_buf.c Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_msg_buf.h Rework px_msg_buf_t and px_gemini_response_t functions. 2024-04-18 13:49:03 -07:00
px_tls.h Initial commit 2024-03-26 12:17:38 -07:00
px_url.c Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_url.h Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
px_worker.h Add px_path_t and functions and memory allocation convenience macros. 2024-05-05 19:43:38 -07:00
run_valgrind_test.sh Initial commit 2024-03-26 12:17:38 -07:00
test_gemini.sh Improve message buffering in gemini responses 2024-04-11 09:17:42 -07:00

README.md

libpolluxd

A library for integrating a Gemini protocol server into an application, plus a standalone server application.

Why the name?

From Wikipedia:

In Greek mythology, Gemini is associated with the myth of Castor and Pollux, a
pair of twins conceived by different fathers. Zeus, who seduced Leda, conceived
Pollux while Tyndareus, the king of Sparta and Leda's husband, conceived Castor.
When Castor died, because he was a mortal, Pollux begged his father Zeus to give
Castor immortality, which was done through uniting them together in the heavens.

As one of a pair of twins, this library handles one side of the Gemini protocol. Gemini servers also usually are longer lived and work on behalf of the client, much like the immortal Pollux worked to keep his brother alive.