]> jfr.im git - irc/UndernetIRC/ircu2.git/log
irc/UndernetIRC/ircu2.git
5 years agoircu2.10.12.19 u2.10.12.19
Michael Poole [Sun, 17 Mar 2019 18:12:43 +0000 (14:12 -0400)] 
ircu2.10.12.19

5 years agos_auth: Replace FLAG_DOID with DoIdentLookups.
Michael Poole [Wed, 13 Mar 2019 00:44:56 +0000 (20:44 -0400)] 
s_auth: Replace FLAG_DOID with DoIdentLookups.

Ever since commit bdd001c7946:
  s_auth: Let IAuth assign class without connection-limit or password checks.
we have called preregister_user() (and indirectly attach_iline()) after
all the other authorization checks are done.  This means that FLAG_DOID
was being set after it was being checked.

There was a Gordian knot:
 - We want IAuthd to be able to set a connection class.
 - We want to check G-lines before sending enough information to IAuthd
   to trigger an XQUERY lookup (meaning network traffic).
 - We use clients' usernames to check G-lines.
 - We add ~ to the client's username if their connection class needs a
   username, but the identd lookup failed for that cilent.

I think the simplest, least-surprising way to break that loop is to add a
~ prefix if *any* class needs a username.  Most servers will continue to
behave the same as with u2.10.12.18, and this makes the server's behavior
more consistent across clients who fall into different connection classes.

5 years agom_stats: Move test for VARPARAM until after forwarding the command.
Michael Poole [Tue, 12 Mar 2019 02:37:25 +0000 (22:37 -0400)] 
m_stats: Move test for VARPARAM until after forwarding the command.

This way only the destination server's setting for VARPARAM applies.

5 years agoiauth: Emit "? config" and "? stats" for /stats iauth[conf] * get.
Michael Poole [Mon, 25 Feb 2019 01:23:45 +0000 (20:23 -0500)] 
iauth: Emit "? config" and "? stats" for /stats iauth[conf] * get.

Also report the IAuth program's version in /stats iauthconf.

5 years agoiauth_read: Improve checking for EOL and stray control characters.
Michael Poole [Tue, 19 Feb 2019 12:44:35 +0000 (07:44 -0500)] 
iauth_read: Improve checking for EOL and stray control characters.

5 years agovdebug: Use the caller-provided level for logging.
Michael Poole [Tue, 19 Feb 2019 12:44:51 +0000 (07:44 -0500)] 
vdebug: Use the caller-provided level for logging.

5 years agoparse_server: Add debug log for lines with missing prefixes.
Michael Poole [Sat, 12 Jan 2019 02:07:00 +0000 (21:07 -0500)] 
parse_server: Add debug log for lines with missing prefixes.

5 years agotable_gen.c: Allow : in a hostname (part of an IPv6 address).
Michael Poole [Sun, 19 Aug 2018 01:17:31 +0000 (21:17 -0400)] 
table_gen.c: Allow : in a hostname (part of an IPv6 address).

Update ircd_chattr.0.dat.  Apparently a fix to IsChannelChar was never
rolled in earlier, so fix that as well.

5 years agochannel.h: MODE_REGISTERED uses +R, it is no longer for future expansion.
Michael Poole [Thu, 26 Jul 2018 01:06:37 +0000 (21:06 -0400)] 
channel.h: MODE_REGISTERED uses +R, it is no longer for future expansion.

5 years agos_bsd: Fix the dolen comparison bugfix, and clean up nearby code.
Michael Poole [Thu, 26 Jul 2018 01:06:11 +0000 (21:06 -0400)] 
s_bsd: Fix the dolen comparison bugfix, and clean up nearby code.

Fixes: 48c15bd1cf3a9a2057924a0a1e4a0aca4db4a6c4
5 years agos_auth: Do not check cli_confs(cptr) if client was killed.
Michael Poole [Wed, 25 Jul 2018 00:27:10 +0000 (20:27 -0400)] 
s_auth: Do not check cli_confs(cptr) if client was killed.

5 years agos_bsd: Fix loop and comparison of dolen.
Michael Poole [Wed, 18 Jul 2018 02:49:51 +0000 (22:49 -0400)] 
s_bsd: Fix loop and comparison of dolen.

