William Pitcock
d18e5dc54f
util: add std::map helpers for using case-insensitive strings/irccmp strings
2016-07-30 21:54:48 -05:00
William Pitcock
12ef3b15d6
fs: use normal ETCDIR for now
2016-07-30 21:02:24 -05:00
William Pitcock
f9a4adc03b
headers: make ircd namespace inline in more places
2016-07-30 20:52:41 -05:00
William Pitcock
d60c03c28f
Revert "headers: don't use inline namespaces"
...
This reverts commit 51a75f00be
.
2016-07-30 20:50:27 -05:00
William Pitcock
51a75f00be
headers: don't use inline namespaces
2016-07-30 20:47:44 -05:00
Jason Volk
625fb277ca
Add root exception + basic utilities.
2016-07-25 19:43:26 -07:00
Jason Volk
73297c988b
Preliminary defaults/paths namespacing.
...
The namespace is inline to mimic the C namespace for now.
2016-07-25 16:49:00 -07:00
Jason Volk
4796bec441
Activate PCH for position independent code.
...
Cuts compilation time by 30%+
2016-07-25 00:54:38 -07:00
Jason Volk
d1edbc0e58
Complete the C++ linkage with flex/bison.
2016-07-25 00:54:38 -07:00
Jason Volk
78ad65f386
ircd/rb: Move some remaining macros to rb.
2016-07-24 21:15:47 -07:00
Jason Volk
02119375b1
Add --disable-pch configuration option.
2016-07-23 19:40:18 -07:00
Jason Volk
31f4d0d699
Fix rb.h.gch compilation flags.
2016-07-23 19:40:18 -07:00
Jason Volk
404239eb60
Build system cleanup.
2016-07-22 19:46:28 -07:00
Jason Volk
1a8ed13747
ircd: Make Chm::mode_type unsigned long.
2016-07-22 19:46:28 -07:00
Jason Volk
e7e7f8ff9f
Convert bison.
...
NOTE: This only has "C" linkage right now.
2016-07-22 19:46:27 -07:00
Jason Volk
834964c659
Convert IRCd to C++
...
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk
7cea4c784d
ircd: Merge the defaults/ircd_defs stuff for now.
...
ircd/rb: Move some lowish level macros down to rb.
2016-07-21 20:51:02 -07:00
Jason Volk
ffb2f63850
ircd: newconf: Fix const correctness.
2016-07-21 20:51:02 -07:00
Jason Volk
ea53aab823
Refactor repository layout.
...
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
Jason Volk
007c6bf496
ircd/librb: Move "AFP" macro from ircd to rb.
2016-07-19 22:38:56 -07:00
Jason Volk
acd516444a
Fix header compatibility with c++ dialects.
...
This allows the option of at least -std=gnu++14 for new translation units.
Changes are trivial.
2016-07-19 22:38:56 -07:00
Jason Volk
e8355cb7be
MAPI Version 3
...
This version leverages a flexible, cleaner key-value strategy
reducing the need to design entire new headers for every feature
addition, change, etc.
* A friendly declaration for the module authors, with minimal
requirements to fill in, and explicit labels of what the fields are.
* Repetition of keys, removing references to (and the requirement to
build) a clist, hlist and hfnlist and caplist and whatever the future
holds.
* Safe deterministic loading and unloading. Keys are evaluated in
order, errors can be recognized, and unloading occurs in reverse
order.
ircd: Refactor internal half of modules.c, with some V3 additions.
Provides better delegation for versions, a cleaner stack with better
error handling, and some functionality deduping. V1 and V2 handlers
are still somewhat unaltered, just factored in.
2016-06-28 20:14:09 -07:00
Jason Volk
97a4adae40
ircd/librb: epoch needs a john hancock
2016-06-28 20:14:09 -07:00
Jason Volk
c5698b0276
librb: Move bool type stuff from ircd stdinc to rb.
2016-06-28 17:00:14 -07:00
Jason Volk
3073c2fa3a
ircd: Add slog(), a log function that takes both an L_ argument and
...
a SNO_ argument to smash the pattern of having an ilog() followed by
sendto_realops_snomask() with the same message.
2016-06-27 14:32:53 -07:00
Jason Volk
6357ad5fd9
Add a reason pointer to hook_data_privmsg_channel. When set, the reason is appended to the text of ERR_CANNOTSENDTOCHAN. The pointer will not be free()'ed.
2016-06-25 22:57:04 -05:00
William Pitcock
7e1bb8ad0d
Proper channel mode classification. Fixes existing ad hoc
...
channel mode classification which is required by RPL_MYINFO indicating arity,
and RPL_ISUPPORT indicating an enumerated class. The content of these replies
had previously been generated by hardcoded strings of some letters.
Channel modes require classification which corresponds to the
CHANMODES= data in RPL_ISUPPORT. Classes A,B,C can then be
listed in the unary column of RPL_MYINFO. cflag_add() is updated
for this. Additional cleanup of chmode.h and channel.h
circularity is also proffered within.
Submitted-by: Jason Volk <jason@zemos.net>
2016-06-25 22:54:37 -05:00
William Pitcock
e55a9d6abc
modules: serious cleanups
2016-06-18 00:52:16 -05:00
William Pitcock
92dad4831d
modules: cleanups
2016-06-18 00:38:40 -05:00
William Pitcock
8e30e3def4
messages: fix format string warning reported by latest clang
2016-06-17 23:39:19 -05:00
Aaron Jones
aa7b99eb77
restart: functions that call exit(3) should be marked noreturn
2016-06-01 20:54:12 +00:00
Aaron Jones
df3db5d99b
ircd: functions that call exit(3) should be marked noreturn
2016-06-01 20:54:12 +00:00
Aaron Jones
341560ecf2
getopt: a function that calls exit(3) should be marked noreturn
2016-06-01 20:54:12 +00:00
Simon Arlott
da20854e83
random_ping: stop producing negative values that become 16 chars
2016-05-02 21:14:16 +01:00
Simon Arlott
f018ed844d
certfp: Move method name/prefix strings to a separate header file
2016-04-26 20:33:18 +01:00
Simon Arlott
5adde7a4ed
getopt: don't modify argv as it breaks restart()
2016-04-25 23:32:18 +01:00
Simon Arlott
762468f85d
authd: wait until the ssl connection is "open" before reading
...
It's useful to allow authd to run in parallel with ssl negotiation,
but if the ssld connection has plaintext data ready for reading
there's a race condition between authd calling read_packet() and
ssl_process_certfp() storing the certificate fingerprint. This
scenario would be bad for a server connecting because fingerprint
verification will fail.
Allow either operation to complete first, but wait until
ssl_process_open_fd() calls the ssl open callback before calling
read_packet().
2016-04-25 21:43:21 +01:00
Simon Arlott
53789fddda
sslproc: simplify ssl open callback
...
Don't use the librb callback type as we're always passing client_p.
Provide a return value so that the connect handler can exit_client()
and the accept handler can opt to use the default dead handler.
2016-04-25 21:12:44 +01:00
Simon Arlott
f7b0c4b3d8
sslproc: use global ServerInfo configuration
...
There's no need to pass information around that sslproc already has access
to, so use ServerInfo directly. Remove the extra NULL checks as these are
already performed before setting ircd_ssl_ok = true.
2016-04-25 19:20:45 +01:00
Simon Arlott
d4214e9445
ircd: server connection configuration
...
Fix the server connection configuration so that it can simultaneously
handle a hostname/IPv4/IPv6 for connecting and a hostname/IPv4/IPv6
for binding. Maintains backwards compatibility for matching a hostname
with a mask.
Multiple host/vhost entries can be specified and the last value for
each address family is stored. Hostnames that resolve automatically
overwrite the IP address.
Server connections can now be made to either IPv4 or IPv6 at random
as well as preferring a specific address family.
2016-04-24 17:06:24 +01:00
Simon Arlott
4fbb736202
ssld: add a callback when the connection is opened
...
This allows us to wait until we have the fingerprint information before
continuing with a server connect process.
2016-04-24 11:48:35 +01:00
Simon Arlott
3085734104
m_stats: display certificate fingerprint in STATS C
2016-04-24 01:06:51 +01:00
Elizabeth Myers
7445ece1d1
Revert "Implement the netsplit batch type."
...
This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253
This reverts commit 2373891299
.
2016-04-16 11:05:00 -05:00
Elizabeth Myers
2373891299
Implement the netsplit batch type.
...
This also lays the groundwork for the netjoin batch type, but that isn't
implemented yet. I don't like how some of this is implemented but it'll
have to do for now...
Compile tested, needs more testing.
2016-04-15 16:50:43 -05:00
Elizabeth Myers
4f2b9a4fd1
Don't use key member of dictionary iter objects after deletion
2016-04-12 09:43:50 -05:00
Elizabeth Myers
5e9a3f8674
Change the way authd configures opm
...
It's a bit of a hack, but better than before. Rather than rehashing
(which could get us into an endless loop), we now segregate the
configuration phase (creating entries ircd-side in case we restart authd
later) and sending phases (when configure_authd() is called). Since we
have to call configure_authd() no matter what (to send timeouts etc.)
and we have to send this data to configure authd anyway, and sending
duplicate data is bad, this is the only way I can think of for now.
2016-04-12 09:36:09 -05:00
Mantas Mikulėnas
9d07a42d7a
m_sasl: rate-limit SASL REAUTH usage
2016-04-11 21:45:10 +03:00
Mantas Mikulėnas
37289346cd
m_sasl: temporarily reject clients after many failed attempts
2016-04-11 20:02:09 +03:00
Elizabeth Myers
ce58d2dc61
Remove extraneous whitespace [ci skip]
2016-04-10 09:23:14 -05:00
Elizabeth Myers
154dc91ef0
Wrap up authd preclient stuff in its own struct
2016-04-10 09:20:51 -05:00
Elizabeth Myers
4eafa9e62f
ipv4_from_ipv6: move to librb
2016-04-08 03:49:23 -05:00
Elizabeth Myers
5a22e9259b
Fix overzealotry in flags fixing.
...
These flags are for oper confs, not for client flags.
2016-04-07 07:48:50 -05:00
Elizabeth Myers
66f7fe673b
Get rid of flags2.
...
It seems to come from an era where long long didn't exist and 64-bit
machines weren't common. 32-bit machines are still common but I can't
imagine this will have much performance impact there.
This "fixes" #179 in title only, but see comments within.
2016-04-07 07:40:55 -05:00
Elizabeth Myers
9057170ce8
Cleanup defaults.h config file.
...
Clean up spaces/tabs mixing mess (bleh), add some defaults for authd
stuff, and get rid of CHARYBDIS_SOMAXCONN (just define SOMAXCONN if it's
available...).
2016-04-07 04:47:48 -05:00
Elizabeth Myers
78946542bb
modules: move module loading/unloading commands to dedicated module.
...
There's no reason to really have these in the main ircd anymore, static
modules are dead and aren't coming back.
To ensure people don't do something hopelessly retarded, this is a core
module.
2016-04-07 04:00:25 -05:00
Elizabeth Myers
999c42bad8
Remove useless alias_entry hits member
2016-04-06 11:47:13 -05:00
Elizabeth Myers
a559032938
Partially update a comment
2016-04-06 07:28:30 -05:00
Elizabeth Myers
d4fdeec0d8
s_conf: s_bsd's been gone for a long time... lol
2016-04-06 06:48:59 -05:00
Elizabeth Myers
2575a78b0e
Add hook for when rehash is called.
...
This will be used by the future alias module.
2016-04-06 05:43:54 -05:00
Elizabeth Myers
aa483e55bd
bool-ify modules stuff
2016-04-03 01:51:45 -05:00
Elizabeth Myers
3d2fc110e3
authproc: add more API's for opm management
2016-04-02 19:45:27 -05:00
Elizabeth Myers
64fae2607a
Rename authd.[ch] on ircd side to authproc.[ch] to prevent shadowing.
2016-04-02 16:44:04 -05:00
Elizabeth Myers
6d0fafec99
authd: minor cleanups
2016-04-02 04:51:11 -05:00
William Pitcock
c53ca1e029
ircd: integrate ircd side of wsockd support
2016-04-02 02:56:22 -05:00
Elizabeth Myers
fbe8d087e7
Add exempt logic for open proxies
2016-04-02 02:42:11 -05:00
Elizabeth Myers
51fa2ab8a3
opm: allow scanners to be configurable
2016-04-02 02:29:48 -05:00
Elizabeth Myers
b1a577f224
ircd/authd: cleanups
2016-04-02 01:05:21 -05:00
Elizabeth Myers
34f16c467d
authd: fix API boo boo
2016-04-01 02:56:03 -05:00
Elizabeth Myers
4f6119cd40
authd: add API for setting OPM listeners
2016-04-01 02:43:01 -05:00
Elizabeth Myers
7ad083b065
logger: add idebug
...
This only does something if debugging is enabled.
2016-03-28 19:06:31 -05:00
Elizabeth Myers
7b4d1de38d
Merge branch 'master' into authd-framework
2016-03-28 14:44:47 -05:00
Elizabeth Myers
ad04380360
ircd/authd: respect auth_disabled config option
2016-03-28 02:42:20 -05:00
Elizabeth Myers
d3f6b80867
Replace s_auth/blacklist stuff with authd calls
...
This also does a lot of surgery on the conf system to reconfigure authd.
/!\ WARNING! ACHTUNG! ADVERTENCIA! ATTENTION! AVVERTIMENTO! /!\
This code has not been run-time tested yet (though it compiles)!
2016-03-28 02:11:16 -05:00
Matt Ullman
33d43d4fa4
ircd: Move signaled variables to volatile sig_atomic_t
2016-03-27 20:05:38 -04:00
Matt Ullman
aa7eff28f2
hash.c: Save some more bytes
2016-03-27 06:29:10 -04:00
William Pitcock
de7cf7e009
ircd: client: substantially rework the connid registry system
...
now connid's are allocated on demand and clients may have as many connid's as necessary.
this allows us to build chains of helpers while ensuring the ircd properly tracks and GCs the resources.
2016-03-25 19:50:29 -05:00
William Pitcock
4d8cfacd95
ircd: start staging for relocatable paths
2016-03-24 18:45:28 -05:00
Matt Ullman
a383180a0a
chmode: Move add_id() to a boolean
2016-03-24 14:37:52 -04:00
Matt Ullman
3b9507d0e9
channel: Move flood_attack_channel() to a boolean
2016-03-24 02:25:26 -04:00
Matt Ullman
3a46803fef
channel: Move check_channel_name() to a boolean
2016-03-24 01:54:39 -04:00
Matt Ullman
2e45f5d808
Cleanup more BSD-isms
2016-03-23 22:37:52 -04:00
Matt Ullman
4b11f39115
Move away from BSD data types
2016-03-23 19:11:42 -04:00
Elizabeth Myers
79435744c7
common.h: raison d'être is gone, so out it goes.
...
Fold whatever was left into ircd_defs.h
2016-03-23 09:33:56 -05:00
Elizabeth Myers
82236a2a65
IRCD_BUFSIZE is redundant with BUFSIZE, so kill it.
2016-03-23 09:22:55 -05:00
Elizabeth Myers
affc871dcb
common: don't even attempt to define NULL.
...
stddef.h includes it, ISO C mandates NULL be in it, and if any platforms
don't have it, *tough shit*.
2016-03-23 09:13:31 -05:00
Elizabeth Myers
ab31d2b07e
Send YES/NO to Davy Jones's Locker.
2016-03-23 08:52:32 -05:00
Elizabeth Myers
bd43a44469
Remove more YES/NO usage.
2016-03-23 08:43:28 -05:00
Elizabeth Myers
2fc6772ee1
typedef-ify rb_radixtree for consistency.
2016-03-23 08:32:22 -05:00
Elizabeth Myers
4177311e6e
Change struct Dictionary(*) to rb_dictionary(_\1).
...
This cleans things up a slightly and puts the dictionary stuff in its
own namespace.
2016-03-23 08:09:58 -05:00
Matt Ullman
66769bc1f8
More cleanup
2016-03-23 00:11:26 -04:00
William Pitcock
4e376fff55
include: hostmask: use GET_SS_FAMILY()
2016-03-20 01:55:31 -05:00
William Pitcock
85368a13d3
ircd: rewrite SOCKET_ERROR as I_SOCKET_ERROR
2016-03-20 01:44:00 -05:00
William Pitcock
4f73990245
stdinc: more cleanups
2016-03-20 01:19:07 -05:00
William Pitcock
76ebf6c489
authd: initial pass at win32 porting
2016-03-20 01:16:41 -05:00
Elizabeth Myers
9b8e9eb321
config.h delenda est
2016-03-19 19:14:26 -05:00
William Pitcock
bfc44622c8
ircd: do not shadow internal openssl symbol "ssl_ok" (yeah, i know)
2016-03-19 00:57:32 -05:00
Elizabeth Myers
1d89c9e945
Remove unnecessary autotools cruft and other detritus
2016-03-18 15:13:11 -05:00
Elizabeth Myers
cca418c9b7
Add --enable-ignore-bogus-ts flag.
...
This hoists the option out of config.h.
2016-03-18 15:02:59 -05:00
Elizabeth Myers
0e99e13a71
configure: add ENABLE_OPER_CHGHOST flag
2016-03-18 14:57:08 -05:00
Elizabeth Myers
f79f3e6a95
config.h: update a tad
2016-03-18 14:43:50 -05:00
Elizabeth Myers
068c6c4a2b
dns: use a dictionary for query storage
2016-03-13 03:23:41 -05:00
Elizabeth Myers
50f842125a
authd: crap, C was taken already, rename reload to H.
2016-03-10 08:07:29 -06:00
Elizabeth Myers
6445c1cf0b
rehash: don't restart authd for DNS reloads
...
This could lead to pretty nasty things, like losing DNS (and in the
future, ident) queries. That's a Bad Thing™.
2016-03-09 03:46:04 -06:00
Elizabeth Myers
503727d1ee
More bool conversions
2016-03-09 02:19:31 -06:00
Elizabeth Myers
1b916de505
More bool conversions [ci skip]
2016-03-09 02:10:21 -06:00
Elizabeth Myers
8fbc1152bb
Remove dead variable "cold_start" that no longer exists [ci skip]
2016-03-09 02:01:42 -06:00
Elizabeth Myers
f66f0baa67
More bool conversions
2016-03-09 02:00:40 -06:00
Elizabeth Myers
550e851c5e
Merge branch 'master' of github.com:charybdis-ircd/charybdis into elizafox-cleanups
2016-03-09 01:41:10 -06:00
Elizabeth Myers
3c7d6fcce7
Message handlers should return void.
...
Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.
According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.
Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
2016-03-09 01:37:03 -06:00
Elizabeth Myers
eeabf33a7c
Move module description headers to the top
...
This is cleaner.
Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
2016-03-09 01:29:41 -06:00
William Pitcock
ea111ea544
ircd: further cleanup of YES/NO
2016-03-08 13:52:48 -06:00
Elizabeth Myers
6287d57fa9
s_user: clean up return types and can YES/NO.
2016-03-08 05:06:29 -06:00
Elizabeth Myers
07554369bd
Detect stdbool.h and add conformant shims if it isn't available
...
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.
A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers
55799c6b4d
dns: prune worthless function.
2016-03-08 03:25:21 -06:00
Elizabeth Myers
8a26cd1973
dns: clean up awful hacks.
...
We now have a resolver cache which we init on startup.
2016-03-08 03:22:25 -06:00
Elizabeth Myers
394b8dde17
authd: allow querying the list of DNS servers.
...
This was an asston of pain, and it still feels "dirty" as it introduces
an async call where there normally wouldn't be one. Better
implementation more than welcome.
2016-03-08 02:53:25 -06:00
Elizabeth Myers
7e6b5384b3
Convert 2.8 style ToUpper/ToLower names to irctoupper/irctolower
2016-03-07 19:04:24 -06:00
Elizabeth Myers
81204be809
Add ircd serials to AV2.
2016-03-07 18:10:22 -06:00
Elizabeth Myers
749d697c98
Fix generation of serno.h
...
Due to reversed conditionals, it wasn't being generated properly.
This also actually fixes its generation in librb by just copying the
Charybdis version. Unbundlers will want to take note of this.
2016-03-07 17:15:39 -06:00
Max Teufel
54d8925ed4
extensions: add umode_noctcp extension
2016-03-07 18:48:14 +01:00
Elizabeth Myers
638d286293
Change some RATBOX_FOO defines to CHARYBDIS_FOO.
2016-03-07 05:01:31 -06:00
William Pitcock
b7e4fcb7a7
modules: AV2: use unsigned int for capability IDs instead of signed int
2016-03-07 00:13:54 -06:00
Elizabeth Myers
978b723252
modules: show module provenance in modlist
2016-03-06 23:21:08 -06:00
Elizabeth Myers
216d70e91d
modules: tag origin at load time.
2016-03-06 18:57:05 -06:00
Elizabeth Myers
c63aeb44e9
modules: add origin field to V2
2016-03-06 17:52:49 -06:00
Elizabeth Myers
2ab24be6f9
modules: show descriptions in list
2016-03-06 17:26:30 -06:00
Elizabeth Myers
0eb7d9c02c
modules: add description field
2016-03-06 17:14:31 -06:00
Elizabeth Myers
7b075a7610
modules: whoops, forgot one tiny thing
2016-03-06 17:04:02 -06:00
Elizabeth Myers
8e9c6a7590
modules: add new MAPI V2
...
MAPI V1 is still supported for legacy modules, but it is highly
recommended to update to MAPI V2. It includes support for capability
tables, module descriptions, and implicit versions.
2016-03-06 16:53:03 -06:00
Elizabeth Myers
a4bf26dd34
Move irc_* data structures to librb.
...
This makes the base ircd less cluttered up with data structures that can
go elsewhere.
2016-03-06 14:17:19 -06:00
Elizabeth Myers
fe037171d6
Change all leftover libratbox stuff to librb.
2016-03-06 03:49:27 -06:00
Elizabeth Myers
5f5b18684d
config.h.dist: forgot one...
2016-03-06 03:00:42 -06:00
Elizabeth Myers
cbeab4bc34
Remove $Id tags from everything.
...
These are obsolete and none have changed since 10 years gao...
2016-03-06 02:47:27 -06:00
Elizabeth Myers
1d91de8100
Remove old .indent.pro files
...
These have been unused since dinosaurs roamed the earth and are mostly
smelly old Hybrid relics.
2016-03-05 21:21:36 -06:00
William Pitcock
38ffccf8c3
cap: allow modules to return client-specific responses for capability inquiries
2016-03-05 18:56:36 -06:00
William Pitcock
9ea48ec30a
remove presupplied autotools files
2016-03-05 17:47:48 -06:00
Elizabeth Myers
7416e480b0
parse: export cmd_dict for use elsewhere.
2016-03-05 01:05:26 -06:00
Elizabeth Myers
e8f1c19e7b
parse: get rid of report_messages
...
It is a function with a single usage, that is used only for one specific
stats command on one line.
2016-03-05 00:55:33 -06:00
Simon Arlott
e9ffc3c153
ssld: provide version in stats S output
2016-03-03 22:14:50 +00:00
William Pitcock
ddf62b10f9
m_cap: add support for CAP LS 302
2016-02-28 01:13:08 -06:00
William Pitcock
193d4db30c
sasl: transfer ownership of 'sasl' capability to m_sasl module
2016-02-28 00:29:26 -06:00
William Pitcock
be2ce24c42
send: implement echo-message
2016-02-27 02:48:37 -06:00
William Pitcock
0416a2cc86
starttls: take ownership of 'tls' capability
2016-02-27 01:45:40 -06:00
William Pitcock
32df5e96a6
cap: substantial rewrite leveraging the ircd capabilities framework for client caps
2016-02-27 01:41:36 -06:00
William Pitcock
ba83226733
capability: move some previously private structures to public API
2016-02-27 00:46:49 -06:00
William Pitcock
486cd34415
ircd: chase capability API changes
2016-02-27 00:01:54 -06:00
William Pitcock
63b9db9675
capability: allow attaching capability-owner data to a capability token, to enable extended data for client capabilities
2016-02-26 23:55:43 -06:00
William Pitcock
71c875fb9a
msgbuf: allow for an explicit target to be defined
2016-02-20 17:59:00 -06:00
William Pitcock
48a2b7c182
hook: allow hook_data to have non-const arguments, add hook_cdata for arguments that must be treated const
2016-02-20 17:44:13 -06:00
William Pitcock
ddedc60398
cap: register the account-tag capability
2016-02-20 17:26:35 -06:00
William Pitcock
4f8ababae0
send: implement linebuf_put_msgbuf() and msgbuf_build_from(), which build the core of the ircv3.2 tags support for outbound messages
2016-02-20 15:50:12 -06:00
William Pitcock
33085472a2
msgbuf: make msgbuf_unparse_prefix() public
2016-02-20 14:46:09 -06:00
William Pitcock
c678fbc08b
ircd: remove broken USE_IODEBUG_HOOKS knob and related code
2016-02-20 12:02:49 -06:00
William Pitcock
4a13e3f1da
msgbuf: add some message building code
2016-02-20 11:21:12 -06:00
William Pitcock
d84acbceca
newconf: move SSL/TLS deprecation message from ERROR severity to WARNING severity
2016-02-19 17:11:25 -06:00
William Pitcock
7baa37a9ef
msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag.
2016-02-19 16:43:39 -06:00
Antoine Beaupré
a393a68a0e
make build reproducible
...
we do this by removing the uname usage everywhere: it is not actually
used at runtime at all.
we keep the timestamp, because it is actually used in user_welcome()
but allow it to be overriden.
ideally, that timestamp would be completely removed, but I am not sure
what to put in its place, or if it would break some mysterious RFC (or
client!) if we remove that announcement.
2016-02-16 00:37:20 -05:00
William Pitcock
d670fe5271
msgbuf: msgbuf_append_tag(): add support for attaching a specific capability bit
2016-02-13 00:19:23 -06:00
William Pitcock
b4993fe8c3
msgbuf: pull in s_assert
2016-02-12 12:12:30 -06:00
William Pitcock
920e4849f1
msgbuf: fix AFP() macro
2016-02-12 11:56:15 -06:00
William Pitcock
9d5170247e
msgbuf: attach capabilities mask to each tag for sending
...
this will be used with a bloom filter to speed up the 1-to-many case
2016-02-11 19:50:47 -06:00
William Pitcock
4a84a763cd
ircd: change MessageHandler to include a MsgBuf pointer at the front for tag access
2016-02-10 20:13:44 -06:00
Simon Arlott
eb1b303d56
ircd: support restarting ssld processes
...
Add REHASH SSLD (admins only) that starts new sslds and marks the
existing ones as inactive until all their clients disconnect.
Very useful whenever the SSL library has a vulnerability because
new connections can use a new version of the library without
disconnecting existing clients/servers.
Add STATS S (admins only) to list ssld processes, status, and client
count.
2016-02-10 19:03:30 -06:00
William Pitcock
269dd686b3
msgbuf: improve parse logic
2016-02-10 00:46:32 -06:00
William Pitcock
a8e69f5dfc
msgbuf: implement msgbuf_parse()
2016-02-10 00:08:58 -06:00
William Pitcock
88b427b61d
msgbuf: add lowlevel interface for building MsgBuf objects
2016-02-09 23:19:13 -06:00
William Pitcock
b830b64106
include: add msgbuf.h for future msgbuf api
2016-02-09 23:08:35 -06:00
William Pitcock
cc6ce2d689
ircd: hash: remove some detritus
2016-01-23 11:44:08 -05:00
William Pitcock
b47f8a4fda
ircd: import modified version of ratbox 3.1 whowas code
2016-01-23 11:16:34 -05:00
William Pitcock
912cae0c9c
Revert "ircd: rework sendq limits a bit."
...
This reverts commit 9a5958119c
.
2016-01-20 22:27:33 -05:00
William Pitcock
999fab778c
Revert "LIST: use new sendq system to reimplement SAFELIST differently."
...
This reverts commit e835592cfc
.
2016-01-20 22:26:55 -05:00
William Pitcock
704697b6b6
ircd: radixtree: allow irc_radixtree_elem_find() to find a fuzzy match instead of an exact match
2016-01-20 22:10:35 -05:00
William Pitcock
0d9a72de21
ircd: radixtree: add irc_radixtree_foreach_start_from() which uses irc_radixtree_elem_find() to find the starting point
2016-01-20 21:02:03 -05:00
William Pitcock
71c955336e
ircd: add general::hide_opers_in_whois to simulate ircd-seven operhide
2016-01-15 13:38:40 -06:00
William Pitcock
4d21f1e8e0
extensions/helpops: new module, implementing a helpops system.
...
if loaded, this module takes over /stats p, and displays people who are umode +H.
to get umode +H, one must have the "usermode:helpops" permission.
2016-01-14 08:08:40 -06:00
William Pitcock
ea2d270096
STATS: allow modules to override normal stats requests
2016-01-14 06:57:04 -06:00
William Pitcock
3ee43bcf29
ircd: get_channel_access(): do not derive channel pointer from membership
2016-01-13 22:16:44 -06:00
William Pitcock
14482679ce
ircd: channel: implement an option to strip color codes from channel topics
2016-01-13 17:05:41 -06:00
William Pitcock
be29ec793d
ircd: import hidden channel modes framework, from ircd-seven
...
This allows for modules to define channel modes which are only visible to opers.
2016-01-13 16:34:27 -06:00
William Pitcock
15feac531c
ircd: implement support for remote module load/unload/etc commands
2016-01-12 00:37:54 -06:00
William Pitcock
cc7ae51cdc
Allow remote DIE and RESTART (from ircd-seven)
2016-01-12 00:04:54 -06:00
William Pitcock
a4721f5e9f
ircd: implement EXTENDCHANS, based on ircd-seven (with some improvements from chatircd)
2016-01-11 23:32:23 -06:00
William Pitcock
fe749d3709
ircd: implement GRANT subsystem based on ircd-seven
2016-01-11 23:02:03 -06:00
William Pitcock
b870a5f8e9
extensions/override: display mode-change string in override messages
2016-01-11 22:40:32 -06:00
William Pitcock
7abb4a4f0d
parse: add missing semicolon
2016-01-11 22:31:19 -06:00
William Pitcock
e4603e3d27
parse: implement reconstruct_parv()
2016-01-11 22:28:55 -06:00
William Pitcock
9b74b99268
ircd: hash: channels are no longer a hashtable
2016-01-09 23:47:50 -06:00
William Pitcock
730b914c17
LIST: more cleanups
2016-01-09 23:34:52 -06:00
William Pitcock
9a5958119c
ircd: rework sendq limits a bit.
...
The sendq limit is now soft, now we halt processing if a sendq is exceeded, until it is sufficiently drained.
This allows us to implement SAFELIST and other floody commands without hacks.
2016-01-09 23:14:04 -06:00
William Pitcock
bb4ac31447
ircd: hash: use an irc_radixtree for client names
2016-01-09 05:30:13 -06:00
William Pitcock
3eeccbe3ce
ircd: hash: use an irc_radixtree for IDs
2016-01-09 05:13:10 -06:00
William Pitcock
46be39faab
ircd: hash: use an irc_radixtree for storing resv's
2016-01-09 04:59:02 -06:00
William Pitcock
5c7c7d65c2
ircd: hash: client connection id hashtables are now dictionaries keyed by uint32
2016-01-09 04:25:41 -06:00
William Pitcock
45dfdf46c8
ircd: irc_dictionary: allow storage of non-string types as keys
2016-01-09 04:09:40 -06:00
William Pitcock
21d5a11cb8
ircd: irc_dictionary: also show dictionary stats
2016-01-09 01:34:37 -06:00
William Pitcock
99b461bb2f
ircd: ensure irc_dictionary users have names, for stats tracking.
2016-01-09 01:22:11 -06:00
William Pitcock
db891ac3ca
ircd: irc_radixtree: add irc_radixtree_irccasecanon and irc_radixtree_strcasecanon helpers
2016-01-09 01:00:55 -06:00
William Pitcock
325cc939b7
ircd: irc_radixtree: add some convenience functions for tracking radix tree stats
2016-01-09 00:54:57 -06:00
William Pitcock
8e6ba6f9ce
ircd: add irc_radixtree, which is like irc_dictionary but uses a radix tree as the backing store
2016-01-09 00:44:39 -06:00
William Pitcock
e575ed5193
libratbox: disable the block allocator, but keep it as a stub for now
2016-01-08 07:16:23 -06:00
William Pitcock
1eeb046930
ircd: remove internal resolver, no longer used
2016-01-08 06:39:51 -06:00
William Pitcock
1d02144f8b
ircd: move DNS resolution over to authd
2016-01-08 06:31:08 -06:00
Aaron Jones
d8c4154da2
Fix LTDL conditional, remove some unnecessary and/or ugly configure tests
2016-01-07 17:15:55 +00:00
William Pitcock
fb7d74efef
ircd/authd: split out authd lifecycle functions from actual DNS functions
2016-01-06 04:41:57 -06:00
William Pitcock
7d2852b4d1
dns: new WIP client which queries authd for DNS records, not yet in use
2016-01-06 04:28:34 -06:00
William Pitcock
d610d3f344
config.h: fix SPATH
2016-01-06 02:00:12 -06:00
William Pitcock
2a19fc3f57
general: remove last vestiges of static modules support (this hasn't ever actually worked...)
2016-01-06 01:28:20 -06:00
William Pitcock
f272e7abc7
modules: use libltdl to load the modules
2016-01-05 21:39:09 -06:00
William Pitcock
c52df12552
buildsystem: convert to automake + libtool
2016-01-05 21:20:25 -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
Juuso Lapinlampi
6eb0267a90
messages.h: Remove 900-902 IRCv3.1 SASL trailing period
...
The IRCv3.1 SASL specification [1] has been updated today, and brings a
level of consistency with the trailing periods (or the lack of).
This implements the change made in
ircv3/ircv3-specifications@6d2ca77ffd .
[1]: http://ircv3.net/specs/extensions/sasl-3.1.html
2015-12-30 12:51:48 +02:00
Juuso Lapinlampi
e0160ec5a4
messages.h: Standardize 256 (RPL_ADMINME) with RFC 1459
...
RPL_ADMINME is a response the client receives using the ADMIN command.
Charybdis used to implement a non-standard version of this.
The RFC 1459 standard [1] says in section "6.2 Command responses.":
256 RPL_ADMINME
"<server> :Administrative info"
This commit corrects the behavior to follow the standard.
[1]: https://tools.ietf.org/html/rfc1459
2015-12-28 21:19:47 -06:00
William Pitcock
0817ad4cd0
messages.h: fix numeric 320
2015-12-28 01:36:40 -06:00
William Pitcock
72ad5c04fe
whois: list active operator block and privset when appropriate
2015-12-28 01:33:09 -06:00
William Pitcock
d513218a9e
LIST: allow channel display threshold to be configured ( closes #109 )
2015-12-26 22:23:28 -06:00
William Pitcock
2f9687c48c
channel: cache duplicate calls to is_banned() and is_quieted()
2015-12-13 08:13:52 -06: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
72dee03d50
clean up some code duplication when checking nicks for validity
2015-12-12 08:41:09 -06:00
William Pitcock
c1725bda3c
ssl: allow cipher list to be overridden ( closes #67 )
2015-12-12 07:50:48 -06:00
William Pitcock
b5b4a0e79b
client: use sequential connection ids for ssld connections in ssld RPC, instead of the file descriptor
...
this avoids race conditions when a file descriptor is reused and an ssld worker has not acked that the previous
connection was closed, which results in the new client being kicked.
2015-12-12 05:20:51 -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
bac8c4829f
config.h.dist: resync with config.h ( closes #14 )
2015-12-11 12:14:34 -06:00
William Pitcock
427a8d5dbb
WHOIS: use cipher string if available
2015-12-11 08:20:11 -06:00
William Pitcock
ebe33dbfab
sslproc: set Client.localClient.cipher_string if sent by ssld
2015-12-11 08:19:50 -06:00
William Pitcock
196740c42b
sslproc: likewise
2015-12-10 23:44:31 -06:00
William Pitcock
7801d174d7
Revert "extban: implement helper functions for stackable extbans (part 1) (ref #74 )"
...
This reverts commit 304bd0d095
.
2015-12-10 02:19:21 -06:00
William Pitcock
304bd0d095
extban: implement helper functions for stackable extbans (part 1) (ref #74 )
2015-12-10 01:33:30 -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
13d8f0edba
allow certfp method to be configured
2015-12-07 01:49:30 -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
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
d09bde15a1
monitor: additional cleanup pointed out by mr_flea
2015-10-11 19:32:31 -05:00
William Pitcock
d5f856c68e
monitor: fix the resource leak properly, unlike the moronic elemental-ircd developers
2015-10-11 18:48:53 -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
c9b5cd623b
Remove network_desc configuration option, never actually used anywhere
2015-03-26 14:46:54 -05:00
William Pitcock
bb2a50509a
config: further EGD removal
2015-03-01 01:06:58 -06:00
William Pitcock
984d80c988
cap-notify: add sendto_local_clients_with_capability() (ref #84 )
2015-03-01 00:44:34 -06:00
William Pitcock
13de708352
cap-notify: add cap-notify cap
2015-03-01 00:26:23 -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
74bae4c6ff
remove references to LIBPATH ( closes #26 ).
2015-02-24 20:25:34 -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
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
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
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
Jilles Tjoelker
0f8db0552e
channel: Remove write-only field.
2014-05-29 17:41:35 +02:00
Jilles Tjoelker
51452a370b
channel: Stop pretending to support per-mode server capabilities.
...
After a change for dynamic server capabilities, the code to send out mode
changes was changed to use the capabilities belonging to the last mode
being sent out. This does not make sense; therefore, just use no
capabilities and remove supporting infrastructure.
2014-05-29 17:40:16 +02:00
Jilles Tjoelker
72ae8a1f7b
Merge branch 'patch-1' of https://github.com/auscompgeek/charybdis
2014-05-29 15:42:47 +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
auscompgeek
bd96349c86
strip_colour: Strip '\x0F' (^O, formatting off)
...
Reported by ssbr on freenode:
chmode +c doesn't strip ^O, which turns off all previous formatting.
This can cause clients that internally use mIRC formatting to render messages weirdly,
e.g. highlighted messages in HexChat: <https://i.imgur.com/eDX8Aif.png >.
2014-04-17 13:12:11 +10: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
dceac3e4fb
conf parsing: Fix memory leaks and clean up code a bit.
...
Charybdis currently leaks about 45-50k per configuration parse,
including every rehash. This change plugs these leaks by properly
iterating through all conf_parm_t structures to seek all strings that
should be freed and also by freeing the conf_parm_t structures
themselves.
These leaks have been present since the original rewrite of the
configuration parsing system in ircd-ratbox r11953.
Additionally, this change also cleans up and documents the parsing code
a bit.
2014-02-28 17:35:51 +00:00
Jilles Tjoelker
26c6ac3dc7
Simplify module path list, removing strcpy use.
2014-02-23 23:47:27 +01:00
Jilles Tjoelker
77910830e3
Fix various printf arg types.
2014-02-23 23:01:59 +01:00
Jilles Tjoelker
a9f1281448
modlist: Fix address display on 64-bit systems.
2014-02-23 22:55:40 +01:00
Rylee Elise Fowler
1870e06ad3
autotools: fix typo relating to ban db
2014-01-31 11:03:54 -05:00
Keith Buck
7f3382fe98
Remove duplicate default-value code.
...
Default values for default_floodcount and default_ident_timeout are set
in s_conf.c. Remove code that checks for missing values in ircd.c.
Additionally, reset default_ident_timeout to 5 if an invalid value (i.e.
0) is provided.
2013-10-29 09:32:28 +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
2635cc8089
Fix parameter name in header file for show_ip_conf().
2013-09-14 12:26:24 +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
Elizabeth Myers
3c93d380e0
Add support for multiple forms of blacklist queries using matches.
...
It supports both literal and last octet matches from the dnsbl.
If matches is not present, the old behaviour is used.
2013-04-20 20:49:11 -05: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
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
William Pitcock
3dae60ef47
cache: use rb_strdup() instead of a static buffer for cache lines.
...
BUFSIZE limitation is retained as there is no need to remove it, as all lines must be smaller than it
due to RFC1459 message requirements.
2013-01-15 16:24:33 -06:00
Jilles Tjoelker
22cae20f02
server: Make sure CAP_CAP and CAP_TS6 are non-zero.
...
A zero CAP_CAP caused duplicate CAPAB to go undetected, allowing a
mismatch between what is sent out via ENCAP GCAP and what applies locally.
A zero CAP_TS6 allowed server connections without SID (with a valid
connect block).
2012-12-18 17:03:59 +01:00
William Pitcock
1cf9ef50cd
numeric: add 744 (ERR_TOPICLOCK) to list so we don't step on inspircd
2012-10-13 17:50:12 +00:00
Keith Buck
5bd79c2c56
res.c: Try other servers if errors or corrupt replies are encountered.
...
Currently, the resolver treats SERVFAIL, NOTIMP, and REFUSED queries the
same as NXDOMAIN, but this really should not be the case. Instead, if
the DNS server errors on our request or provides an invalid request, try
another server.
Also, count DNS server errors in addition to timeouts and avoid these
undesirable servers.
2012-10-09 05:58:02 +00:00
William Pitcock
c4e81ae9e9
m_starttls: handle error condition with ERR_STARTTLS (691) numeric per tls-3.2 specification
2012-09-22 19:31:55 -05:00
William Pitcock
538d4d6188
m_cap: add 'tls' core capability
2012-09-22 14:15:45 -05:00
William Pitcock
3e54d7bfb0
Define RPL_STARTTLS.
2012-09-22 14:04:57 -05:00
Keith Buck
7d60375446
Add new conf_read_start and conf_read_end hooks.
2012-05-21 20:22:07 +00:00
Keith Buck
62cf5b4036
Call the privmsg_channel hook for part messages too.
2012-04-07 03:03:07 +00:00
William Pitcock
f30a5ee4c4
Remove MODE_NOCTCP from core, in favor of chm_noctcp.
2012-03-31 22:48:36 -05:00
William Pitcock
67aeaba593
Remove MODE_NOCOLOR from core, replacing it with modules/chm_nocolour.so.
2012-03-31 22:26:45 -05:00
William Pitcock
ca4c2a86ee
Add support for hookifying PRIVMSG/NOTICE.
...
This will allow us to modularize message processing, e.g. having new modules to manipulate
channel and private messages in new ways.
Yes: it can be used to intercept messages, but such modules are already out in the wild for
charybdis anyway -- so this doesn't really change anything there.
If you are changing the text, then it is your responsibility to provide a pointer to a new
buffer. This buffer should be statically allocated and stored in your module's BSS segment.
We will not, and cannot, free your buffer in core, so dynamically allocated buffers will
cause a memory leak.
This will allow us to simplify m_message considerably, by moving channel mode logic out to
their own modules.
2012-03-31 21:23:01 -05:00
Keith Buck
330692a1f2
Add option to immediately apply nick RESVs by FNC'ing.
2012-03-25 01:34:45 +00:00
William Pitcock
02270e9602
Add listen::defer_accept option for controlling usage of TCP_DEFER_ACCEPT option.
2012-03-17 10:00:39 -05:00
Jilles Tjoelker
57b1cd5f6b
strip_colour: Prefer IsDigit to isdigit.
...
Unlike isdigit, IsDigit can safely be applied to 'char's.
Arguments to isdigit needs a character cast to 'unsigned char' or EOF.
2012-03-15 00:58:56 +01:00
Jilles Tjoelker
aba43ba823
When stripping colour/control codes, also strip \004.
...
Some clients such as irssi interpret \004 as colour or other markup.
2012-03-15 00:17:40 +01:00
Nathan Phillip Brink
9f9b7042fb
Run autoconf and autoheader.
2012-03-01 03:49:35 +00:00
Nathan Phillip Brink
c74836dc4a
Add explicit support for being installed into a system triggered with --enable-fhs-paths.
...
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.
Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.
Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
2012-03-01 02:41:09 +00:00
Jilles Tjoelker
f8e43a0b8f
Remove dummies, given that ratelimit already broke the ABI once.
...
As with ratelimit, ircd/modules before and after this commit
are incompatible, but not detected as such.
2012-02-21 21:02:20 +01:00
William Pitcock
63a0ed0604
numeric: reserve RPL_SASLMECHS (908)
2012-02-21 09:15:15 -06:00
Jilles Tjoelker
d42e6915cf
Pace aways.
...
This becomes important because of away-notify sending aways to common
channels much like nick changes (which are also paced).
Marking as unaway is not limited (but obviously only does something if the
user was away before). To allow users to fix typos in away messages, two
aways are allowed in sequence if away has not been used recently.
2012-02-18 16:32:57 +01:00
Keith Buck
e88a1f1b15
Add ratelimit for high-bandwidth commands.
2012-02-18 03:54:44 +00:00
Keith Buck
c5bbc60375
Add away-notify client capability.
2012-02-14 14:15:44 +00:00
William Pitcock
a16910aa4e
capability: add capability_index_stats() for getting statistics about the capability broker system
2012-02-04 21:27:43 -06:00
William Pitcock
885cd603b5
capability: add global list of capability indexes, and name all capability indexes
2012-02-04 21:16:40 -06:00
Jilles Tjoelker
bde42c6063
Don't shadow the name "index".
2012-02-04 15:15:26 +01:00
William Pitcock
f01f67f0ad
capability: add capability_require().
2012-02-04 02:00:33 -06:00
William Pitcock
346fba9252
Migrate capability negotiation code to new dynamic capability management API.
...
This needs a lot of testing, obviously.
2012-02-04 01:47:46 -06:00
William Pitcock
ec3a9055f2
capability: add capability_index_mask() which calculates old CAP_MASK
2012-02-04 00:39:53 -06:00
William Pitcock
5e773521a9
capability: add capability_index_list() to build a list of capabilities given an index and mask
2012-02-04 00:36:42 -06:00
William Pitcock
64b56afd8c
Add a new dynamic capability manager.
...
Specifically, what this capability manager does, is map keywords to
calculated bitmasks. These bitmasks are allocated at runtime, so that
the any managed capability index can be manipulated by modules.
Modules should call capability_orphan() when orphaning capabilities. This
makes it so that bitmasks aren't reallocated, except for cases where the
capability is the same.
2012-02-04 00:05:13 -06:00
Jilles Tjoelker
fe74401bf0
Add one more const.
2012-01-08 16:25:34 +01:00
Jilles Tjoelker
d9af501aa8
Fix a warning about const with forward channels.
2012-01-08 16:23:18 +01:00
Jilles Tjoelker
ae52fe0ff7
Show underlying IPv4 in a remote whois.
2012-01-08 15:51:48 +01:00
Jilles Tjoelker
524a5b3ac7
Add code to get IPv4 addresses from 6to4 and Teredo IPv6 addresses.
...
It is not used yet.
2012-01-08 15:51:44 +01:00
Jilles Tjoelker
be0365e152
Add an error message if a ban mask is invalid.
...
This is given if the ban mask is too long, it is an invalid extban or the
forward channel is invalid and no other message has been given about that.
2011-12-18 23:24:22 +01:00
William Pitcock
b583faf970
Add support for customizing the usable nick length.
...
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings. As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.
The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
2011-11-29 16:10:21 -06:00
Stephen Bennett
a695b0e40e
Apply extended-join client cap to QJM joins
2011-11-12 14:41:01 +00:00
Jilles Tjoelker
d74fa5b502
Prefer PATH_MAX to non-standard MAXPATHLEN.
2011-10-28 16:45:18 +02:00
Jilles Tjoelker
d182b85454
Minor cleanup to command throttling code:
...
* Deduce allow_read from the client's state (IsFloodDone) rather than
storing it in LocalUser.
* Fix the documentation (in oper /info), however strange
client_flood_burst_rate and client_flood_burst_max may seem, that is
how they currently work.
2011-10-04 00:46:00 +02:00
Jilles Tjoelker
f9dda63969
Disable LocalUser.actually_read (write-only field).
2011-10-04 00:25:22 +02:00
Jilles Tjoelker
c598ff7b04
Fold client_flood_burst_rate check into MAX_FLOOD_BURST.
...
The original definition of floodgrace was MAX_FLOOD_BURST lines per second.
A second check for another number of lines per second makes no sense.
2011-10-04 00:21:19 +02:00
Jilles Tjoelker
2da6f6ebd7
Put back use_forward.
2011-09-25 16:22:29 +02:00
Elizabeth Jennifer Myers
765d839d3c
Port ircd-seven banfowards to charybdis.
...
nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb
for a while, and people have asked about it. Might as well do it since it's a
slow weekend.
Note that as a side effect use_forward is removed from the config and
unconditionally enabled!
2011-08-12 20:33:10 -04:00
Elizabeth Jennifer Myers
7eec45bc9d
Back out chanroles.
...
While what chanroles are trying to accomplish is a good idea, it is
apparently unclear this is the proper way to do it. Until we figure out
the exact way we wish to do this, it should be reverted for now.
2011-07-07 21:24:14 -04:00
William Pitcock
f3bfe2c271
chanroles: instead of checking for chanop + CHANROLE_UNSET combination, grant a default set of flags.
...
this allows ops with zero effective privilege.
2011-07-06 15:12:46 -05:00
William Pitcock
ae79dab6ae
chanroles: grant initial set of flags to people added to a channel with CHFL_CHANOP.
...
this allows us to, later on, add a hook that will enable us to disable channel ops entirely
without causing permissions revocation.
2011-07-06 15:00:32 -05:00
Elizabeth Jennifer Myers
8aabb973c0
Implement chanroles, as discussed with nenolod.
...
The theory behind this is that services sends an ENCAP * GRANT #channel
UID :+flagspec message specifying the chanroles the user has. They are
mapped into flag bits and applied to the membership of the user. They
then are restricted or permitted to what they can do based on the
permissions mask regardless of rank.
For backwards compatibility, the default permission bit (without a GRANT
statement) allows a user to to anything an existing op can do ONLY if
they are an op.
Todo: make CHANROLE_STATUS work (the ability to apply +ov to people),
which is at the moment controlled by CHANROLE_MODE.
2011-07-06 13:46:22 -04:00
Keith Buck
ab894d74fe
Add target change spam notice.
2011-05-16 15:29:09 -07:00
William Pitcock
f5493691ed
branding: if CUSTOM_BRANDING is defined, display charybdis version in /info
...
(based on ircd-seven rebrand patch)
2011-05-08 09:06:19 -05:00
William Pitcock
b6d0720c1c
configure: Add --with-custom-branding and --with-custom-version options.
2011-05-08 08:55:32 -05:00
Stephen Bennett
e6e54763d9
Make flood control settings configurable by those who know exactly what they're doing.
...
From ircd-seven git changeset 29aa4203150337925a4f5c6e7da47be5394c2125 .
2011-03-27 16:35:26 -04:00
Elizabeth Jennifer Myers
0a1e77c27c
Support IPv6 blacklists. Also add a conf file option allowing the use of IPv4, IPv6, or both for a blacklist.
...
Although few blacklists currently support IPv6 lookups, they will likely begin to do so in the near future as more net trash begins using IPv6.
2011-02-27 16:38:05 -05:00
Keith Buck
096570b9f8
Add topic TS and channel TS constraints for /LIST.
2011-01-05 21:15:36 -08:00
Keith Buck
bb55ebebe9
Implement operspy for /LIST.
2011-01-05 18:57:27 -08:00
Stephen Bennett
341f971efa
Bring across disable_local_channels config option from ircd-seven
2010-12-21 20:38:04 +00:00
William Pitcock
92052a5c24
Add extended-join client capability.
...
The extended-join client capability extends the JOIN message with information clients typically
query using WHO including accountname, signon TS and realname.
2010-12-16 00:24:54 -06:00
William Pitcock
99cca61ed6
Add sendto_channel_local_with_capability().
2010-12-16 00:19:24 -06:00
William Pitcock
27912fd4ff
Add send_channel_join().
2010-12-16 00:09:29 -06:00
William Pitcock
7a7f86d344
Rough implementation of the new account-notify client capability.
...
This replaces identify-msg in ircd-seven.
2010-12-15 23:04:57 -06:00
William Pitcock
7a948bdaa7
Add capability parameter to sendto_common_channels_local() and sendto_common_channels_local_butone().
2010-12-15 22:55:05 -06:00
William Pitcock
ff0cc1e616
Add support for linking using SSL certificate fingerprints as the link credential rather than the traditional server-password pair.
2010-12-13 23:14:00 -06:00
B.Greenham
15484f02bd
Move flood_attack_channel to channel.c so it can be used outside m_message.c
2010-12-09 18:29:56 -05:00
B.Greenham
87d38e8cf1
Add strip_unprintable, a function that strips all unprintable characters from a string.
2010-12-09 12:02:24 -05:00
William Pitcock
a0626e7ce3
Reorder CHFL flags so that they can be used as ranks.
2010-12-07 00:11:53 -06:00
William Pitcock
6ca4dec95a
Extend hook_data_channel_activity moduledata with membership struct.
2010-12-06 22:57:04 -06:00
William Pitcock
83b72f917a
chmode: Remove chm_regonly, a vestige from ratbox which doesn't apply to native charybdis networks.
2010-12-06 22:46:37 -06:00
JD Horelick
f26e8b67e2
Remove all the DEFINE's and the random places they were used for the .conf-based ban stuff.
2010-12-04 17:26:14 -05:00
Jilles Tjoelker
01b7a527a3
Show the services login name in WHOWAS.
...
The numeric is the same (330) as used in WHOIS.
This takes at most half a megabyte of memory (large network, 30 char nicks).
2010-08-29 22:30:54 +02:00
Jilles Tjoelker
717238d2a2
Add target change for channels.
...
This has a separate enabling option channel::channel_target_change.
It applies to PRIVMSG, NOTICE and TOPIC by unvoiced unopped non-opers.
The same slots are used for channels and users.
2010-08-29 01:26:00 +02:00
Jilles Tjoelker
2fb6379693
Change ERR_MLOCKRESTRICTED to 742 as 735-739 seem for MONITOR extensions.
2010-08-24 22:51:20 +02:00
Stephen Bennett
51269a8737
Merge backout of 8939a7e03d15
2010-08-24 21:31:55 +01:00
Stephen Bennett
0f1ab797e4
Backed out changeset 8939a7e03d15
...
The code behind this capability was never implemented, and subsequent
discussions have agreed to approach the problem differently. There seems no
reason to continue advertising a capability that does nothing.
2010-08-24 21:30:56 +01:00
William Pitcock
6fb6bd15ae
Enforce TS rules on MLOCKs.
2010-08-23 20:22:59 -05:00
William Pitcock
32de9f4e67
Add ERR_MLOCKRESTRICTED (735) to reflect bounces caused by MLOCK.
2010-08-23 18:59:32 -05:00
Jilles Tjoelker
f5455d2cd5
Tweak auto-accept:
...
* does not apply to NOTICE (as those may well be automated)
* mirrors +g behaviour so that no useless accept entries are added for services
* respects max_accept, if it would be exceeded the message is dropped with numeric 494
* check moved up so this is checked before floodcount/tgchange
2010-07-04 17:14:56 +02:00
William Pitcock
545f0a0f07
strip_colour(): strip ASCII 29 (mIRC 7 italics).
2010-06-19 16:53:56 -05:00
Stephen Bennett
c71a6e3bed
Branch merge
2010-05-02 21:36:32 +01:00
Stephen Bennett
3b8a6350f8
Backed out changeset c57955c5225e
...
Now that MLOCK is no longer stored as a struct Mode, this is unnecessary.
2010-05-02 21:29:22 +01:00
Stephen Bennett
6b8db2daf2
Allow the final parameter of MLOCK to be empty, to remove an existing mlock
2010-05-02 20:42:46 +01:00
Stephen Bennett
78e6b731e4
Rework ircd-side MLOCK enforcement: instead of trying to track modes locked on or off, instead keep a simple list of mode letters that are locked, and reject any change to those modes.
2010-04-30 22:01:21 +01:00
William Pitcock
bd44fc7b09
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-04-06 17:14:51 -05:00
William Pitcock
c239b97f68
Hook up source-account-hostmask client protocol extension.
2010-04-06 17:14:44 -05:00
JD Horelick
944b0584ea
Change config option for ident_timeout to default_ident_timeout as jilles
...
recommended.
2010-04-05 16:29:11 -04:00
JD Horelick
0ffb810660
Add a configuration option for ident_timeout.
2010-04-05 15:28:44 -04:00
Jilles Tjoelker
19716b9fd6
New custom channel mode API allowing reloading such modules.
...
Additionally, attempting to use too many modes or two times
the same letter is now detected and prevented.
Modules now request that a channel mode be added/orphaned,
instead of ugly manipulation from which that request had
to be guessed.
Slight changes are needed to modules that provide channel modes.
From the old API, one important function has been made static,
the other important function has been renamed, so loading old
modules should fail safely.
2010-04-01 01:16:16 +02:00
Jilles Tjoelker
dca9e55257
Add propagated resvs, like klines and xlines.
2010-03-27 16:13:57 +01:00
Jilles Tjoelker
3cbbfb2556
Add propagated xlines, like klines.
2010-03-16 23:05:50 +01:00
Jilles Tjoelker
1702b69419
Add option general::use_propagated_bans to allow disabling new KLINE.
...
If this option is yes (default), KLINE by itself sets global (propagated) bans.
If this option is no, KLINE by itself sets a local kline following cluster{},
compatible with 3.2 and older versions.
2010-03-14 17:21:20 +01:00
William Pitcock
8727cbe88a
Add propagation of MLOCK state for simple modes.
...
Special modes like +j can be tracked easily just by adding the necessary
code to parse them to set_channel_mlock(). This will cover propagation
as well.
2010-03-07 23:13:39 -06:00
William Pitcock
82eac99fc0
Fix typo.
2010-03-07 22:30:30 -06:00
William Pitcock
ec55bec527
Add MLOCK capability token.
2010-03-07 22:25:41 -06:00
William Pitcock
a51c452643
Rename channel_modes() to channel_modes_real(), and use macros to build both the mode list, and the mlock list.
2010-03-07 22:22:14 -06:00
William Pitcock
bafd5ea61c
struct Channel: add mode_lock structure to the channel object.
2010-03-07 21:41:06 -06:00
William Pitcock
a51b50c366
struct Mode: add off_mode bitfield to describe disabled channel modes.
2010-03-07 21:40:34 -06:00
William Pitcock
dd0f1f5b88
Add RPL_CHANNELMLOCKIS for ircd-side MLOCK enforcement.
2010-03-07 21:35:54 -06:00
Jilles Tjoelker
5c2b9eaf48
BAN: Reject bans with insufficient non-wildcard characters.
...
Such bans are not applied locally, but are propagated normally.
They can only be removed on a server that applies them.
Note that normally KLINE will not accept such bans.
This is mainly for services, differing min_wildcard and
ircd changes.
2010-03-06 01:45:41 +01:00
Jilles Tjoelker
431a1a2784
Add propagated klines.
...
A KLINE command without the ON clause now sets a propagated
("global") ban. KLINE commands with the ON clause work as
before.
Propagated klines can only be removed with an UNKLINE command
without the ON clause, and this removes them everywhere.
In fact, they remain in a deactivated state until the latest
expiry ever used for the mask has passed.
Propagated klines are part of the netburst using a new BAN
message and capab. If such a burst has an effect, both the
server name and the original oper are shown in the server
notice.
No checks whatsoever are done on bursted klines at this time.
The system should be extended to XLINE and RESV later.
There is currently no way to list propagated klines,
but TESTLINE works normally.
2010-03-05 18:36:44 +01:00
Jilles Tjoelker
9197bc355e
Add code to expire "propagated" bans.
...
The data structure is very simple: a dlink list of all propagated bans.
2010-03-04 00:21:22 +01:00
Jilles Tjoelker
c2e7ab8c1e
ConfItem.next is not used, remove it.
2010-03-03 23:36:28 +01:00
Jilles Tjoelker
f9545a9b54
Make struct operhash_entry private.
2010-03-01 01:24:00 +01:00
Jilles Tjoelker
27f616ddf5
Track who set a dline/kline/xline/resv as in ratbox3.
...
Like in ratbox3, there is no way to query this information
(other than bandb's tables, but they worked before this
commit).
2010-03-01 01:23:22 +01:00
Jilles Tjoelker
a12ad04472
Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created.
2010-02-28 16:27:06 +01:00
Jilles Tjoelker
b52c294986
Store the creation time of klines and dlines as a time_t instead of as text.
...
The value 0 indicates the creation time is unknown (currently the case
for bandb).
Also store a creation time for xlines and resvs, but do not use it yet.
2010-02-28 00:46:56 +01:00
Alexander F?r?y
51027be825
Use RPL_QUIETLIST and RPL_ENDOFQUIETLIST instead of RPL_BANLIST and
...
RPL_ENDOFBANLIST for channel mode +q.
2010-02-27 01:08:41 +01:00
Jilles Tjoelker
666de5311f
Remove some obsolete paths from config.h.
2010-02-22 23:53:45 +01:00
Jilles Tjoelker
1815320d3b
Remove more old kline.conf stuff.
...
Make sure to recompile modules, stuff has been removed
close to the start of ConfigFileEntry.
2010-02-22 19:31:05 +01:00
Jilles Tjoelker
22342cd11f
Remove code to write bans to csv files.
2010-02-22 19:09:46 +01:00
William Pitcock
ff31db8473
Add support for client certificate fingerprints in o:lines.
2010-02-17 06:41:41 -06: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
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
8f10356217
Remove remnants of <foo>_t typedefs.
2010-01-30 15:57:10 +01:00
William Pitcock
2e918bf515
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
William Pitcock
83595e6016
Add bandb IRCd APIs.
2010-01-07 17:10:16 -06:00
William Pitcock
0d781b9a4f
Add DBPATH.
2010-01-07 16:55:34 -06:00
William Pitcock
7083c02121
Run autoreconf.
2010-01-07 16:51:32 -06:00
Jilles Tjoelker
cef7a7bc4e
Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
...
from ircd-ratbox
2009-12-21 16:58:25 +01:00
Jilles Tjoelker
01a7f6d4f9
Remove two obsolete constants.
2009-06-03 23:18:07 +02: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
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
7919c03041
Add new constants for presence key/value lengths
...
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker
553aaaf4db
Remove two obsolete constants.
2009-06-03 23:18:07 +02:00
William Pitcock
972e31192f
presence: Add _butone() variant of sendto_common_channels_local_with_capability().
2009-06-02 02:38:38 -05:00
William Pitcock
695cc4bc0c
presence: Declare RPL_METADATACHG.
2009-06-02 02:32:07 -05:00
William Pitcock
62928328bf
presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates.
2009-06-02 02:28:02 -05:00
William Pitcock
727bca6269
presence: Declare RPL_WHOISMETADATA.
2009-06-02 02:19:37 -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
884b5d41c1
presence: Remove user.away, replaced by a metadata entry.
...
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
William Pitcock
75ea650c3c
presence: Add get_metadata().
2009-06-02 01:50:40 -05:00
William Pitcock
e581ea8e3d
presence: Add set_metadata() and delete_metadata().
2009-06-02 01:41:44 -05:00
William Pitcock
195d10c293
presence: Declare RPL_METADATASET and RPL_METADATAREM.
2009-06-02 01:32:09 -05:00
William Pitcock
f01154c478
presence: Declare MetadataEntry struct.
2009-06-02 01:29:58 -05:00
William Pitcock
0d3b24f9cf
presence: Create presence metadata tracking structures where appropriate.
2009-05-30 13:30:57 -05:00
William Pitcock
d7ca5991bc
struct Client: add a dictionary to contain presence metadata.
2009-05-30 13:17:39 -05:00
William Pitcock
32a7faa104
Automated merge with ssh://hg.atheme.org//hg/charybdis
2009-05-30 13:16:01 -05:00
William Pitcock
8669b3b99c
Add irc_dictionary.h to stdinc. I'm lazy.
2009-05-30 13:15:58 -05:00
Jilles Tjoelker
6dbb113478
Remove some obsolete unused definitions.
2009-05-21 16:01:46 +02:00
Jilles Tjoelker
aa9c9ed268
Allow ctcp replies through floodcount after ctcp'ing a large group.
...
A large group is any $$ or $# or a channel with more than
floodcount/2 local members, checked on each server separately.
Note that floodcount checks are done on the sender's server.
The special treatment is active for 15 seconds.
2009-05-17 20:52:16 +02:00
Jilles Tjoelker
97c9dd8a26
Change xlines to store spaces as \s.
...
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.
xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
William Pitcock
c6240d7940
Allow for capabilities to be marked as "required".
...
If capability negotiation fails on these capabilities, then the server link is dropped.
2009-04-20 09:36:55 -05:00
William Pitcock
5f8d323c59
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Jilles Tjoelker
c4d2d01419
Apply +z to messages blocked by +b and +q as well.
...
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker
995f300eb1
Allow /rehash throttles to clear throttling.
2009-03-07 01:49:09 +01:00
Jilles Tjoelker
ad13bb7556
Rework remote rehash messages to apply to all server notices during rehash.
...
Previously various notices such as those applying
to modules were not sent to the remote oper.
2009-03-07 01:27:05 +01:00
Jilles Tjoelker
6865c0b099
Add channel::only_ascii_channels config option
...
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker
53307da8ca
Disable autoconnect for a server with excessive TS delta.
...
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker
ad08ad1876
For remote rehashes, send error messages to the requesting oper as well.
2009-01-30 00:11:12 +01:00
Jilles Tjoelker
975c61928a
Don't suggest putting values in an enum that are not in the enum.
...
Compilers may assume that variables of enumerated type
only contain values in the enumeration.
2009-01-28 01:02:34 +01:00
Jilles Tjoelker
161f040940
Update comments for parv[0] removal.
2009-01-18 18:22:43 +01:00
Jilles Tjoelker
3a17735469
Change /stats O to show privset blocks (oper only).
...
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +01:00
Valeriy Yatsko
32eadd332e
Update client.h.
2008-12-13 23:22:12 +03:00
Jilles Tjoelker
83235e9ed5
Show rejectcache/throttle in /testline output.
...
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker
ae09cb7dbe
Show throttle info in /stats t.
...
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
422bb0b553
Make rehashing privset{} change online oper privileges.
...
This also fixes memory leak due to multiple privsets
with the same name (added after each rehash).
2008-12-14 18:25:15 +01:00
Valeriy Yatsko
b7a689d1e5
Remove irc_basename, replace it with rb_basename from libratbox.
2008-12-03 02:59:13 +03:00
Jilles Tjoelker
e33e589cbf
Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
...
Taken from ircd-ratbox 3 via shadowircd.
2008-11-30 13:31:59 +01:00
Jilles Tjoelker
d764f7ce5a
Correct buffer without space for '\0', should have been safe due to padding.
2008-11-22 18:51:00 +01:00
Aaron Sethman
679ccbe5ef
make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
...
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03:00
Jilles Tjoelker
db3efb7ac2
Allow the resolver to process longer hostnames,
...
for the benefit of some DNSBLs like the "TorDNSEL service".
2008-11-15 16:13:39 +01:00
Jilles Tjoelker
48957a4951
Add ircu-like /who format options.
...
Use /quote help who for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker
10847f65d3
Remove old oper privilege flags.
2008-09-09 21:51:26 +02:00
Jilles Tjoelker
b159441429
Add need_ssl to auth{} and operator{}.
...
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +02:00
William Pitcock
5d47bdca0f
Make change_isupport() return the old value!!!
2008-08-29 15:36:41 -05:00
William Pitcock
474b0d3515
Add change_isupport() to change the value of an ISUPPORT token.
2008-08-29 15:27:34 -05:00
Jilles Tjoelker
3540120ad5
Fix ident for ssl connections.
2008-08-28 00:49:04 +02:00
William Pitcock
f37fc9389b
HasPrivilege(): check to make sure localClient and localClient.privset are non-NULL.
2008-08-17 08:52:04 -05:00
William Pitcock
6ac9e53ee4
All modules converted to use privsets by porting the macro over.
...
New macro, HasPrivilege() does most of the work here, the old IsOper*() macros
are deprecated, and will likely be removed later.
2008-08-17 08:36:17 -05:00
William Pitcock
ef24271618
Make a reference to privset in Client.localClient.
2008-08-17 08:23:40 -05:00
William Pitcock
598b4cf10c
privilegeset_ref(): return the privilegeset
2008-08-17 08:22:56 -05:00
Jilles Tjoelker
8c59a8403b
Add 328 numeric (ChanServ channel URL) to the header files.
2008-08-17 14:49:01 +02:00
Jilles Tjoelker
f11d08a405
Remove another servlink remnant.
2008-08-17 14:46:29 +02:00
William Pitcock
a2e1310cbe
oper_conf structure: add privset association.
2008-08-17 07:32:30 -05:00
William Pitcock
353f862553
Add privilegeset_extend().
2008-08-17 06:35:49 -05:00
William Pitcock
9c3f080b99
Add basic PrivilegeSet API.
2008-08-17 06:27:59 -05:00
Valery V Yatsko
33e65f0004
no more servlink - removed 'servlink_path' from reference.conf and source files
2008-08-16 22:23:56 +04:00
Valery V Yatsko
392ae75ca9
Moved extern chmode_flags declaration from channel.h to chmode.h, as
...
it's actually declared in the second one
2008-08-04 21:51:15 +04:00
Jilles Tjoelker
43946961df
Move to ratbox3 reject and throttle code.
...
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.
This commit does not include the global_cidr and new dline code.
m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Valery Yatsko
9bdd947118
channel.h cleaned up a bit - removed unused includes
2008-07-30 16:27:35 +04:00
Valery Yatsko
687ff2f994
Removed charybdis.h include - used nowhere
2008-07-30 16:19:56 +04:00
Valery Yatsko
104c6d469d
rb_uint32_t -> uint32_t, rb_uint16_t -> uint16_t
2008-07-30 02:45:31 +04:00
Valery Yatsko
adc7be98fc
Removed unneeded includes from newconf.h
2008-07-28 23:14:51 +04:00
Valery Yatsko
acdf71d9d2
A very draft version of extensions, which are adding can_join hooks for custom channel modes
2008-07-27 12:10:48 +04:00
Jilles Tjoelker
c24efdc0b7
Also apply floodcount to messages to remote clients (except services).
...
As before, only local clients can have their message blocked.
2008-07-22 01:46:34 +02:00
Jilles Tjoelker
ce3801b175
Remove some obsolete ConfItem flags.
2008-07-04 17:05:18 +02:00
Valery V Yatsko
b2064202fb
Removed SystemTime declaration
2008-06-28 14:38:27 +04:00
Valery V Yatsko
b3ebc7ab9e
Applied svn diff from ratbox3 r21458:21470
2008-06-28 14:13:50 +04:00
Valery V Yatsko
b4407833bd
Remove Channel->users_last, used nowhere
2008-06-28 12:25:53 +04:00
Valery V Yatsko
b617afdc02
channel_heap,ban_heap,topic_heap,member_heap declared statically in channel.c instead of ircd.{c,h}
2008-06-28 11:54:51 +04:00
Valery V Yatsko
40c1fd4799
PASS selector:password for auth{}, based on spb's patch for ircd-seven
2008-06-26 10:18:58 +04:00
Valery V Yatsko
c18cb68b91
Generating cflags bufs dynamically: one for RPL_MYINFO and one for
...
supported.c
2008-06-25 07:51:32 +04:00
Valery V Yatsko
33599ae783
Missed declaration of chm_orphaned
2008-06-24 22:08:24 +04:00
Valery V Yatsko
46d59e1138
A draft version of find_cmode_slot and orphaned concept for channel
...
flags
2008-06-24 21:26:49 +04:00
Valery V Yatsko
efccc22c27
Applying dyn-cmodes.diff - first step in implementing channel module
...
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker
1a53072881
Clean up s_auth a little. No functional changes.
2008-06-21 00:58:08 +02:00
Jilles Tjoelker
0c5cbb3b96
Remove unused field ip6_int.
2008-06-20 22:55:51 +02:00
Jilles Tjoelker
a3143c9b6b
Some const stuff for m_set.
2008-06-11 00:28:08 +02:00
William Pitcock
2a7872e9fb
Merge with 'charybdis-ts6only' branch.
2008-06-08 01:09:04 -05:00
Jilles Tjoelker
c42fb00e7f
Remove dline flags from shared all.
...
This means dline/undline need to be specified
explicitly in a shared{} block.
2008-04-21 01:41:42 +02:00
Jilles Tjoelker
896755fe0d
Move some declarations to header files, this enforces that they match.
2008-04-20 15:30:24 +02:00
Jilles Tjoelker
2e819b6b3e
Fix various compiler warnings.
2008-04-20 15:20:10 +02:00
Valery Yatsko
f5cb68d51d
Remote d:lines implementation (based on ircd-seven's r230 by spb, Stephen Bennett <spb@attenuate.org>)
2008-04-20 11:26:37 +04:00
William Pitcock
ab4285181c
Remainder of irc_string.* is moved to new inline/stringops.h.
2008-04-20 01:03:11 -05:00
Valery Yatsko
4562c60489
irc_string.h -> match.h, irc_string.h; includes changed
2008-04-20 09:47:38 +04:00
Valery Yatsko
decf0486cc
strip_tabs() is related to s_conf.c ONLY - moved it there
2008-04-20 09:38:26 +04:00
Valery Yatsko
e3b33fe3e6
clean_string() is related to m_links.c ONLY - moved it there
2008-04-20 09:35:22 +04:00
Valery Yatsko
4a2651e520
strtoken -> rb_strtok_r (with arguments order changes)
2008-04-20 09:20:25 +04:00
Valery Yatsko
cbe4e1ba31
legacy irc sprintf gone
2008-04-20 09:12:09 +04:00
Valery Yatsko
08d75d9702
myctime -> rb_ctime
2008-04-20 09:03:39 +04:00
Valery Yatsko
caa4d9d273
Various inet* -> rb_inet_*
2008-04-20 08:55:41 +04:00
Valery Yatsko
1f9de103c3
strlcat -> rb_strlcat
2008-04-20 08:44:04 +04:00
Valery Yatsko
f427c8b00d
strlcpy -> rb_strlcpy
2008-04-20 08:40:40 +04:00
Valery Yatsko
6af128685d
Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code
2008-04-20 08:36:28 +04:00
Valery Yatsko
ea82a3ca27
Splitted open_logfiles(); into open_logfiles(); and close_logfiles();, use the second one on ircd_shutdown
2008-04-20 07:42:30 +04:00
Valery Yatsko
fd5af3d072
Moving some m_die code into ircd_shutdown(reason) function and use it on SIGTERM too
2008-04-20 07:38:56 +04:00
Jilles Tjoelker
8bd5767b95
Remove ^M on line endings.
2008-04-13 17:54:23 +02:00
Jilles Tjoelker
7b7daec8db
Rerun autoconf and autoheader.
2008-04-11 17:57:37 +02:00
William Pitcock
cd3cab1416
TS_MIN is 6 now.
2008-04-11 10:23:47 -05:00
William Pitcock
729d5e3558
start working on TS5 removal.
2008-04-11 10:22:44 -05:00
Valery Yatsko
453ea2fde8
Fixing compilation - CAP_GLN removed
2008-04-11 18:56:53 +04:00
Valery Yatsko
170703fe3a
Removing glines
2008-04-11 18:47:03 +04:00
Jilles Tjoelker
a8ac111452
Add extern to eob_count global variable declaration in header file.
2008-04-11 11:30:07 +02:00
Valery Yatsko
79b0d5a330
.cvsignore files removed, SVN-Access replaced by Mercurial-Access
2008-04-09 22:24:50 +04:00
Valery Yatsko
c84557ac70
chm_* declarations gone to chmode.h - this makes some modules clean
2008-04-08 23:39:35 +04:00
Jilles Tjoelker
6db4fb0a9b
Make Dictionary keys const everywhere.
2008-04-08 19:52:02 +02:00
Jilles Tjoelker
8262273238
Make the format argument of change_nick_user_host() const.
2008-04-08 18:54:58 +02:00
Jilles Tjoelker
d48a559768
Make Message.cmd a const pointer.
2008-04-08 18:51:52 +02:00
Valery Yatsko
26716d6d40
Fixed two places, where sendto_realops_flags was mistakenly used, and removed this function entirely
2008-04-08 20:32:58 +04:00
Valery Yatsko
536845c57d
Removing UMODE_ALL, replacing all sendto_realops_flags in sslproc.c with snomasks
2008-04-08 20:16:19 +04:00
Valery Yatsko
044aa2c757
Changing umode defines - renumbered
2008-04-08 20:06:43 +04:00
Valery Yatsko
f53ed7f8ca
'S' flag meaning we use ssl link added to /stats {c,C} (connect)
2008-04-08 18:30:53 +04:00
Valery Yatsko
b2c42c4589
Branch merge
2008-04-08 18:01:37 +04:00
Valery Yatsko
4c79bbd350
Working over zipstats bug and moving on the new ServerStats struct (without Kb counting, this style is used by code parts from ratbox3)
2008-04-08 18:00:38 +04:00
Valery Yatsko
72324d1052
ircd_state.{c,h} gone - let us redesign it in future really
2008-04-08 15:41:41 +04:00
Valery Yatsko
aa6c90dec7
It seems that we don't use data structs version anywhere since 1.2.0 - removed
2008-04-08 15:36:56 +04:00
Valery Yatsko
e04fd343f8
Some declarations connected to removed servlink gone
2008-04-07 15:26:25 +04:00
William Pitcock
af7aaa8444
fix whois :)
2008-04-06 12:04:25 -05:00
William Pitcock
3318e109f9
add umode +Z for SSL, can't be set or unset
2008-04-06 11:55:12 -05:00
William Pitcock
1471fb5f2b
add missing file
2008-04-06 11:31:46 -05:00
Valery Yatsko
c6d7203732
ssl sync with http://hg.angelforce.ru/charybdis-old
2008-04-06 18:52:42 +04:00
Jilles Tjoelker
f1eccc3420
Branch merge.
2008-04-05 22:34:13 +02:00
Jilles Tjoelker
abe5dd209d
Put back connecting to servers defined by hostname.
...
The DNS lookup is done at connect time.
2008-04-05 22:09:32 +02:00
Valery Yatsko
101db4c443
Much clear maxconnections stuff - ported from ratbox3.
2008-04-05 23:56:15 +04:00
Valery Yatsko
9ea3ea1085
Missed some files in r520 commit.
2008-04-05 21:20:48 +04:00
Valery Yatsko
ccda6e3fc5
Replacing legacy IPV6 define with RB_IPV6 (which is included in libratbox's config.h).
2008-04-05 20:57:30 +04:00
Valery Yatsko
47adde3def
s_stats.c removed, now we use new style of stats handling.
2008-04-04 19:54:37 +04:00
Jilles Tjoelker
074e7607a7
Remove some declarations for removed functions.
2008-04-04 01:19:28 +02:00
Jilles Tjoelker
f455ed520d
Servlink control data is read again, this makes /stats Z work.
2008-04-04 00:45:38 +02:00
Jilles Tjoelker
8c689f969d
Ziplinks appear to work again now.
2008-04-04 00:13:50 +02:00
William Pitcock
4016731b1c
s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it)
2008-04-02 21:52:01 -05:00
William Pitcock
ba1a1399c7
ilog_error() replaces legacy report_error() craq
2008-04-02 21:40:54 -05:00
Jilles Tjoelker
c6f49c9a63
Make s_auth.c compile.
2008-04-02 21:14:34 +02:00
Valery Yatsko
e967e868c4
Stuff connected with ctrlFd disabled
2008-04-02 21:16:13 +04:00
Valery Yatsko
5a606a8f8c
flood_recalc moved on ratbox3 event engine
2008-04-02 21:10:29 +04:00
Valery Yatsko
60eb0cdc9c
linebuf -> rb_linebuf
2008-04-02 21:04:44 +04:00
Valery Yatsko
f691939a17
Workarond with listener.c stuff on moving from listener->fd usage on listener->F.
2008-04-02 20:06:11 +04:00
Valery Yatsko
e7046ee54d
irc_sockaddr_storage -> rb_sockaddr_storage, changing fd in Listener struct to F 'cause libratbox3 need it.
2008-04-02 19:57:37 +04:00
Valery Yatsko
b08ce46eb1
class.c fixed
2008-04-02 19:49:42 +04:00
Valery Yatsko
97b41ffab9
m_pass.c fixed
2008-04-02 19:45:22 +04:00
Valery Yatsko
54ac8b60a1
Reverting some changed related not to moving on libratbox3 but using ratbox3 source!
2008-04-02 19:37:50 +04:00
Valery Yatsko
18b94b70dc
replacing ssld with servlink
2008-04-02 17:00:18 +04:00
Valery Yatsko
07d5c0494a
get_printable_kline(..) fix
2008-04-02 16:55:01 +04:00
Valery Yatsko
e4d8860e06
READBUF_SIZE
2008-04-02 16:35:48 +04:00
Valery Yatsko
4714a17f54
Trying to fix packet.c
2008-04-02 16:31:17 +04:00
Valery Yatsko
a4597cd8d9
fixing ServerStats struct
2008-04-02 16:08:28 +04:00
Valery Yatsko
19fee732d7
tstats stuff gone to m_stats.c
2008-04-02 16:04:43 +04:00
Valery Yatsko
05ffd6946d
fixing Class struct
2008-04-02 15:34:26 +04:00
Valery Yatsko
4998e3d6dc
More charybdis -> ratbox3
2008-04-02 15:02:45 +04:00
Valery Yatsko
3c5a494ddd
Fixing bugs
2008-04-02 14:43:53 +04:00
Valery Yatsko
9fa9300fa2
hostmask.h cleanup
2008-04-02 14:42:25 +04:00
Valery Yatsko
7ee5e8a5fe
reject functions from ratbox3
2008-04-02 14:41:37 +04:00
Valery Yatsko
b5cf99a8c3
s_stats workaround
2008-04-02 14:35:57 +04:00
Valery Yatsko
f888761cec
ssl_ok in ircd.{h,c}
2008-04-02 14:29:18 +04:00
Valery Yatsko
e1c8d82073
localflags stuff
2008-04-02 14:28:02 +04:00
Valery Yatsko
a3996b820e
LocalUser::ssl_ctl
2008-04-02 14:26:13 +04:00
Valery Yatsko
6120b9525d
CLI_FD_MAX
2008-04-02 14:23:36 +04:00
Valery Yatsko
835b12ef61
Some hash stuff
2008-04-02 14:20:27 +04:00
Valery Yatsko
ae78a57163
Reverting to 398.. trying again with native charybdis hash
2008-04-02 14:16:31 +04:00
Valery Yatsko
002bc9e82c
switching back on nd_dict instead of ratbox3 hash functions
2008-04-02 14:11:01 +04:00
Valery Yatsko
46f200fae9
LocalUser struct changes
2008-04-02 14:07:14 +04:00
Valery Yatsko
4c07af8252
LOCAL_COPY_N macro
2008-04-02 14:03:16 +04:00
Valery Yatsko
5c65d4ca0c
nd_entry struct from ratbox3
2008-04-02 14:00:41 +04:00
Valery Yatsko
85958381ad
hash.{h,c} from ratbox3, let's work around them! xD
2008-04-02 13:58:52 +04:00
Valery Yatsko
fd1e24eccb
'lip' added in LocalUser struct
2008-04-02 13:55:17 +04:00
Valery Yatsko
ba4936e2c5
extern declaration in ircd.h instead of ircd.c
2008-04-02 13:53:41 +04:00
Valery Yatsko
433a202989
Much more changes to remove compilation warnings
2008-04-02 13:43:11 +04:00
Valery Yatsko
18f4cc5a2c
This define is in libratbox config.h
2008-04-02 13:40:07 +04:00
Valery Yatsko
f7e2c5b340
Trying again - this will need ssld integration from me
2008-04-02 13:32:14 +04:00
Valery Yatsko
f438bd836a
Reverting last commit to try again
2008-04-02 13:11:59 +04:00
Valery Yatsko
873487eb8f
Trying to migrate on ratbox3's listener.
2008-04-02 06:25:08 +04:00
Valery Yatsko
bac4c06faf
DupNString removed - we don't need it now
2008-04-02 06:00:24 +04:00
William Pitcock
2b42818532
yet another autoreconf run.
2008-04-01 20:55:40 -05:00
William Pitcock
f589ec6fb1
run autoreconf.
2008-04-01 20:40:26 -05:00
William Pitcock
fa94d8fb93
make s_user.c build.
2008-04-01 20:36:50 -05:00
Valery Yatsko
398b6a7372
ok, trying to work on blockheap's stuff
2008-04-02 04:28:05 +04:00
Valery Yatsko
0ccdff98ac
fixing cache.c compilation - code stolen from ratbox3, with irc dictionary addition
2008-04-02 04:15:58 +04:00
Valery Yatsko
e335494516
CurrentTime -> rb_currenttime();
2008-04-02 03:53:20 +04:00
Valery Yatsko
a235e4101d
extern void send_pop_queue(struct Client *); in header, will implement this some time later
2008-04-02 03:39:08 +04:00
Valery Yatsko
6e6a632636
ircd_defs.h declaration in stdinc.h - needed for some reasons.
2008-04-02 03:31:31 +04:00
Valery Yatsko
a1f535de14
Returned back declaration I've mistakenly removed.
2008-04-02 03:28:15 +04:00
Valery Yatsko
47a0375094
DubString -> rb_strdup
2008-04-02 03:26:34 +04:00
Valery Yatsko
300a543344
away stuff from ratbox3
2008-04-02 03:03:15 +04:00
Valery Yatsko
423f18a073
monitor.{c,h} stuff for libratbox3.
2008-04-02 02:55:34 +04:00
Valery Yatsko
81af5bcb39
libcharybdis includes gone.
2008-04-02 02:39:19 +04:00
Jilles Tjoelker
3b2ebd04de
Make send.c compile, except for ziplinks.
2008-04-01 23:51:34 +02:00
William Pitcock
fa8328508d
Make m_set compile.
2008-04-01 16:25:22 -05:00
Jilles Tjoelker
7018b86a12
More changes for libratbox.
2008-04-01 23:11:11 +02:00
Jilles Tjoelker
0e7cb7e6a1
Various changes for libratbox.
2008-04-01 23:03:14 +02:00
William Pitcock
5b96d9a6b9
start making this compile
2008-04-01 15:18:48 -05:00
William Pitcock
d56734d6dd
bork bork bork
2008-04-01 15:14:08 -05:00
Jilles Tjoelker
7b7e1640de
Move PRIVS command from extensions to modules (shows effective oper privs).
2008-03-31 00:39:14 +02:00
Jilles Tjoelker
bd710c8837
Add ERR_DISABLED (517) from ircu.
2008-03-30 19:56:20 +02:00
Jilles Tjoelker
85550587fb
Unbreak /quote help stats as an oper (all where oper and user help are different).
...
Remove symlink optimization, so helpfiles equal for
opers and users are loaded into memory twice, which
is not an issue.
2008-03-29 23:38:22 +01:00
Jilles Tjoelker
48a266e5da
Cleanups to 005 code, from ratbox (androsyn).
2008-03-18 23:28:03 +01:00
Jilles Tjoelker
3f6e258775
target change: use fnv32 hash of UID instead of pointer to identify clients
...
This way, the information remains valid after a split.
For clients on TS5 servers, the nick is used; this is
not much of a problem because these are on pseudoservers
and not assumed to change nick much at all.
2008-03-16 00:39:49 +01:00
Jilles Tjoelker
014e2aa049
Generate include/serno.h from the hg revision data.
...
The code is inspired by the code in atheme-services, but
* it uses 'hg parents' instead of 'hg tip' so it will
also work if the working directory is not updated
to the latest version in the local repository
* the format is different (date-shorthash instead of
revnum:shorthash)
* some sort of serno.h is always generated, be it
"unknown" only
2008-03-12 18:44:47 +01:00
Jilles Tjoelker
43f8445df3
Show some target change statistics in /stats t.
...
- the number of messages blocked by target change on
this server since it was started
- the number of IPs currently subject to a a lower
target limit on this server (these expire over time)
2008-03-02 17:03:56 +01:00
William Pitcock
aed5ce90a5
Remove CHFL_DEOPPED entirely.
...
Since charybdis 2.3 will require TS6, emulating legacy semantics is
unnecessary.
2008-02-27 14:08:27 -06:00
Jilles Tjoelker
5ca543e7c5
Remove FLAGS2_NOLIMIT (IsExemptLimits/SetExemptLimits).
...
This only has an effect at connection time, and the
ConfItem flag suffices for that.
2008-01-06 00:16:57 +01:00
Jilles Tjoelker
de82e84fae
Use a more expected value for SHARED_TRESV.
2008-01-05 14:58:13 +01:00
Jilles Tjoelker
962747349b
Send a rate-limited server notice if a blacklist gives a non-127.0.0.x reply.
2008-01-05 00:38:23 +01:00
Jilles Tjoelker
fddc5ee420
config.h: remove some obsolete options, move MAX_BUFFER to tunable section
2008-01-04 18:42:59 +01:00
Jilles Tjoelker
be462ae76a
Overwrite config.h.dist with config.h.
...
config.h.dist serves no purpose other than a backup copy
for local changes to config.h
2008-01-04 18:33:36 +01:00
Jilles Tjoelker
cdd5b26189
Remove idle time checking (auto disconnecting users idle too long).
2008-01-01 23:04:34 +01:00
Jilles Tjoelker
d61de0adff
Remove various obsolete ConfItem statuses (types) and flags.
2008-01-01 16:06:59 +01:00
William Pitcock
c5c2f506c1
Replace int fd; in local client object with an fde object.
2007-12-28 15:06:33 -06:00
Jilles Tjoelker
7d1f9131fb
Consolidate duplicate channel mode flags tables to one.
2007-12-25 01:00:20 +01:00
Jilles Tjoelker
a6f4368b96
Add mass_notice oper priv, enabled by default for compatibility.
...
Controls /wallops and masked notices/privmsgs.
2007-12-24 21:47:05 +01:00
Jilles Tjoelker
3fec9477b8
Rearrange flags2 to make room for 3 more oper privileges.
2007-12-24 21:16:19 +01:00
Jilles Tjoelker
095328a742
Move various flags from flags2 to flags.
2007-12-24 20:58:55 +01:00
Jilles Tjoelker
9696c9d6ab
Remove various unused macros.
2007-12-24 20:40:12 +01:00
Jilles Tjoelker
86142e83d7
Remove unused CONF_FLAGS_DO_IDENTD and FLAGS_NEEDID.
2007-12-24 20:32:41 +01:00
Jilles Tjoelker
29c55c49f2
Remove unused flag FLAGS_CHKACCESS.
2007-12-24 20:26:39 +01:00
Jilles Tjoelker
420b2c9a10
Remove dot_in_ip6_addr config option.
2007-12-24 18:24:23 +01:00
Jilles Tjoelker
1ebe6ffc92
Add resv oper priv, enabled by default for compatibility.
2007-12-17 02:20:14 +01:00
Jilles Tjoelker
d7f753cd3a
Do not copy string passed to add_top_conf()/add_conf_item().
...
If the caller can keep a function pointer valid, they can
certainly keep a string valid.
This also fixes an error with HAVE_STRDUP undefined.
2007-12-13 00:14:02 +01:00
Jilles Tjoelker
e8149a2c64
Make /rehash help work again.
2007-12-12 22:26:17 +01:00
Jilles Tjoelker
35f6f850b6
Remove reject entries on unkline/ungline/unxline.
...
When a user is rejected, remember the hash value of the
ban mask (for klines/glines, hash value of the user part
XOR hash value of the host part) with the rejected IP;
if the kline/gline/xline is removed, remove rejects with
the same hash value also. Note that this does not happen
for expiries; this is deliberate.
Rejects for no auth{} or dnsbl put a hash value of 0;
they cannot be removed selectively.
2007-12-08 21:54:51 +01:00
Jilles Tjoelker
1cda7a9cb2
Change meaning of "bits" in FNV hash functions to bitlen instead of 32-bitlen.
...
Do reduction like recommended by
http://www.isthe.com/chongo/tech/comp/fnv/index.html#xor-fold
2007-12-08 19:44:18 +01:00
William Pitcock
9802490cbb
help system rework, part 1
2007-12-03 19:35:55 -06:00
William Pitcock
b37021a45e
nickdelay -> dictionary.
2007-12-03 10:59:25 -06:00
William Pitcock
90187f2112
It compiles, ship it.
2007-12-02 09:41:13 -06:00
William Pitcock
8ac7552983
commands and aliases go from horrible hashtable code to dictionary... try 1
2007-12-02 09:34:45 -06:00
William Pitcock
c98390004f
Automated merge with ssh://hg.atheme.org//hg/charybdis
2007-12-02 09:06:50 -06:00
William Pitcock
d6bda36db1
Add irc_dictionary code.
2007-12-02 09:06:25 -06:00
Jilles Tjoelker
4e0f14a0e8
Add find_exact_conf_by_address() to find klines etc by exact mask.
2007-11-28 23:59:49 +01:00
Jilles Tjoelker
0fdb257090
When checking if a nick resv or xline already exists, match exact not wild.
...
This is important because masks containing @ or # do not
match themselves.
2007-11-25 18:18:07 +01:00
Jilles Tjoelker
c0bc9fe39a
Show opers a list of recently (<24hrs) split servers in /map.
2007-11-23 23:38:54 +01:00
Jilles Tjoelker
994544c294
Merge links_cache into scache and rework scache.
...
This changes flattened /links output to disclose less
routing information and slightly increases memory "leak"
from server names that do not come back anymore.
2007-11-23 22:11:25 +01:00
Jilles Tjoelker
66c8fdd207
Remove Server.up and Server.upid.
...
Server.up is obsolete, like User.server.
Server.upid has never been really useful.
2007-11-22 00:38:13 +01:00
William Pitcock
c88cdb0095
Get rid of User.server.
2007-11-20 06:36:55 -06:00
nenolod
0a61720ad4
[svn] - we do not need to call find_server() in the function for registering local users
2007-11-20 03:16:43 -08:00
nenolod
cc32202d96
[svn] Explain invalid username rejections to users when they are rejected.
2007-11-20 03:08:23 -08:00
jilles
407b1826e6
[svn] Update description of oper privileges a bit.
2007-11-17 13:55:48 -08:00
jilles
832942858c
[svn] Fix desyncs with very long extbans. Bans can now be upto 195 chars long.
2007-11-07 15:45:14 -08:00
jilles
5b87d08a05
[svn] allocate_channel(): no need to truncate name, its only caller already does it
...
furthermore, truncating here causes an inconsistent channel name
2007-11-07 13:45:14 -08:00
jilles
fea1ad5224
[svn] Fix a memory leak.
2007-10-27 14:56:53 -07:00
jilles
732a8c5344
[svn] Make /knock send to all channel members on +g (anyone may invite) channels.
2007-09-09 12:19:23 -07:00
jilles
c614f4a9c9
[svn] Make EXTBAN 005 token like unreal's (, instead of :).
2007-09-09 11:59:08 -07:00
jilles
d64fec57a1
[svn] Remove a sentence which gives the impression that TS6 is optional.
2007-09-06 13:30:22 -07:00
jilles
0c30404320
[svn] Clarify format of IPv6 addresses in SGML documentation.
2007-08-29 15:18:31 -07:00
jilles
b0dc8e031c
[svn] Clarify format of IPv6 addresses in auth{} and connect{}.
2007-08-29 15:04:45 -07:00
jilles
f0e3fa7629
[svn] Add more information about invitations and invexes.
2007-08-23 14:02:31 -07:00
jilles
518bd9012d
[svn] Add what /invite actually does (bypass +ijlr).
2007-08-23 12:00:10 -07:00
jilles
29fa754919
[svn] callerid (+g) documentation:
...
- Mention 005 (isupport) token with possibility of different mode letter.
- Explicitly clarify that /accept can be used while -g, and setting -g
does not clear the accept list.
- Mention that some users may be able to bypass +g.
- Mention that /accept may allow more than just going through +g.
- Update to 716/717/718 numerics instead of notices.
- Clarify that the one-minute period applies to messages from all users,
not just one user.
- Add a numerics section with more exact syntax.
2007-08-18 07:45:10 -07:00
jilles
8e8f4ffc19
[svn] Send TS6 protocol for the actual work of override modules.
...
Wallops remain TS5-style for now.
2007-08-10 15:31:14 -07:00
nenolod
abe616bb76
[svn] - update IDEAS as TS6 only is partially done
2007-08-08 23:50:13 -07:00
nenolod
cda8e9b8db
[svn] - TS6 is always enabled now.
...
There is no reason for it to not be enabled on a proper charybdis network.
2007-08-08 23:47:26 -07:00
nenolod
fffecc26ed
[svn] - better text for RPL_LOAD2HI explaining in a better way what is going on
2007-08-08 23:40:52 -07:00
jilles
8f0a1bf3ac
[svn] Also rerun autoheader, for solaris ports changes.
2007-08-01 13:52:54 -07:00
jilles
7dfa2d1d42
[svn] Rerun autoconf for version bump, at last.
2007-08-01 13:50:54 -07:00
jilles
2f15f871ff
[svn] Make highest connection counts a bit more consistent.
2007-08-01 13:18:12 -07:00
jilles
4f3f411b34
[svn] Fix wrong line numbers in ircd.conf parser (some comments).
...
from ratbox 2.2 (androsyn).
2007-07-30 10:26:00 -07:00
jilles
d62ae16cb0
[svn] Change EmptyString so gcc 4.2 doesn't complain.
...
from ratbox (androsyn), slightly changed
2007-07-26 07:21:57 -07:00
jilles
f7eac53df5
[svn] In a two-argument whois, RPL_ENDOFWHOIS should show second arg.
...
This already works correctly for successful/notfound case.
2007-07-14 14:50:21 -07:00
jilles
fd488ac17a
[svn] Use mask_match() to check bans from local clients for
...
redundancy. This fixes the problem that bans like *!?@*
prevent any ban starting with *!*@ being set.
2007-07-14 06:34:50 -07:00
jilles
df251055ca
[svn] Add mask_match(), like ircu mmatch().
...
This compares two masks and returns whether the "new" is
more specific than or equal to the "old". The difference
with match() is that a '?' in "old" does not match a '*' in
"new".
2007-07-14 06:32:18 -07:00
jilles
94d53e53a4
[svn] add_id() for local client: do not collapse() the ban mask.
...
The code calling this already collapses the mask, and if
not, doing it here would cause a desync.
2007-07-14 05:20:48 -07:00
nenolod
efb1d08613
[svn] - fix dereference problems with not widely used polling engines
2007-07-07 01:08:23 -07:00
nenolod
b076458c6f
[svn] - forgot to do something
2007-07-06 00:56:14 -07:00
nenolod
514235a762
[svn] - fix a possible problem with ipv6
2007-07-06 00:54:54 -07:00
nenolod
762cc38cf9
[svn] - new ip cloaking module
2007-07-06 00:48:28 -07:00
jilles
8aba962d43
[svn] monitor: send the same message buffer to all users
...
monitoring a certain nick; the target field of the
numeric becomes *, much like server notices
2007-06-30 15:15:35 -07:00
jilles
66b4a7ae7a
[svn] Call add_to_hostname_hash() with correct (orig) hostname.
2007-06-22 14:59:09 -07:00
jilles
88cb7f9965
[svn] Version bump on trunk to 2.3.
2007-06-10 09:14:03 -07:00
nenolod
f80a18239d
[svn] - "please report this to the ratbox developers" -> "please report this to the charybdis developers". not sure how we overlooked this for so long.
2007-06-06 09:25:21 -07:00
nenolod
4a8fab1f7b
[svn] Add IRC_DEPRECATED macro for marking functions and data structures
...
as deprecated on compilers that support it.
2007-06-06 09:20:40 -07:00
nenolod
7fd77cb085
[svn] - update IDEAS with link failover
2007-06-06 08:46:12 -07:00
jilles
7d08aa8911
[svn] xline/resv wildcard checking:
...
- count escaped (\) characters as one nonwild
- accept strings without wilds no matter how short they are
2007-06-04 09:04:49 -07:00
jilles
5832fa369b
[svn] Tweak some comments in sno_whois extension.
2007-05-30 03:22:25 -07:00
jilles
f7b6029312
[svn] Tweak NEWS a little.
2007-05-30 03:22:01 -07:00
jilles
f4a80ce6a1
[svn] - allow JOIN 0 from remotes
...
- allow JOIN 0 from locals, but only if it is exactly one
zero and is the first channel
2007-05-27 06:07:27 -07:00
nenolod
a6ac2e9122
[svn] - add some IDEAS, including SASL based opering, internally reworking channel access (custom access
...
levels?), hideops, namespace cleanups, etc
2007-05-26 23:33:26 -07:00
nenolod
a3986d9482
[svn] - disallow JOIN 0
2007-05-26 22:44:35 -07:00
nenolod
57b8cb0fcf
[svn] - blacklist{}: add notes about DroneBL and enable it by default. AHBL is still not enabled by default due
...
to their policies indicating that they wish to be contacted before their services are used.
2007-05-26 22:35:06 -07:00
nenolod
a88fc0a897
[svn] - update NEWS in preparation of upcoming 2.2 release this week
2007-05-26 22:30:41 -07:00
jilles
297c7db408
[svn] Move sno_channeljoin to unsupported, due to the privacy
...
issue and the fact that any oper with admin or hidden_admin
can load extensions.
2007-05-24 08:10:06 -07:00
nenolod
45ed977779
[svn] - createoperonly: like createauthonly, but checks opered status instead of authed status
2007-05-23 21:28:36 -07:00
nenolod
59e2698a9f
[svn] - sno_channeljoin: implements snomask +j and sends channel join notices there from local users
2007-05-23 21:16:02 -07:00
nenolod
446d88ddd4
[svn] - update config files
2007-05-23 21:02:33 -07:00
nenolod
3868ef9a7c
[svn] - fold in whois_notice_global functionality.
2007-05-23 21:01:12 -07:00
nenolod
9e6feafe29
[svn] - rework spy_whois_notice as a snomask-implementing module, snomask +W.
2007-05-23 20:58:27 -07:00
jilles
88a2a1484b
[svn] Prevent too wide klines with CIDR masks.
2007-05-19 16:36:51 -07:00
jilles
598ebb42c7
[svn] Exempt klines with a fixed user@ (no */?) from min_nonwildcard checks.
2007-05-19 15:21:10 -07:00
jilles
b808adf9d3
[svn] - fold conf_connect_allowed() into accept_connection()
...
- extend add_connection() so that exempt{}s apply to max unregistered
connections per ip
from ratbox
2007-05-18 13:31:33 -07:00
jilles
477bbce447
[svn] m_webirc: call del_unknown_ip() otherwise the unknown will
...
never be subtracted from the cgiirc ip
2007-05-18 12:51:22 -07:00
jilles
8017ad2d27
[svn] Remove s_assert in del_unknown_ip() supposedly if the ip
...
cannot be found, it is not feasible to avoid that case
entirely with m_webirc.c.
2007-05-18 12:14:18 -07:00
jilles
54015b5fea
[svn] Apply ratbox flood fix.
2007-05-14 15:21:16 -07:00
nenolod
f8b45e91a3
[svn] - fix a bug here
2007-05-08 17:32:08 -07:00
nenolod
c1c5fdc4b6
[svn] - regen configure
2007-05-06 19:57:50 -07:00
nenolod
686ebf4149
[svn] - remove "ASM hashing code" from the configure overview
2007-05-06 19:53:54 -07:00
jilles
0482ebf7b6
[svn] Target left IRC (more friendly error message if a UID
...
cannot be found) for /invite.
2007-05-06 07:46:45 -07:00
jilles
1d3e262e40
[svn] Remove emptyline craq because it leaks memory on /rehash motd etc.
...
from ratbox 2.2 (anfl/Androsyn)
2007-05-02 12:56:40 -07:00
jilles
1117fbd3d5
[svn] Merge old trunk r2767:
...
Copy channel name from command on lowerTS JOIN/SJOIN,
this makes the capitalization of the channel name
timestamped like modes are.
2007-04-28 16:47:25 -07:00
jilles
f1e35c19a7
[svn] Merge old trunk r2065,r2067:
...
channel_modes(): get rid of the trailing space
also make the *pbuf check work like it should
(don't call IsMember another time if we already
gave one parameter)
simplify a bit more, update comments
2007-04-26 16:01:16 -07:00
jilles
4636e5cbac
[svn] webirc bugfix
2007-04-25 08:22:28 -07:00
jilles
822a4a2537
[svn] chghost: refuse spoofs which are empty or start with a colon
...
(would break the protocol)
2007-04-25 08:21:34 -07:00
jilles
f22db6d04b
[svn] Fix description of 043 numeric.
2007-04-22 07:35:28 -07:00
jilles
3f7e06428a
[svn] SAVE: make the nickTS of the UID nick equal to 100, so it
...
is always in sync on the network.
2007-04-22 07:02:54 -07:00
jilles
95ffa68595
[svn] Force nickTS to increase when a local user changes their nick.
2007-04-22 04:22:10 -07:00
jilles
81795a910c
[svn] Remove #define UFLAGS. We haven't allowed this
...
undocumented extension to the IRC protocol for
years (allowing an initial umode in USER).
2007-04-15 13:18:54 -07:00
jilles
e2b44358a2
[svn] Move new_local_user hook, so it is possible to call
...
exit_client() from it, refusing the connection.
2007-04-15 09:54:50 -07:00
jilles
ec3fbdecd2
[svn] Only free PreClient struct when the rest of the Client
...
is freed, not immediately upon exit_client(). Doing this
would cause problems with sasl's new_local_user hook
vs hooks that exit the client there.
2007-04-15 09:49:56 -07:00
jilles
452f4d4bcc
[svn] Use TS6 prefix for server-server JOIN 0.
2007-04-14 14:53:28 -07:00
jilles
d1d0629f54
[svn] Use orighost in kill server notices.
2007-04-14 13:58:56 -07:00
jilles
f4ed5745de
[svn] set: Use sendto_one_notice() for MAXCLIENTS too high notice.
2007-04-13 12:06:53 -07:00
nenolod
725a6c5dc9
[svn] - 2.2 operline
2007-04-06 14:25:37 -07:00
jilles
d8228627f2
[svn] Show max_clients in /info.
2007-04-04 17:38:52 -07:00
jilles
6c70c576cc
[svn] Don't allow /quote set max higher than the
...
serverinfo::max_clients ircd.conf value.
2007-04-04 17:33:52 -07:00
jilles
afc20e91f7
[svn] Change code that checks maxclients limit: allow exactly
...
the configured amount of non-exceed_limit clients.
Code that appeared to limit exceed_limit clients too
but less heavily removed (it was not effective because
the parentheses were wrong).
2007-04-04 17:24:47 -07:00
jilles
23836ead45
[svn] By default, leave MAX_BUFFER fds free for log files,
...
server connections, ident lookups, exceed_limit clients,
etc. Mention this in example.conf and reference.conf.
2007-04-04 17:12:55 -07:00
jilles
78e647ad3f
[svn] --with-maxclients configure option is gone
2007-04-03 15:45:04 -07:00
jilles
1aa8ffcbfd
[svn] Make the code that raises fd rlimit to hard limit work.
2007-04-03 15:25:11 -07:00
nenolod
f32e30ddd8
[svn] - note the I/O reworking
2007-04-03 04:45:22 -07:00
nenolod
751894543b
[svn] - use mkdir -p
2007-04-03 04:37:39 -07:00
nenolod
5522d08c14
[svn] - enforce proper conditions for EPOLL_CTL_DEL.
...
- remove possibly problematic "performance" check
2007-04-03 03:49:11 -07:00
nenolod
607cf49f89
[svn] - rename m_list_safelist to m_list and remove ratbox implementation
2007-04-03 03:18:07 -07:00
nenolod
e8a2d50da8
[svn] - some more transit to sendto_one_numeric().
2007-04-03 03:15:39 -07:00
nenolod
885203035d
[svn] - change some sendto_one() to sendto_one_numeric().
2007-04-03 03:11:06 -07:00
nenolod
1b4cfad88d
[svn] - river's ports.c from old charybdis trunk
2007-04-03 02:57:53 -07:00
nenolod
5e12fb1089
[svn] - remove broken ports stuff and devpoll stuff.
2007-04-03 02:50:56 -07:00
nenolod
4536ee2587
[svn] - regenerate files
2007-04-03 02:49:11 -07:00
nenolod
6c8cbf341b
[svn] - remove x86-optimized hash code.
2007-04-03 02:37:03 -07:00
nenolod
3611dcf761
[svn] - apparently setting KE_LENGTH to 128 is fine.
2007-04-03 02:34:38 -07:00
nenolod
631ef23987
[svn] - remove the rest of the MAX_CLIENTS stuff. change kqueue implementation accordingly. (needs testing)
2007-04-03 02:31:11 -07:00
nenolod
6fcb8629ae
[svn] - remove ALL braindead 2.8 I/O artifacts: MASTER_MAX, HARD_FDLIMIT, HARD_FDLIMIT_, MAXCONNECTIONS, MAX_CLIENTS, etc.
...
they are ALL gone. all of this stuff is now determined at runtime via getrlimit(2).
- due to this, devpoll is broken. i'm not motivated to fix it at the moment.
2007-04-03 02:21:31 -07:00
jilles
f71e18eee5
[svn] Repair operspy who !#channel, broken by me in r3283.
2007-04-02 15:03:08 -07:00
jilles
9113281379
[svn] Update bug report and IRC channel information.
2007-04-01 15:20:00 -07:00
jilles
8d53472c4a
[svn] Change copyright years in version.c.SH as in release-2.1 r3339.
2007-04-01 15:10:05 -07:00
jilles
3ad1a781e1
[svn] Rerun autoconf.
2007-03-30 16:34:11 -07:00
jilles
a34ec229bf
[svn] Need to check for various flavours of epoll,
...
even if --enable-epoll is forced.
2007-03-30 16:33:43 -07:00
jilles
5c5d24f088
[svn] Hack to allow some more warnings, already present in configure (?).
2007-03-30 16:32:43 -07:00
jilles
64f2a7eb2c
[svn] Merge old trunk r2077,r2079:
...
- Move closing of servlink control fd to close_connection()
instead of doing it in exit_local_server(), and make sure
we first close the data fd and then the control fd.
- Have servlink process ready fds in order net, data, ctrl
instead of ctrl, data, net. This seems to fix the problem
that squit reasons do not show up on the other side of a
ziplink (by making it send any final SQUIT and/or ERROR
before noticing the closed control fd).
2007-03-29 13:03:06 -07:00
jilles
0bba178826
[svn] Don't show the UID if a TS6 server sends a kick with
...
an empty or no comment. Note that charybdis never sends
such kicks.
2007-03-28 16:17:06 -07:00
jilles
8d19a2b257
[svn] Merge old trunk r2081:
...
Don't say that services cannot be killed in
ERR_ISCHANSERVICE message (given when trying
to kick or deop them), as that's not the case.
2007-03-28 08:40:24 -07:00
jilles
e7d250a693
[svn] Merge old trunk r2059
...
Clarifications to the descriptions of umode +Q and cmode +F,
suggested by Ariadne@SorceryNet.
2007-03-28 08:30:56 -07:00
jilles
add9f99dfa
[svn] Merge old trunk r2907,r2991:
...
Allow TESTLINE on channel names.
2007-03-28 08:22:49 -07:00
jilles
42bda3f3d2
[svn] Merge old trunk r2835:
...
resolver: if sendto(2) fails, try sending to the next nameserver
2007-03-28 08:04:06 -07:00
jilles
8a1e143f6f
[svn] Merge old trunk r2817:
...
WHOIS: Show the given nick in ERR_NOSUCHNICK even if it
starts with a digit. This is safe because the last
parameter is a nick and never a UID. (The first parameter
in a server-server two-param whois is a UID/SID.)
2007-03-28 07:54:10 -07:00
jilles
a5ea0e0dc4
[svn] Merge old trunk r2779,r2785:
...
Show correct privilege name in a few ERR_NOPRIVS numerics.
2007-03-28 07:49:48 -07:00
jilles
5ea98c7a83
[svn] Merge old trunk r2695:
...
Send an SQUIT instead of an ERROR to announce /die to connected servers.
This will generate better server notices.
2007-03-28 07:45:46 -07:00
jilles
c83cbedc0e
[svn] Merge old trunk r2294:
...
Zero out the varlist passed to substitution_* when rejecting DNSBL clients.
2007-03-28 07:33:50 -07:00
jilles
9c2f9ec9a2
[svn] Merge old trunk r2226:
...
If we are connecting outward to a server, check if the
server name they sent is the same as what we tried to
connect to. Previously such a connection could succeed
if there existed connect blocks with the same IP and
passwords for the other server name.
2007-03-28 07:30:10 -07:00
jilles
7201bb21a4
[svn] Merge old trunk r2212:
...
Another handling of SJOINs without nicks:
Propagate them if the channel is +P or the channel
already existed, otherwise remove the channel again
and do not propagate the SJOIN.
2007-03-28 07:21:37 -07:00
jilles
04513cff6c
[svn] Remove channels entirely from /whois on services.
...
This cannot be overridden with operspy.
2007-03-28 06:49:57 -07:00
jilles
4cda5f2264
[svn] Fix /who on channels with ** in their name.
2007-03-28 06:11:30 -07:00
jilles
0af87e57ad
[svn] NEWS: As in 2.1.3, mention that the TS6 revision will
...
interoperate with older versions
2007-03-25 10:59:50 -07:00
jilles
3891c2c24f
[svn] Fix documentation of HIDE_SERVERS_IPS define.
2007-03-18 09:29:31 -07:00
jilles
4b7e690457
[svn] Don't leak auth{} spoofed ip for I-line is full notice either.
2007-03-18 07:44:24 -07:00
jilles
0b15df83c0
[svn] Update NEWS.
2007-03-17 16:50:25 -07:00
jilles
1ebf4db4c6
[svn] Allow /invite (but not invex) to override +r, +l, +j in
...
addition to +i. As before, a restrictive mode must be in
place at /invite time for the invite to have an effect;
+r does not count as a restrictive mode if the user is
logged in; +l and +j always count as restrictive modes to
allow for cases where they would allow join at /invite
time but not when the user tries to join.
2007-03-15 11:09:08 -07:00
jilles
307328bb13
[svn] Remove invite_ops_only, forcing it to YES.
2007-03-13 09:09:28 -07:00
jilles
0734f634d9
[svn] Move username check after xline and dnsbl checks, so it
...
will not complain to opers about clients who are xlined
or blacklisted anyway (both of which silently reject).
2007-03-06 06:07:11 -08:00
nenolod
35237302c0
[svn] - MASTER_MAX is no longer relevant
2007-03-05 11:01:05 -08:00
nenolod
c2d96fcbff
[svn] - add config option for setting max_clients.
2007-03-05 10:58:38 -08:00
nenolod
68ff929f3d
[svn] - remove get_maxrss() and all of that insecure and unsafe nonsense
2007-03-05 10:51:17 -08:00
nenolod
a6a30f6f7b
[svn] - avoid some potential NULL dereferencing
2007-03-05 10:42:24 -08:00
nenolod
c18de29d18
[svn] - fix a typo
2007-03-05 10:41:14 -08:00
nenolod
ce439f5186
[svn] - rework poll a bit for the MAXCONNECTIONS changes.
2007-03-05 10:40:39 -08:00
jilles
51b5f3356a
[svn] Our way of using kqueue may cause it to report fds we
...
don't know about anymore, cope.
2007-03-05 09:52:28 -08:00
jilles
df98bc52c8
[svn] Don't reference freed memory (fde_t) in comm_close().
2007-03-05 09:41:40 -08:00
nenolod
61e3b8f276
[svn] - fix for 100% cpu use
2007-03-05 09:35:17 -08:00
nenolod
d0e1e8ee78
[svn] - rework comm_checktimeouts() to use the hashtable in an efficient manner.
2007-03-05 09:31:35 -08:00
nenolod
c961476e55
[svn] - clear up use of fd_table in ircd.
2007-03-05 09:28:27 -08:00
nenolod
e70f8e928e
[svn] - use a hashtable for fdlist storage. first step to making the amount of allowed clients dynamic and removing MAXCONNECTIONS.
2007-03-05 09:23:07 -08:00
jilles
14e23b0e1e
[svn] Fix some cases where the size argument to strlcpy()
...
for usernames and hostnames is 1 too small.
2007-03-04 17:14:46 -08:00
jilles
61569b65f2
[svn] Cut down quit/part/kick reasons to avoid quit reasons
...
overflowing the client exiting server notice (from
TOPICLEN to 260). kill reasons become shorter accordingly.
kline/dline/gline reasons become 390.
away messages stay at TOPICLEN for now.
2007-03-04 15:42:55 -08:00
jilles
606384aea8
[svn] Don't leak auth{} spoofed IP addresses in +f notices.
...
from ratbox (androsyn)
2007-03-02 09:45:47 -08:00
jilles
652b8478fb
[svn] Make oper_up() take +i/-i during opering up into account
...
(e.g. no_oper_invis extension, +i in operator::umodes).
Remove the hack from no_oper_invis.
2007-02-24 11:34:28 -08:00
jilles
af6ca5f5e5
[svn] no_oper_invis: decrement invisible count when clearing
...
invisible on a local client who has just opered up
oper_up() should really do this
2007-02-24 10:35:58 -08:00
jilles
1178125363
[svn] Put "End of Channel Quiet List" instead of
...
"End of Channel Ban List" for a +q list.
Due to client restrictions the numerics for
quiet lists must be the same as for ban lists.
2007-02-21 11:52:51 -08:00
jilles
bee3b6716c
[svn] Port over ratbox 2.2 r23507, r23624, r23626 (jilles/anfl):
...
Change TS6 JOIN processing
- don't send out simple modes in TS6 JOIN and TS5 SJOIN when
a local user joins an existing channel
- don't send out simple modes in TS6 JOIN and TS5 SJOIN when
propagating a TS6 JOIN
- don't interpret simple modes in an incoming TS6 JOIN
This is to avoid desyncs when certain mode changes (e.g. -im)
cross with joins. A downside is that simple modes will be
more desynched when a JOIN creates a channel or lowers TS,
but that's less important.
Update the TS6 specification to include this, and clarify
that TMODE can come from a server and that MODE must be
translated into TMODE from other servers too.
2007-02-19 16:34:28 -08:00
jilles
9b6ff0c8f9
[svn] Make -logfile work again.
2007-02-11 08:54:43 -08:00
nenolod
c8ff7ca97f
[svn] - fix off-by-one memory overflow error.
2007-02-09 14:18:23 -08:00
jilles
a8086a7ca0
[svn] Change handling of modularized umodes:
...
- keep the bitmask reserved forever to the letter, fixing
the problems when loading multiple umode modules,
unloading them and then loading them in a different order
- don't allow local users to change umodes which have
been unloaded and don't set them on new users via
default_umodes
2007-02-04 07:08:04 -08:00
jilles
01cebbd88e
[svn] Move find_umode_slot() from libcharybdis/tools.c to src/s_user.c.
2007-02-03 17:59:38 -08:00
jilles
1e56e993e2
[svn] DNSBL keyword substitution is available as of 2.1.3.
2007-01-31 17:44:31 -08:00
jilles
4d7a1ee5d1
[svn] Change two occurances like match(userinput, target_p->name) ||
...
match(target_p->name, userinput) to just match(userinput,
target_p->name). No client name can contain * or ? now.
2007-01-31 17:07:42 -08:00
jilles
e26e2b1954
[svn] Do not try find_server() on a name find_client() has
...
returned NULL for, as this will always return NULL
since the removal of hostmasking.
2007-01-31 16:49:07 -08:00
jilles
b0b7de54b1
[svn] Remove server_exists() which checked whether the
...
server name existed taking hostmasking into account
and just check with find_server(); admittedly
this checks if the name is a SID but that's not
a real problem.
2007-01-31 16:34:33 -08:00
jilles
f42e9cebee
[svn] Remove hash_find_masked_server(), which made it possible
...
to specify the full (unmasked) name of a server behind
a hostmask. As a result find_any_client() (for prefixes)
becomes equal to find_client(), so remove that too.
2007-01-31 16:19:14 -08:00
jilles
e5d9ca18eb
[svn] Remove '*' from valid server name characters.
...
This makes it impossible to connect hostmasked servers.
(This support didn't work well anyway, was incompatible
with TS6 and we never masked ourselves.)
2007-01-31 16:02:35 -08:00
jilles
63aecfb960
[svn] Change spambot, flooder and jupe joiner notices from host to orighost.
2007-01-31 15:57:18 -08:00
jilles
0c8f86ec83
[svn] Add documentation for SASL client protocol, same as atheme doc/SASL.
2007-01-28 14:13:18 -08:00
jilles
dd12a19c2c
[svn] Include real hostname in Closing Link message for unknown
...
connections that have sent USER. This is helpful for
k-lined users while not breaking server IP hiding.
2007-01-26 10:52:11 -08:00
jilles
b1fc1658e1
[svn] Rerun autoconf.
2007-01-26 08:52:29 -08:00
nenolod
8d0903892e
[svn] - nick[user@host] -> nick!user@host in kill messages. based on jilles' change in 3.0
2007-01-24 23:36:23 -08:00
nenolod
5366977b4f
[svn] Backport from early 3.x:
...
--
nenolod 2006/09/27 16:39:14 UTC (20060927-2178)
Log:
- remove "Processing connection to foobar.net" message
Changes: Modified:
+0 -3 trunk/src/s_auth.c (File Modified)
nenolod 2006/09/27 16:34:26 UTC (20060927-2176)
Log:
- missed the processing connection one (actually, we can probably nuke this one)
Changes: Modified:
+1 -2 trunk/src/s_auth.c (File Modified)
river 2006/09/27 16:33:05 UTC (20060927-2174)
Log:
get_client_name = stupid
Changes: Modified:
+10 -7 trunk/modules/core/m_kill.c (File Modified)
nenolod 2006/09/27 16:32:37 UTC (20060927-2172)
Log:
- remove excessive arguments
Changes: Modified:
+1 -2 trunk/src/s_conf.c (File Modified)
+1 -1 trunk/src/s_user.c (File Modified)
nenolod 2006/09/27 16:30:59 UTC (20060927-2170)
Log:
- use sendto_one_notice() for on-connect notices too.
Changes: Modified:
+10 -10 trunk/src/s_auth.c (File Modified)
nenolod 2006/09/27 16:27:01 UTC (20060927-2168)
Log:
- use sendto_one_notice() in the core, too.
Changes: Modified:
+2 -2 trunk/src/chmode.c (File Modified)
+8 -15 trunk/src/modules.c (File Modified)
+3 -5 trunk/src/s_conf.c (File Modified)
+1 -2 trunk/src/s_newconf.c (File Modified)
+20 -57 trunk/src/s_user.c (File Modified)
river 2006/09/27 16:19:25 UTC (20060927-2166)
Log:
the KILL command will use get_client_name(, SHOW_IP) instead of
target->name, and will show a more useful error for local opers
Changes: Modified:
+6 -4 trunk/modules/core/m_kill.c (File Modified)
nenolod 2006/09/27 16:09:48 UTC (20060927-2164)
Log:
- fix bugs in sendto_one_notice()/sendto_one_numeric() where a client identifier won't be sent to unregistered clients
Changes: Modified:
+4 -2 trunk/src/send.c (File Modified)
nenolod 2006/09/27 16:05:46 UTC (20060927-2161)
Log:
- back out r2159
Changes: Modified:
+1 -1 trunk/include/client.h (File Modified)
nenolod 2006/09/27 16:04:05 UTC (20060927-2159)
Log:
- get_id(): fall back to "*" if client has no known name
Changes: Modified:
+1 -1 trunk/include/client.h (File Modified)
nenolod 2006/09/27 16:01:29 UTC (20060927-2157)
Log:
- convert to sendto_one_notice().
Changes: Modified:
+2 -3 trunk/unsupported/m_clearchan.c (File Modified)
+4 -6 trunk/unsupported/m_force.c (File Modified)
nenolod 2006/09/27 15:57:11 UTC (20060927-2155)
Log:
- use sendto_one_notice() in many places instead of
sendto_one(source_p, ":%s NOTICE %s :", ...);
Changes: Modified:
+10 -25 trunk/extensions/example_module.c (File Modified)
+5 -14 trunk/extensions/hurt.c (File Modified)
+1 -2 trunk/extensions/m_42.c (File Modified)
+7 -12 trunk/extensions/m_mkpasswd.c (File Modified)
+1 -2 trunk/extensions/m_ojoin.c (File Modified)
+1 -2 trunk/extensions/m_opme.c (File Modified)
+3 -3 trunk/extensions/spy_whois_notice.c (File Modified)
+3 -3 trunk/extensions/spy_whois_notice_global.c (File Modified)
+3 -7 trunk/modules/core/m_die.c (File Modified)
+2 -4 trunk/modules/core/m_kill.c (File Modified)
+2 -2 trunk/modules/core/m_squit.c (File Modified)
+1 -2 trunk/modules/m_challenge.c (File Modified)
+11 -15 trunk/modules/m_connect.c (File Modified)
+20 -28 trunk/modules/m_dline.c (File Modified)
+2 -2 trunk/modules/m_etrace.c (File Modified)
+11 -21 trunk/modules/m_gline.c (File Modified)
+2 -4 trunk/modules/m_kline.c (File Modified)
+1 -2 trunk/modules/m_rehash.c (File Modified)
+3 -7 trunk/modules/m_restart.c (File Modified)
+31 -45 trunk/modules/m_set.c (File Modified)
+2 -4 trunk/modules/m_testmask.c (File Modified)
+5 -8 trunk/modules/m_unreject.c (File Modified)
+2 -5 trunk/modules/m_xline.c (File Modified)
--
2007-01-24 23:23:01 -08:00
nenolod
92fb5c3175
[svn] - keyword-subst from charybdis 2.2.
2007-01-24 23:08:21 -08:00
nenolod
55da5539ba
[svn] - version bump to 2.2.0
2007-01-24 22:45:04 -08:00
nenolod
212380e3f4
[svn] - the new plan:
...
+ branches/release-2.1 -> 2.2 base
+ 3.0 -> branches/cxxconversion
+ backport some immediate 3.0 functionality for 2.2
+ other stuff
2007-01-24 22:40:21 -08:00