+-- Copyright (c) 2023 Egor
+-- SPDX-License-Identifier: GPL-2.0-or-later
local function showlist(name, ls)
local x
for k,v in pairs(ls) do
+-- Copyright (c) 2024 Egor
+-- SPDX-License-Identifier: GPL-2.0-or-later
-- ctcp probe module
local servicename = "cia!cia@cia.gov"
function commands.refreshctcp(client, source, command, args)
+-- Copyright (c) 2023-2025 Egor
+-- SPDX-License-Identifier: GPL-2.0-or-later
function commands.reload(client, source, command, args)
client_notice(client, "reloading...")
dofile(getluafile "init.lua")
+-- Copyright (c) 2024 Egor
+-- SPDX-License-Identifier: GPL-2.0-or-later
-- irccloud authentication support
local function parseipv6(s)
if not s:match("^[0-9a-fA-F:]*$") then
+-- Copyright (c) 2024-2025 Egor
+-- SPDX-License-Identifier: GPL-2.0-or-later
-- spam filtering
if not spamlevel then
spamlevel = 0
+// Copyright (c) 2023-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifdef HAS_LUA
#include "admin.h"
#include "irc.h"
+// Copyright (c) 2023-2024 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef ADMIN_H_
#define ADMIN_H_
#ifdef HAS_LUA
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef COMMON_H_
#define COMMON_H_
#include "netsock.h"
-/* SPDX-License-Identifier: MIT */
+// Copyright (c) 1998-2014 Solar Designer
+// Copyright (c) 2005-2020 Rich Felker, et al.
+// SPDX-License-Identifier: MIT
#include "crypt_blowfish.h"
/* Modified by Rich Felker in for inclusion in musl libc, based on
* Solar Designer's second size-optimized version sent to the musl
+// Copyright (c) 1998-2014 Solar Designer
+// Copyright (c) 2005-2020 Rich Felker, et al.
+// SPDX-License-Identifier: MIT
char *crypt_blowfish(const char *key, const char *setting, char *output);
+// Copyright (c) 2022, 2024 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "irc.h"
#include "ircfmt.h"
#include "passwd.h"
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2024 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef IRC_H_
#define IRC_H_
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "ircfmt.h"
static const char *format_prefixes(struct client_data *client, struct client_data *cl, struct channel *chan) {
if (!chan) return "";
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef IRCFMT_H_
#define IRCFMT_H_
#include "irc.h"
+// Copyright (c) 2024-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "common.h"
#include "job.h"
#include "passwd.h"
+// Copyright (c) 2024-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef JOB_H_
#define JOB_H_
typedef int (*jobproc_t)(struct client_data *cl, const char *data, size_t len);
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "common.h"
#include "net.h"
#include "irc.h"
+// Copyright (c) 2023, 2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "common.h"
#include "map.h"
#include <stdlib.h>
+// Copyright (c) 2023, 2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef MAP_H_
#define MAP_H_
#include <stdlib.h>
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "net.h"
#include "irc.h"
#include "ircfmt.h"
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2024 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef NET_H_
#define NET_H_
#include "common.h"
+// Copyright (c) 2023-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "netpoll.h"
#include "util.h"
+// Copyright (c) 2023, 2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef NETPOLL_H_
#define NETPOLL_H_
#include "netsock.h"
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2023, 2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "netsock.h"
int net_nonblock(SOCKET fd)
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef NETSOCK_H_
#define NETSOCK_H_
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "netsock.h"
#include <stdio.h>
#include <string.h>
+// Copyright (c) 2022-2024 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef PASSWD_H_
#define PASSWD_H_
char *password_crypt(const char *key, const char *setting);
+// Copyright (c) 2022-2023, 2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include <unistd.h>
#include "passwd.h"
int main(int argc, char **argv)
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "util.h"
#include <stdio.h>
#include <string.h>
+// Copyright (c) 2022 Sam Smith
+// Copyright (c) 2022-2025 Egor
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef UTIL_H_
#define UTIL_H_
#include <stdlib.h>