5 years agoircd_snprintf: Fix comparison of short vs size_t.
Michael Poole [Wed, 18 Jul 2018 02:49:27 +0000 (22:49 -0400)] 
ircd_snprintf: Fix comparison of short vs size_t.

5 years agoFix minor inconsistencies and typos.
Michael Poole [Wed, 18 Jul 2018 02:49:00 +0000 (22:49 -0400)] 
Fix minor inconsistencies and typos.

6 years agos_auth: Report IAuth exec() failures to the main process.
Michael Poole [Tue, 13 Mar 2018 01:35:15 +0000 (21:35 -0400)] 
s_auth: Report IAuth exec() failures to the main process.

6 years agos_auth: Various bug fixes relating to clients exiting mid-registration.
Michael Poole [Sun, 11 Mar 2018 22:52:58 +0000 (18:52 -0400)] 
s_auth: Various bug fixes relating to clients exiting mid-registration.

The IAuth "H" command cannot get a connection class any more, because it
is sent before preregister_user() is called.  The User's "host" and
"realhost" fields need to be copied outside of preregister_user().
More code needs to be conditional on res == 0.

6 years agotstats: Also display MAXCONNECTIONS.
Michael Poole [Mon, 5 Mar 2018 01:37:50 +0000 (20:37 -0500)] 
tstats: Also display MAXCONNECTIONS.

6 years agoServerStatistics: Split is_ref into finer-grained fields.
Michael Poole [Mon, 5 Mar 2018 01:36:07 +0000 (20:36 -0500)] 
ServerStatistics: Split is_ref into finer-grained fields.

6 years agos_auth: Let IAuth assign class without connection-limit or password checks.
Michael Poole [Mon, 5 Mar 2018 01:08:25 +0000 (20:08 -0500)] 
s_auth: Let IAuth assign class without connection-limit or password checks.

This allows IAuth (or an XQUERY server) to apply policies like exemptions
from the default per-IP limits.

6 years agoaccept_connection(): Include server name in ERROR messages.
Michael Poole [Tue, 27 Feb 2018 01:37:48 +0000 (20:37 -0500)] 
accept_connection(): Include server name in ERROR messages.

6 years agoircd.c: Add missing #include <ctype.h>.
Michael Poole [Tue, 23 Jan 2018 01:37:38 +0000 (20:37 -0500)] 
ircd.c: Add missing #include <ctype.h>.

6 years agomr_pass(): Only save the first PASS that the client sends.
Michael Poole [Tue, 23 Jan 2018 01:37:25 +0000 (20:37 -0500)] 
mr_pass(): Only save the first PASS that the client sends.

6 years agoircu2.10.12.18 u2.10.12.18
Michael Poole [Sat, 21 Oct 2017 00:51:19 +0000 (20:51 -0400)] 
ircu2.10.12.18

6 years agoset_user_mode(): Consolidate setting of client command handler.
Michael Poole [Sat, 21 Oct 2017 00:49:43 +0000 (20:49 -0400)] 
set_user_mode(): Consolidate setting of client command handler.

Thanks to Jason Hill for finding and reporting this.

6 years agomatch(): Only treat \ as an escape when it is before * or ?.
Michael Poole [Thu, 17 Aug 2017 00:42:54 +0000 (20:42 -0400)] 
match(): Only treat \ as an escape when it is before * or ?.

6 years agoircd.c: Fix diagnostic for missing CPATH (config file).
Michael Poole [Sat, 5 Aug 2017 00:30:38 +0000 (20:30 -0400)] 
ircd.c: Fix diagnostic for missing CPATH (config file).

The check for SPATH has a worse problem: configure.in no longer recognizes
either --with-Spath or --with-spath.  However, I am not currently inclined
to fix that.

6 years agoircu2.10.12.17 u2.10.12.17
Michael Poole [Mon, 31 Jul 2017 00:52:27 +0000 (20:52 -0400)] 
ircu2.10.12.17

6 years agoircd: Remove unused global variables.
Michael Poole [Wed, 26 Jul 2017 22:04:08 +0000 (18:04 -0400)] 
ircd: Remove unused global variables.

