Merge pull request #207012 from Homebrew/bump-tailwindcss-4.0.5
[Homebrew/homebrew-core.git] / Formula / t / tinc.rb
blob6ec1e24b085fcc4e4c1f0a1063ecaf20ebc369b1
1 class Tinc < Formula
2   desc "Virtual Private Network (VPN) tool"
3   homepage "https://www.tinc-vpn.org/"
4   url "https://tinc-vpn.org/packages/tinc-1.0.36.tar.gz"
5   sha256 "40f73bb3facc480effe0e771442a706ff0488edea7a5f2505d4ccb2aa8163108"
6   license "GPL-2.0-or-later" => { with: "openvpn-openssl-exception" }
8   livecheck do
9     url "https://www.tinc-vpn.org/download/"
10     regex(/href=.*?tinc[._-]v?(\d+(?:\.\d+)+)\.t/i)
11   end
13   bottle do
14     rebuild 1
15     sha256 cellar: :any,                 arm64_sequoia:  "d452247fec1d29690250c77dafdeb7cac2c945ddef7f11e19fa728563cf4f720"
16     sha256 cellar: :any,                 arm64_sonoma:   "ab60d88c2bb9f1d867bc7fad3ff18086c3bb907502cc1f9af3c61eab5c633771"
17     sha256 cellar: :any,                 arm64_ventura:  "9f2467372c458402453d111b49be9ebdfb5d7e53f1a3a33d32bf2c43e9cd6b1b"
18     sha256 cellar: :any,                 arm64_monterey: "4fb0f6f2276a92f60c5aad1674c137850d6e0a6ac77adc8ce575aa4288a8b942"
19     sha256 cellar: :any,                 arm64_big_sur:  "88d77dd06ee97bf7c1cc0e330876c992d7d460cc55e8e62ebb5c03a0f4ebb0e2"
20     sha256 cellar: :any,                 sonoma:         "dfbaa4b890c987e2daeb4a38a4a82d8008ad23e38b135768909c9eeda980c2ff"
21     sha256 cellar: :any,                 ventura:        "3f2730126370c8ded288e13b4756426213aef4082039f8a7b64776214ce70db6"
22     sha256 cellar: :any,                 monterey:       "58d69be546dceda9a4d413770531633c132cf46a5901553f3d0367cd0bae282f"
23     sha256 cellar: :any,                 big_sur:        "094208fa2043d75696fa60b47a4d26f32e67fbffcce78cc37429a6eac641ddb8"
24     sha256 cellar: :any,                 catalina:       "878a5d0ded29f6b9ad6a18e040508e7597551d4b359c39f9ecaaa7fc6cb91b12"
25     sha256 cellar: :any_skip_relocation, x86_64_linux:   "f1cf23e958fe70fd7662d67e87ab9adfd4d838550b104216ec70363391ec7595"
26   end
28   depends_on "lzo"
29   depends_on "openssl@3"
31   uses_from_macos "zlib"
33   # fix build errors, upstream pr ref, https://github.com/gsliepen/tinc/pull/464
34   patch :DATA
36   def install
37     system "./configure", "--prefix=#{prefix}", "--sysconfdir=#{etc}",
38                           "--with-openssl=#{Formula["openssl@3"].opt_prefix}"
39     system "make", "install"
40   end
42   def post_install
43     (var/"run/tinc").mkpath
44   end
46   service do
47     run [opt_sbin/"tincd", "--config=#{etc}/tinc", "--pidfile=#{var}/run/tinc/tinc.pid", "-D"]
48     keep_alive true
49     require_root true
50     working_dir etc/"tinc"
51     log_path var/"log/tinc/stdout.log"
52     error_log_path var/"log/tinc/stderr.log"
53   end
55   test do
56     assert_match version.to_s, shell_output("#{sbin}/tincd --version")
57   end
58 end
60 __END__
61 diff --git a/src/net_socket.c b/src/net_socket.c
62 index 6195c16..e072970 100644
63 --- a/src/net_socket.c
64 +++ b/src/net_socket.c
65 @@ -102,14 +102,14 @@ static bool bind_to_interface(int sd) {
67  #if defined(SOL_SOCKET) && defined(SO_BINDTODEVICE)
68         memset(&ifr, 0, sizeof(ifr));
69 -       strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ);
70 -       ifr.ifr_ifrn.ifrn_name[IFNAMSIZ - 1] = 0;
71 +       strncpy(ifr.ifr_name, iface, IFNAMSIZ);
72 +       ifr.ifr_name[IFNAMSIZ - 1] = 0;
73         free(iface);
75         status = setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr, sizeof(ifr));
77         if(status) {
78 -               logger(LOG_ERR, "Can't bind to interface %s: %s", ifr.ifr_ifrn.ifrn_name, strerror(errno));
79 +               logger(LOG_ERR, "Can't bind to interface %s: %s", ifr.ifr_name, strerror(errno));
80                 return false;
81         }
83 @@ -157,13 +157,13 @@ int setup_listen_socket(const sockaddr_t *sa) {
84                 struct ifreq ifr;
86                 memset(&ifr, 0, sizeof(ifr));
87 -               strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ);
88 -               ifr.ifr_ifrn.ifrn_name[IFNAMSIZ - 1] = 0;
89 +               strncpy(ifr.ifr_name, iface, IFNAMSIZ);
90 +               ifr.ifr_name[IFNAMSIZ - 1] = 0;
91                 free(iface);
93                 if(setsockopt(nfd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr, sizeof(ifr))) {
94                         closesocket(nfd);
95 -                       logger(LOG_ERR, "Can't bind to interface %s: %s", ifr.ifr_ifrn.ifrn_name, strerror(sockerrno));
96 +                       logger(LOG_ERR, "Can't bind to interface %s: %s", ifr.ifr_name, strerror(sockerrno));
97                         return -1;
98                 }
100 diff --git a/src/raw_socket_device.c b/src/raw_socket_device.c
101 index f4ed694..cf13fe9 100644
102 --- a/src/raw_socket_device.c
103 +++ b/src/raw_socket_device.c
104 @@ -61,12 +61,12 @@ static bool setup_device(void) {
105  #endif
107         memset(&ifr, 0, sizeof(ifr));
108 -       strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ);
109 -       ifr.ifr_ifrn.ifrn_name[IFNAMSIZ - 1] = 0;
110 +       strncpy(ifr.ifr_name, iface, IFNAMSIZ);
111 +       ifr.ifr_name[IFNAMSIZ - 1] = 0;
113         if(ioctl(device_fd, SIOCGIFINDEX, &ifr)) {
114                 close(device_fd);
115 -               logger(LOG_ERR, "Can't find interface %s: %s", ifr.ifr_ifrn.ifrn_name, strerror(errno));
116 +               logger(LOG_ERR, "Can't find interface %s: %s", ifr.ifr_name, strerror(errno));
117                 return false;
118         }
120 @@ -76,7 +76,7 @@ static bool setup_device(void) {
121         sa.sll_ifindex = ifr.ifr_ifindex;
123         if(bind(device_fd, (struct sockaddr *) &sa, (socklen_t) sizeof(sa))) {
124 -               logger(LOG_ERR, "Could not bind %s to %s: %s", device, ifr.ifr_ifrn.ifrn_name, strerror(errno));
125 +               logger(LOG_ERR, "Could not bind %s to %s: %s", device, ifr.ifr_name, strerror(errno));
126                 return false;
127         }