forked from izaya/LuPPC
More SSL work
This commit is contained in:
parent
462138cb94
commit
29f1c6998c
4
Makefile
4
Makefile
@ -13,9 +13,9 @@ SOURCE = src/c
|
||||
|
||||
CORELUA = src/lua/core
|
||||
RESOURCES = resources
|
||||
LIBS=-lm -lcrypto -lssl
|
||||
LIBS=-lm -lssl -lcrypto
|
||||
|
||||
INCLUDES=-I$(SOURCE) -Isrc/c/lib/lua -Iinclude
|
||||
INCLUDES=-I$(SOURCE) -Isrc/c/lib/lua -Iinclude -Idependencies/include -Idependencies/include-$(PREFIX)
|
||||
|
||||
GENERATED=include/luares.h src/c/gen/luares.c include/res.h src/c/gen/res.c
|
||||
LUAPARAMS = $(CORELUA) include/luares.h src/c/gen/luares.c lua_
|
||||
|
@ -7,7 +7,7 @@ OUT=$TOOL
|
||||
|
||||
if [ $# -lt 1 ]
|
||||
then
|
||||
echo "Usage : $0 [arm32-musl|x86_64|x86_64-musl]"
|
||||
echo "Usage : $0 [arm32-musl|x86_64|musl]"
|
||||
exit
|
||||
fi
|
||||
|
||||
@ -32,6 +32,8 @@ case "$1" in
|
||||
esac
|
||||
|
||||
mkdir -p dependencies
|
||||
mkdir -p dependencies/include
|
||||
mkdir -p dependencies/include-$OUT
|
||||
|
||||
rm -rf dependencies/lib-$OUT
|
||||
mkdir -p dependencies/lib-$OUT
|
||||
@ -45,9 +47,13 @@ cd ..
|
||||
rm -rf openssl-build
|
||||
mkdir openssl-build
|
||||
cd openssl-build
|
||||
../openssl/Configure $OPENSSL_TARGET --unified no-asm -DOPENSSL_NO_HEARTBEATS --openssldir=$(cd ../lib-$OUT; pwd) no-shared
|
||||
../openssl/Configure $OPENSSL_TARGET --unified no-asm -DOPENSSL_NO_HEARTBEATS --openssldir=$(cd ../lib-$OUT; pwd) no-shared no-threads no-dso
|
||||
make libcrypto.a -j8 CC=$TOOL-gcc RANLIB=$TOOL-ranlib LD=$TOOL-ld MAKEDEPPROG=$TOOL-gcc PROCESSOR=ARM
|
||||
make libssl.a -j8 CC=$TOOL-gcc RANLIB=$TOOL-ranlib LD=$TOOL-ld MAKEDEPPROG=$TOOL-gcc PROCESSOR=ARM
|
||||
|
||||
cp libcrypto.a ../lib-$OUT
|
||||
cp libssl.a ../lib-$OUT
|
||||
mkdir -p ../include/openssl
|
||||
mkdir -p ../include-$OUT/openssl
|
||||
cp -rfv ../openssl/include/openssl/* ../include/openssl
|
||||
cp -rfv include/openssl/* ../include-$OUT/openssl
|
||||
cp -rfv libcrypto.a ../lib-$OUT
|
||||
cp -rfv libssl.a ../lib-$OUT
|
||||
|
@ -16,6 +16,8 @@
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/conf.h>
|
||||
|
||||
static int l_open(lua_State *L) { //TODO: Any mem leaks?
|
||||
const char* hostaddr = lua_tostring(L, 1);
|
||||
@ -109,7 +111,14 @@ static int l_read(lua_State *L) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void ssl_init() {
|
||||
(void)SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
OPENSSL_config(NULL);
|
||||
}
|
||||
|
||||
void internet_start(lua_State *L) {
|
||||
ssl_init();
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
lua_createtable (L, 0, 1);
|
||||
|
@ -63,7 +63,7 @@ function internet.start()
|
||||
function component.request(url, post)
|
||||
checkArg(1, url, "string")
|
||||
checkArg(2, post, "string", "nil")
|
||||
local host, uri = url:match("http://([^/]+)([^#]+)")
|
||||
local host, uri = url:match("https?://([^/]+)([^#]+)")
|
||||
if not host then native.log("internet.request host match error: " .. url .. "\n") end
|
||||
local socket = component.connect(host, 80)
|
||||
if socket.finishConnect() then
|
||||
|
Loading…
Reference in New Issue
Block a user