6 Commits

Author SHA1 Message Date
df27c62f4c Update source protocol on rockspec 2022-04-13 10:46:36 -03:00
09691fe782 Update rockspec 2022-04-13 10:38:18 -03:00
3a71559e13 Update version number 2022-04-13 10:35:06 -03:00
3f04fd7529 Removing useless code 2022-04-04 15:48:22 -03:00
d7161ca026 Merge pull request #179 from Zash/dane_no_hostname
Support passing DANE flags
2022-01-05 09:35:10 -03:00
65ee83275b Support passing DANE flags
The only flag at the moment is one that disables name checks, which is
needed for certain protocols such as XMPP.
2022-01-01 19:42:09 +01:00
19 changed files with 84 additions and 44 deletions

View File

@ -1,3 +1,11 @@
--------------------------------------------------------------------------------
LuaSec 1.1.0
---------------
This version includes:
* Fix missing DANE flag
* Remove unused parameter in https.lua
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
LuaSec 1.0.2 LuaSec 1.0.2
--------------- ---------------

View File

@ -1,4 +1,4 @@
LuaSec 1.0.2 LuaSec 1.1.0
------------ ------------
* OpenSSL options: * OpenSSL options:

View File

@ -1,5 +1,5 @@
LuaSec 1.0.2 license LuaSec 1.1.0 license
Copyright (C) 2006-2021 Bruno Silvestre, UFG Copyright (C) 2006-2022 Bruno Silvestre, UFG
Permission is hereby granted, free of charge, to any person obtaining Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the a copy of this software and associated documentation files (the

View File

@ -1,4 +1,4 @@
LuaSec 1.0.2 LuaSec 1.1.0
=============== ===============
LuaSec depends on OpenSSL, and integrates with LuaSocket to make it LuaSec depends on OpenSSL, and integrates with LuaSocket to make it
easy to add secure connections to any Lua applications or scripts. easy to add secure connections to any Lua applications or scripts.

View File

@ -1,8 +1,8 @@
package = "LuaSec" package = "LuaSec"
version = "1.0.2-1" version = "1.1.0-1"
source = { source = {
url = "git://github.com/brunoos/luasec", url = "git+https://github.com/brunoos/luasec",
tag = "v1.0.2", tag = "v1.1.0",
} }
description = { description = {
summary = "A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket.", summary = "A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket.",

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre. * Copyright (C) 2006-2022 Bruno Silvestre.
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
@ -77,8 +77,15 @@ LSEC_API int luaopen_ssl_config(lua_State *L)
#ifdef LSEC_ENABLE_DANE #ifdef LSEC_ENABLE_DANE
// DANE // DANE
lua_pushstring(L, "dane"); lua_pushstring(L, "dane");
#ifdef DANE_FLAG_NO_DANE_EE_NAMECHECKS
lua_createtable(L, 0, 1);
lua_pushstring(L, "no_ee_namechecks");
lua_pushboolean(L, 1); lua_pushboolean(L, 1);
lua_rawset(L, -3); lua_rawset(L, -3);
#else
lua_pushboolean(L, 1);
#endif
lua_rawset(L, -3);
#endif #endif
#ifndef OPENSSL_NO_EC #ifndef OPENSSL_NO_EC

View File

@ -1,9 +1,9 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2014-2021 Kim Alvefur, Paul Aurich, Tobias Markmann, * Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann,
* Matthew Wild. * Matthew Wild.
* Copyright (C) 2006-2021 Bruno Silvestre. * Copyright (C) 2006-2022 Bruno Silvestre.
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
@ -17,6 +17,7 @@
#include <openssl/err.h> #include <openssl/err.h>
#include <openssl/x509.h> #include <openssl/x509.h>
#include <openssl/x509v3.h> #include <openssl/x509v3.h>
#include <openssl/x509_vfy.h>
#include <openssl/dh.h> #include <openssl/dh.h>
#include <lua.h> #include <lua.h>
@ -711,11 +712,31 @@ static int set_alpn_cb(lua_State *L)
/* /*
* DANE * DANE
*/ */
static int dane_options[] = {
/* TODO move into options.c
* however this symbol is not from openssl/ssl.h but rather from
* openssl/x509_vfy.h
* */
#ifdef DANE_FLAG_NO_DANE_EE_NAMECHECKS
DANE_FLAG_NO_DANE_EE_NAMECHECKS,
#endif
0
};
static const char *dane_option_names[] = {
#ifdef DANE_FLAG_NO_DANE_EE_NAMECHECKS
"no_ee_namechecks",
#endif
NULL
};
static int set_dane(lua_State *L) static int set_dane(lua_State *L)
{ {
int ret; int ret, i;
SSL_CTX *ctx = lsec_checkcontext(L, 1); SSL_CTX *ctx = lsec_checkcontext(L, 1);
ret = SSL_CTX_dane_enable(ctx); ret = SSL_CTX_dane_enable(ctx);
for (i = 2; ret > 0 && i <= lua_gettop(L); i++) {
ret = SSL_CTX_dane_set_flags(ctx, dane_options[luaL_checkoption(L, i, NULL, dane_option_names)]);
}
lua_pushboolean(L, (ret > 0)); lua_pushboolean(L, (ret > 0));
return 1; return 1;
} }

View File

@ -2,9 +2,9 @@
#define LSEC_CONTEXT_H #define LSEC_CONTEXT_H
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -1,6 +1,6 @@
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
-- LuaSec 1.0.2 -- LuaSec 1.1.0
-- Copyright (C) 2009-2021 PUC-Rio -- Copyright (C) 2009-2022 PUC-Rio
-- --
-- Author: Pablo Musa -- Author: Pablo Musa
-- Author: Tomas Guisasola -- Author: Tomas Guisasola
@ -18,8 +18,8 @@ local try = socket.try
-- Module -- Module
-- --
local _M = { local _M = {
_VERSION = "1.0.2", _VERSION = "1.1.0",
_COPYRIGHT = "LuaSec 1.0.2 - Copyright (C) 2009-2021 PUC-Rio", _COPYRIGHT = "LuaSec 1.1.0 - Copyright (C) 2009-2022 PUC-Rio",
PORT = 443, PORT = 443,
TIMEOUT = 60 TIMEOUT = 60
} }
@ -93,7 +93,7 @@ local function tcp(params)
self.sock:sni(host) self.sock:sni(host)
self.sock:settimeout(_M.TIMEOUT) self.sock:settimeout(_M.TIMEOUT)
try(self.sock:dohandshake()) try(self.sock:dohandshake())
reg(self, getmetatable(self.sock)) reg(self)
return 1 return 1
end end
return conn return conn

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -2,9 +2,9 @@
#define LSEC_OPTIONS_H #define LSEC_OPTIONS_H
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -18,9 +18,9 @@ end
local function generate(options, version) local function generate(options, version)
print([[ print([[
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.1.1 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -1,9 +1,9 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2014-2021 Kim Alvefur, Paul Aurich, Tobias Markmann, * Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann,
* Matthew Wild. * Matthew Wild.
* Copyright (C) 2006-2021 Bruno Silvestre. * Copyright (C) 2006-2022 Bruno Silvestre.
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
@ -826,7 +826,7 @@ static int meth_getalpn(lua_State *L)
static int meth_copyright(lua_State *L) static int meth_copyright(lua_State *L)
{ {
lua_pushstring(L, "LuaSec 1.0.2 - Copyright (C) 2006-2021 Bruno Silvestre, UFG" lua_pushstring(L, "LuaSec 1.1.0 - Copyright (C) 2006-2022 Bruno Silvestre, UFG"
#if defined(WITH_LUASOCKET) #if defined(WITH_LUASOCKET)
"\nLuaSocket 3.0-RC1 - Copyright (C) 2004-2013 Diego Nehab" "\nLuaSocket 3.0-RC1 - Copyright (C) 2004-2013 Diego Nehab"
#endif #endif

View File

@ -2,9 +2,9 @@
#define LSEC_SSL_H #define LSEC_SSL_H
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2006-2021 Bruno Silvestre * Copyright (C) 2006-2022 Bruno Silvestre
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -1,7 +1,7 @@
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- LuaSec 1.0.2 -- LuaSec 1.1.0
-- --
-- Copyright (C) 2006-2021 Bruno Silvestre -- Copyright (C) 2006-2022 Bruno Silvestre
-- --
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
@ -202,7 +202,11 @@ local function newcontext(cfg)
end end
if config.capabilities.dane and cfg.dane then if config.capabilities.dane and cfg.dane then
context.setdane(ctx) if type(cfg.dane) == "table" then
context.setdane(ctx, unpack(cfg.dane))
else
context.setdane(ctx)
end
end end
return ctx return ctx
@ -271,7 +275,7 @@ core.setmethod("info", info)
-- --
local _M = { local _M = {
_VERSION = "1.0.2", _VERSION = "1.1.0",
_COPYRIGHT = core.copyright(), _COPYRIGHT = core.copyright(),
config = config, config = config,
loadcertificate = x509.load, loadcertificate = x509.load,

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2014-2021 Kim Alvefur, Paul Aurich, Tobias Markmann * Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann
* Matthew Wild, Bruno Silvestre. * Matthew Wild, Bruno Silvestre.
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* LuaSec 1.0.2 * LuaSec 1.1.0
* *
* Copyright (C) 2014-2021 Kim Alvefur, Paul Aurich, Tobias Markmann * Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann
* Matthew Wild, Bruno Silvestre. * Matthew Wild, Bruno Silvestre.
* *
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/