William Pitcock
ff12cc9479
rename src to ircd, libcore to libircd
2016-01-06 01:16:08 -06:00
William Pitcock
bc38c72ced
buildsystem: build ircd itself as a library to allow removal of -undefined suppress on OS X
2016-01-05 21:31:21 -06:00
William Pitcock
c52df12552
buildsystem: convert to automake + libtool
2016-01-05 21:20:25 -06:00
William Pitcock
5810d36e0a
whois: privset disclosure: we do not need to check if source user is the same as target, because they will always be opered
2016-01-05 18:55:23 -06:00
William Pitcock
9e07c8f70b
whois: add a hook allowing for ShowChannel() behaviour to be overridden for channel visibility
2016-01-05 18:45:07 -06:00
Aaron Jones
5499771f0e
Fix erroneous comment
2016-01-01 09:31:55 +00:00
Aaron Jones
0e06053c33
Fix erroneous use of wrong string concatenation function
...
Avoids warning:
m_map.c:203:3: warning: implicit declaration of function ‘strlcat’
[-Wimplicit-function-declaration]
2015-12-30 08:34:27 +00:00
Mantas Mikulėnas
2b17787939
m_starttls: reject "STARTTLS" use over an existing TLS connection
2015-12-30 09:28:53 +02:00
Jilles Tjoelker
f8d9a4c289
list: Remove a now obsolete comment.
2015-12-29 13:55:16 +01:00
William Pitcock
4d38dd60ed
whois: bring permissions check in line with the same one in m_privs
2015-12-28 14:55:59 -06:00
Valentin Lorentz
d855e13e01
Remove trailing space in CAP ACK.
...
Fixes https://github.com/atheme/charybdis/issues/110
2015-12-28 10:57:17 +01:00
William Pitcock
e00552d5ce
whois: cosmetic improvement to opered-as numeric
2015-12-28 01:38:13 -06:00
William Pitcock
72ad5c04fe
whois: list active operator block and privset when appropriate
2015-12-28 01:33:09 -06:00
William Pitcock
c7b2fd3d66
MODE: allow 'q' banlist queries to bypass flood limits too
2015-12-28 00:48:46 -06:00
William Pitcock
0b904d91bf
supported: move ISUPPORT tokens provided by modules to their specific modules:
...
- m_cmessage: CPRIVMSG/CNOTICE
- m_etrace: ETRACE
- m_knock: KNOCK
- m_services: FNC
- m_who: WHOX
2015-12-26 22:41:09 -06:00
William Pitcock
d513218a9e
LIST: allow channel display threshold to be configured ( closes #109 )
2015-12-26 22:23:28 -06:00
Jilles Tjoelker
e124e4b64c
starttls: Update for client fd hash removal.
2015-12-24 23:01:37 +01:00
Jilles Tjoelker
2d28539c68
Reduce clean_nick() code duplication further.
...
Side effect: hurt and monitor now allow nicks starting with a digit.
2015-12-13 00:22:21 +01:00
William Pitcock
e1fda0d81e
map: make flatten_links dump a flattened map instead of blocking it ( closes #48 )
...
based on my patches in shadowircd legacy (4.0)
2015-12-12 09:24:37 -06:00
William Pitcock
413c61aaf5
monitor: ensure monitored nicknames are valid (ref. elemental-ircd/elemental-ircd#187 )
2015-12-12 08:42:03 -06:00
William Pitcock
72dee03d50
clean up some code duplication when checking nicks for validity
2015-12-12 08:41:09 -06:00
William Pitcock
63eb8567cb
implement configurable channel modes ( closes #31 )
...
While functionally compatible with the implementation in ElementalIRCd, our approach is different,
specifically pre-calculating the bitmask at config load time. This is more efficient, and allows us
to report errors as part of the configuration phase.
2015-12-11 15:36:53 -06:00
William Pitcock
427a8d5dbb
WHOIS: use cipher string if available
2015-12-11 08:20:11 -06:00
William Pitcock
202d496644
override: only engage override code if we're needing to authorize a WRITE to a channel's state ( closes #65 )
2015-12-10 01:00:32 -06:00
William Pitcock
a7433e330a
m_message: use same behaviour for +R users as +g users ( closes #96 )
2015-12-05 06:48:38 -06:00
William Pitcock
4a5330bb4d
cap: implement ircv3.2 chghost cap
2015-11-19 22:53:55 -06:00
William Pitcock
583f064fef
send: add negation argument to sendto_common_channels_local() and friends
2015-11-19 22:43:45 -06:00
William Pitcock
e77879b0f6
modules/m_resv: update comments since parv[0] is not used anymore
2015-11-19 17:12:07 -06:00
Jilles Tjoelker
439bf4db58
monitor: Show 005 entry only if m_monitor.so is actually loaded.
...
This only affects the MONITOR=<max> entry, not TARGMAX=...,MONITOR:
which is harder to modify from a module.
2015-11-15 22:57:23 +01:00
Andrew Wilcox
5f8fb56d02
Revert "remove MONITOR for now pending a complete rewrite"
...
This reverts commit 87fa262fec
.
2015-10-15 17:31:55 -05:00
William Pitcock
87fa262fec
remove MONITOR for now pending a complete rewrite
2015-10-15 09:39:48 -05:00
William Pitcock
7485e86073
monitor: additional cleanups, and add a missing free_monitor() in m_monitor
2015-10-11 19:11:01 -05:00
Jilles Tjoelker
2125182293
Remove the unneeded username parameter to register_local_user().
2015-09-13 22:59:03 +02:00
Elizabeth Myers
34c10ca8b7
Relocate report_Klines to proper home
...
This function is not used anywhere else but m_stats, so should be put
there.
2015-08-08 17:25:29 -05:00
Jail Bird
29c92cf95f
Spring cleaning redux:
...
- Implemented changes suggested by Jilles
- Remove some unused parameters in functions
- Remove some unused ssl procs
- 63-bit time_t support in TS deltas
- const char * vs char * cleanup
- struct alignment (void *) casts
- signed vs unsigned fixes
- bad memset() call
- Bad LT_MAIN in libratbox
- char -> unsigned char casts for isdigit/isspace/etc calls
Thanks Jilles!
2015-04-20 00:55:20 -05:00
Aaron Jones
cf3b152547
INFO: Be easier on human eyes
2015-03-26 14:47:36 -05:00
Aaron Jones
c9b5cd623b
Remove network_desc configuration option, never actually used anywhere
2015-03-26 14:46:54 -05:00
William Pitcock
7dade6a811
cap: missed a spot on =sticky caps removal
2015-03-22 21:08:05 -05:00
William Pitcock
aaaf9faf1d
cap: sasl is now enforced as sticky again
2015-03-10 08:21:46 -05:00
William Pitcock
eafae32681
cap: chase ircv3.2 interpretation of sticky/ack-required caps (basically dropping support other than serverside enforcement of stickyness)
...
change request @ ircv3/ircv3-specifications#122
2015-03-10 08:21:10 -05:00
Mantas Mikulėnas
6fb9f21449
sasl: reformat the other messages consistently
2015-03-06 17:19:16 +02:00
Mantas Mikulėnas
1cae2411d7
sasl: adjust 'H' message following commit 7d33cce8ef
2015-03-06 17:18:54 +02:00
Jilles Tjoelker
9279ad6461
Fix some compiler warnings about signed/unsigned comparison.
2015-03-01 23:46:20 +01:00
Jilles Tjoelker
dafbd7faba
cap-notify: Fix possible crash on 64-bit systems.
...
find_named_client() was called without a prototype and therefore the
pointer could be truncated.
2015-03-01 15:00:52 +01:00
Max Teufel
bbce62d2aa
m_cap: do not allow sasl CAP when the agent is offline
2015-03-01 03:30:19 -06:00
William Pitcock
125652041b
cap-notify: implement cap-notify for sasl service ( closes #84 )
2015-03-01 00:58:40 -06:00
William Pitcock
13de708352
cap-notify: add cap-notify cap
2015-03-01 00:26:23 -06:00
William Pitcock
8f05076d50
sasl: making the sasl capability actually sticky seems incompatible with broken implementations, so we make it just a formality instead.
2015-03-01 00:22:50 -06:00
William Pitcock
c23902ae00
sasl: fix null deref on remote client exit
2015-03-01 00:01:24 -06:00
William Pitcock
8bb9594bf3
sasl: ircv3 wg decided sasl capability should be sticky (ref ircv3/ircv3-specifications#103 )
2015-02-28 01:12:25 -06:00
Max Teufel
1b54aa5c3b
src/channel: add support for IRCv3.2 userhost-in-names
2015-02-28 01:06:38 -06:00
William Pitcock
6e3d57dc6b
cap: remove SASL_REAUTH capability
2015-02-28 01:01:08 -06:00
William Pitcock
51535fcbce
sasl: allow reauth without sasl-reauth capability (since it's being dropped)
2015-02-28 00:48:43 -06:00
William Pitcock
dd28e3f2a4
Merge pull request #82 from grawity/sasl-send-conn-info
...
m_sasl: send information about the client connection
2015-02-18 12:29:57 -06:00
William Pitcock
95cce5f358
Revert "m_invite: add support for CAP invite-notify"
...
This reverts commit 93eb76cc32
.
2015-02-16 17:50:51 -06:00
Max Teufel
93eb76cc32
m_invite: add support for CAP invite-notify
...
Specification:
<https://github.com/ircv3/ircv3-specifications/blob/master/extensions/invite-notify-3.2.md >
2015-02-16 15:40:34 -06:00
William Pitcock
c6bc97fdcd
m_sasl: move some struct members around for sasl-reauth
2015-02-16 15:39:36 -06:00
William Pitcock
3a48406b55
cap: fix compile
2015-02-15 17:40:20 -06:00
William Pitcock
ef3ab8e3a5
cap: allow clients to do sasl reauth if they requested sasl and sasl-reauth (ref ircv3/ircv3#103 ).
2015-02-15 17:11:28 -06:00
William Pitcock
0044d40050
cap: add notion of required dependency caps
2015-02-15 17:11:28 -06:00
Max Teufel
7d33cce8ef
m_sasl: add configuration option for the nick of the SASL agent
...
This allows multiple improvements to m_sasl. With this change, the SASL
authentication gets aborted immediately when services are offline.
Additionally, we send the SASL ENCAP messages directly to the specified
SASL agent.
2015-02-14 20:31:25 +01:00
Jilles Tjoelker
f51b72de97
Ignore duplicate USER and PASS.
...
If SASL starts using USER/PASS for unregistered clients, this change stops
users from using one USER/PASS for SASL while using another for connecting.
2015-02-13 23:07:02 +01:00
Mantas Mikulėnas
a3fa9d81a2
m_sasl: send information about the client connection
2015-02-13 22:38:24 +02:00
William Pitcock
bc75c3ae0e
fix target list generation edge case where WALLCHOPS was requested alongside normal users if the source user was not a channel op.
...
from ircd-hybrid r5457
2015-02-09 11:16:06 -06:00
Attila Molnar
407094721c
SJOIN: Remove some dead code
2015-01-30 14:42:08 +01:00
Jilles Tjoelker
2a17ae5483
ban: Fix build breakage.
...
A normal 'make' did not rebuild m_ban.c even though dependencies had
changed.
2014-09-21 18:28:24 +02:00
Jilles Tjoelker
dc336d1a63
server: Remove two dead stores.
2014-09-21 15:16:56 +02:00
Jilles Tjoelker
483987a464
Explicitly pass the current time to deactivate_conf().
...
Some places depend on the ban not being destroyed.
2014-09-21 15:02:43 +02:00
Keith Buck
8db50c03e6
BAN: Don't schedule check_klines for 0 seconds in the future.
...
When receiving bans from a bursting server, if kline_delay is set to 0
(the default), rb_event_addonce will be called to schedule an event for
0 seconds in the future. While this works fine for the fallback
rb_event_run function, the epoll implementation ends up scheduling a
timerfd for the event in the past, which is then never executed.
While fixing this, I also made rb_event_add and rb_event_addonce reject
attempts to add events scheduled for 0 seconds in the future; they're
instead rewritten to run 1 second in the future.
2014-08-17 09:06:01 +00:00
Jilles Tjoelker
b733b9faf4
SJOIN: Fix crash when both mode parameter and UID list are missing.
...
Closes #63
2014-08-15 17:10:24 +02:00
Mantas Mikulėnas
c72f15bcf5
m_version: remove spaces from version string
...
"to make it machine parseable again", as in ircd-seven commit 03b2176b88a1.
2014-05-06 16:28:23 +03:00
Mantas Mikulėnas
0f4ed4058d
m_version: display charybdis version in /version
...
Otherwise it just crashes when /version is used.
Closes : #60
2014-05-06 16:27:03 +03:00
Jilles Tjoelker
bf77c3a1ef
info: Change N-line to connect block.
2014-04-27 15:33:09 +02:00
Jilles Tjoelker
0455e7a927
Remove snotes on +r about GET/PUT/POST commands.
...
The server notice "HTTP Proxy disconnected: [<user>@<host>]" is
confusing and not particularly useful.
2014-03-04 23:02:40 +01:00
Keith Buck
55abcbb20a
Remove trailing whitespace from all .c and .h files.
...
3134 bytes were removed.
2014-03-03 04:25:47 +00:00
Keith Buck
00533129dc
s_conf: Don't leak log file paths when loading default conf
...
This change prevents the log file paths from being leaked when
rehashing. Additionally, fname_killlog was added to two places where it
was previously forgotten.
2014-03-03 04:12:07 +00:00
Jilles Tjoelker
fea6157df0
Avoid possible null dereference.
2014-03-03 00:02:10 +01:00
Jilles Tjoelker
299e25a630
SIGNON: Do not send uninitialized data if login name starts with '*'.
2014-02-28 15:48:07 +01:00
Jilles Tjoelker
f76ca17848
stats c: Simplify construction of flags string.
...
Perhaps this avoids false positives in static analysis.
2014-02-24 00:10:42 +01:00
Jilles Tjoelker
77910830e3
Fix various printf arg types.
2014-02-23 23:01:59 +01:00
Jilles Tjoelker
29c451d0ce
part: Fix constness issue with part hook.
2014-02-23 23:01:59 +01:00
Jilles Tjoelker
8a4b837775
m_services: Make sure to return a value from the modinit function.
2014-02-22 17:45:42 +01:00
Mantas Mikulėnas
dbd8ca2bf6
sasl: send RPL_SASLMECHS
2014-01-12 00:29:32 +02:00
Keith Buck
b647efa045
Fix parameter counts for me_dline and me_undline.
2013-09-23 09:34:30 +00:00
Jilles Tjoelker
364e59f82a
whowas: Use the normal rules for IP visibility.
...
Add the flags (auth{} spoof, dynamic spoof) to struct Whowas and add a
show_ip_whowas().
Normal users now see IPs of unspoofed users, and remote opers can see IPs
behind dynamic spoofs. Also, general::hide_spoof_ips is now applied when
the IP is shown, not when the client exits.
2013-09-14 12:26:32 +02:00
Jilles Tjoelker
7a9a9000b7
Enable remote WHOWAS queries.
...
On ircd-seven, this will allow remote opers to see certain hidden IPs.
2013-09-13 22:29:26 +02:00
Keith Buck
77d3d2dbaf
Remove s_assert definition from ircd_defs.h and add it to its own header.
...
s_assert requires some higher-level functionality that shouldn't be
present in ircd_defs.h. ircd_defs.h is used by ssld, which has no notion
of logging or sending IRC messages. Additionally, some of the headers
s_assert depends on result in conflicting definitions in ssld.c.
This change also fixes the compile when using --enable-assert=soft.
2013-09-10 06:10:14 +00:00
Jilles Tjoelker
35bfe0e644
join: Fix messages about join failures such as banned.
...
This was broken by 6f7b36d5d0
in February
2013, as join failures are the only situation where a non-trivial
numeric is passed through from other code to be sent to a client. Fix it
by porting more code from ircd-ratbox 3.1.
2013-07-07 23:50:20 +02:00
Jilles Tjoelker
b2c208be09
m_info: Correct description of general::client_exit like in example confs.
...
Reported by: jackal
2013-06-16 11:35:04 +02:00
Jilles Tjoelker
373a04393b
kill: Improve comment about kill hook.
2013-04-27 16:55:45 +02:00
Elizabeth Myers
9d745dbd21
Implement kill-cancelling hook.
...
With this comes an example module to block the killing of services.
NOTE: this will not cancel remote kills. Those are still accepted, per
the TS 6 specification.
2013-04-20 01:07:55 -05:00
Alex Iadicicco
fda96b89dc
m_nick: Reject nicks with '~' in them, rather than cutting at the '~'
...
The behavior of cutting at the first '~' is confusing at first, and
looks too much like a bug.
2013-04-17 17:27:27 -07:00
Jilles Tjoelker
90e3d1b7e1
Update .depend files.
2013-03-23 23:32:46 +01:00
Jilles Tjoelker
ce782b68fe
Don't send ERR_NICKCOLLISION to a user that will not be killed.
2013-03-23 22:57:28 +01:00
William Pitcock
6f7b36d5d0
Mostly enable support for checking format strings with -Wformat.
...
Basically derived from Ratbox 3.1.
2013-02-21 05:46:04 -06:00
Jilles Tjoelker
2ebef8d925
whois: Fix UID leak.
...
The second parameter of WHOIS is always a nick.
2013-02-14 23:45:22 +01:00
Jilles Tjoelker
e0c7937a9f
UID/EUID: Add server's SID to invalid UID error message.
2013-02-03 20:31:52 +01:00
Jilles Tjoelker
561d7efc44
UID/EUID: Check that the UID starts with the server's SID.
...
If not, the local link that sent the command is broken, as with
syntactically invalid UIDs.
2013-02-03 19:38:46 +01:00
Jilles Tjoelker
9cbf72447c
stats l: Don't care about away status.
2013-02-03 19:33:31 +01:00
Jilles Tjoelker
e69375f3ac
Cope with rb_crypt() returning NULL.
2013-02-02 00:54:32 +01:00