summaryrefslogtreecommitdiff
path: root/sysdep
diff options
context:
space:
mode:
authorJan Moskyto Matejka <mq@ucw.cz>2016-12-07 14:15:35 +0100
committerJan Moskyto Matejka <mq@ucw.cz>2016-12-07 14:15:35 +0100
commitaf62c0f9f1f6382fe88c8ae5e514f70c0b5b6d05 (patch)
tree49c82267598c92cc758203f8ed06d822c6c2deb2 /sysdep
parentcdbe1defa4b783715ed29d8d253a55d3efe0b9ed (diff)
LibSSH may be switched off together with RPKI
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/autoconf.h.in3
-rw-r--r--sysdep/unix/io.c17
2 files changed, 19 insertions, 1 deletions
diff --git a/sysdep/autoconf.h.in b/sysdep/autoconf.h.in
index b746eb34..a68f3e90 100644
--- a/sysdep/autoconf.h.in
+++ b/sysdep/autoconf.h.in
@@ -68,4 +68,7 @@
/* We have stdint.h */
#undef HAVE_STDINT_H
+/* We have LibSSH */
+#undef HAVE_LIBSSH
+
#define CONFIG_PATH ?
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index cb57ffea..e3e2f5f8 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -36,7 +36,6 @@
#include "lib/socket.h"
#include "lib/event.h"
#include "lib/string.h"
-#include "lib/libssh.h"
#include "nest/iface.h"
#include "sysdep/unix/unix.h"
@@ -1070,6 +1069,7 @@ sk_free_bufs(sock *s)
}
}
+#ifdef HAVE_LIBSSH
static void
sk_ssh_free(sock *s)
{
@@ -1095,6 +1095,7 @@ sk_ssh_free(sock *s)
ssh->session = NULL;
}
}
+#endif
static void
sk_free(resource *r)
@@ -1103,8 +1104,10 @@ sk_free(resource *r)
sk_free_bufs(s);
+#ifdef HAVE_LIBSSH
if (s->type == SK_SSH || s->type == SK_SSH_ACTIVE)
sk_ssh_free(s);
+#endif
if (s->fd < 0)
return;
@@ -1399,6 +1402,7 @@ sk_passive_connected(sock *s, int type)
return 1;
}
+#ifdef HAVE_LIBSSH
/*
* Return SSH_OK or SSH_AGAIN or SSH_ERROR
*/
@@ -1591,6 +1595,7 @@ sk_open_ssh(sock *s)
err:
return -1;
}
+#endif
/**
* sk_open - open a socket
@@ -1657,10 +1662,12 @@ sk_open(sock *s)
do_bind = bind_port || ipa_nonzero(bind_addr);
break;
+#ifdef HAVE_LIBSSH
case SK_SSH_ACTIVE:
s->ttx = ""; /* Force s->ttx != s->tpos */
fd = sk_open_ssh(s);
break;
+#endif
case SK_UDP:
fd = socket(af, SOCK_DGRAM, IPPROTO_UDP);
@@ -1935,6 +1942,7 @@ sk_maybe_write(sock *s)
reset_tx_buffer(s);
return 1;
+#ifdef HAVE_LIBSSH
case SK_SSH:
while (s->ttx != s->tpos)
{
@@ -1954,6 +1962,7 @@ sk_maybe_write(sock *s)
}
reset_tx_buffer(s);
return 1;
+#endif
case SK_UDP:
case SK_IP:
@@ -2070,6 +2079,7 @@ call_rx_hook(sock *s, int size)
}
}
+#ifdef HAVE_LIBSSH
static int
sk_read_ssh(sock *s)
{
@@ -2114,6 +2124,7 @@ sk_read_ssh(sock *s)
return 0; /* No data is available on the socket */
}
+#endif
/* sk_read() and sk_write() are called from BFD's event loop */
@@ -2154,8 +2165,10 @@ sk_read(sock *s, int revents)
return 0;
}
+#ifdef HAVE_LIBSSH
case SK_SSH:
return sk_read_ssh(s);
+#endif
case SK_MAGIC:
return s->rx_hook(s, 0);
@@ -2195,6 +2208,7 @@ sk_write(sock *s)
return 0;
}
+#ifdef HAVE_LIBSSH
case SK_SSH_ACTIVE:
{
switch (sk_ssh_connect(s))
@@ -2213,6 +2227,7 @@ sk_write(sock *s)
}
return 0;
}
+#endif
default:
if (s->ttx != s->tpos && sk_maybe_write(s) > 0)