Jilles Tjoelker
3102dbdc4f
Use FLAGS_SENTUSER when checking whether to register when ping cookie is received.
2010-02-24 23:28:27 +01:00
Stephen Bennett
1fb3b1e1c4
Use FLAGS_SENTUSER instead of 'user' being non-empty to decide whether to register a user on CAP END.
...
identd and SASL can cause source_p->user to be present without USER having been sent.
Without this change, that could cause a crash later on as localClient->fullcaps is not initialised.
2010-02-23 22:35:58 +00:00
Jilles Tjoelker
ff91faaf76
Do not penalize for spambot checks if creating a new channel.
2010-02-21 01:45:51 +01:00
Jilles Tjoelker
4eb9a3ca0b
JOIN 0: Make spambot check equivalent to PART's.
2010-02-21 01:12:04 +01:00
Jilles Tjoelker
9148f6aa7c
Remove dead code: last_join_time is already updated by check_spambot_warning().
2010-02-21 01:10:04 +01:00
Jilles Tjoelker
cf3564d61f
Do not check for spambot if the user is not allowed to join the channel.
2010-02-21 01:07:32 +01:00
Jilles Tjoelker
fad065bb95
challenge: Fix build.
2010-02-18 23:42:07 +01:00
William Pitcock
ed8b3d69ac
Add certfp check to challenge too.
2010-02-17 23:01:25 -06:00
William Pitcock
76169ea734
Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric().
2010-02-17 06:51:41 -06:00
William Pitcock
ff31db8473
Add support for client certificate fingerprints in o:lines.
2010-02-17 06:41:41 -06:00
Jilles Tjoelker
0cce7774d5
Subject /invite to umodes +g and +R.
...
The behaviour is the same as /msg except that where
/msg would send RPL_UMODEGMSG to the user, the /invite
is instead let through. This counts as a notification
for caller_id_wait like RPL_UMODEGMSG.
Checks are on the target user's server, which means an
error message will appear after RPL_INVITING.
This must be because the accept list is not globally
known.
2010-02-15 23:07:14 +01:00
Jilles Tjoelker
40b79a3908
Add missing return value.
2010-02-15 22:18:00 +01:00
Jilles Tjoelker
890af0e7c5
Subject /invite to target change.
...
Similar to /msg, inviting a user that is not in a channel
you have op or voice in requires a free target; opers always
have a free target.
Being invited adds the source as a reply target.
2010-02-15 22:08:55 +01:00
Jilles Tjoelker
4f2685f3e1
Move target change code to src/tgchange.c,
...
so we can use it for /invite as well.
2010-02-15 21:58:34 +01:00
Jilles Tjoelker
c9f01c4f2f
target change: Allow free replies.
...
When a user receives a private message, notice or RPL_UMODEGMSG,
add the source to a special set of 5 target slots.
These slots are checked in the normal way when sending messages,
allowing a reply without using up a free target.
This feature will not be very useful if a user is being messaged
by many different users; to help this, messages blocked entirely
by +g or +R do not affect the targets. CTCP replies also remain
free in terms of targets.
2010-02-15 01:07:07 +01:00
Jilles Tjoelker
179becdf5f
target change: Overwrite the least recently used target with a new one.
2010-02-15 00:31:17 +01:00
Jilles Tjoelker
ad1d39a76f
Make the number of targets tracked for target change a #define.
2010-02-13 15:18:17 +01:00
Jilles Tjoelker
96bfafc1f8
testline/testgecos: Send "not an oper" message if appropriate.
2010-02-07 17:57:36 +01:00
Jilles Tjoelker
8eda114a78
Pass certfp to other servers and show it in whois. Do not show it on connect.
...
The server protocol for this is
:<uid> ENCAP * CERTFP :<40 hex chars>
both in new user introductions and in burst.
As in oftc-hybrid, only the user themselves and opers can see the certfp.
Displaying the certfp on connect seems unnecessary to me,
the user can whois themselves if needed.
2010-02-06 00:18:27 +01:00
Jilles Tjoelker
114105b429
Fix /links buffer overflow.
2010-01-27 21:05:10 +01:00
Jilles Tjoelker
1fd171a547
Fix op-moderate (cmode +z) for channel names with '@'.
2010-01-24 19:37:00 +01:00
Jilles Tjoelker
641eb2c3c8
Put back fb7d6089158e, not setting large_ctcp_sent for CTCP ACTION.
2010-01-20 00:03:57 +01:00
William Pitcock
2e918bf515
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
Jilles Tjoelker
3d0bbdcbe1
Do not set large_ctcp_sent for CTCP ACTION as it does not request a reply.
2010-01-14 01:12:16 +01:00
Jilles Tjoelker
a990586f4d
If a removed resv was temporary, mention this in the server notice.
...
This agrees with xline.
2010-01-09 22:14:53 +01:00
Jilles Tjoelker
1a9ea263fa
Add back unresv (permanent resv) notices.
2010-01-09 22:12:06 +01:00
Jilles Tjoelker
43d4d72ca9
Put back resv_forcepart.
...
This undoes erroneous revert in a3c064b3b8a2.
2010-01-09 19:08:48 +01:00
Jilles Tjoelker
70ea02ebd6
Complete the move of xlines and resvs from aconf->name to aconf->host.
2010-01-08 18:46:29 +01:00
Jilles Tjoelker
4418166c7e
Do not change \s in xlines to spaces, match_esc() treats \s correctly.
...
This undoes erroneous revert in a3c064b3b8a2.
2010-01-08 18:13:47 +01:00
William Pitcock
00c036b172
Add back missing notices.
2010-01-07 18:17:08 -06:00
William Pitcock
23959371d0
Fix up more things with bandb.
2010-01-07 18:14:15 -06:00
William Pitcock
d4c273075e
Make this work again.
2010-01-07 17:50:49 -06:00
William Pitcock
f36d4fdd54
Make this work again.
2010-01-07 17:49:08 -06:00
William Pitcock
9964e93509
Readd some oper notices.
2010-01-07 17:37:52 -06:00
William Pitcock
8bbeb278ec
Update modules to use bandb_add()/bandb_del().
2010-01-07 17:19:03 -06:00
Jilles Tjoelker
0b5cf476f5
SCAN UMODES: default list-max to 500, like a global WHO.
2010-01-01 22:55:25 +01:00
Stephen Bennett
6657de63ac
Merge
2009-12-08 19:23:32 +00:00
Stephen Bennett
c127b45b83
Revert all presence-related changes
2009-12-08 19:22:55 +00:00
Jilles Tjoelker
f4d319c7ae
Use full (:n!u@h) prefix for sending ETB from a user to clients.
2009-09-20 00:44:47 +02:00
Jilles Tjoelker
c2c25552ca
Force part local users (not resv_exempt) on channel resv.
...
A notice will be sent to any force parted users that the channel
is temporarily/permanently unavailable on the server.
A new config option channel::resv_forcepart can be used to disable this.
from ircd-ratbox (dubkat)
2009-09-19 21:24:35 +02:00
Jilles Tjoelker
72d36704fc
Disallow changing away status via /presence.
...
Allowing this desynchronizes clients and servers that
do not know about this extension without good reason.
If you want to allow this, change it to spit out the
usual AWAY protocol.
2009-06-04 00:01:57 +02:00
Jilles Tjoelker
50325a6667
Reject presence updates with too long keys, instead of truncating them
...
and causing soft assertion failures. Values are still
silently truncated though.
2009-06-03 23:49:50 +02:00
Jilles Tjoelker
331c548d9d
Correct minimum parameter counts for PRESENCE.
2009-06-03 20:03:15 +02:00
Jilles Tjoelker
5beadfb00f
ENCAPs cannot come from local clients, no need to check.
2009-06-03 19:57:27 +02:00
Jilles Tjoelker
beafd0ee32
Remove special CAP presence handling of /whois away message.
...
This cannot work because /whois is executed remotely too
and CAPs aren't known remotely.
2009-06-03 19:54:49 +02:00
William Pitcock
0fc5aeca53
presence: m_presence module: Use safer get_metadata() where appropriate, to avoid crash possibilities.
2009-06-02 02:55:45 -05:00
William Pitcock
f72de72bf4
presence: Use RPL_WHOISMETADATA.
2009-06-02 02:44:31 -05:00
William Pitcock
8f2d1ccf7f
presence: If CLICAP_PRESENCE is enabled, then RPL_AWAY is replaced by the "away" keyword in the presence dataset.
...
As such, only fall back to legacy RPL_AWAY if CLICAP_PRESENCE is not set on source_p.
2009-06-02 02:17:42 -05:00
William Pitcock
54ff698839
presence: Add CLICAP_PRESENCE.
...
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock
4af8bcef59
presence: Replace stagnant free_away() call with delete_metadata(..., "away").
2009-06-02 02:06:18 -05:00