2 Commits

Author SHA1 Message Date
f05a002a3a Merge 610bea9c0f into 8c2ff7217e 2023-02-14 14:17:51 +08:00
610bea9c0f Remove obsolete typedef from compatibility file
MinGWs `ws2tcpip.h` already defines `socklen_t`, making this redundant.
What's more, in a recent version of MinGW this has changed to `unsigned int`, breaking compatibility.
2020-03-30 10:59:30 +02:00
8 changed files with 12 additions and 50 deletions

View File

@ -8,32 +8,27 @@ on:
jobs: jobs:
build: build:
name: Test ${{ matrix.luaVersion }} on ${{ matrix.platform }} name: Test build on ${{ matrix.platform }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
luaVersion: [ "5.4", "5.3", "5.2", "5.1", "luajit", "luajit-openresty" ] luaVersion: [ "5.4", "5.3", "5.2", "5.1", "luajit", "luajit-openresty" ]
platform: [ "ubuntu-22.04", "macos-11", "windows-2022" ] platform: [ "ubuntu-20.04", "macos-11" ] # "windows-2022" not supported by gh-actions-lua
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v3
- name: Setup msvc
if: ${{ startsWith(matrix.platform, 'windows') && !startsWith(matrix.luaVersion, 'luajit') }}
uses: ilammy/msvc-dev-cmd@v1
- name: Setup lua - name: Setup lua
uses: leso-kn/gh-actions-lua@v11-staging uses: leafo/gh-actions-lua@v9
with: with:
luaVersion: ${{ matrix.luaVersion }} luaVersion: ${{ matrix.luaVersion }}
- name: Setup luarocks - name: Setup luarocks
uses: hishamhm/gh-actions-luarocks@master uses: leafo/gh-actions-luarocks@v4
- name: Make and install - name: Make and install
run: | run: |
export DEBUG=DEBUG
luarocks make -- luasocket-scm-3.rockspec luarocks make -- luasocket-scm-3.rockspec
env:
DEBUG: DEBUG
- name: Run regression tests - name: Run regression tests
shell: bash
run: | run: |
cd test cd test
lua hello.lua lua hello.lua

View File

@ -5,9 +5,9 @@ on: [push, pull_request]
jobs: jobs:
luacheck: luacheck:
runs-on: ubuntu-22.04 runs-on: ubuntu-20.04
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v3
- name: Luacheck - name: Luacheck
uses: lunarmodules/luacheck@v1 uses: lunarmodules/luacheck@v0

View File

@ -1,8 +1,8 @@
# LuaSocket # LuaSocket
[![Build](https://img.shields.io/github/actions/workflow/status/lunarmodules/luasocket/build.yml?branch=master&label=Build&logo=Lua)](https://github.com/lunarmodules/luasocket/actions?workflow=Build) [![Build](https://img.shields.io/github/workflow/status/lunarmodules/luasocket/Build?label=Build=Lua)](https://github.com/lunarmodules/luasocket/actions?workflow=Build)
[![Luacheck](https://img.shields.io/github/actions/workflow/status/lunarmodules/luasocket/luacheck.yml?branch=master&label=Luacheck&logo=Lua)](https://github.com/lunarmodules/luasocket/actions?workflow=Luacheck) [![Luacheck](https://img.shields.io/github/workflow/status/lunarmodules/luasocket/Luacheck?label=Luacheck&logo=Lua)](https://github.com/lunarmodules/luasocket/actions?workflow=Luacheck)
[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/lunarmodules/luasocket?label=Tag&logo=GitHub)](https://github.com/lunarmodules/luasocket/releases) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/lunarmodules/luasocket?label=Tag&logo=GitHub)](https://github.com/lunarmodules/luasocket/releases)
[![Luarocks](https://img.shields.io/luarocks/v/lunarmodules/luasocket?label=Luarocks&logo=Lua)](https://luarocks.org/modules/lunarmodules/luasocket) [![Luarocks](https://img.shields.io/luarocks/v/lunarmodules/luasocket?label=Luarocks&logo=Lua)](https://luarocks.org/modules/lunarmodules/luasocket)

View File

@ -54,33 +54,6 @@ int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps)
return opt->func(L, ps); return opt->func(L, ps);
} }
/*------------------------------------------------------*/
/* binds socket to network interface */
int opt_set_bindtodevice(lua_State *L, p_socket ps)
{
#ifndef SO_BINDTODEVICE
return luaL_error(L, "SO_BINDTODEVICE is not supported on this operating system");
#else
const char *dev = luaL_checkstring(L, 3);
return opt_set(L, ps, SOL_SOCKET, SO_BINDTODEVICE, (char*)dev, strlen(dev)+1);
#endif
}
int opt_get_bindtodevice(lua_State *L, p_socket ps)
{
#ifndef SO_BINDTODEVICE
return luaL_error(L, "SO_BINDTODEVICE is not supported on this operating system");
#else
char dev[IFNAMSIZ];
int len = sizeof(dev);
int err = opt_get(L, ps, SOL_SOCKET, SO_BINDTODEVICE, &dev, &len);
if (err)
return err;
lua_pushstring(L, dev);
return 1;
#endif
}
/*------------------------------------------------------*/ /*------------------------------------------------------*/
/* enables reuse of local address */ /* enables reuse of local address */
int opt_set_reuseaddr(lua_State *L, p_socket ps) int opt_set_reuseaddr(lua_State *L, p_socket ps)

View File

@ -53,9 +53,6 @@ int opt_get_tcp_keepintvl(lua_State *L, p_socket ps);
int opt_set_tcp_defer_accept(lua_State *L, p_socket ps); int opt_set_tcp_defer_accept(lua_State *L, p_socket ps);
#endif #endif
int opt_set_bindtodevice(lua_State *L, p_socket ps);
int opt_get_bindtodevice(lua_State *L, p_socket ps);
int opt_set_keepalive(lua_State *L, p_socket ps); int opt_set_keepalive(lua_State *L, p_socket ps);
int opt_get_keepalive(lua_State *L, p_socket ps); int opt_get_keepalive(lua_State *L, p_socket ps);

View File

@ -12,7 +12,7 @@
#define PIE_CONNREFUSED "connection refused" #define PIE_CONNREFUSED "connection refused"
#define PIE_CONNABORTED "closed" #define PIE_CONNABORTED "closed"
#define PIE_CONNRESET "closed" #define PIE_CONNRESET "closed"
#define PIE_TIMEDOUT "connection timeout" #define PIE_TIMEDOUT "timeout"
#define PIE_AGAIN "temporary failure in name resolution" #define PIE_AGAIN "temporary failure in name resolution"
#define PIE_BADFLAGS "invalid value for ai_flags" #define PIE_BADFLAGS "invalid value for ai_flags"
#define PIE_BADHINTS "invalid value for hints" #define PIE_BADHINTS "invalid value for hints"

View File

@ -71,7 +71,6 @@ static luaL_Reg tcp_methods[] = {
/* socket option handlers */ /* socket option handlers */
static t_opt optget[] = { static t_opt optget[] = {
{"bindtodevice", opt_get_bindtodevice},
{"keepalive", opt_get_keepalive}, {"keepalive", opt_get_keepalive},
{"reuseaddr", opt_get_reuseaddr}, {"reuseaddr", opt_get_reuseaddr},
{"reuseport", opt_get_reuseport}, {"reuseport", opt_get_reuseport},
@ -93,7 +92,6 @@ static t_opt optget[] = {
}; };
static t_opt optset[] = { static t_opt optset[] = {
{"bindtodevice", opt_set_bindtodevice},
{"keepalive", opt_set_keepalive}, {"keepalive", opt_set_keepalive},
{"reuseaddr", opt_set_reuseaddr}, {"reuseaddr", opt_set_reuseaddr},
{"reuseport", opt_set_reuseport}, {"reuseport", opt_set_reuseport},

View File

@ -11,7 +11,6 @@
#include <winsock2.h> #include <winsock2.h>
#include <ws2tcpip.h> #include <ws2tcpip.h>
typedef int socklen_t;
typedef SOCKADDR_STORAGE t_sockaddr_storage; typedef SOCKADDR_STORAGE t_sockaddr_storage;
typedef SOCKET t_socket; typedef SOCKET t_socket;
typedef t_socket *p_socket; typedef t_socket *p_socket;