These were set by the pre-event-engine signal handlers, and checked by the
pre-event-engine main loop.  They haven't been modified or read in 16+
years, so it is time for them to go.

7 years agoircd/test/Makefile.in: Use the user-specified LDFLAGS.
Michael Poole [Wed, 17 May 2017 03:06:46 +0000 (23:06 -0400)] 
ircd/test/Makefile.in: Use the user-specified LDFLAGS.

7 years agoiptobase64(): Test ii before indexing with it.
Michael Poole [Wed, 17 May 2017 03:06:26 +0000 (23:06 -0400)] 
iptobase64(): Test ii before indexing with it.

7 years agoms_opmode(): Only check CONF_UWORLD_OPER if the target is local.
Michael Poole [Wed, 3 May 2017 01:57:21 +0000 (21:57 -0400)] 
ms_opmode(): Only check CONF_UWORLD_OPER if the target is local.

7 years agoms_opmode(): Only forward the message for non-local users.
Michael Poole [Wed, 3 May 2017 01:04:39 +0000 (21:04 -0400)] 
ms_opmode(): Only forward the message for non-local users.

7 years agos_auth: Avoid double-free of DNS request for DNS failures.
Michael Poole [Tue, 2 May 2017 01:33:29 +0000 (21:33 -0400)] 
s_auth: Avoid double-free of DNS request for DNS failures.

7 years agoos_set_tos: Use address family to pick right option.
Michael Poole [Sun, 16 Apr 2017 03:14:21 +0000 (23:14 -0400)] 
os_set_tos: Use address family to pick right option.

7 years agomr_server: Use labs(time_diff) instead of abs().
Michael Poole [Sun, 16 Apr 2017 03:13:59 +0000 (23:13 -0400)] 
mr_server: Use labs(time_diff) instead of abs().

7 years agogline: Remove extraneous condition.
Michael Poole [Sun, 16 Apr 2017 03:13:31 +0000 (23:13 -0400)] 
gline: Remove extraneous condition.

cli_user(acptr)->username is a char[], thus never null.

7 years agos_auth: Do not send server hostnames or IPs over the network.
Michael Poole [Tue, 4 Apr 2017 00:45:10 +0000 (20:45 -0400)] 
s_auth: Do not send server hostnames or IPs over the network.

7 years agoset_user_mode: Fix privileges for LocOps after changing usermodes.
Michael Poole [Fri, 31 Mar 2017 02:15:12 +0000 (22:15 -0400)] 
set_user_mode: Fix privileges for LocOps after changing usermodes.

7 years agom_part: Block part messages with colors to +c channels.
Michael Poole [Tue, 28 Mar 2017 00:44:49 +0000 (20:44 -0400)] 
m_part: Block part messages with colors to +c channels.

7 years agoircu2.10.12.16 u2.10.12.16
Michael Poole [Tue, 21 Mar 2017 02:52:52 +0000 (22:52 -0400)] 
ircu2.10.12.16

7 years agom_webirc: Don't use the "username" parameter for the client.
Michael Poole [Wed, 22 Feb 2017 03:22:43 +0000 (22:22 -0500)] 
m_webirc: Don't use the "username" parameter for the client.

At least most of the time, this is apparently meant as the name of the
WebIRC service rather than the user or client, but various WebIRC specs
describe it as a client or user name.

7 years agoircu2.10.12.15 u2.10.12.15
Michael Poole [Sun, 29 Jan 2017 02:10:12 +0000 (21:10 -0500)] 
ircu2.10.12.15

7 years agowebirc: Support "hidden = yes;" in conf to hide peer IP mask.
Michael Poole [Thu, 12 Jan 2017 03:55:33 +0000 (22:55 -0500)] 
webirc: Support "hidden = yes;" in conf to hide peer IP mask.

7 years agofind_ban: Allow bans to match against IP address text.
Michael Poole [Thu, 12 Jan 2017 03:19:30 +0000 (22:19 -0500)] 
find_ban: Allow bans to match against IP address text.

7 years agosendto_iauth(): Minor code cleanup.
Michael Poole [Wed, 11 Jan 2017 04:39:31 +0000 (23:39 -0500)] 
sendto_iauth(): Minor code cleanup.

