Commit Graph

788 Commits

Author SHA1 Message Date
Sam Dodrill 6b71e3f0f4 change oper-up message 2013-09-09 17:34:47 -07:00
Sam Dodrill 3189f0761b Merge commit a4db1558bf2b5ca931bd89e4507505a61df06738
Work around a bug in GCC's loop optimization.

Or maybe it's undefined behavior in our C. Or maybe both. Either way,
it wasn't broken before, and now it is. So this fixes it.
2013-09-09 17:23:34 -07:00
JD Horelick bf9bfd2696 run autoconf, autoheader and make depend 2012-02-29 23:18:57 -05:00
Nathan Phillip Brink 6bdef3d52f Fix bandb's interaction with --enable-fhs-paths by storing ban.db in the correct directory, pkglocalstatedir. 2012-02-29 23:17:12 -05:00
Nathan Phillip Brink e8da6ccee6 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-02-29 23:16:29 -05:00
Nathan Phillip Brink c8e67ef406 Fix parallel compilation issue when building lexer/parser. 2012-02-29 23:14:07 -05:00
Jilles Tjoelker 00d66a41f4 Style: use a consistent order for the _C constants. 2011-03-31 00:05:42 +02:00
Stephen Bennett f970f73c68 Disallow mIRC italics in channel names when disable_fake_channels 2011-03-30 11:30:47 +01:00
Stephen Bennett 3fa27fe787 Don't allow +Z to be set by default_umodes 2011-03-11 13:12:40 +00:00
JD Horelick 01a8417f75 When setting/unsetting cmode +M, only wallops once, not for every server on the network. 2011-05-15 14:01:07 -04:00
Jilles Tjoelker 6cb47f18b5 Fix memory leak of operator certfp fields. 2011-01-25 00:39:07 +01:00
Elizabeth Jennifer Myers 6a00233824 newconf: fix a warning 2011-01-23 16:56:36 -05:00
Elizabeth Jennifer Myers fd999fad3a newconf: fix certificate fingerprint auth.
yy_oper->certfp was not copied into yy_tmpoper->certfp, thus the information was lost and certfp auth was never really working, since the string was always empty.
2011-01-23 16:12:32 -05:00
JD Horelick 696c935a4c When changing an oper's host, be sure that the mode value has enough room to hold +ah too. 2011-01-26 16:45:41 -05:00
JD Horelick 2f24d19944 Fix some warnings. 2011-01-19 15:59:30 -05:00
Jilles Tjoelker e9ced3de20 hunt_server: Disallow wildcarded nicknames.
Any hunted parameter with wildcards is now assumed
to be a server, never a user.

Reasons:
* fewer match() calls
* do not disclose existing nicknames
* more intuitive behaviour for CONNECT

m_trace has a copy of some hunt_server logic in it
(for the RPL_TRACELINK reply), so adjust that too.
2011-01-08 17:47:05 +01:00
Keith Buck f38f82ac36 Move list-related isupport items to the list module itself. 2011-01-06 00:40:08 -08:00
JD Horelick e8e3ef0dfb Add topic TS and channel TS constraints for /LIST. 2011-01-19 15:45:45 -05:00
JD Horelick e78f804d42 Implement operspy for /LIST. 2011-01-19 15:41:23 -05:00
Jilles Tjoelker 26576db0b3 Remove redundant prototypes in src/ircd_lexer.l.
These seem unnecessary and may cause problems because they
are wrong in some cases.

A comment says these were needed for GCC 3.3. If you are
still using this compiler, check this and if it breaks,
some other approach is needed.
2010-12-15 21:49:47 +01:00
JD Horelick 8c76e73bcf commit c90f903a667ed5744b93b6b89892de4e8c045d17
Author: Stephen Bennett <spb@exherbo.org>
Date:   Fri Dec 31 17:14:05 2010 +0000

    Expire umode +p correctly if it's set via oper_umodes, as well as by user_mode. Bug found by tgies.
2011-01-19 15:15:55 -05:00
JD Horelick bd73ea56ba commit 90509b2e2a364471f2461367fd02c11c8ab3c72d
Author: Stephen Bennett <spb@exherbo.org>
Date:   Fri Dec 31 17:11:50 2010 +0000

    Don't allow opers without the override privilege to get +p via the oper_umodes config setting
