From 8c476968e961fbeb7ae7e7700fbc8937e615200b Mon Sep 17 00:00:00 2001 From: AR2000AR Date: Fri, 23 Jun 2023 23:31:50 +0200 Subject: [PATCH] [osinetwork] misc fixes --- network/bin/ip.lua | 2 +- network/lib/network/ipv4/address.lua | 3 +++ packages/manifest | 2 +- packages/osinetwork.tar | Bin 143360 -> 143360 bytes programs.cfg | 2 +- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/network/bin/ip.lua b/network/bin/ip.lua index 8e421e7..0e501dd 100644 --- a/network/bin/ip.lua +++ b/network/bin/ip.lua @@ -13,7 +13,7 @@ if (args[1] == "a") then if (itf.ethernet) then print(string.format("\tMAC : %s MTU : %d", itf.ethernet:addr(), itf.ethernet:mtu())) end - if (itf.ip) then + if (itf.ip and itf.ip:addr()) then print(string.format("\tIP : %s Mask : %s", ipv4.address.tostring(itf.ip:addr()), ipv4.address.tostring(itf.ip:mask()))) end end diff --git a/network/lib/network/ipv4/address.lua b/network/lib/network/ipv4/address.lua index 52006de..f9b334c 100644 --- a/network/lib/network/ipv4/address.lua +++ b/network/lib/network/ipv4/address.lua @@ -4,6 +4,7 @@ local bit32 = require("bit32") local ipv4Adress = {} function ipv4Adress.fromString(val) + checkArg(1, val, 'string') local a, b, c, d = val:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") if (not a or not b or not c or not d) then error("Not a IPv4", 2) end a = assert(tonumber(a)) @@ -18,6 +19,7 @@ function ipv4Adress.fromString(val) end function ipv4Adress.tostring(val) + checkArg(1, val, 'number') local a = bit32.extract(val, 24, 8) local b = bit32.extract(val, 16, 8) local c = bit32.extract(val, 8, 8) @@ -29,6 +31,7 @@ end ---@param cidr string ---@return number address, number mask function ipv4Adress.fromCIDR(cidr) + checkArg(1, cidr, 'string') local address, mask = cidr:match("^(%d+%.%d+%.%d+%.%d+)/(%d+)$") mask = assert(tonumber(mask)) return ipv4Adress.fromString(address), ipv4Adress.maskLenToMask(mask) diff --git a/packages/manifest b/packages/manifest index 6cba87b..bc876b1 100644 --- a/packages/manifest +++ b/packages/manifest @@ -255,7 +255,7 @@ ["osinetwork"] = { ["manifestVersion"] = "1.0", ["package"] = "osinetwork", - ["version"] = "2.3.1", + ["version"] = "2.3.2", ["name"] = "OSI Network stack", ["repo"] = "tree/master/network", ["description"] = "A close to official rfc emulation of the OSI layers for OpenOS. Include Ethernet, ARP, ICMP, UDP. Also provide a luasocket libe librairy", diff --git a/packages/osinetwork.tar b/packages/osinetwork.tar index 06afa0d826184681dbdde37ea3dabcf861b93a27..6d9557d10134e20e910a6935701dab5b7fc4f2b9 100644 GIT binary patch delta 196 zcmZp8z|ru4V?!VdqtWId7Go6&b2A151Yj^QG%_iPM?pQWG&d==NPW9>FJl3tRB}dYa<*epx`v^SLULwG5l}&K VNl|8Ay88CkK1NyQWs?}^0RYBcIKlt` delta 135 zcmZp8z|ru4V?!Vdqv7Tt7Go6&QxgUQ1Yj^QG%_7}=XSR0UWz1sS{<4oz OoOyBrTimiqjPn3?xFvJ| diff --git a/programs.cfg b/programs.cfg index 6de1097..1fedddb 100644 --- a/programs.cfg +++ b/programs.cfg @@ -277,7 +277,7 @@ note = "Are provided : ping, ifup, ifdown, arp, nc, netstat. Any one of theses tools may be moved to a separate package at any time", authors = "AR2000AR", repo = "tree/master/network", - version = "2.3.1" + version = "2.3.2" }, ["dns_common"] = { files = {