7 years agoms_xreply: Avoid findNUser() where we might get a server numnick.
Michael Poole [Wed, 11 Jan 2017 04:38:29 +0000 (23:38 -0500)] 
ms_xreply: Avoid findNUser() where we might get a server numnick.

If findNUser() gets numnick "Bc", it will try to return the user with
numnick BcAAc.

7 years agoms_xreply: Simplify the iauth forwarding code.
Michael Poole [Sat, 7 Jan 2017 02:22:49 +0000 (21:22 -0500)] 
ms_xreply: Simplify the iauth forwarding code.

7 years agoiauth_do_spawn: Unify cut-and-paste error handling.
Michael Poole [Sat, 7 Jan 2017 02:22:28 +0000 (21:22 -0500)] 
iauth_do_spawn: Unify cut-and-paste error handling.

Also make sure to clear iauth->i_socket->s_fd on failure.

7 years agoauth_spoof_user: Check G-line and connection class for client.
Michael Poole [Sat, 7 Jan 2017 02:21:25 +0000 (21:21 -0500)] 
auth_spoof_user: Check G-line and connection class for client.

7 years agocheck_auth_finished: Only check G-lines (etc.) for client ports.
Michael Poole [Sat, 7 Jan 2017 02:21:07 +0000 (21:21 -0500)] 
check_auth_finished: Only check G-lines (etc.) for client ports.

7 years agoIsIdented: Rename to IsGotId for consistency.
Michael Poole [Sat, 7 Jan 2017 02:19:40 +0000 (21:19 -0500)] 
IsIdented: Rename to IsGotId for consistency.

7 years agostats_configured_links: Display empty and null strings as empty.
Michael Poole [Fri, 6 Jan 2017 03:15:19 +0000 (22:15 -0500)] 
stats_configured_links: Display empty and null strings as empty.

7 years agos_auth: Fix prepending ~ to long idents.
Michael Poole [Thu, 5 Jan 2017 04:43:50 +0000 (23:43 -0500)] 
s_auth: Fix prepending ~ to long idents.

This was touched in commits 5dd977c1dc9f33ddfbca5eb11fb8f3b95c7e5359 and
c2ad630afaab5353b2656f6cd5d591f8a2488692, but still had a bug.  We can
rewrite the loop to make it clearer, simpler, and harder to mess up.

Thanks to Hidden for reporting the bug and Scot for finding the cause.

7 years agoMAXBANS: Increase default to 100.
Michael Poole [Fri, 23 Dec 2016 01:18:53 +0000 (20:18 -0500)] 
MAXBANS: Increase default to 100.

7 years agoIPcheck: Update entry->connected on /48 throttle.
Michael Poole [Fri, 16 Dec 2016 03:31:40 +0000 (22:31 -0500)] 
IPcheck: Update entry->connected on /48 throttle.

7 years agoIPcheck: Avoid crash when debugging is turned on, too.
Michael Poole [Sun, 11 Dec 2016 19:15:52 +0000 (14:15 -0500)] 
IPcheck: Avoid crash when debugging is turned on, too.

7 years agoIPcheck: Bugfix for IPv6 /48 rejections from a new /64.
Michael Poole [Sun, 11 Dec 2016 19:13:58 +0000 (14:13 -0500)] 
IPcheck: Bugfix for IPv6 /48 rejections from a new /64.

After "IPcheck: Rate-limit connections per IPv6 /48.", if a connection
from a rate-limited /48 came from a /64 that had no current connections,
then `entry` can be null in this path.

Fixes: 9122e6f50e7f672a3c034be9f8f205a8b610ded8
7 years agos_auth: Don't crash when a server connects. (Oops.)
Michael Poole [Wed, 30 Nov 2016 03:42:04 +0000 (22:42 -0500)] 
s_auth: Don't crash when a server connects.  (Oops.)

7 years agos_auth: Properly match against ~<foo>@<whatever> G-lines.
Michael Poole [Tue, 29 Nov 2016 04:33:58 +0000 (23:33 -0500)] 
s_auth: Properly match against ~<foo>@<whatever> G-lines.

cli_user(auth->client)->username was not being set when identd failed.
To set it properly, we need to assign a Client block (which needs DNS
and identd results).  Rearrange code to do that.