2011-01-19 15:15:50 -05:00
B.Greenham 0258787d5d Fix small bug in the VERSION/RPL_MYINFO stuff, as pointed out by init. 2011-01-19 11:28:16 -05:00
JD Horelick 4b631c0586 Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel limits.
The reason why we do this is because some clients are dependent on receiving a numeric
for every channel join failure, even due to this limit where it can be assumed that
subsequent joins failed.
2010-12-15 00:02:47 -05:00
William Pitcock dc34aae05e Correct error message involving no fingerprint credentials or password credentials being available. 2010-12-14 21:25:44 -06:00
William Pitcock 5ac470475d 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
JD Horelick 0284952c9f Move cmode +N to cmode +d, so that extensions/m_roleplay can retain cmode +N and maintain a consistent interface with charybdis. 2011-01-19 23:40:21 -05:00
B.Greenham 5323ec7352 Move flood_attack_channel to channel.c so it can be used outside m_message.c 2010-12-11 16:11:54 -05:00
William Pitcock 359d4d5b20 chmode: Remove chm_regonly, a vestige from ratbox which doesn't apply to native charybdis (or shadowircd) networks. 2010-12-06 23:51:14 -05:00
William Pitcock fa9fb0d66b Use %u instead of %d. 2010-12-04 23:13:35 -06:00
William Pitcock b67bc679f3 blacklist: Remove the sscanf() for the IPv4 blacklist check.
From ratbox r27061 (androsyn).
2010-12-04 23:11:04 -06:00
JD Horelick ab72b3e800 Wallops (and log) upon setting/unsetting of +M or any hidden chmode.
(+M is currently the only hidden chmode)
2010-11-22 13:14:02 -05:00
JD Horelick 8071ad5acf Fix a small warning. 2010-11-13 20:37:41 -05:00
William Pitcock 78ab5aa473 parse(): make reentrant 2010-10-24 21:02:32 -05:00
JD Horelick 64be6183f8 Fix a bug I caused. Whoops. 2010-10-25 20:11:10 -04:00
JD Horelick 0a2e2a35c8 A few more fixes. Part 3 of 2 I suppose. 2010-10-23 22:46:50 -04:00
JD Horelick 16d76e8659 Clang warning fixes part 2 of 2. 2010-10-23 22:32:31 -04:00
B.Greenham 07db71cda0 Fix VERSION and RPL_MYINFO to only show modes that are enabled. Also fix up some errors from the last commit. 2010-10-11 16:35:18 -04:00
B.Greenham b7262e0cce Return an error upon trying to set orphaned cmode, rather than just silently ignoring the mode command. 2010-10-11 14:27:47 -04:00
B.Greenham 4c16b692f3 Add channel::disabledmodes.
This replaces use_invex, use_except, and use_forward, although
those options are still used internally and will continue to work
for users, to maintain config compatibility between charybdis
and shadowircd.
2010-10-11 14:12:52 -04:00
B.Greenham e0b0e08d25 Fix a bug that allowed users to set forwards to channels they lack ops in (and not set forwards to channels they have ops in). 2010-07-28 20:26:13 -04:00
B.Greenham 4023293674 Merge. 2010-10-11 11:58:39 -04:00
B.Greenham 90728edb58 Backed out changeset 3097ade953f5
Backout modesets.

They're overly invasive and a bit uglier than is required.
The same thing can be accomplished in a better way with another method.
2010-10-11 11:58:21 -04:00
Jilles Tjoelker cc2a7258f1 Send only one ERR_MLOCKRESTRICTED per MODE command.
This agrees with other error messages from MODE.
2010-08-24 23:03:23 +02:00
JD Horelick f10ec0c42e Change ERR_MLOCKRESTRICTED to 742 as 735-739 seem for MONITOR extensions. 2010-09-11 13:55:06 -04:00
William Pitcock fc579e36e7 Enforce TS rules on MLOCKs. 2010-08-23 20:22:59 -05:00
William Pitcock c95fc52d5a Send numeric 735 on MLOCK policy-restricted mode changes that are ignored. 2010-08-23 19:04:46 -05:00
William Pitcock ed6565a5a0 Add ERR_MLOCKRESTRICTED (735) to reflect bounces caused by MLOCK. 2010-08-23 18:59:32 -05:00
B.Greenham 1fe75e33cc mode api: Remove most modes from the chmode_table, and have them initialized in modeset files.
Modeset files are modules stored in shadowircd/modes. All they do is initalize
a set of modes on load, and orphan said modes on unload.

All cmodes not included in ircd-ratbox are now located in modeset files, rather
than being in the core. These modes no longer simply use defines, their
locations are stored in a the new struct module_modes. Each of these is set
when intializing the mode in the modeset files, and set to 0 when orphaning
the mode upon unloading the modeset file.

In addition, use_forward has been removed, as it is now obsoleted by modesets.
2010-07-02 19:09:46 -04:00
JD Horelick ed6ad7a375 Change the DNSBL hit snomask to SNO_REJ (+r) as to not spam SNO_GENERAL 2010-06-23 15:01:49 -04:00