Commit: aced39fc30b271f5777a4ccd3b0898d3d7aec2cc
Parent: bbb228190f8671edf6a44a5e60c4a3164ac478c8
Author: opask
Date: Wed, 11 Jul 2018 22:47:33 -0600
cleanup #ifdefs/unused code, update config.mk
Diffstat:
16 files changed, 19 insertions(+), 270 deletions(-)
diff --git a/TODO b/TODO
@@ -28,3 +28,7 @@
- better font support
- links and links-g?
+
+- get rid of _BSD_SOURCE macro
+ - completely if possible
+ - _POSIX_C_SOURCE or _XOPEN_SOURCE aren't as bad
diff --git a/bfu.c b/bfu.c
@@ -1581,10 +1581,9 @@ static int check_local_ip_address_internal(struct dialog_data *dlg, struct dialo
if (!*p) {
return 0;
}
-#ifdef SUPPORT_IPV6
- if (pf == PF_INET6) rs = numeric_ipv6_address(p, NULL, NULL);
+ if (pf == PF_INET6)
+ rs = numeric_ipv6_address(p, NULL, NULL);
else
-#endif
rs = numeric_ip_address(p, NULL);
if (rs) {
msg_box(dlg->win->term, NULL, TEXT_(T_BAD_IP_ADDRESS), AL_CENTER, TEXT_(T_INVALID_IP_ADDRESS_SYNTAX), MSG_BOX_END, NULL, 1, TEXT_(T_CANCEL), msg_box_null, B_ENTER | B_ESC);
@@ -1624,11 +1623,7 @@ int check_local_ip_address(struct dialog_data *dlg, struct dialog_item_data *di)
int check_local_ipv6_address(struct dialog_data *dlg, struct dialog_item_data *di)
{
-#ifdef SUPPORT_IPV6
return check_local_ip_address_internal(dlg, di, PF_INET6);
-#else
- return 0;
-#endif
}
int cancel_dialog(struct dialog_data *dlg, struct dialog_item_data *di)
diff --git a/com-defs.h b/com-defs.h
@@ -1,28 +0,0 @@
-#ifndef COM_DEFS_H
-#define COM_DEFS_H
-
-#ifndef __EXTENSIONS__
-#define __EXTENSIONS__
-#endif
-
-#ifndef _LARGEFILE_SOURCE
-#define _LARGEFILE_SOURCE 1
-#endif
-
-#ifndef _LARGEFILE
-#define _LARGEFILE 1
-#endif
-
-#ifndef _ALL_SOURCE
-#define _ALL_SOURCE 1
-#endif
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#ifndef _FILE_OFFSET_BITS
-#define _FILE_OFFSET_BITS 64
-#endif
-
-#endif
diff --git a/config.h b/config.h
@@ -1,35 +1,7 @@
/* Define if you have the pthread_sigmask function. */
#define HAVE_PTHREAD_SIGMASK 1
-/* Define if you have the event library (-levent). */
-#define HAVE_LIBEVENT 1
-
-/* Define if you have the pthread library (-lpthread). */
-#define HAVE_LIBPTHREAD 1
-
-/* Name of package */
-#define PACKAGE "links"
-
-/* Version number of package */
-#define VERSION "2.16"
-
/* */
#define HAVE_SIGFILLSET 1
-/* */
-#define SUPPORT_IPV6 1
-
-/* */
-#define SUPPORT_IPV6_SCOPE 1
-
-/* */
-#define HAVE_SSL 1
-
-/* */
-#define HAVE_CRYPTO_SET_MEM_FUNCTIONS_1 1
-
#define HAVE_GETHOSTBYNAME 1
-#define SUPPORT_IPV6 1
-
-#undef USE_GPM
-#undef HAVE_BUILTIN_SSL_CERTIFICATES
diff --git a/config.mk b/config.mk
@@ -1,3 +1,5 @@
+VERSION = 2.16
+
PREFIX = /
MANPREFIX = $(PREFIX)/share/man
@@ -7,7 +9,8 @@ X11LIB = /usr/X11R6/lib
INCS = -I. -I/usr/include -I$(X11INC)
LIBS = -L$(X11LIB) -L/usr/lib -lX11 -levent -lpng -ljpeg -lcrypto -lssl -lz
-CFLAGS = -O2 -include config.h \
+CPPFLAGS = -DVERSION=\"$(VERSION)\" -D_BSD_SOURCE
+CFLAGS = -O2 -std=c99 -Wall -pedantic -include config.h \
-DG=1 -DGRDRV_X \
-DHAVE_JPEG=1 -DHAVE_LIBJPEG=1 -DHAVE_JPEGLIB_H=1 \
-DHAVE_PNG_H=1 -DHAVE_LIBPNG=1 -DHAVE_LIBPNG_PNG_H=1
diff --git a/connect.c b/connect.c
@@ -53,7 +53,6 @@ static void log_number(int number)
#define log_number(x) do { } while (0)
#endif
-#ifdef HAVE_SSL
static void log_ssl_error(unsigned char *url, int line, int ret1, int ret2)
{
#ifndef LOG_SSL
@@ -86,7 +85,6 @@ void clear_ssl_errors(int line)
if (ERR_peek_error())
log_ssl_error(cast_uchar "", line, 0, 0);
}
-#endif
static void connected(void *);
static void update_dns_priority(struct connection *);
@@ -125,7 +123,6 @@ int socket_and_bind(int pf, unsigned char *address)
}
break;
}
-#ifdef SUPPORT_IPV6
case PF_INET6: {
struct sockaddr_in6 sa;
unsigned char addr[16];
@@ -139,9 +136,7 @@ int socket_and_bind(int pf, unsigned char *address)
sa.sin6_family = AF_INET6;
memcpy(&sa.sin6_addr, addr, 16);
sa.sin6_port = htons(0);
-#ifdef SUPPORT_IPV6_SCOPE
sa.sin6_scope_id = scope;
-#endif
EINTRLOOP(rs, bind(s, (struct sockaddr *)(void *)&sa, sizeof sa));
if (rs) {
int sv_errno = errno;
@@ -151,7 +146,6 @@ int socket_and_bind(int pf, unsigned char *address)
}
break;
}
-#endif
default: {
EINTRLOOP(rs, close(s));
errno = EINVAL;
@@ -246,7 +240,6 @@ void make_connection(struct connection *c, int port, int *sock, void (*func)(str
int is_ipv6(int h)
{
-#ifdef SUPPORT_IPV6
union {
struct sockaddr sa;
struct sockaddr_in sin;
@@ -258,9 +251,6 @@ int is_ipv6(int h)
EINTRLOOP(rs, getsockname(h, &u.sa, &len));
if (rs) return 0;
return u.sa.sa_family == AF_INET6;
-#else
- return 0;
-#endif
}
int get_pasv_socket(struct connection *c, int cc, int *sock, unsigned char *port)
@@ -301,7 +291,6 @@ int get_pasv_socket(struct connection *c, int cc, int *sock, unsigned char *port
return -1;
}
-#ifdef SUPPORT_IPV6
int get_pasv_socket_ipv6(struct connection *c, int cc, int *sock, unsigned char *result)
{
int s;
@@ -355,9 +344,7 @@ int get_pasv_socket_ipv6(struct connection *c, int cc, int *sock, unsigned char
retry_connection(c);
return -1;
}
-#endif
-#ifdef HAVE_SSL
static void ssl_setup_downgrade(struct connection *c)
{
#if !defined(HAVE_NSS)
@@ -461,7 +448,6 @@ static void ssl_want_io(void *c_)
break;
}
}
-#endif
static void handle_socks(void *c_)
{
@@ -615,10 +601,8 @@ static void try_connect(struct connection *c)
/*debug("%p: %p %d %d\n", b, addr, b->l.addr_index, addr->af);*/
if (addr->af == AF_INET) {
s = socket_and_bind(PF_INET, bind_ip_address);
-#ifdef SUPPORT_IPV6
} else if (addr->af == AF_INET6) {
s = socket_and_bind(PF_INET6, bind_ipv6_address);
-#endif
} else {
setcstate(c, S_INTERNAL);
abort_connection(c);
@@ -648,18 +632,14 @@ static void try_connect(struct connection *c)
memcpy(&sa.sin_addr.s_addr, addr->addr, 4);
sa.sin_port = htons(p);
EINTRLOOP(rs, connect(s, (struct sockaddr *)(void *)&sa, sizeof sa));
-#ifdef SUPPORT_IPV6
} else if (addr->af == AF_INET6) {
struct sockaddr_in6 sa;
memset(&sa, 0, sizeof sa);
sa.sin6_family = AF_INET6;
memcpy(&sa.sin6_addr, addr->addr, 16);
-#ifdef SUPPORT_IPV6_SCOPE
sa.sin6_scope_id = addr->scope_id;
-#endif
sa.sin6_port = htons(p);
EINTRLOOP(rs, connect(s, (struct sockaddr *)(void *)&sa, sizeof sa));
-#endif
} else {
rs = -1;
errno = EINVAL;
@@ -734,15 +714,13 @@ static void connected(void *c_)
return;
}
log_string(cast_uchar "\nCONNECTED\n");
-#ifdef HAVE_SSL
if (c->ssl) {
int ret1, ret2;
unsigned char *orig_url = remove_proxy_prefix(c->url);
unsigned char *h = get_host_name(orig_url);
log_string(cast_uchar "\nSSL\n");
- if (*h && h[strlen(cast_const_char h) - 1] == '.') {
+ if (*h && h[strlen(cast_const_char h) - 1] == '.')
h[strlen(cast_const_char h) - 1] = 0;
- }
c->ssl = getSSL();
if (!c->ssl) {
ret1 = ret2 = 0;
@@ -761,7 +739,7 @@ static void connected(void *c_)
mem_free(h);
}
#endif
-#if defined(HAVE_SSL_CERTIFICATES) && !defined(OPENSSL_NO_STDIO)
+#if !defined(OPENSSL_NO_STDIO)
if (!proxies.only_proxies) {
if (ssl_options.client_cert_key[0]) {
SSL_use_PrivateKey_file(c->ssl->ssl, cast_const_char ssl_options.client_cert_key, SSL_FILETYPE_PEM);
@@ -775,9 +753,7 @@ static void connected(void *c_)
ssl_setup_downgrade(c);
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
if (h[0] == '[' || !numeric_ip_address(h, NULL)
-#ifdef SUPPORT_IPV6
|| !numeric_ipv6_address(h, NULL, NULL)
-#endif
) goto skip_numeric_address;
SSL_set_tlsext_host_name(c->ssl->ssl, h);
skip_numeric_address:
@@ -801,7 +777,6 @@ skip_numeric_address:
return;
}
}
-#endif
connected_callback(c);
}
@@ -825,7 +800,6 @@ static void connected_callback(struct connection *c)
{
struct conn_info *b = c->newconn;
update_dns_priority(c);
-#ifdef HAVE_SSL_CERTIFICATES
if (c->ssl) {
if (ssl_options.certificates != SSL_ACCEPT_INVALID_CERTIFICATE) {
unsigned char *h = get_host_name(remove_proxy_prefix(c->url));
@@ -873,7 +847,6 @@ static void connected_callback(struct connection *c)
mem_free(h);
}
}
-#endif
retrieve_ssl_session(c);
c->last_lookup_state = b->l;
c->newconn = NULL;
diff --git a/default.c b/default.c
@@ -1206,9 +1206,7 @@ static unsigned char *ipv6_rd(struct option *o, unsigned char *c)
unsigned char *e;
e = str_rd(o, c);
if (e) return e;
-#ifdef SUPPORT_IPV6
if (*(unsigned char *)o->ptr && numeric_ipv6_address(o->ptr, NULL, NULL) == -1) return cast_uchar "Invalid IPv6 address";
-#endif
return NULL;
}
diff --git a/dns.c b/dns.c
@@ -5,9 +5,7 @@
#include "links.h"
-#ifdef SUPPORT_IPV6
int support_ipv6;
-#endif
struct dnsentry {
list_entry_1st
@@ -66,8 +64,6 @@ int numeric_ip_address(unsigned char *name, unsigned char address[4])
return 0;
}
-#ifdef SUPPORT_IPV6
-
static int extract_ipv6_address(struct addrinfo *p, unsigned char address[16], unsigned *scope_id)
{
/*{
@@ -77,11 +73,7 @@ static int extract_ipv6_address(struct addrinfo *p, unsigned char address[16], u
}*/
if (p->ai_family == AF_INET6 && (socklen_t)p->ai_addrlen >= (socklen_t)sizeof(struct sockaddr_in6) && p->ai_addr->sa_family == AF_INET6) {
memcpy(address, &((struct sockaddr_in6 *)p->ai_addr)->sin6_addr, 16);
-#ifdef SUPPORT_IPV6_SCOPE
*scope_id = ((struct sockaddr_in6 *)p->ai_addr)->sin6_scope_id;
-#else
- *scope_id = 0;
-#endif
return 0;
}
return -1;
@@ -115,8 +107,6 @@ int numeric_ipv6_address(unsigned char *name, unsigned char address[16], unsigne
return r;
}
-#endif
-
#if MAX_ADDRESSES > 1
static int memcmp_host_address(struct host_address *a, struct host_address *b)
{
@@ -135,10 +125,8 @@ static void add_address(struct lookup_result *host, int af, unsigned char *addre
#endif
if (af != AF_INET && preference == ADDR_PREFERENCE_IPV4_ONLY)
return;
-#ifdef SUPPORT_IPV6
if (af != AF_INET6 && preference == ADDR_PREFERENCE_IPV6_ONLY)
return;
-#endif
if (host->n >= MAX_ADDRESSES)
return;
memset(&neww, 0, sizeof(struct host_address));
@@ -155,12 +143,10 @@ static void add_address(struct lookup_result *host, int af, unsigned char *addre
t = n;
break;
}
-#ifdef SUPPORT_IPV6
if (preference == ADDR_PREFERENCE_IPV6 && af == AF_INET6 && n->af != AF_INET6) {
t = n;
break;
}
-#endif
}
memmove(t + 1, t, (e - t) * sizeof(struct host_address));
#endif
@@ -182,7 +168,6 @@ static int use_getaddrinfo(unsigned char *name, struct addrinfo *hints, int pref
add_address(host, AF_INET, (unsigned char *)&((struct sockaddr_in *)p->ai_addr)->sin_addr.s_addr, 0, preference);
continue;
}
-#ifdef SUPPORT_IPV6
{
unsigned char address[16];
unsigned scope_id;
@@ -191,7 +176,6 @@ static int use_getaddrinfo(unsigned char *name, struct addrinfo *hints, int pref
continue;
}
}
-#endif
}
freeaddrinfo(res);
return 0;
@@ -230,9 +214,7 @@ do_swap:
void do_real_lookup(unsigned char *name, int preference, struct lookup_result *host)
{
unsigned char address[16];
-#ifdef SUPPORT_IPV6
size_t nl;
-#endif
memset(host, 0, sizeof(struct lookup_result));
@@ -245,7 +227,6 @@ void do_real_lookup(unsigned char *name, int preference, struct lookup_result *h
add_address(host, AF_INET, address, 0, preference);
goto ret;
}
-#ifdef SUPPORT_IPV6
nl = strlen(cast_const_char name);
if (name[0] == '[' && name[nl - 1] == ']') {
unsigned char *n2 = cast_uchar strdup(cast_const_char(name + 1));
@@ -266,11 +247,10 @@ void do_real_lookup(unsigned char *name, int preference, struct lookup_result *h
goto ret;
}
}
-#endif
#if defined(USE_GETADDRINFO)
use_getaddrinfo(name, NULL, preference, host);
-#if defined(SUPPORT_IPV6) && defined(EXTRA_IPV6_LOOKUP)
+#if defined(EXTRA_IPV6_LOOKUP)
if ((preference == ADDR_PREFERENCE_IPV4 && !host->n) ||
preference == ADDR_PREFERENCE_IPV6 ||
preference == ADDR_PREFERENCE_IPV6_ONLY) {
@@ -514,16 +494,10 @@ delete_last:
unsigned char *print_address(struct host_address *a)
{
#define SCOPE_ID_LEN 11
-#ifdef SUPPORT_IPV6
static unsigned char buffer[INET6_ADDRSTRLEN + SCOPE_ID_LEN];
-#else
- static unsigned char buffer[INET_ADDRSTRLEN + SCOPE_ID_LEN];
-#endif
union {
struct in_addr in;
-#ifdef SUPPORT_IPV6
struct in6_addr in6;
-#endif
char pad[16];
} u;
memcpy(&u, a->addr, 16);
@@ -538,7 +512,6 @@ unsigned char *print_address(struct host_address *a)
int ipv6_full_access(void)
{
-#ifdef SUPPORT_IPV6
/*
* Test if we can access global IPv6 address space.
* This doesn't send anything anywhere, it just creates an UDP socket,
@@ -556,23 +529,20 @@ int ipv6_full_access(void)
EINTRLOOP(c, connect(h, (struct sockaddr *)(void *)&sin6, sizeof sin6));
EINTRLOOP(rs, close(h));
if (!c) return 1;
-#endif
return 0;
}
void init_dns(void)
{
register_cache_upcall(shrink_dns_cache, 0, cast_uchar "dns");
-#ifdef SUPPORT_IPV6
{
int h, rs;
h = c_socket(AF_INET6, SOCK_STREAM, 0);
- if (h == -1) {
+ if (h == -1)
support_ipv6 = 0;
- } else {
+ else {
EINTRLOOP(rs, close(h));
support_ipv6 = 1;
}
}
-#endif
}
diff --git a/https.c b/https.c
@@ -23,8 +23,6 @@
#define PATH_MAX 255
#endif
-#ifdef HAVE_SSL
-
#ifndef LINKS_CRT_FILE
#define LINKS_CRT_FILE links.crt
#endif
@@ -34,15 +32,8 @@
static int ssl_initialized = 0;
static SSL_CTX *contexts[N_SSL_CONTEXTS];
-#ifdef HAVE_CRYPTO_SET_MEM_FUNCTIONS_1
#define file_line_arg
#define pass_file_line
-#else
-#define file_line_arg , const char *file, int line
-#define pass_file_line , file, line
-#endif
-
-#ifdef HAVE_CRYPTO_SET_MEM_FUNCTIONS
static unsigned in_ssl_malloc_hook = 0;
@@ -50,12 +41,8 @@ static void *malloc_hook(size_t size file_line_arg)
{
void *p;
in_ssl_malloc_hook++;
-#if !defined(HAVE_OPENSSL_CLEANUP) || defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_1)
if (!size) size = 1;
do p = malloc(size); while (!p && out_of_memory(0, NULL, 0));
-#else
- p = mem_alloc_mayfail(size);
-#endif
in_ssl_malloc_hook--;
return p;
}
@@ -65,12 +52,8 @@ static void *realloc_hook(void *ptr, size_t size file_line_arg)
void *p;
if (!ptr) return malloc_hook(size pass_file_line);
in_ssl_malloc_hook++;
-#if !defined(HAVE_OPENSSL_CLEANUP) || defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_1)
if (!size) size = 1;
do p = realloc(ptr, size); while (!p && out_of_memory(0, NULL, 0));
-#else
- p = mem_realloc_mayfail(ptr, size);
-#endif
in_ssl_malloc_hook--;
return p;
}
@@ -78,15 +61,9 @@ static void *realloc_hook(void *ptr, size_t size file_line_arg)
static void free_hook(void *ptr file_line_arg)
{
if (!ptr) return;
-#if !defined(HAVE_OPENSSL_CLEANUP) || defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_1)
free(ptr);
-#else
- mem_free(ptr);
-#endif
}
-#endif
-
#define ssl_set_private_paths(c) (-1)
int ssl_asked_for_password;
@@ -106,9 +83,7 @@ links_ssl *getSSL(void)
links_ssl *ssl;
if (!ssl_initialized) {
memset(contexts, 0, sizeof contexts);
-#ifdef HAVE_CRYPTO_SET_MEM_FUNCTIONS
CRYPTO_set_mem_functions(malloc_hook, realloc_hook, free_hook);
-#endif
#if defined(HAVE_RAND_EGD)
{
@@ -225,27 +200,18 @@ void https_func(struct connection *c)
http_func(c);
}
-#ifdef HAVE_SSL_CERTIFICATES
-
static int verify_ssl_host_name(X509 *server_cert, unsigned char *host)
{
int v;
unsigned char ipv4_address[4];
-#ifdef SUPPORT_IPV6
unsigned char ipv6_address[16];
-#endif
- if (!numeric_ip_address(host, ipv4_address)) {
+ if (!numeric_ip_address(host, ipv4_address))
v = X509_check_ip(server_cert, ipv4_address, 4, 0);
- }
-#ifdef SUPPORT_IPV6
- else if (!numeric_ipv6_address(host, ipv6_address, NULL)) {
+ else if (!numeric_ipv6_address(host, ipv6_address, NULL))
v = X509_check_ip(server_cert, ipv6_address, 16, 0);
- }
-#endif
- else {
+ else
v = X509_check_host(server_cert, cast_const_char host, strlen(cast_const_char host), 0, NULL);
- }
return v == 1 ? 0 : S_INVALID_CERTIFICATE;
}
@@ -289,8 +255,6 @@ int verify_ssl_cipher(links_ssl *ssl)
return 0;
}
-#endif
-
int ssl_not_reusable(links_ssl *ssl)
{
unsigned char *cipher;
@@ -412,12 +376,6 @@ void retrieve_ssl_session(struct connection *c)
} else {
s = SSL_get1_session(c->ssl->ssl);
}
-#ifdef HAVE_SSL_SESSION_IS_RESUMABLE
- if (s && !SSL_SESSION_is_resumable(s)) {
- SSL_SESSION_free(s);
- s = NULL;
- }
-#endif
orig_url = remove_proxy_prefix(c->url);
h = get_host_name(orig_url);
p = get_port(orig_url);
@@ -435,10 +393,8 @@ static int shrink_session_cache(int u)
struct session_cache_entry *d;
struct list_head *ld;
int f = 0;
-#ifdef HAVE_CRYPTO_SET_MEM_FUNCTIONS
if (in_ssl_malloc_hook++)
goto ret;
-#endif
if (u == SH_FREE_SOMETHING && !list_empty(session_cache)) {
d = list_struct(session_cache.prev, struct session_cache_entry);
goto delete_last;
@@ -451,10 +407,8 @@ delete_last:
mem_free(d);
f = ST_SOMETHING_FREED;
}
-#ifdef HAVE_CRYPTO_SET_MEM_FUNCTIONS
ret:
in_ssl_malloc_hook--;
-#endif
return f | (list_empty(session_cache) ? ST_CACHE_EMPTY : 0);
}
@@ -475,13 +429,3 @@ void init_session_cache(void)
}
#endif
-
-#else
-
-void https_func(struct connection *c)
-{
- setcstate(c, S_NO_SSL);
- abort_connection(c);
-}
-
-#endif
diff --git a/links.h b/links.h
@@ -30,8 +30,6 @@
#include "cfg.h"
-#include "com-defs.h"
-
#define LINKS_COPYRIGHT "(C) 1999 - 2018 Mikulas Patocka\n(C) 2000 - 2018 Petr Kulhavy, Karel Kulhavy, Martin Pergel"
#define LINKS_COPYRIGHT_8859_1 "(C) 1999 - 2018 Mikul\341s Patocka\n(C) 2000 - 2018 Petr Kulhav\375, Karel Kulhav\375, Martin Pergel"
#define LINKS_COPYRIGHT_8859_2 "(C) 1999 - 2018 Mikul\341\271 Pato\350ka\n(C) 2000 - 2018 Petr Kulhav\375, Karel Kulhav\375, Martin Pergel"
@@ -104,9 +102,6 @@
#include <sys/utsname.h>
#include <pwd.h>
#include <grp.h>
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#endif
@@ -120,23 +115,9 @@
#include <arpa/inet.h>
#include <utime.h>
-#if defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_1) && defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_2)
-#undef HAVE_CRYPTO_SET_MEM_FUNCTIONS_1
-#undef HAVE_CRYPTO_SET_MEM_FUNCTIONS_2
-#endif
-#if defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_1) || defined(HAVE_CRYPTO_SET_MEM_FUNCTIONS_2)
-#define HAVE_CRYPTO_SET_MEM_FUNCTIONS
-#endif
-
-#if !defined(NO_SSL_CERTIFICATES)
-#define HAVE_SSL_CERTIFICATES
-#endif
-
#include <openssl/ssl.h>
#include <openssl/rand.h>
-#ifdef HAVE_SSL_CERTIFICATES
#include <openssl/x509v3.h>
-#endif
#include <openssl/err.h>
#include <openssl/crypto.h>
@@ -591,10 +572,6 @@ static inline int cmpbeg(const unsigned char *str, const unsigned char *b)
typedef unsigned long long uttime;
typedef unsigned long long tcount;
-#if defined(HAVE_GPM_H) && defined(HAVE_LIBGPM)
-#define USE_GPM
-#endif
-
#define mem_freed_large(x) do { } while (0)
struct terminal;
@@ -791,16 +768,10 @@ struct lookup_state {
int target_port;
};
-#ifdef SUPPORT_IPV6
extern int support_ipv6;
-#else
-#define support_ipv6 0
-#endif
int numeric_ip_address(unsigned char *name, unsigned char address[4]);
-#ifdef SUPPORT_IPV6
int numeric_ipv6_address(unsigned char *name, unsigned char address[16], unsigned *scope_id);
-#endif
void rotate_addresses(struct lookup_result *);
void do_real_lookup(unsigned char *, int, struct lookup_result *);
int find_host(unsigned char *, struct lookup_result *, void **, void (*)(void *, int), void *);
@@ -1153,9 +1124,7 @@ void retry_connect(struct connection *, int, int);
void continue_connection(struct connection *, int *, void (*)(struct connection *));
int is_ipv6(int);
int get_pasv_socket(struct connection *, int, int *, unsigned char *);
-#ifdef SUPPORT_IPV6
int get_pasv_socket_ipv6(struct connection *, int, int *, unsigned char *);
-#endif
void write_to_socket(struct connection *, int, unsigned char *, int, void (*)(struct connection *));
struct read_buffer *alloc_read_buffer(struct connection *c);
void read_from_socket(struct connection *, int, struct read_buffer *, void (*)(struct connection *, struct read_buffer *));
@@ -1219,11 +1188,8 @@ extern int ssl_asked_for_password;
void ssl_finish(void);
links_ssl *getSSL(void);
void freeSSL(links_ssl *);
-#ifdef HAVE_SSL_CERTIFICATES
int verify_ssl_certificate(links_ssl *ssl, unsigned char *host);
int verify_ssl_cipher(links_ssl *ssl);
-#define HAVE_BUILTIN_SSL_CERTIFICATES
-#endif
int ssl_not_reusable(links_ssl *ssl);
unsigned char *get_cipher_string(links_ssl *ssl);
diff --git a/menu.c b/menu.c
@@ -94,13 +94,9 @@ static void menu_version(void *term_)
add_to_str(&s, &l, cast_uchar "\n");
add_and_pad(&s, &l, term, *text_ptr++, maxlen);
-#ifdef SUPPORT_IPV6
if (!support_ipv6) add_to_str(&s, &l, get_text_translation(TEXT_(T_NOT_ENABLED_IN_SYSTEM), term));
else if (!ipv6_full_access()) add_to_str(&s, &l, get_text_translation(TEXT_(T_LOCAL_NETWORK_ONLY), term));
else add_to_str(&s, &l, get_text_translation(TEXT_(T_YES), term));
-#else
- add_to_str(&s, &l, get_text_translation(TEXT_(T_NO), term));
-#endif
add_to_str(&s, &l, cast_uchar "\n");
add_and_pad(&s, &l, term, *text_ptr++, maxlen);
@@ -108,20 +104,11 @@ static void menu_version(void *term_)
add_to_str(&s, &l, cast_uchar "\n");
add_and_pad(&s, &l, term, *text_ptr++, maxlen);
-#ifdef HAVE_SSL
#ifdef OPENSSL_VERSION
add_to_str(&s, &l, (unsigned char *)OpenSSL_version(OPENSSL_VERSION));
#else
add_to_str(&s, &l, (unsigned char *)SSLeay_version(SSLEAY_VERSION));
#endif
-#ifndef HAVE_SSL_CERTIFICATES
- add_to_str(&s, &l, cast_uchar " (");
- add_to_str(&s, &l, get_text_translation(TEXT_(T_NO_CERTIFICATE_VERIFICATION), term));
- add_to_str(&s, &l, cast_uchar ")");
-#endif
-#else
- add_to_str(&s, &l, get_text_translation(TEXT_(T_NO), term));
-#endif
add_to_str(&s, &l, cast_uchar "\n");
add_and_pad(&s, &l, term, *text_ptr++, maxlen);
@@ -1147,7 +1134,6 @@ static void dlg_net_options(struct terminal *term, void *xxx, void *yyy)
d->items[a].data = bind_ip_address;
d->items[a].dlen = sizeof(bind_ip_address);
d->items[a++].fn = check_local_ip_address;
-#ifdef SUPPORT_IPV6
if (support_ipv6) {
net_msg[a] = TEXT_(T_BIND_TO_LOCAL_IPV6_ADDRESS);
d->items[a].type = D_FIELD;
@@ -1155,7 +1141,6 @@ static void dlg_net_options(struct terminal *term, void *xxx, void *yyy)
d->items[a].dlen = sizeof(bind_ipv6_address);
d->items[a++].fn = check_local_ipv6_address;
}
-#endif
net_msg[a] = TEXT_(T_ASYNC_DNS_LOOKUP);
d->items[a].type = D_CHECKBOX;
d->items[a].data = (unsigned char *)&async_lookup;
@@ -1176,8 +1161,6 @@ static void dlg_net_options(struct terminal *term, void *xxx, void *yyy)
do_dialog(term, d, getml(d, NULL));
}
-#ifdef SUPPORT_IPV6
-
static unsigned char * const ipv6_labels[] = { TEXT_(T_IPV6_DEFAULT), TEXT_(T_IPV6_PREFER_IPV4), TEXT_(T_IPV6_PREFER_IPV6), TEXT_(T_IPV6_USE_ONLY_IPV4), TEXT_(T_IPV6_USE_ONLY_IPV6), NULL };
static void dlg_ipv6_options(struct terminal *term, void *xxx, void *yyy)
@@ -1225,8 +1208,6 @@ static void dlg_ipv6_options(struct terminal *term, void *xxx, void *yyy)
do_dialog(term, d, getml(d, NULL));
}
-#endif
-
#define N_N 6
static unsigned char * const proxy_msg[] = {
@@ -1555,8 +1536,6 @@ static void dlg_proxy_options(struct terminal *term, void *xxx, void *yyy)
#undef N_N
-#ifdef HAVE_SSL_CERTIFICATES
-
static int check_file(struct dialog_data *dlg, struct dialog_item_data *di, int type)
{
unsigned char *p = di->cdata;
@@ -1714,8 +1693,6 @@ static void dlg_ssl_options(struct terminal *term, void *xxx, void *yyy)
do_dialog(term, d, getml(d, NULL));
}
-#endif
-
static unsigned char * const http_labels[] = { TEXT_(T_USE_HTTP_10), TEXT_(T_ALLOW_SERVER_BLACKLIST), TEXT_(T_BROKEN_302_REDIRECT), TEXT_(T_NO_KEEPALIVE_AFTER_POST_REQUEST), TEXT_(T_DO_NOT_SEND_ACCEPT_CHARSET),
TEXT_(T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT),
TEXT_(T_RETRY_ON_INTERNAL_ERRORS), NULL };
@@ -3132,35 +3109,27 @@ static_const struct menu_item help_menu_g[] = {
static_const struct menu_item net_options_menu[] = {
{ TEXT_(T_CONNECTIONS), cast_uchar "", TEXT_(T_HK_CONNECTIONS), dlg_net_options, NULL, 0, 0 },
{ TEXT_(T_PROXIES), cast_uchar "", TEXT_(T_HK_PROXIES), dlg_proxy_options, NULL, 0, 0 },
-#ifdef HAVE_SSL_CERTIFICATES
{ TEXT_(T_SSL_OPTIONS), cast_uchar "", TEXT_(T_HK_SSL_OPTIONS), dlg_ssl_options, NULL, 0, 0 },
-#endif
{ TEXT_(T_HTTP_OPTIONS), cast_uchar "", TEXT_(T_HK_HTTP_OPTIONS), dlg_http_options, NULL, 0, 0 },
{ TEXT_(T_FTP_OPTIONS), cast_uchar "", TEXT_(T_HK_FTP_OPTIONS), dlg_ftp_options, NULL, 0, 0 },
{ NULL, NULL, 0, NULL, NULL, 0, 0 }
};
-#ifdef SUPPORT_IPV6
static_const struct menu_item net_options_ipv6_menu[] = {
{ TEXT_(T_CONNECTIONS), cast_uchar "", TEXT_(T_HK_CONNECTIONS), dlg_net_options, NULL, 0, 0 },
{ TEXT_(T_IPV6_OPTIONS), cast_uchar "", TEXT_(T_HK_IPV6_OPTIONS), dlg_ipv6_options, NULL, 0, 0 },
{ TEXT_(T_PROXIES), cast_uchar "", TEXT_(T_HK_PROXIES), dlg_proxy_options, NULL, 0, 0 },
-#ifdef HAVE_SSL_CERTIFICATES
{ TEXT_(T_SSL_OPTIONS), cast_uchar "", TEXT_(T_HK_SSL_OPTIONS), dlg_ssl_options, NULL, 0, 0 },
-#endif
{ TEXT_(T_HTTP_OPTIONS), cast_uchar "", TEXT_(T_HK_HTTP_OPTIONS), dlg_http_options, NULL, 0, 0 },
{ TEXT_(T_FTP_OPTIONS), cast_uchar "", TEXT_(T_HK_FTP_OPTIONS), dlg_ftp_options, NULL, 0, 0 },
{ NULL, NULL, 0, NULL, NULL, 0, 0 }
};
-#endif
static void network_menu(struct terminal *term, void *xxx, void *yyy)
{
-#ifdef SUPPORT_IPV6
if (support_ipv6)
do_menu(term, (struct menu_item *)net_options_ipv6_menu, NULL);
else
-#endif
do_menu(term, (struct menu_item *)net_options_menu, NULL);
}
diff --git a/objreq.c b/objreq.c
@@ -184,8 +184,6 @@ static int auth_window(struct object_request *rq, unsigned char *realm)
return 0;
}
-#ifdef HAVE_SSL_CERTIFICATES
-
struct cert_dialog {
tcount term;
unsigned char *host;
@@ -275,8 +273,6 @@ static int cert_window(struct object_request *rq)
return 0;
}
-#endif
-
/* prev_url is a pointer to previous url or NULL */
/* prev_url will NOT be deallocated */
void request_object(struct terminal *term, unsigned char *url, unsigned char *prev_url, int pri, int cache, int allow_flags, void (*upcall)(struct object_request *, void *), void *data, struct object_request **rqp)
@@ -326,7 +322,6 @@ static void objreq_end(struct status *stat, void *data)
set_ce_internal(rq);
if (stat->state < 0) {
-#ifdef HAVE_SSL_CERTIFICATES
if (!stat->ce && rq->state == O_WAITING && (stat->state == S_INVALID_CERTIFICATE || stat->state == S_DOWNGRADED_METHOD || stat->state == S_INSECURE_CIPHER) && ssl_options.certificates == SSL_WARN_ON_INVALID_CERTIFICATE) {
if (!cert_window(rq)) {
rq->hold = HOLD_CERT;
@@ -334,7 +329,6 @@ static void objreq_end(struct status *stat, void *data)
goto tm;
}
}
-#endif
if (stat->ce && rq->state == O_WAITING && stat->ce->redirect) {
if (rq->redirect_cnt++ < MAX_REDIRECTS) {
int cache, allow_flags;
diff --git a/os_dep.c b/os_dep.c
@@ -716,11 +716,6 @@ int get_input_handle(void)
EINTRLOOP(rs, close(fd[1]));
return 0;
}
-/*
-#if defined(HAVE_MOUOPEN) && !defined(USE_GPM)
- _beginthread(mouse_thread, NULL, 0x10000, (void *)tp);
-#endif
-*/
return fd[0];
}
diff --git a/os_depx.h b/os_depx.h
@@ -187,11 +187,9 @@
#define USE_GETADDRINFO
-#ifdef SUPPORT_IPV6
#ifndef PF_INET6
#define PF_INET6 AF_INET6
#endif
-#endif
#if !defined(INET_ADDRSTRLEN)
#define INET_ADDRSTRLEN 16
diff --git a/select.c b/select.c
@@ -408,9 +408,7 @@ void add_event_string(unsigned char **s, int *l, struct terminal *term)
#ifdef USE_LIBEVENT
if (!event_enabled)
add_to_str(s, l, cast_uchar " (");
-#ifdef HAVE_LIBEVENT
- add_to_str(s, l, cast_uchar "LibEvent");
-#elif defined(HAVE_LIBEV)
+#if defined(HAVE_LIBEV)
add_to_str(s, l, cast_uchar "LibEv");
#else
add_to_str(s, l, cast_uchar "LibEvent");
diff --git a/suffix.c b/suffix.c
@@ -55,9 +55,7 @@ int allow_cookie_domain(unsigned char *server, unsigned char *domain)
if (casestrcmp(domain, server + sl - dl)) return 0;
if (dl == sl) return 1;
if (!numeric_ip_address(server, NULL)) return 0;
-#ifdef SUPPORT_IPV6
if (!numeric_ipv6_address(server, NULL, NULL)) return 0;
-#endif
if (server[sl - dl - 1] != '.') return 0;
if (search_list_and_wildcards(domain_suffix_x, array_elements(domain_suffix_x), domain)) return 1;
if (!strchr(cast_const_char domain, '.')) return 0;