7 years agoIPcheck: Rate-limit connections per IPv6 /48.
Michael Poole [Wed, 23 Nov 2016 04:25:19 +0000 (23:25 -0500)] 
IPcheck: Rate-limit connections per IPv6 /48.

7 years agomake_oper: Properly log and report the new oper.
Michael Poole [Tue, 22 Nov 2016 04:02:33 +0000 (23:02 -0500)] 
make_oper: Properly log and report the new oper.

7 years agoms_settime: Add missing braces.
Michael Poole [Tue, 22 Nov 2016 03:28:56 +0000 (22:28 -0500)] 
ms_settime: Add missing braces.

7 years agoexample.conf: Fix typo in comment.
Michael Poole [Tue, 22 Nov 2016 03:28:30 +0000 (22:28 -0500)] 
example.conf: Fix typo in comment.

7 years agoVERSION: Make server options string fixed-width.
Michael Poole [Mon, 24 Oct 2016 03:52:22 +0000 (23:52 -0400)] 
VERSION: Make server options string fixed-width.

Implements SF feature request #102.

7 years agoSTATS g: Use extra parameter to filter G-line list.
Michael Poole [Mon, 24 Oct 2016 03:43:30 +0000 (23:43 -0400)] 
STATS g: Use extra parameter to filter G-line list.

Implements SF feature request #115.

7 years agoSTATS y: Report default user mode too.
Michael Poole [Mon, 24 Oct 2016 03:33:34 +0000 (23:33 -0400)] 
STATS y: Report default user mode too.

Implements SF feature request 116.

7 years agoAdd channel mode +C (no CTCPs except ACTION).
Michael Poole [Mon, 24 Oct 2016 03:21:19 +0000 (23:21 -0400)] 
Add channel mode +C (no CTCPs except ACTION).

include/channel.h (MODE_NOCTCP): Define.
  (infochanmodes): Add +C.
include/supported.h (FEATURESVALUES2): Add +C.
ircd/channel.c (channel_modes): Emit it.
  (modebuf_flush_int): Likewise.
  (modebuf_mode): Parse it.
  (modebuf_extract): Likewise.
  (mode_parse): Likewise.
ircd/ircd_relay.c (relay_channel_message): Bail when a message to a +C
    channel that contains a CTCP but does not start with CTCP ACTION.
  (relay_channel_notice): Likewise.
ircd/m_clearmode.c (do_clearmode): Clear mode +C on /clearmode.

7 years agoAdd channel mode +c (no colors).
Michael Poole [Mon, 24 Oct 2016 03:20:20 +0000 (23:20 -0400)] 
Add channel mode +c (no colors).

include/channel.h (MODE_NOCOLOR): Define.
  (infochanmodes): Add +c.
include/supported.h (FEATURESVALUES2): Add +c.
ircd/channel.c (channel_modes): Emit it.
  (modebuf_flush_int): Likewise.
  (modebuf_mode): Parse it.
  (modebuf_extract): Likewise.
  (mode_parse): Likewise.
ircd/ircd_relay.c (relay_channel_message): Bail when a message to a +c
    channel contains mIRC color codes.
  (relay_channel_notice): Likewise.
ircd/m_clearmode.c (do_clearmode): Clear mode +c on /clearmode.

7 years agogline: Expire very old, stale G-lines.
Michael Poole [Mon, 24 Oct 2016 03:15:39 +0000 (23:15 -0400)] 
gline: Expire very old, stale G-lines.

The lifetime may be 20 years in the future, but if they already expired
and nobody touched them recently, the lifetime is probably due to a bug.

7 years agoIPcheck: Use /64 prefixes for IPv6 addresses.
Michael Poole [Mon, 24 Oct 2016 03:11:18 +0000 (23:11 -0400)] 
IPcheck: Use /64 prefixes for IPv6 addresses.

7 years agoWHO: Fix matching for things like "WHO ident u".
Michael Poole [Sat, 22 Oct 2016 01:55:35 +0000 (21:55 -0400)] 
WHO: Fix matching for things like "WHO ident u".

Fixes SF#169.

