1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00

[gemini] optional, not enabled by default

This commit is contained in:
Witold Filipczyk 2021-07-02 21:28:48 +02:00
parent c08faee07b
commit 0d76fc0f2a
9 changed files with 25 additions and 12 deletions

View File

@ -130,6 +130,7 @@ CONFIG_FTP = @CONFIG_FTP@
CONFIG_GLOBHIST = @CONFIG_GLOBHIST@ CONFIG_GLOBHIST = @CONFIG_GLOBHIST@
CONFIG_GNUTLS = @CONFIG_GNUTLS@ CONFIG_GNUTLS = @CONFIG_GNUTLS@
CONFIG_GNUTLS_OPENSSL_COMPAT = @CONFIG_GNUTLS_OPENSSL_COMPAT@ CONFIG_GNUTLS_OPENSSL_COMPAT = @CONFIG_GNUTLS_OPENSSL_COMPAT@
CONFIG_GEMINI = @CONFIG_GEMINI@
CONFIG_GOPHER = @CONFIG_GOPHER@ CONFIG_GOPHER = @CONFIG_GOPHER@
CONFIG_GPM = @CONFIG_GPM@ CONFIG_GPM = @CONFIG_GPM@
CONFIG_GZIP = @CONFIG_GZIP@ CONFIG_GZIP = @CONFIG_GZIP@

View File

@ -88,6 +88,9 @@
/* Define if you want: GNUTLS support */ /* Define if you want: GNUTLS support */
#mesondefine CONFIG_GNUTLS #mesondefine CONFIG_GNUTLS
/* Define if you want: Gemini protocol support */
#mesondefine CONFIG_GEMINI
/* Define if you want: Gopher protocol support */ /* Define if you want: Gopher protocol support */
#mesondefine CONFIG_GOPHER #mesondefine CONFIG_GOPHER

View File

@ -1443,6 +1443,9 @@ fi
EL_ARG_ENABLE(CONFIG_FTP, ftp, [FTP protocol], EL_ARG_ENABLE(CONFIG_FTP, ftp, [FTP protocol],
[ --disable-ftp disable ftp protocol support]) [ --disable-ftp disable ftp protocol support])
EL_ARG_ENABLE(CONFIG_GEMINI, gemini, [Gemini protocol],
[ --enable-gemini enable gemini protocol support])
EL_ARG_ENABLE(CONFIG_GOPHER, gopher, [Gopher protocol], EL_ARG_ENABLE(CONFIG_GOPHER, gopher, [Gopher protocol],
[ --enable-gopher enable gopher protocol support]) [ --enable-gopher enable gopher protocol support])

View File

@ -26,6 +26,7 @@ conf_data.set('CONFIG_MIMETYPES', get_option('mimetypes'))
conf_data.set('CONFIG_IPV6', get_option('ipv6')) conf_data.set('CONFIG_IPV6', get_option('ipv6'))
conf_data.set('CONFIG_BITTORRENT', get_option('bittorrent')) conf_data.set('CONFIG_BITTORRENT', get_option('bittorrent'))
conf_data.set('CONFIG_DATA', get_option('data')) conf_data.set('CONFIG_DATA', get_option('data'))
conf_data.set('CONFIG_GEMINI', get_option('gemini'))
conf_data.set('CONFIG_URI_REWRITE', get_option('uri-rewrite')) conf_data.set('CONFIG_URI_REWRITE', get_option('uri-rewrite'))
conf_data.set('CONFIG_CGI', get_option('cgi')) conf_data.set('CONFIG_CGI', get_option('cgi'))

View File

