]> jfr.im git - solanum.git/log
solanum.git
22 months agoum_regonlymsg: prevent unregistered users from NOTICEing +R users too
Doug Freed [Tue, 23 Aug 2022 12:04:03 +0000 (12:04 +0000)] 
um_regonlymsg: prevent unregistered users from NOTICEing +R users too

22 months agoEBMASK capab, to burst BMASK metadata (#354)
Jess Porter [Sat, 20 Aug 2022 00:35:54 +0000 (01:35 +0100)] 
EBMASK capab, to burst BMASK metadata (#354)

22 months agosend "End of burst" snote to L_NETWIDE (#356)
Jess Porter [Fri, 19 Aug 2022 02:17:05 +0000 (03:17 +0100)] 
send "End of burst" snote to L_NETWIDE (#356)

23 months agochm_regmsg: don't duplicate nick in 415
Doug Freed [Tue, 12 Jul 2022 02:46:00 +0000 (22:46 -0400)] 
chm_regmsg: don't duplicate nick in 415

sendto_one_numeric already includes the nick, so there's no need to
duplicate it. OFTC does not.

23 months agoserv_connect(): ensure both sa_bind[]/sa_connect[] are always populated (#352)
Aaron Jones [Tue, 5 Jul 2022 06:01:26 +0000 (06:01 +0000)] 
serv_connect(): ensure both sa_bind[]/sa_connect[] are always populated (#352)

Due to [1], linking with SCTP sometimes does not multi-home correctly.
This is triggered by the rand() on the lines immediately above these.

The connect{} blocks already support an `aftype` parameter to instruct
IRCd to prefer IPv4 or IPv6. This commit additionally ensures that the
other structure is always populated with the other address (if any) if
this parameter is specified.

This will allow SCTP server-linking users to work around the bug and
ensure that it always multi-homes by setting `connect::aftype` to IPv4.
Without this commit, that would cause Solanum to not include the IPv6
addresses (if any) in the connect block in its SCTP setup.

If there isn't a valid IP address in the other sockaddr, this should be
of no consequence, because it will not be used by rb_connect_tcp(), and
both rb_connect_sctp() and rb_sctp_bindx_only() already verify that
there is a valid IP address in the sockaddr before making use of it.

[1] https://marc.info/?l=linux-sctp&m=165684809726472&w=2

2 years agoCast time_t to long long when printing
Matthew Martin [Mon, 27 Jun 2022 17:04:33 +0000 (12:04 -0500)] 
Cast time_t to long long when printing

2 years agoglobal masktrace doesn't need to be an operspy action
Jess Porter [Thu, 30 Jun 2022 23:07:02 +0000 (00:07 +0100)] 
global masktrace doesn't need to be an operspy action

2 years agoERROR instead of NOTICE for failed WEBIRC
Jess Porter [Thu, 30 Jun 2022 23:02:53 +0000 (00:02 +0100)] 
ERROR instead of NOTICE for failed WEBIRC

2 years agorefuse opers setting an invalidly long k-line reason
Jess Porter [Thu, 30 Jun 2022 22:59:17 +0000 (23:59 +0100)] 
refuse opers setting an invalidly long k-line reason

2 years agoircd/listener: return a TLS record layer alert to D-Lined TLS clients
Aaron Jones [Sat, 22 Jan 2022 23:50:58 +0000 (23:50 +0000)] 
ircd/listener: return a TLS record layer alert to D-Lined TLS clients

2 years agochmode: Use original string when removing a mask
Matthew Martin [Tue, 28 Jun 2022 02:09:35 +0000 (21:09 -0500)] 
chmode: Use original string when removing a mask

2 years agoIllumos fixes
JailBird [Wed, 8 Jun 2022 22:35:58 +0000 (17:35 -0500)] 
Illumos fixes

- getexecname(3) returns const char *
- pid_t is long

2 years agoNormalize snprintf size to use sizeof where possible
Matthew Martin [Fri, 24 Jun 2022 04:40:02 +0000 (23:40 -0500)] 
Normalize snprintf size to use sizeof where possible

2 years agochmode: Fix snprintf size
Matthew Martin [Fri, 24 Jun 2022 04:38:52 +0000 (23:38 -0500)] 
chmode: Fix snprintf size

2 years agovalid_temp_time: more simplification and test fixes
Doug Freed [Mon, 20 Jun 2022 11:33:03 +0000 (11:33 +0000)] 
valid_temp_time: more simplification and test fixes

2 years agovalid_temp_time: simplify/correct overflow check
Ed Kellett [Sun, 19 Jun 2022 21:07:20 +0000 (22:07 +0100)] 
valid_temp_time: simplify/correct overflow check

the logic for trying to detect the maximum value of time_t was broken;
since we target a lower maximum time anyway, just use that for the
overflow check

2 years agodon't truncate operspy WHO
Jess Porter [Fri, 10 Jun 2022 17:15:56 +0000 (18:15 +0100)] 
don't truncate operspy WHO

2 years agoRemove stray semicolons (#339)
jailbird777 [Fri, 10 Jun 2022 17:07:25 +0000 (12:07 -0500)] 
Remove stray semicolons (#339)

2 years agoNormalize generation for reproducible builds
Bernhard M. Wiedemann [Fri, 27 May 2022 03:27:44 +0000 (05:27 +0200)] 
Normalize generation for reproducible builds

While working on reproducible builds for openSUSE, I found that
our package varied even when building in clean VMs
with as little non-determinism as possible.
This was because of

+++ solanum-0~ch560/ircd/version.c.last
@@ -25,7 +25,7 @@
 #include "serno.h"
 #include "stdinc.h"

-const char *generation = "6";
+const char *generation = "5";
 const char *creation = "1653004800";
 const char *ircd_version = PATCHLEVEL;
 const char *serno = SERNO;

2 years agoAdd description parameter to auth blocks (#327)
Eric Mertens [Thu, 14 Apr 2022 21:39:45 +0000 (14:39 -0700)] 
Add description parameter to auth blocks (#327)

2 years agoApply cmode C to replies (#328)
Eric Mertens [Thu, 14 Apr 2022 20:14:12 +0000 (13:14 -0700)] 
Apply cmode C to replies (#328)

2 years agoMake valid_temp_time overflow-resistant
Ed Kellett [Fri, 18 Mar 2022 18:13:31 +0000 (18:13 +0000)] 
Make valid_temp_time overflow-resistant

2 years agoTest some edge cases of valid_temp_time
Ed Kellett [Fri, 18 Mar 2022 18:13:24 +0000 (18:13 +0000)] 
Test some edge cases of valid_temp_time

2 years agoMake opers talking through +g controllable by user mode +M (#275)
Stephen Bennett [Tue, 12 Apr 2022 21:54:58 +0000 (22:54 +0100)] 
Make opers talking through +g controllable by user mode +M (#275)

Times out after 30 minutes, and adds oper:always_message privilege for
bots and services to always talk through +g

2 years agoshow IPs in remote /stats i (#312)
Jess Porter [Fri, 8 Apr 2022 17:06:43 +0000 (18:06 +0100)] 
show IPs in remote /stats i (#312)

Co-authored-by: Eric Mertens <redacted>
2 years agoauthd/providers/opm.c: include <netinet/tcp.h> (#318)
Aaron Jones [Fri, 8 Apr 2022 16:47:18 +0000 (16:47 +0000)] 
authd/providers/opm.c: include <netinet/tcp.h> (#318)

This header defines the TCP_NODELAY flag, which this compilation
unit uses.

Other C libraries implicitly include this header from some other
header we are using (I have not investigated which), but musl's
system headers do not, which breaks building on musl.

Reported-by: 0x5c <redacted>
2 years agowhowas.c: store account name in whowas (#323)
David Schultz [Fri, 1 Apr 2022 21:58:43 +0000 (16:58 -0500)] 
whowas.c: store account name in whowas (#323)

Co-authored-by: Eric Mertens <redacted>
2 years agoRemove the subset ban restriction
Ed Kellett [Fri, 1 Apr 2022 13:26:47 +0000 (14:26 +0100)] 
Remove the subset ban restriction

I think this was always pretty questionable. You can set redundant bans
in various ways anyway, and preventing all of them would only make the
situation worse, as wide temporary bans would destroy narrow permanent
ones, for example.

2 years agovalid_temp_time: style fixes
Ed Kellett [Sun, 6 Mar 2022 16:44:45 +0000 (16:44 +0000)] 
valid_temp_time: style fixes

2 years agoAdd tests for valid_temp_time
Ed Kellett [Sun, 6 Mar 2022 16:44:32 +0000 (16:44 +0000)] 
Add tests for valid_temp_time

2 years agoremove some header dependencies on client.h
Ed Kellett [Sun, 6 Mar 2022 21:35:03 +0000 (21:35 +0000)] 
remove some header dependencies on client.h

2 years agoSupport more human friendly k/d/x-line duration format
David Schultz [Wed, 7 Apr 2021 21:41:52 +0000 (22:41 +0100)] 
Support more human friendly k/d/x-line duration format

2 years agoFix comment in example configuration
Eric Mertens [Thu, 3 Feb 2022 17:23:42 +0000 (09:23 -0800)] 
Fix comment in example configuration

2 years agoRemove ambiguity in descriptions +u
Valentin Lorentz [Sat, 29 Jan 2022 07:16:20 +0000 (08:16 +0100)] 
Remove ambiguity in descriptions +u

The old descriptions might be interpreted as meaning that +u enables
server-side filtering.

2 years agodon't subject remote users to chm_nonotice
Jess Porter [Sun, 16 Jan 2022 18:06:53 +0000 (18:06 +0000)] 
don't subject remote users to chm_nonotice

2 years agochannel: always send chm_hidden modes to servers
Ed Kellett [Sat, 4 Dec 2021 19:31:53 +0000 (19:31 +0000)] 
channel: always send chm_hidden modes to servers

2 years agoircd/packet.c: make function definition consistent with declaration (#301)
Aaron Jones [Tue, 30 Nov 2021 19:50:30 +0000 (19:50 +0000)] 
ircd/packet.c: make function definition consistent with declaration (#301)

This function has a static forward-declaration, and is not used outside
this compilation unit. However, the definition was non-static. Fix this.

2 years agobetter standardised SNO_FULL. always show host AND ip
jess [Sun, 14 Nov 2021 17:59:58 +0000 (17:59 +0000)] 
better standardised SNO_FULL. always show host AND ip

2 years agocheck_one_kline: fix kline_spoof_ip handling
Ed Kellett [Sun, 7 Nov 2021 23:30:22 +0000 (23:30 +0000)] 
check_one_kline: fix kline_spoof_ip handling

2 years agoFix link to doc/readme.txt
Eric Mertens [Tue, 2 Nov 2021 15:52:41 +0000 (08:52 -0700)] 
Fix link to doc/readme.txt

2 years agojust a stray colon where it wasn't meant to have :)
Valerie Pond [Tue, 26 Oct 2021 18:48:49 +0000 (19:48 +0100)] 
just a stray colon where it wasn't meant to have :)

2 years agom_list: fail on invalid parameters
Ed Kellett [Tue, 19 Oct 2021 22:56:22 +0000 (23:56 +0100)] 
m_list: fail on invalid parameters

Loose port of 6ea60b2297948211925e22bd1f284179d680b4ae. I've chosen to
reduce indentation where it's convenient, and I'm allowing >-[0-9] as a
way of specifying a minimum of 0 because... I don't know, it just seems
neater to me.

2 years agom_list: Treat valid names with wildcards as masks
Ed Kellett [Tue, 19 Oct 2021 12:30:03 +0000 (13:30 +0100)] 
m_list: Treat valid names with wildcards as masks

* and ? are valid characters for channel names on IRC, and ELIST M gives
no way to distinguish between `LIST #foo-*` that's meant to search for
channels beginning `#foo-` and `LIST #foo-*` that's meant to list one
channel named literally `#foo-*`.

In order to deal with this, we will always assume a name with wildcards
is a mask. If it's also a channel name, that will be listed first.

2 years agoAdd mask modifiers to LIST help
Ed Kellett [Mon, 18 Oct 2021 17:26:11 +0000 (18:26 +0100)] 
Add mask modifiers to LIST help

2 years agoSupport *mask* and !*mask* in LIST
Ed Kellett [Mon, 18 Oct 2021 17:26:05 +0000 (18:26 +0100)] 
Support *mask* and !*mask* in LIST

2 years agoCREDITS: add mcintosh
Doug Freed [Mon, 18 Oct 2021 23:33:18 +0000 (19:33 -0400)] 
CREDITS: add mcintosh

2 years agom_names: use ITER_COMM_CHANNELS
Ed Kellett [Sun, 17 Oct 2021 16:36:53 +0000 (17:36 +0100)] 
m_names: use ITER_COMM_CHANNELS

2 years agohelpops: show opernames to opers
Ed Kellett [Sun, 17 Oct 2021 00:56:49 +0000 (01:56 +0100)] 
helpops: show opernames to opers

2 years ago"KLINE active for ..." -> "Disconnecting K-Lined user ..."
jess [Sat, 9 Oct 2021 22:44:36 +0000 (23:44 +0100)] 
"KLINE active for ..." -> "Disconnecting K-Lined user ..."

2 years agoexplicitly show IP in SNO_BANNED snotes
jess [Sat, 9 Oct 2021 21:45:22 +0000 (22:45 +0100)] 
explicitly show IP in SNO_BANNED snotes

2 years agoadd sqlite3 to build instructions
Seth Arnold [Thu, 30 Sep 2021 19:46:44 +0000 (19:46 +0000)] 
add sqlite3 to build instructions

Quite often people new to Solanum run into trouble in the configure step: the error message if they are lacking either the pkg-config or libsqlite3 packages are identical and discovering the pkg-config dependency is not trivial:

checking for SQLITE... no
configure: error: sqlite3 is required

I can't promise this apt install line is complete, but I know that I've suggested the pkg-config and libsqlite3-dev packages many times in the #solanum channel and they've been very helpful.

2 years agodoc/features/extban.txt: document $j, $x, and $z
David Schultz [Thu, 2 Sep 2021 02:18:54 +0000 (21:18 -0500)] 
doc/features/extban.txt: document $j, $x, and $z

2 years agoAdd 3 more of the delegates to CREDITS
Eric Mertens [Sat, 25 Sep 2021 02:20:31 +0000 (19:20 -0700)] 
Add 3 more of the delegates to CREDITS

2 years agoSend RPL_ENDOFTRACE on local /etrace
Ryan Schmidt [Thu, 23 Sep 2021 19:49:30 +0000 (12:49 -0700)] 
Send RPL_ENDOFTRACE on local /etrace

2 years agoextb_canjoin: Ignore exemptions
Ed Kellett [Wed, 22 Sep 2021 14:14:33 +0000 (15:14 +0100)] 
extb_canjoin: Ignore exemptions

2 years agofix typo in `sasl_only_client_message` (#279)
David Schultz [Wed, 15 Sep 2021 18:57:48 +0000 (13:57 -0500)] 
fix typo in `sasl_only_client_message` (#279)

2 years agochm_regmsg: actually check channel mode (#271)
Eric Mertens [Tue, 24 Aug 2021 02:52:18 +0000 (19:52 -0700)] 
chm_regmsg: actually check channel mode (#271)

2 years agoAvoid show_iline_prefix showing leftovers (#266)
Eric Mertens [Sat, 21 Aug 2021 15:54:16 +0000 (08:54 -0700)] 
Avoid show_iline_prefix showing leftovers (#266)

2 years agoRemove sno_whois from reference.conf (#270)
Aaron Jones [Sat, 21 Aug 2021 11:33:48 +0000 (11:33 +0000)] 
Remove sno_whois from reference.conf (#270)

This was missed in commit 26c3681f7ccece87d9fe

2 years agoswitch sasl_usercloak.c to use SNO_BANNED
jesopo [Fri, 20 Aug 2021 17:38:05 +0000 (18:38 +0100)] 
switch sasl_usercloak.c to use SNO_BANNED

2 years agohook_fn casts were hiding UB (#265)
Eric Mertens [Fri, 20 Aug 2021 03:09:40 +0000 (20:09 -0700)] 
hook_fn casts were hiding UB (#265)

2 years agoMake new_local_user hooks handle dead clients
Ed Kellett [Thu, 19 Aug 2021 19:33:55 +0000 (20:33 +0100)] 
Make new_local_user hooks handle dead clients

2 years agoStop announcing SASL cap changes on services split/join (#263)
Eric Mertens [Sun, 15 Aug 2021 23:25:46 +0000 (16:25 -0700)] 
Stop announcing SASL cap changes on services split/join (#263)

2 years agoERR_USERONCHANNEL when following a forward is missing a param
jesopo [Sun, 15 Aug 2021 04:15:27 +0000 (05:15 +0100)] 
ERR_USERONCHANNEL when following a forward is missing a param

2 years agoircd/newconf: ignore invalid connect block passwords (#261)
Aaron Jones [Sat, 14 Aug 2021 23:14:39 +0000 (23:14 +0000)] 
ircd/newconf: ignore invalid connect block passwords (#261)

Also, ignore a connect block that requests certfp authentication
without setting the ssl flag, as it will then go on to fail anyway.

Finally, correct an erroneous error message about class blocks.

2 years agoadd SNO_FARCONNECT to the help text (#260)
owen [Sat, 14 Aug 2021 11:15:39 +0000 (07:15 -0400)] 
add SNO_FARCONNECT to the help text (#260)

* add SNO_FARCONNECT to the helptext

2 years agoadd SNO_BANNED, snote for it on client k/x-line rejection (#242)
jesopo [Wed, 11 Aug 2021 16:08:31 +0000 (17:08 +0100)] 
add SNO_BANNED, snote for it on client k/x-line rejection (#242)

* add SNO_BANNED, snote for it on client k/x-line rejection

* add snomask help file line for SNO_BANNED

2 years agoadd show_iline_prefix for IsNeedSasl
jesopo [Wed, 4 Aug 2021 15:22:37 +0000 (15:22 +0000)] 
add show_iline_prefix for IsNeedSasl

2 years agoRename doc/index.txt to doc/readme.txt and mention reference.conf
Valentin Lorentz [Sun, 27 Jun 2021 16:17:40 +0000 (18:17 +0200)] 
Rename doc/index.txt to doc/readme.txt and mention reference.conf

The new name will make it appear in GitHub's web view.

2 years agoreference.conf: Document the common syntax for flags
Valentin Lorentz [Sun, 27 Jun 2021 16:12:33 +0000 (18:12 +0200)] 
reference.conf: Document the common syntax for flags

It was only documented as an example in the auth {} block,
not for other blocks.

2 years agoreference.conf: Make it clearer connect {} blocks are reciprocal
Val Lorentz [Sat, 31 Jul 2021 04:41:46 +0000 (06:41 +0200)] 
reference.conf: Make it clearer connect {} blocks are reciprocal

2 years agoThe rb_heap_block struct doesn't appear to be used anywhere
jailbird777 [Wed, 2 Jun 2021 03:46:42 +0000 (22:46 -0500)] 
The rb_heap_block struct doesn't appear to be used anywhere

2 years agotests: chase listener refactor changes
Ariadne Conill [Sat, 19 Jun 2021 11:06:17 +0000 (05:06 -0600)] 
tests: chase listener refactor changes

2 years agolibrb: appease libtool by adding rb_close_pending_fds() to the export list
Ariadne Conill [Sat, 19 Jun 2021 11:00:55 +0000 (05:00 -0600)] 
librb: appease libtool by adding rb_close_pending_fds() to the export list

2 years agolistener: refactor to use rb_dlink like the other lists in ircd
Ariadne Conill [Sat, 19 Jun 2021 10:51:50 +0000 (04:51 -0600)] 
listener: refactor to use rb_dlink like the other lists in ircd

2 years agolistener: use rb_close_pending_fds() in close_listeners()
Ariadne Conill [Sat, 19 Jun 2021 10:41:37 +0000 (04:41 -0600)] 
listener: use rb_close_pending_fds() in close_listeners()

2 years agolibrb: make free_fds() public as rb_close_pending_fds()
Ariadne Conill [Sat, 19 Jun 2021 10:41:17 +0000 (04:41 -0600)] 
librb: make free_fds() public as rb_close_pending_fds()

2 years agoRemove Windows support
jailbird777 [Fri, 9 Jul 2021 00:11:22 +0000 (19:11 -0500)] 
Remove Windows support

2 years agoCreate configurations for user-facing messages within registration (#238)
Melissa Draper [Sun, 11 Jul 2021 00:02:06 +0000 (17:02 -0700)] 
Create configurations for user-facing messages within registration (#238)

2 years agoCreate configurable client rejection message for SASL only (#236)
Melissa Draper [Fri, 9 Jul 2021 22:31:17 +0000 (15:31 -0700)] 
Create configurable client rejection message for SASL only (#236)

2 years agoUpdate NUMERIC_STR_435 to be more human-readable and mention quiets
Melissa Draper [Fri, 30 Jul 2021 01:40:16 +0000 (18:40 -0700)] 
Update NUMERIC_STR_435 to be more human-readable and mention quiets

2 years agomodules/core/m_message.c: align comments about idle time (#252)
Aaron Jones [Mon, 19 Jul 2021 03:56:24 +0000 (03:56 +0000)] 
modules/core/m_message.c: align comments about idle time (#252)

2 years agom_services: delete nick delay on RSFNC
Doug Freed [Fri, 16 Jul 2021 16:24:33 +0000 (11:24 -0500)] 
m_services: delete nick delay on RSFNC

2 years agokick,remove: don't confuse source and target membership
Ed Kellett [Tue, 13 Jul 2021 14:13:47 +0000 (15:13 +0100)] 
kick,remove: don't confuse source and target membership

2 years agochmode: stop processing when too many modes
Ed Kellett [Tue, 13 Jul 2021 14:40:34 +0000 (15:40 +0100)] 
chmode: stop processing when too many modes

2 years agom_dline: make the private reason private
Ed Kellett [Wed, 16 Jun 2021 15:57:29 +0000 (16:57 +0100)] 
m_dline: make the private reason private

2 years agoreference.conf: add drain_reason
David Schultz [Sun, 11 Jul 2021 22:40:49 +0000 (17:40 -0500)] 
reference.conf: add drain_reason

2 years agoum_regonlymsg: copy auto-accept logic from +g
Ed Kellett [Wed, 9 Jun 2021 11:52:24 +0000 (12:52 +0100)] 
um_regonlymsg: copy auto-accept logic from +g

2 years agoadd override /invite
jesopo [Tue, 6 Jul 2021 15:31:40 +0000 (15:31 +0000)] 
add override /invite

2 years agoreference.conf: Fix inconsistent use of tabulations and spaces
Valentin Lorentz [Sun, 27 Jun 2021 16:23:52 +0000 (18:23 +0200)] 
reference.conf: Fix inconsistent use of tabulations and spaces

2 years agoAdd a tutorial for connecting servers and services.
Valentin Lorentz [Sun, 27 Jun 2021 17:20:16 +0000 (19:20 +0200)] 
Add a tutorial for connecting servers and services.

3 years ago(Mostly) exorcise select()
jailbird777 [Fri, 25 Jun 2021 07:21:02 +0000 (02:21 -0500)] 
(Mostly) exorcise select()

Sadly, this just sends it to purgatory. It's still around for the
socketpair() emulation and the nanosleep() emulation.

socketpair() obviously only selects() on 2 FDs, so not a huge deal.
nanosleep() only uses it for the timeout, so also not a huge deal.

socketpair() is SUSv3 (2001) and nanosleep() is SUSv2 (1997), so maybe
it's OK to remove those emulations.  If so, then we can also remove the
sys/select.h check in configure.ac

3 years agoRemove ziplinks (#218)
Ariadne Conill [Sat, 26 Jun 2021 16:45:52 +0000 (11:45 -0500)] 
Remove ziplinks (#218)

3 years agoAdd `solanum.chat/oper` capablity (#217)
David Schultz [Sat, 26 Jun 2021 15:30:30 +0000 (10:30 -0500)] 
Add `solanum.chat/oper` capablity (#217)

3 years agoRemove unneeded ugly hack for 32-bit Solaris
jailbird777 [Thu, 17 Jun 2021 23:15:11 +0000 (18:15 -0500)] 
Remove unneeded ugly hack for 32-bit Solaris

- The official Sun/Oracle solution is to use the extendedFILE(5)
  mechanism, which works around the limitation.
  https://docs.oracle.com/cd/E18752_01/html/816-5175/extendedfile-5.html
- Add a quick HOWTO to the README.md

3 years agoremove trailing space from umode help file (#222)
bakerst-221b [Fri, 25 Jun 2021 00:32:19 +0000 (02:32 +0200)] 
remove trailing space from umode help file (#222)

currently, this breaks rendering in at least one client

3 years agoum_callerid: Only people can have common channels
Ed Kellett [Thu, 24 Jun 2021 17:20:37 +0000 (18:20 +0100)] 
um_callerid: Only people can have common channels

3 years agoCREDITS: update
Doug Freed [Mon, 14 Jun 2021 18:45:58 +0000 (18:45 +0000)] 
CREDITS: update

3 years agoREADME: updated notes about portability
Doug Freed [Mon, 14 Jun 2021 18:22:17 +0000 (13:22 -0500)] 
README: updated notes about portability

Co-authored-by: Ed Kellett <redacted>
3 years agom_userhost: hide user's own IP if iline spoofed
Ed Kellett [Wed, 9 Jun 2021 12:14:23 +0000 (13:14 +0100)] 
m_userhost: hide user's own IP if iline spoofed