Compare commits

...

6 Commits

Author SHA1 Message Date
Bruno Silvestre d9215ee00f Update rockspec 2022-07-30 08:42:53 -03:00
Bruno Silvestre 03e03140cd Update version number 2022-07-30 08:41:46 -03:00
Bruno Silvestre 8b3b2318d2
Merge pull request #188 from mckaygerhard/patch-1
backguard compat for openssl on providers, like LTS linuxes
2022-07-29 11:42:21 -03:00
Bruno Silvestre 2c248947df Adjust some types and casts 2022-07-20 17:52:01 -03:00
Bruno Silvestre f22b3ea609 Code format 2022-07-20 17:39:20 -03:00
Герхард PICCORO Lenz McKAY f9afada3d1
backguard compat for openssl on providers, like LTS linuxes
* The commit de393417b7 introduces high dependency due raices requirement to openssl 1.1.0l+
* The X509_REQ_get0_signature(), X509_REQ_get_signature_nid(), X509_CRL_get0_signature() and X509_CRL_get_signature_nid() were added in OpenSSL 1.1.0.
* This patch makes luasec runs on all kind of embebed systems that cannot be upgraded due vendors limitations
2022-06-24 01:09:44 -04:00
19 changed files with 58 additions and 47 deletions

View File

@ -1,3 +1,11 @@
--------------------------------------------------------------------------------
LuaSec 1.2.0
---------------
This version includes:
* Add key material export method
* Backguard compat for openssl on providers, like LTS linuxes
--------------------------------------------------------------------------------
LuaSec 1.1.0
---------------

View File

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

View File

@ -1,4 +1,4 @@
LuaSec 1.1.0 license
LuaSec 1.2.0 license
Copyright (C) 2006-2022 Bruno Silvestre, UFG
Permission is hereby granted, free of charge, to any person obtaining

View File

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

View File

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

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2006-2022 Bruno Silvestre
*

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2006-2022 Bruno Silvestre.
*

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann,
* Matthew Wild.

View File

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

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2006-2022 Bruno Silvestre
*

View File

@ -1,5 +1,5 @@
----------------------------------------------------------------------------
-- LuaSec 1.1.0
-- LuaSec 1.2.0
-- Copyright (C) 2009-2022 PUC-Rio
--
-- Author: Pablo Musa
@ -18,8 +18,8 @@ local try = socket.try
-- Module
--
local _M = {
_VERSION = "1.1.0",
_COPYRIGHT = "LuaSec 1.1.0 - Copyright (C) 2009-2022 PUC-Rio",
_VERSION = "1.2.0",
_COPYRIGHT = "LuaSec 1.2.0 - Copyright (C) 2009-2022 PUC-Rio",
PORT = 443,
TIMEOUT = 60
}

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2006-2022 Bruno Silvestre
*

View File

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

View File

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

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann,
* Matthew Wild.
@ -672,39 +672,38 @@ static int meth_getpeerfinished(lua_State *L)
}
/**
* Get some shared keying material
*/
static int meth_exportkeyingmaterial(lua_State *L)
{
p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection");
p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection");
if(ssl->state != LSEC_STATE_CONNECTED) {
lua_pushnil(L);
lua_pushstring(L, "closed");
return 0;
}
if(ssl->state != LSEC_STATE_CONNECTED) {
lua_pushnil(L);
lua_pushstring(L, "closed");
return 0;
}
size_t llen = 0;
const char *label = luaL_checklstring(L, 2, &llen);
int olen = luaL_checkinteger(L, 3);
size_t contextlen = 0;
const unsigned char *context = NULL;
size_t llen = 0;
size_t contextlen = 0;
const unsigned char *context = NULL;
const char *label = (const char*)luaL_checklstring(L, 2, &llen);
size_t olen = (size_t)luaL_checkinteger(L, 3);
if(!lua_isnoneornil(L, 4)) {
context = (unsigned char *)luaL_checklstring(L, 4, &contextlen);
}
if (!lua_isnoneornil(L, 4))
context = (const unsigned char*)luaL_checklstring(L, 4, &contextlen);
/* temporary buffer memory-managed by Lua itself */
unsigned char *out = lua_newuserdata(L, olen);
/* Temporary buffer memory-managed by Lua itself */
unsigned char *out = (unsigned char*)lua_newuserdata(L, olen);
if(SSL_export_keying_material(ssl->ssl, out, olen, label, llen, context, contextlen, context != NULL) != 1) {
lua_pushnil(L);
/* Could not find whether OpenSSL keeps any details anywhere */
lua_pushstring(L, "error exporting keying material");
return 2;
}
if(SSL_export_keying_material(ssl->ssl, out, olen, label, llen, context, contextlen, context != NULL) != 1) {
lua_pushnil(L);
lua_pushstring(L, "error exporting keying material");
return 2;
}
lua_pushlstring(L, (char *)out, olen);
return 1;
lua_pushlstring(L, (char*)out, olen);
return 1;
}
/**
@ -862,7 +861,7 @@ static int meth_getalpn(lua_State *L)
static int meth_copyright(lua_State *L)
{
lua_pushstring(L, "LuaSec 1.1.0 - Copyright (C) 2006-2022 Bruno Silvestre, UFG"
lua_pushstring(L, "LuaSec 1.2.0 - Copyright (C) 2006-2022 Bruno Silvestre, UFG"
#if defined(WITH_LUASOCKET)
"\nLuaSocket 3.0-RC1 - Copyright (C) 2004-2013 Diego Nehab"
#endif

View File

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

View File

@ -1,5 +1,5 @@
------------------------------------------------------------------------------
-- LuaSec 1.1.0
-- LuaSec 1.2.0
--
-- Copyright (C) 2006-2022 Bruno Silvestre
--
@ -275,7 +275,7 @@ core.setmethod("info", info)
--
local _M = {
_VERSION = "1.1.0",
_VERSION = "1.2.0",
_COPYRIGHT = core.copyright(),
config = config,
loadcertificate = x509.load,

View File

@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
* LuaSec 1.1.0
* LuaSec 1.2.0
*
* Copyright (C) 2014-2022 Kim Alvefur, Paul Aurich, Tobias Markmann
* Matthew Wild, Bruno Silvestre.
@ -655,6 +655,7 @@ static int meth_set_encode(lua_State* L)
return 1;
}
#if (OPENSSL_VERSION_NUMBER >= 0x1010000fL)
/**
* Get signature name.
*/
@ -669,6 +670,7 @@ static int meth_get_signature_name(lua_State* L)
lua_pushstring(L, name);
return 1;
}
#endif
/*---------------------------------------------------------------------------*/
@ -698,7 +700,9 @@ static luaL_Reg methods[] = {
{"digest", meth_digest},
{"setencode", meth_set_encode},
{"extensions", meth_extensions},
#if (OPENSSL_VERSION_NUMBER >= 0x1010000fL)
{"getsignaturename", meth_get_signature_name},
#endif
{"issuer", meth_issuer},
{"notbefore", meth_notbefore},
{"notafter", meth_notafter},

View File

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