@ -61,3 +61,4 @@ option('libev', type: 'boolean', value: false, description: 'compile with libev
option('libevent', type: 'boolean', value: false, description: 'compile with libevent. Note that libev has precedence') option('libevent', type: 'boolean', value: false, description: 'compile with libevent. Note that libev has precedence')
option('x', type: 'boolean', value: false, description: 'use the X Window System') option('x', type: 'boolean', value: false, description: 'use the X Window System')
option('xml', type: 'boolean', value: false, description: 'libxml++') option('xml', type: 'boolean', value: false, description: 'libxml++')
option('gemini', type: 'boolean', value: false, description: 'gemini protocol support')

View File

@ -5,12 +5,13 @@ SUBDIRS-$(CONFIG_BITTORRENT) += bittorrent
SUBDIRS-$(CONFIG_FINGER) += finger SUBDIRS-$(CONFIG_FINGER) += finger
SUBDIRS-$(CONFIG_FSP) += fsp SUBDIRS-$(CONFIG_FSP) += fsp
SUBDIRS-$(CONFIG_FTP) += ftp SUBDIRS-$(CONFIG_FTP) += ftp
SUBDIRS-$(CONFIG_GEMINI) += gemini
SUBDIRS-$(CONFIG_GOPHER) += gopher SUBDIRS-$(CONFIG_GOPHER) += gopher
SUBDIRS-$(CONFIG_NNTP) += nntp SUBDIRS-$(CONFIG_NNTP) += nntp
SUBDIRS-$(CONFIG_SMB) += smb SUBDIRS-$(CONFIG_SMB) += smb
SUBDIRS-$(CONFIG_URI_REWRITE) += rewrite SUBDIRS-$(CONFIG_URI_REWRITE) += rewrite
SUBDIRS = auth file gemini http test SUBDIRS = auth file http test
OBJS-$(CONFIG_DATA) += data.o OBJS-$(CONFIG_DATA) += data.o

View File

@ -37,6 +37,7 @@
static void done_gemini(); static void done_gemini();
static void gemini_got_header(struct socket *socket, struct read_buffer *rb);
struct module gemini_protocol_module = struct_module( struct module gemini_protocol_module = struct_module(
/* name: */ N_("Gemini"), /* name: */ N_("Gemini"),
@ -48,12 +49,15 @@ struct module gemini_protocol_module = struct_module(
/* done: */ done_gemini /* done: */ done_gemini
); );
static void static void
done_gemini(void) done_gemini(void)
{ {
} }
struct gemini_connection_info {
int code;
};
static void static void
gemini_end_request(struct connection *conn, struct connection_state state, gemini_end_request(struct connection *conn, struct connection_state state,
int notrunc) int notrunc)
@ -80,7 +84,7 @@ done_gemini_connection(struct connection *conn)
conn->done = NULL; conn->done = NULL;
} }
struct gemini_connection_info * static struct gemini_connection_info *
init_gemini_connection_info(struct connection *conn) init_gemini_connection_info(struct connection *conn)
{ {
struct gemini_connection_info *gemini; struct gemini_connection_info *gemini;
@ -257,7 +261,7 @@ get_gemini_code(struct read_buffer *rb, int *code)
return 0; return 0;
} }
void static void
gemini_got_header(struct socket *socket, struct read_buffer *rb) gemini_got_header(struct socket *socket, struct read_buffer *rb)
{ {
struct connection *conn = socket->conn; struct connection *conn = socket->conn;

View File

@ -13,16 +13,13 @@ struct connection;
struct read_buffer; struct read_buffer;
struct socket; struct socket;
struct gemini_connection_info {
int code;
};
extern struct module gemini_protocol_module; extern struct module gemini_protocol_module;
#ifdef CONFIG_GEMINI
extern protocol_handler_T gemini_protocol_handler; extern protocol_handler_T gemini_protocol_handler;
#else
struct gemini_connection_info *init_gemini_connection_info(struct connection *conn); #define gemini_protocol_handler NULL
void gemini_got_header(struct socket *, struct read_buffer *); #endif
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -10,6 +10,9 @@ endif
if conf_data.get('CONFIG_FTP') if conf_data.get('CONFIG_FTP')
subdir('ftp') subdir('ftp')
endif endif
if conf_data.get('CONFIG_GEMINI')
subdir('gemini')
endif
if conf_data.get('CONFIG_GOPHER') if conf_data.get('CONFIG_GOPHER')
subdir('gopher') subdir('gopher')
endif endif
@ -24,7 +27,6 @@ if conf_data.get('CONFIG_URI_REWRITE')
endif endif
subdir('auth') subdir('auth')
subdir('file') subdir('file')
subdir('gemini')
subdir('http') subdir('http')
if conf_data.get('CONFIG_DATA') if conf_data.get('CONFIG_DATA')