7 years agofind_conf_exact: Allow empty cli_username() to match tmp->username.
Michael Poole [Sat, 22 Oct 2016 01:41:13 +0000 (21:41 -0400)] 
find_conf_exact: Allow empty cli_username() to match tmp->username.

This reverts the behavior of Operator host = "*@192.168.1.1"; to its
previous behavior, where un-idented clients could match.  Now, just as
for Client blocks, host = "@192.168.1.1"; will only match un-idented
clients.

7 years agom_version: Re-unify the various handlers.
Michael Poole [Fri, 21 Oct 2016 03:55:20 +0000 (23:55 -0400)] 
m_version: Re-unify the various handlers.

"There can be only one!", to coin a phrase.  Fixes SF#170.

7 years agoMake remote PING work like one would expect.
Michael Poole [Fri, 21 Oct 2016 03:38:06 +0000 (23:38 -0400)] 
Make remote PING work like one would expect.

Fixes SF#171, although RPING and ASLL are better choices.

7 years agodo_settopic: Topic timestamps should never go backwards.
Michael Poole [Fri, 21 Oct 2016 03:10:08 +0000 (23:10 -0400)] 
do_settopic: Topic timestamps should never go backwards.

Fixes SF#180.

7 years agomode_parse_client(): Return after reporting bad oplevel.
Michael Poole [Fri, 21 Oct 2016 03:03:55 +0000 (23:03 -0400)] 
mode_parse_client(): Return after reporting bad oplevel.

Fixes SF#179.

7 years agoget_history(): Always use KILLCHASETIMELIMIT value.
Michael Poole [Thu, 20 Oct 2016 03:09:34 +0000 (23:09 -0400)] 
get_history(): Always use KILLCHASETIMELIMIT value.

7 years agomake_client: Set initial username to "" rather than "unknown".
Michael Poole [Thu, 20 Oct 2016 02:56:03 +0000 (22:56 -0400)] 
make_client: Set initial username to "" rather than "unknown".

This allows Client blocks to use expressions like ip = "@127.0.0.1"; to
match clients with no ident results.  Document this.

7 years agoircd_parser: Do not insert *@ before host/IP names for opers.
Michael Poole [Thu, 20 Oct 2016 02:53:26 +0000 (22:53 -0400)] 
ircd_parser: Do not insert *@ before host/IP names for opers.

This means that 'host = "127/8";' will match clients without working
ident.  Document this.

7 years agocheck_auth_finished: Fix refactoring bugs.
Michael Poole [Wed, 19 Oct 2016 03:52:14 +0000 (23:52 -0400)] 
check_auth_finished: Fix refactoring bugs.

