Compare commits

...

6 Commits

Author SHA1 Message Date
georgeto
1b2780c1ab
Merge d7856b222d02532412cec7c018bbd6cf33eca91f into 0f37af645c5f3a0377f1650b529ed23b2e26749f 2023-10-31 23:02:49 -06:00
Caleb Maclennan
0f37af645c
Merge pull request #415 from leso-kn/feature/actions-windows 2023-10-30 22:04:00 +03:00
leso-kn
9c6195ea62
ci: Enable windows build 2023-10-27 19:31:18 +02:00
leso-kn
708e50f8e6
refactor(core): Replace check for SO_BINDTODEVICE support with platform independent version 2023-10-27 11:34:39 +02:00
leso-kn
0bc8c56043
fix(core): Disable SO_BINDTODEVICE on windows
Co-authored-by: Sewbacca <sebastian.kalus@kolabnow.com>
2023-10-27 09:59:26 +03:00
georgeto
d7856b222d fix(inet): Return port as number in getsockname
The documentation of getsockname() states that the port is returned as
a number, which is also what the similar getpeername function does.

Closes #391
2022-09-11 02:11:47 +02:00
3 changed files with 12 additions and 7 deletions

View File

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

View File

@ -290,7 +290,7 @@ int inet_meth_getsockname(lua_State *L, p_socket ps, int family)
return 2;
}
lua_pushstring(L, name);
lua_pushstring(L, port);
lua_pushinteger(L, (int) strtol(port, (char **) NULL, 10));
switch (family) {
case AF_INET: lua_pushliteral(L, "inet"); break;
case AF_INET6: lua_pushliteral(L, "inet6"); break;

View File

@ -58,7 +58,7 @@ int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps)
/* binds socket to network interface */
int opt_set_bindtodevice(lua_State *L, p_socket ps)
{
#ifdef __APPLE__
#ifndef SO_BINDTODEVICE
return luaL_error(L, "SO_BINDTODEVICE is not supported on this operating system");
#else
const char *dev = luaL_checkstring(L, 3);
@ -68,7 +68,7 @@ int opt_set_bindtodevice(lua_State *L, p_socket ps)
int opt_get_bindtodevice(lua_State *L, p_socket ps)
{
#ifdef __APPLE__
#ifndef SO_BINDTODEVICE
return luaL_error(L, "SO_BINDTODEVICE is not supported on this operating system");
#else
char dev[IFNAMSIZ];