From fe754af13dcc6eb69ec5960b48c9de44a2eb3101 Mon Sep 17 00:00:00 2001 From: Feoramund <161657516+Feoramund@users.noreply.github.com> Date: Mon, 5 Aug 2024 02:30:12 -0400 Subject: [PATCH] Add new contribution notes to `core:net` --- core/net/addr.odin | 2 ++ core/net/common.odin | 2 ++ core/net/dns.odin | 2 ++ core/net/dns_unix.odin | 2 ++ core/net/dns_windows.odin | 2 ++ core/net/doc.odin | 2 ++ core/net/errors_darwin.odin | 2 ++ core/net/errors_freebsd.odin | 19 +++++++++++++++++++ core/net/errors_linux.odin | 2 ++ core/net/errors_windows.odin | 2 ++ core/net/interface.odin | 2 ++ core/net/interface_darwin.odin | 3 ++- core/net/interface_freebsd.odin | 19 +++++++++++++++++++ core/net/interface_linux.odin | 2 ++ core/net/interface_windows.odin | 2 ++ core/net/socket.odin | 2 ++ core/net/socket_darwin.odin | 2 ++ core/net/socket_freebsd.odin | 19 +++++++++++++++++++ core/net/socket_linux.odin | 2 ++ core/net/socket_windows.odin | 2 ++ core/net/url.odin | 2 ++ tests/core/net/test_core_net.odin | 2 ++ tests/core/net/test_core_net_freebsd.odin | 12 ++++++++++++ 23 files changed, 107 insertions(+), 1 deletion(-) diff --git a/core/net/addr.odin b/core/net/addr.odin index b6f8ef3f5..601a02f2f 100644 --- a/core/net/addr.odin +++ b/core/net/addr.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:strconv" diff --git a/core/net/common.odin b/core/net/common.odin index 69fce7d33..b9af9ce9b 100644 --- a/core/net/common.odin +++ b/core/net/common.odin @@ -13,12 +13,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "base:runtime" diff --git a/core/net/dns.odin b/core/net/dns.odin index 99af83cfb..e82b54262 100644 --- a/core/net/dns.odin +++ b/core/net/dns.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:mem" diff --git a/core/net/dns_unix.odin b/core/net/dns_unix.odin index b917a9d26..0448b8d9e 100644 --- a/core/net/dns_unix.odin +++ b/core/net/dns_unix.odin @@ -9,12 +9,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:strings" diff --git a/core/net/dns_windows.odin b/core/net/dns_windows.odin index ccec7ea4b..b7af050b1 100644 --- a/core/net/dns_windows.odin +++ b/core/net/dns_windows.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:strings" diff --git a/core/net/doc.odin b/core/net/doc.odin index 0f1b33172..996f8147e 100644 --- a/core/net/doc.odin +++ b/core/net/doc.odin @@ -2,12 +2,14 @@ Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ /* diff --git a/core/net/errors_darwin.odin b/core/net/errors_darwin.odin index 3116af0ab..f2a0d6262 100644 --- a/core/net/errors_darwin.odin +++ b/core/net/errors_darwin.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:c" diff --git a/core/net/errors_freebsd.odin b/core/net/errors_freebsd.odin index fc8287834..8257dfa5d 100644 --- a/core/net/errors_freebsd.odin +++ b/core/net/errors_freebsd.odin @@ -1,6 +1,25 @@ //+build freebsd package net +/* + Package net implements cross-platform Berkeley Sockets, DNS resolution and associated procedures. + For other protocols and their features, see subdirectories of this package. +*/ + +/* + Copyright 2022 Tetralux + Copyright 2022 Colin Davidson + Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . + Made available under Odin's BSD-3 license. + + List of contributors: + Tetralux: Initial implementation + Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver + Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code +*/ + import "core:c" import "core:sys/freebsd" diff --git a/core/net/errors_linux.odin b/core/net/errors_linux.odin index 2370dd0d8..9047b4020 100644 --- a/core/net/errors_linux.odin +++ b/core/net/errors_linux.odin @@ -10,6 +10,7 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: @@ -17,6 +18,7 @@ package net Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation flysand: Move dependency from core:linux.Errno to core:sys/linux + Feoramund: FreeBSD platform code */ import "core:c" diff --git a/core/net/errors_windows.odin b/core/net/errors_windows.odin index 0538c2b82..00f79164f 100644 --- a/core/net/errors_windows.odin +++ b/core/net/errors_windows.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:c" diff --git a/core/net/interface.odin b/core/net/interface.odin index 06d1de129..90444fb63 100644 --- a/core/net/interface.odin +++ b/core/net/interface.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:strings" diff --git a/core/net/interface_darwin.odin b/core/net/interface_darwin.odin index 59b0e01c5..5cab4de87 100644 --- a/core/net/interface_darwin.odin +++ b/core/net/interface_darwin.odin @@ -10,13 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation - + Feoramund: FreeBSD platform code */ import "core:os" diff --git a/core/net/interface_freebsd.odin b/core/net/interface_freebsd.odin index f3c455b21..a9a125299 100644 --- a/core/net/interface_freebsd.odin +++ b/core/net/interface_freebsd.odin @@ -1,6 +1,25 @@ //+build freebsd package net +/* + Package net implements cross-platform Berkeley Sockets, DNS resolution and associated procedures. + For other protocols and their features, see subdirectories of this package. +*/ + +/* + Copyright 2022 Tetralux + Copyright 2022 Colin Davidson + Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . + Made available under Odin's BSD-3 license. + + List of contributors: + Tetralux: Initial implementation + Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver + Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code +*/ + import "core:c" import "core:strings" import "core:sys/freebsd" diff --git a/core/net/interface_linux.odin b/core/net/interface_linux.odin index 7c99cf23b..c6df8f0a2 100644 --- a/core/net/interface_linux.odin +++ b/core/net/interface_linux.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code This file uses `getifaddrs` libc call to enumerate interfaces. TODO: When we have raw sockets, split off into its own file for Linux so we can use the NETLINK protocol and bypass libc. diff --git a/core/net/interface_windows.odin b/core/net/interface_windows.odin index f8bac253a..c0b5b41d8 100644 --- a/core/net/interface_windows.odin +++ b/core/net/interface_windows.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import sys "core:sys/windows" diff --git a/core/net/socket.odin b/core/net/socket.odin index 1472eb365..e36c67d21 100644 --- a/core/net/socket.odin +++ b/core/net/socket.odin @@ -10,12 +10,14 @@ package net Copyright 2022-2023 Tetralux Copyright 2022-2023 Colin Davidson Copyright 2022-2023 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ any_socket_to_socket :: proc "contextless" (socket: Any_Socket) -> Socket { diff --git a/core/net/socket_darwin.odin b/core/net/socket_darwin.odin index ba86f1005..83a7a3442 100644 --- a/core/net/socket_darwin.odin +++ b/core/net/socket_darwin.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:c" diff --git a/core/net/socket_freebsd.odin b/core/net/socket_freebsd.odin index db7bb1f56..00da5ec06 100644 --- a/core/net/socket_freebsd.odin +++ b/core/net/socket_freebsd.odin @@ -1,6 +1,25 @@ //+build freebsd package net +/* + Package net implements cross-platform Berkeley Sockets, DNS resolution and associated procedures. + For other protocols and their features, see subdirectories of this package. +*/ + +/* + Copyright 2022 Tetralux + Copyright 2022 Colin Davidson + Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . + Made available under Odin's BSD-3 license. + + List of contributors: + Tetralux: Initial implementation + Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver + Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code +*/ + import "core:c" import "core:sys/freebsd" import "core:time" diff --git a/core/net/socket_linux.odin b/core/net/socket_linux.odin index a4d75b92b..8c7154e28 100644 --- a/core/net/socket_linux.odin +++ b/core/net/socket_linux.odin @@ -10,6 +10,7 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: @@ -17,6 +18,7 @@ package net Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation flysand: Move dependency from core:os to core:sys/linux + Feoramund: FreeBSD platform code */ import "core:c" diff --git a/core/net/socket_windows.odin b/core/net/socket_windows.odin index 3b9623749..1cfab0361 100644 --- a/core/net/socket_windows.odin +++ b/core/net/socket_windows.odin @@ -10,12 +10,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:c" diff --git a/core/net/url.odin b/core/net/url.odin index 16aa57ec5..aadcf5e48 100644 --- a/core/net/url.odin +++ b/core/net/url.odin @@ -8,12 +8,14 @@ package net Copyright 2022 Tetralux Copyright 2022 Colin Davidson Copyright 2022 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Tetralux: Initial implementation Colin Davidson: Linux platform code, OSX platform code, Odin-native DNS resolver Jeroen van Rijn: Cross platform unification, code style, documentation + Feoramund: FreeBSD platform code */ import "core:strings" diff --git a/tests/core/net/test_core_net.odin b/tests/core/net/test_core_net.odin index 515fdf0c9..54524a8d5 100644 --- a/tests/core/net/test_core_net.odin +++ b/tests/core/net/test_core_net.odin @@ -1,10 +1,12 @@ /* Copyright 2021 Jeroen van Rijn . + Copyright 2024 Feoramund . Made available under Odin's BSD-3 license. List of contributors: Jeroen van Rijn: Initial implementation. graphitemaster: pton/ntop IANA test vectors + Feoramund: FreeBSD-specific tests. A test suite for `core:net` */ diff --git a/tests/core/net/test_core_net_freebsd.odin b/tests/core/net/test_core_net_freebsd.odin index 85a73aa9e..61e801f2b 100644 --- a/tests/core/net/test_core_net_freebsd.odin +++ b/tests/core/net/test_core_net_freebsd.odin @@ -1,3 +1,15 @@ +/* + Copyright 2021 Jeroen van Rijn . + Copyright 2024 Feoramund . + Made available under Odin's BSD-3 license. + + List of contributors: + Jeroen van Rijn: Initial implementation. + graphitemaster: pton/ntop IANA test vectors + Feoramund: FreeBSD-specific tests. + + A test suite for `core:net` +*/ //+build freebsd package test_core_net