Early exit until we can (and do) check G-lines.
If the client isn't booted for a G/K-line, tell IAuth what we know.
Call auth_set_username() just before registering user, like we did before
the (buggy) refactoring in commit a22917fd ("s_auth: Check G-lines before
IAuth.").

7 years agoreadme.who: Document where oplevel is shown in 354 reply.
Michael Poole [Sun, 16 Oct 2016 22:11:31 +0000 (18:11 -0400)] 
readme.who: Document where oplevel is shown in 354 reply.

7 years agoreadme.who: Update documentation for oper /WHO privileges.
Michael Poole [Sun, 16 Oct 2016 21:57:06 +0000 (17:57 -0400)] 
readme.who: Update documentation for oper /WHO privileges.

7 years agoexample.conf: Correct and clarify privilege list.
Michael Poole [Sun, 16 Oct 2016 21:34:42 +0000 (17:34 -0400)] 
example.conf: Correct and clarify privilege list.

7 years agoexample.conf: Clarify how Class maxlinks works.
Michael Poole [Sun, 16 Oct 2016 21:34:10 +0000 (17:34 -0400)] 
example.conf: Clarify how Class maxlinks works.

7 years agoSTATS U: Flag UWorld servers with oper privileges.
Michael Poole [Fri, 14 Oct 2016 03:33:20 +0000 (23:33 -0400)] 
STATS U: Flag UWorld servers with oper privileges.

7 years agoDocument the new UWorld { oper = "..."; } syntax.
Michael Poole [Thu, 13 Oct 2016 03:52:12 +0000 (23:52 -0400)] 
Document the new UWorld { oper = "..."; } syntax.

7 years agom_opmode.c: Implement CFV-0333.
Michael Poole [Thu, 13 Oct 2016 03:31:24 +0000 (23:31 -0400)] 
m_opmode.c: Implement CFV-0333.

Allow a UWorld-type service to remotely oper (and de-oper) clients.

7 years agos_auth: Check G-lines before IAuth.
Michael Poole [Sun, 9 Oct 2016 01:11:06 +0000 (21:11 -0400)] 
s_auth: Check G-lines before IAuth.

Add a new function, iauth_notify(), that sends the appropriate message
to the IAuth service when some information about a client is updated.

check_auth_finished() now calls this function, and as a result needs to
know what information was just updated.  However, it also calls
register_user() before sending the last required information to IAuth,
so that a G-line keeps the IAuth service from performing full checks.

The syntax for the U message to IAuth is updated to remove fields that
ircu interprets as mode requests.

7 years agotests/test-driver.pl: Allow specification of outbound IP address.
Michael Poole [Sun, 9 Oct 2016 01:08:24 +0000 (21:08 -0400)] 
tests/test-driver.pl: Allow specification of outbound IP address.

7 years agoReject invalid channel names in BURST and CREATE.
Michael Poole [Thu, 1 Sep 2016 19:00:49 +0000 (15:00 -0400)] 
Reject invalid channel names in BURST and CREATE.

7 years agochannel.h: Remove trailing whitespace, fix a typo.
Michael Poole [Wed, 24 Aug 2016 03:17:13 +0000 (23:17 -0400)] 
channel.h: Remove trailing whitespace, fix a typo.

7 years agoengine_epoll.c: Remove the syscall guessing code.
Michael Poole [Tue, 23 Aug 2016 01:08:05 +0000 (21:08 -0400)] 
engine_epoll.c: Remove the syscall guessing code.

All actively maintained distros (and many older ones) define this now.
Not all distros have <linux/unistd.h>, which we used for _syscall4().

7 years agoengine_poll.c: Fix path for #include <poll.h>.
Michael Poole [Tue, 23 Aug 2016 01:06:37 +0000 (21:06 -0400)] 
engine_poll.c: Fix path for #include <poll.h>.

<sys/poll.h> was from before POSIX.

7 years agoAvoid calling os_get_sockerr(-1) for failed outbound connects.
Michael Poole [Thu, 28 Jul 2016 02:12:24 +0000 (22:12 -0400)] 
Avoid calling os_get_sockerr(-1) for failed outbound connects.

In this case, cli_fd(cptr) == -1, but cli_error(cptr) is set by
client_sock_callback().

8 years agoImplement WebIRC support.
Michael Poole [Wed, 4 May 2016 02:31:33 +0000 (22:31 -0400)] 
Implement WebIRC support.

8 years agoircd/test/Makefile.in: Fix directions for "make depend; make depend".
Michael Poole [Fri, 29 Apr 2016 01:39:02 +0000 (21:39 -0400)] 
ircd/test/Makefile.in: Fix directions for "make depend; make depend".

8 years agoengine_select.c: Fix "make depend" for large MAXCONNECTIONS.
Michael Poole [Fri, 29 Apr 2016 01:38:36 +0000 (21:38 -0400)] 
engine_select.c: Fix "make depend" for large MAXCONNECTIONS.

8 years agoFix privilege revocation for MODE <self> -O.
Michael Poole [Tue, 19 Apr 2016 01:29:05 +0000 (21:29 -0400)] 
Fix privilege revocation for MODE <self> -O.

Replaces commit c3e49ba3f999d28a480f8f66cc633d9ea968099f:
  Clear privileges when deopering.

ircd/s_user.c (set_user_mode): Clear privileges for locops who MODE -O
  in the same place as opers who MODE -o.

8 years agoipmask_parse: Reject a full IPv6 address followed by ::.
Michael Poole [Thu, 24 Sep 2015 23:54:41 +0000 (19:54 -0400)] 
ipmask_parse: Reject a full IPv6 address followed by ::.

8 years agoircd_in_addr_t.c: Add test for the previous commit.
Michael Poole [Thu, 17 Sep 2015 00:36:17 +0000 (20:36 -0400)] 
ircd_in_addr_t.c: Add test for the previous commit.