Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions src/relpsrv.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,25 +353,25 @@ relpSrvSetDHBits(relpSrv_t *const pThis, int bits)
pThis->dhBits = bits;
}
PART_OF_API relpRetVal
relpSrvEnableTLS2(relpSrv_t LIBRELP_ATTR_UNUSED *pThis)
relpSrvEnableTLS2(relpSrv_t *const pThis)
{
ENTER_RELPFUNC;
#if defined(ENABLE_TLS) || defined(ENABLE_TLS_OPENSSL)
RELPOBJ_assert(pThis, Srv);
pThis->bEnableTLS = 1;
#else
#if !(defined(ENABLE_TLS) || defined(ENABLE_TLS_OPENSSL))
iRet = RELP_RET_ERR_NO_TLS;
#endif /* #ifdef ENABLE_TLS | ENABLE_TLS_OPENSSL */
#endif /* !(defined(ENABLE_TLS) || defined(ENABLE_TLS_OPENSSL)) */
LEAVE_RELPFUNC;
}
PART_OF_API relpRetVal
relpSrvEnableTLSZip2(relpSrv_t LIBRELP_ATTR_UNUSED *pThis)
relpSrvEnableTLSZip2(relpSrv_t *const pThis)
{
ENTER_RELPFUNC;
#if defined(ENABLE_TLS) || defined(ENABLE_TLS_OPENSSL)
RELPOBJ_assert(pThis, Srv);
pThis->bEnableTLSZip = 1;
#else
#if !(defined(ENABLE_TLS) || defined(ENABLE_TLS_OPENSSL))
iRet = RELP_RET_ERR_NO_TLS;
#endif /* #ifdef ENABLE_TLS | ENABLE_TLS_OPENSSL */
#endif /* !(defined(ENABLE_TLS) || defined(ENABLE_TLS_OPENSSL)) */
LEAVE_RELPFUNC;
}
PART_OF_API void
Expand Down
8 changes: 8 additions & 0 deletions tests/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,13 @@ TESTS= selftest_receive_watchdog.sh \
send-noconnect.sh \
send-dummyserver-no-waitstate-errmsg.sh \
receive-emptyconnect.sh
if !ENABLE_TLS_GENERIC
check_PROGRAMS+=tls-request-no-tls
tls_request_no_tls_SOURCES=tls-request-no-tls.c
tls_request_no_tls_LDADD=../src/.libs/librelp.a $(rt_libs) $(socket_libs) $(pthread_libs)
tls_request_no_tls_CFLAGS=$(AM_CFLAGS) -I${top_srcdir}/src $(WARN_CFLAGS)
TESTS+=tls-request-no-tls
endif
if ENABLE_TLS_GENERIC
TESTS+=$(TLS_TESTS)
endif
Expand Down Expand Up @@ -179,6 +186,7 @@ EXTRA_DIST=$(TESTS) \
permitted-peer-lifetime.c \
tls-openssl-retry-state.sh \
tls-openssl-retry-state.c \
tls-request-no-tls.c \
tls-certs/ca.pem \
tls-certs/cert.pem \
tls-certs/key.pem \
Expand Down
33 changes: 33 additions & 0 deletions tests/tls-request-no-tls.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Regression test for recording a server TLS request in a build without TLS
* support. The request must not fall through to a plaintext listener.
*/
#include <assert.h>
#include <stddef.h>

#include "config.h"
#include "librelp.h"
#include "relp.h"
#include "relpsrv.h"

int
main(void)
{
relpEngine_t *engine = NULL;
relpSrv_t *server = NULL;

assert(relpEngineConstruct(&engine) == RELP_RET_OK);
assert(relpEngineListnerConstruct(engine, &server) == RELP_RET_OK);

assert(relpSrvEnableTLS2(server) == RELP_RET_ERR_NO_TLS);
assert(relpSrvEnableTLSZip2(server) == RELP_RET_ERR_NO_TLS);
assert(server->bEnableTLS == 1);
assert(server->bEnableTLSZip == 1);

assert(relpSrvRun(server) == RELP_RET_ERR_NO_TLS);
assert(server->pTcp == NULL);

assert(relpSrvDestruct(&server) == RELP_RET_OK);
assert(relpEngineDestruct(&engine) == RELP_RET_OK);
return 0;
}
Loading