]> jfr.im git - irc/DALnet/bahamut.git/log
irc/DALnet/bahamut.git
5 years agoUpdate CHANGES (#74) v2.1.1
Emilio A. Escobar [Sat, 13 Oct 2018 01:56:09 +0000 (18:56 -0700)] 
Update CHANGES (#74)

* Update CHANGES

* Update CHANGES

5 years agoImprove SpamFilter's STRIPALL flag (#73)
Kobi Shmueli [Sat, 13 Oct 2018 01:47:23 +0000 (04:47 +0300)] 
Improve SpamFilter's STRIPALL flag (#73)

This changes check_sf() function to remove the target's nick (or channel) from the beginning of the message when STRIPALL flag is used.

This will let us add non-wildcard patterns for "<nick> spam" messages.

5 years agoExtra check to sendto_alias() function (#70)
Kobi Shmueli [Sun, 7 Oct 2018 23:58:41 +0000 (02:58 +0300)] 
Extra check to sendto_alias() function (#70)

5 years agoNew module hooks (#69)
Kobi Shmueli [Fri, 5 Oct 2018 05:02:08 +0000 (08:02 +0300)] 
New module hooks (#69)

* Add SPAMWARN module hook

CHOOK_SPAMWARN is called from s_user.c and channel.c during spam warnings to opers

Params: 4: (aClient *source, int type, int max_targets, char *target_name)

Returns: int (FLUSH_BUFFER would prevent the normal message from being sent)

* Add ONACCESS module hook

CHOOK_ONACCESS is called from s_user.c during m_user (in general, it is called before CHOOK_POSTACCESS and after CHOOK_PREACCESS)

Params: 5: (aClient *, char *username, char *host, char *server, char *realname)
Returns: int (FLUSH_BUFFER can block the m_user call)

5 years agoAdd services join requests. (#51)
Kobi Shmueli [Fri, 5 Oct 2018 05:01:51 +0000 (08:01 +0300)] 
Add services join requests. (#51)

* Add services join requests.

This feature is disabled by default, however, when enabled (either for cmode +r channels or for all channels), servers will send join requests to services via the SJR command.

Once approved, services will send a join approval with the AJ command.
Alternatively, if the join request is denied, services will send the relevant error message to the user.

-Kobi.

* Change the services join request feature to use a new SJR channel extended flag rather than CMODE +r.

5 years agoChange SFAKILL to send OperServ nick!user@IP instead of just nick (#68)
Kobi Shmueli [Fri, 5 Oct 2018 05:01:38 +0000 (08:01 +0300)] 
Change SFAKILL to send OperServ nick!user@IP instead of just nick (#68)

This is just another precaution to make sure OperServ will autokill the correct user.

5 years agoUpdated doc/opers.txt to reflect the changes made to the /rehash (#64)
Holbrook Bunting [Thu, 4 Oct 2018 01:15:27 +0000 (18:15 -0700)] 
Updated doc/opers.txt to reflect the changes made to the /rehash (#64)

command

5 years agoPass the INSTALL_DIR to the modules installation script so it can install the modules...
Ryan Smith [Thu, 4 Oct 2018 01:14:57 +0000 (21:14 -0400)] 
Pass the INSTALL_DIR to the modules installation script so it can install the modules properly. (#63)

5 years agoAdd more extended channel flags (XCF) (#67)
Kobi Shmueli [Thu, 4 Oct 2018 01:14:31 +0000 (04:14 +0300)] 
Add more extended channel flags (XCF) (#67)

* Add nick!user@host to the spamfilter warnings

This will make it easier for our mass akill scripts.

-Kobi.

* Cosmetic changes to the spamfilter warning

The warning will now say if the spammer was blocked, akilled or blocked+akilled.

-Kobi.

* Add MAX_INVITES XCF

This will let us increase the maximum invite list for specific channels.
The use case is regional channels that want to +I their region/country's IPs and use it in combination with cmode +R.

* Add HIDE_MODE_LISTS XCF

This will let us hide /mode #channel +b/+I/+e lists from non-ops.

There are a few use cases for this (especially when the list limits are increased for channels that are being regularly flooded):
1. Prevent users from disconnecting themselves for "SendQ Exceeded".
2. Prevent abusers from flooding the server with it.
3. Prevent abusers from knowing our flood-control exemption lists.

* Add USER_VERBOSE XCF

When enabled, the server will alert #channel-relay about failed commands due to channel modes or xflags.

This feature was suggested by Sara_Ks.

* Add OPER_VERBOSE XCF

When enabled, the server will alert +f opers about failed commands due to channel modes or xflags.

Similar to USER_VERBOSE but will combine all "relay channels" to one place for opers and will show the user's real hostname even if they have user host-masking enabled.

* Add FLOODWARN module hook

CHOOK_FLOODWARN is called during flood warnings to opers.

Params: 5: (aClient *source, aChannel *channel, int type, char *cmd, char *reason)

Returns: int (FLUSH_BUFFER would prevent the normal message from being sent)

* Don't verbose opers about +j failed joins

They will be getting these warnings from the throttles anyway.

5 years agoAdd nick!user@host to the spamfilter warnings (#62)
Kobi Shmueli [Thu, 4 Oct 2018 01:14:12 +0000 (04:14 +0300)] 
Add nick!user@host to the spamfilter warnings (#62)

* Add nick!user@host to the spamfilter warnings

This will make it easier for our mass akill scripts.

-Kobi.

* Cosmetic changes to the spamfilter warning

The warning will now say if the spammer was blocked, akilled or blocked+akilled.

-Kobi.

5 years agoThe following is for remote /rehash (#61)
Holbrook Bunting [Sat, 29 Sep 2018 05:37:25 +0000 (22:37 -0700)] 
The following is for remote /rehash (#61)

Current m_rehash is now local_rehash.
The new m_rehash determines what to do with the rehash command it has
received, then either passes it to local_rehash or passes it on to the
target server.

To use remote rehash, the user on the local server must have access to
the rehash command on the server the user is on.

For the target server, the ircd.conf option "allow_remote_rehash" must
be enabled.

- Holbrook

5 years agoRemove extraneous RSA, DSA, ECDSA, and EVP compatibility functions that are not used...
Ryan Smith [Thu, 20 Sep 2018 06:10:55 +0000 (02:10 -0400)] 
Remove extraneous RSA, DSA, ECDSA, and EVP compatibility functions that are not used by bahamut and were causing compilation issues with older OpenSSL libraries. (#57)

5 years agoSpamfilter oper flags (#58)
Ryan Smith [Thu, 20 Sep 2018 06:10:41 +0000 (02:10 -0400)] 
Spamfilter oper flags (#58)

* Remove extraneous RSA, DSA, ECDSA, and EVP compatibility functions that are not used by bahamut and were causing compilation issues with older OpenSSL libraries.

* DEFAULT_OPER_SPAMFILTER_DISABLED - default your opers to +P, which disables spamfilter checking.  This is strongly recommended so that users can report potential spam.

5 years agoCode cleanup (STAT_MASTER) (#59)
Kobi Shmueli [Thu, 20 Sep 2018 06:09:41 +0000 (09:09 +0300)] 
Code cleanup (STAT_MASTER) (#59)

* Code cleanup (STAT_MASTER)

Remove useless STAT_MASTER code that isn't even used.

-Kobi.

* Propagate errors to other servers

This will make m_error() messages propagate to other servers and
all +n opers will be able to see them.

-Kobi.

* Log config errors to syslog (if USE_SYSLOG is defined)

* Propagate wrong link password error messages to other servers

* Fix two compile warnings

5 years agoUpdated changes for 2.1.0 release (#56) 2.1.0
Emilio A. Escobar [Mon, 17 Sep 2018 19:50:17 +0000 (12:50 -0700)] 
Updated changes for 2.1.0 release (#56)

* Updated changes for 2.1.0 release

Still needs some content for help.

* Updating patch level to 2.1.0

* More updates for 2.1.0.

* Fixed a broken merge (SVSXCF).

* Added missing extern.

* Updated version.c.SH (cosmetic fix).

* More updates for 2.1.0.

* Updated MODULE_INTERFACE_VERSION.

* Fixes for masked opers as they're already masked anyway.

* Let's make sure m_quit() will only check real users.

Currently, QUIT from un-registered clients (before NICK & USER) can crash the server because we're checking sptr->user->channels and sptr->user doesn't exist.

-Kobi.

5 years agoUpdate opers.txt (#47)
Bradley Claghorn [Tue, 11 Sep 2018 16:12:56 +0000 (12:12 -0400)] 
Update opers.txt (#47)

* Update opers.txt

Added notation regarding the +I hidden oper mode, usually only available by define'ing in config.h. Most probably don't know it exists.

* Update opers.txt

* Added +H and +P usermodes

Additionally reformatted things a bit, reworded things, overall looks cleaner.

* Date reordered

Sorry Kobi, I didn't even realize that.

5 years agoAdd SpamFilter feature. (#37)
Kobi Shmueli [Tue, 11 Sep 2018 16:12:25 +0000 (19:12 +0300)] 
Add SpamFilter feature. (#37)

* Add SpamFilter feature.

This IRCd feature (which is controlled by services) will allow us to block & autokill spambots and floodbots.

Users will be able to opt-out from this feature with UMODE +P and CMODE +P.

-Kobi.

* Bug fix for the PCRE regex check (thanks RuneB!)

* Made SpamFilter KB/Help URL a config option.

* Change pcre's MyFree() call to pcre_free() since we're not using MyMalloc() and add a missing pcre_free() call (thanks RuneB!).

* Add the ability to disable SPAMFILTER.

This is to allow other networks who use bahamut to disable the spam filter feature if they wish.

-Kobi.

* Cosmetic change to the spamfilter warning message.

5 years agoFix modern compiler warnings and possible buffer overflows (#53)
Ryan Smith [Tue, 11 Sep 2018 16:07:29 +0000 (12:07 -0400)] 
Fix modern compiler warnings and possible buffer overflows (#53)

5 years agoAdd support for eXtended Channel Flags (XCF). (#48)
Kobi Shmueli [Tue, 11 Sep 2018 16:07:12 +0000 (19:07 +0300)] 
Add support for eXtended Channel Flags (XCF). (#48)

Extended channel flags will be controlled by servics via the SVSXCF command.

Settings:
  JOIN_CONNECT_TIME - Number of seconds the user must be online to be able to join
  TALK_CONNECT_TIME - Number of seconds the user must be online to be able to talk on the channel
  TALK_JOIN_TIME    - Number of seconds the user must be on the channel to be able to tlak on the channel
  MAX_BANS          - Will let us increase the ban limit for specific channels

1/0 (on/off) options:
  NO_NOTICE         - no notices can be sent to the channel (on/off)
  NO_CTCP           - no ctcps can be sent to the channel (on/off)
  NO_PART_MSG       - no /part messages (on/off)
  NO_QUIT_MSG       - no /quit messages (on/off)
  EXEMPT_OPPED      - exempt opped users (on/off)
  EXEMPT_VOICED     - exempt voiced users (on/off)
  EXEMPT_IDENTD     - exempt users with identd (on/off)
  EXEMPT_REGISTERED - exempt users with umode +r (on/off)
  EXEMPT_INVITES    - exempt users who are +I'ed (on/off)

Special option:
  GREETMSG - A message that will be sent when a user joins the channel
  DEFAULT  - Reset the channel flags back to the default values

-Kobi.

5 years agoSSL certificate chain fixes and HUP rehash sanity checks (#54)
Ryan Smith [Tue, 11 Sep 2018 16:06:38 +0000 (12:06 -0400)] 
SSL certificate chain fixes and HUP rehash sanity checks (#54)

* Fix modern compiler warnings and possible buffer overflows

* Need to load the full certificate chain for validation to work properly

* Allow kill -HUP to refresh SSL certificates; add more sanity checking to rehashing SSL to ensure the certificate files still exist on disk and that the certificate belongs to the private key; do not actually swap out the SSL CTX unless all checks pass

5 years agoRemove a mhost set that isn't really needed. (#44)
Kobi Shmueli [Tue, 28 Aug 2018 02:11:38 +0000 (05:11 +0300)] 
Remove a mhost set that isn't really needed. (#44)

5 years agoLet IRC Operators (both local and global) see cmode +j's settings with /mode #channel...
Kobi Shmueli [Tue, 28 Aug 2018 02:11:21 +0000 (05:11 +0300)] 
Let IRC Operators (both local and global) see cmode +j's settings with /mode #channel from outside the channel in addition to +l. (#45)

5 years agoRevert "Increase MAXBANS from 200 to 500 per user requests, admin discussion …" ...
Kobi Shmueli [Tue, 28 Aug 2018 02:09:52 +0000 (05:09 +0300)] 
Revert "Increase MAXBANS from 200 to 500 per user requests, admin discussion …" (#49)

5 years agoResend the nicklist to a client in auditorium mode. (#50)
crigler [Tue, 28 Aug 2018 02:06:49 +0000 (19:06 -0700)] 
Resend the nicklist to a client in auditorium mode. (#50)

When auditorium mode is set and someone is opped or voiced, their client
will start to see messages from previously hidden clients and could get
confused about which window those messages should go to.

Fix this by sending a set of fake KICK/JOIN/NAMES messages to the newly
opped/voiced client to update the client's idea of who is in the
channel.

5 years agoExempt IRC Operators from the auditorium mode (cmode +A). (#52)
Kobi Shmueli [Sun, 26 Aug 2018 17:56:41 +0000 (20:56 +0300)] 
Exempt IRC Operators from the auditorium mode (cmode +A). (#52)

* Exempt IRC Operators from the auditorium mode (cmode +A).

(requested by toolman)

-Kobi.

* Don't exempt IRC Operators from not being able to talk on auditorium channels (cmode +A), just let them see all users/joins/parts/mode changes.

5 years agoSmall fix (HOSTLEN --> HOSTIPLEN) (#39)
Kobi Shmueli [Wed, 22 Aug 2018 05:06:35 +0000 (08:06 +0300)] 
Small fix (HOSTLEN --> HOSTIPLEN) (#39)

5 years agoAutomatically build & install modules if they exist. (#40)
Kobi Shmueli [Wed, 22 Aug 2018 05:00:23 +0000 (08:00 +0300)] 
Automatically build & install modules if they exist. (#40)

6 years agoUser host-masking & friends (take #2) (#31)
Kobi Shmueli [Mon, 23 Apr 2018 04:40:10 +0000 (07:40 +0300)] 
User host-masking & friends (take #2) (#31)

* Added USER_HOSTMASKING definition to include/config.h.

* Added UMODE +H.
When enabled, the user's host will be masked.
This umode is enabled by default if user host-masking support is defined.

-Kobi.

* Added the foundation for user host-masking support.

* Added user host-masking support to WHOIS (opers can still see the real host/ip).

* Added user host-masking support to USERHOST.
Notes:
- Users can see their own real hosts (to prevent DCC issues on some clients).
- Opers can see real hosts for everyone.

-Kobi.

* Added user host-masking support to WHOWAS (opers can still see the real host/IP).

* Changed SVSHOST to use mhost and propgate it on server connects.

* Added user host-masking support to channel bans/invites/exempts.

* Added user host-masking support to STATS l & p.

* Added user host-masking support to WHO.

* Added user host-masking support to WATCH.

* Added user host-masking support for a few src/send.c functions:
- prefix_buffer()
- send_quit_to_common_channels()
- send_part_to_common_channels()
- sendto_prefix_one()
- vsendto_prefix_one()

-Kobi.

* typo fix!

* Made WATCH L respect umode +H and mask the user's host if needed.

* Made KILL respect umode +H and mask the user's host if needed.

* Made DCCALLOW LIST respect umode +H and mask the user's host if needed.

* Added module hook for WHOIS.

* Added SVSUHM command to let services control what user host-masking type we are using.

* A few user host-masking related changes:
- Added module hook for masking hosts.
- Made mask_host() call the maskhost hook.
- Made mask_host() use uhm_type.
- Changed do_user() to only set & allow UMODE_H if uhm_type is defined.
- Changed m_umode() to only allow umode +H if uhm_type is defined.

-Kobi.

* Updated version.c.SH (Kobi --> Kobi_S & added RuneB).

* Added WHO +R to let opers choose if they want to see real hosts or not.

* Don't let non-opers see the real hosts/IPs for masked users with TRACE.

* Changed check_dccsend() to show the masked host/IP for umode +H users.

* Added USER_HOSTMASKING define checks to src/channel.c.

* Added USER_HOSTMASKING define checks to src/s_user.c.

* Added USER_HOSTMASKING define check to src/m_stats.c.

* Oops, typo fix.

* Added skill to version.c.SH.

* Let's only mask the host if the masking module returned 1 (Success).

-Kobi.

* Changed call_hooks()'s logic when handling hostmasking modules.

Possible results by the module:
1 = Success, the host has been masked (so don't try other modules).
0 = Failure, the host wasn't masked but try other modules (maybe they will mask the host).
-2 (FLUSH_BUFFER) = Failure, the host wasn't masked but *don't* try other modules.

-Kobi.

* Added defines for the user host-masking module's hooking results.

6 years agoChanged STATS o/c/i output to be in human-readable format. (#35)
Kobi Shmueli [Tue, 10 Apr 2018 14:52:52 +0000 (17:52 +0300)] 
Changed STATS o/c/i output to be in human-readable format. (#35)

6 years agom_trace(): add missing argument to RPL_TRACESERVER required for the %ld conversion...
Michael Wobst [Sun, 25 Mar 2018 22:26:40 +0000 (00:26 +0200)] 
m_trace(): add missing argument to RPL_TRACESERVER required for the %ld conversion specifier (#32)

6 years agoAdd travisCI (#30)
Emilio A. Escobar [Wed, 21 Mar 2018 03:18:31 +0000 (20:18 -0700)] 
Add travisCI (#30)

* fixing comments

* install and run autoconf

* run autoconf as part of before script section

* test with trusty and sudo

* install autoconf from apt

* run autoreconf instead

* install libtool and automake

* run automake to add missing files

* do not run make test for now

* skip install test, notify via IRC

* do not use automake, install shtool instead

* generate script to run autotools from

6 years agofix travis syntax
Emilio Escobar [Tue, 20 Mar 2018 02:22:14 +0000 (19:22 -0700)] 
fix travis syntax

6 years agoAdded travis CI file
Emilio Escobar [Tue, 20 Mar 2018 02:12:03 +0000 (19:12 -0700)] 
Added travis CI file

6 years agodo not ignore travis.yml
Emilio Escobar [Tue, 20 Mar 2018 02:10:51 +0000 (19:10 -0700)] 
do not ignore travis.yml

6 years agoMerge pull request #24 from kobishmueli/master
Aaron Wiebe [Mon, 19 Mar 2018 21:40:01 +0000 (17:40 -0400)] 
Merge pull request #24 from kobishmueli/master

Let server admins (and u:lined servers) see more info with /info

6 years agoMerge pull request #26 from rscs/maxbans-increase
Aaron Wiebe [Mon, 19 Mar 2018 21:39:17 +0000 (17:39 -0400)] 
Merge pull request #26 from rscs/maxbans-increase

Increase MAXBANS from 200 to 500 per user requests, admin discussion …

6 years agoMerge pull request #27 from rscs/openssl-1.1.0-compat
Aaron Wiebe [Mon, 19 Mar 2018 21:38:49 +0000 (17:38 -0400)] 
Merge pull request #27 from rscs/openssl-1.1.0-compat

Allow bahamut to be compiled against OpenSSL versions >= 1.1.0

6 years agoFix compile warning
Ryan Smith [Thu, 22 Feb 2018 04:24:48 +0000 (23:24 -0500)] 
Fix compile warning

6 years agoAllow bahamut to be compiled against OpenSSL versions >= 1.1.0
Ryan Smith [Thu, 22 Feb 2018 03:30:10 +0000 (22:30 -0500)] 
Allow bahamut to be compiled against OpenSSL versions >= 1.1.0
while maininting backwards compatability with the 1.0.x series by using the recommended OpenSSL Compatability Layer: https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes

6 years agoIncrease MAXBANS from 200 to 500 per user requests, admin discussion lead by Profound...
Ryan Smith [Thu, 22 Feb 2018 03:24:33 +0000 (22:24 -0500)] 
Increase MAXBANS from 200 to 500 per user requests, admin discussion lead by Profound, and coders discussion

6 years agoLet server admins (and u:lined servers) see more info with /info: OS, socket engine...
Kobi Shmueli [Wed, 25 Oct 2017 23:15:48 +0000 (02:15 +0300)] 
Let server admins (and u:lined servers) see more info with /info: OS, socket engine type, maxconnections, etc.

8 years agoMerge pull request #18 from bclaghorn/patch-1
Aaron Wiebe [Sat, 13 Feb 2016 16:16:50 +0000 (11:16 -0500)] 
Merge pull request #18 from bclaghorn/patch-1

Update opers.txt

8 years agoMerge pull request #17 from rscs/master
Aaron Wiebe [Sat, 13 Feb 2016 16:15:11 +0000 (11:15 -0500)] 
Merge pull request #17 from rscs/master

Allow U-lined servers to remove all network-wide bans in case of an emergency

8 years agoMerge pull request #19 from bclaghorn/patch-2
Aaron Wiebe [Sat, 13 Feb 2016 16:13:59 +0000 (11:13 -0500)] 
Merge pull request #19 from bclaghorn/patch-2

Default creation of .smotd

8 years agoUpdate opers.txt
Bradley Claghorn [Wed, 30 Dec 2015 02:56:26 +0000 (21:56 -0500)] 
Update opers.txt

8 years agoUpdate Makefile.in
Bradley Claghorn [Wed, 9 Dec 2015 01:00:30 +0000 (20:00 -0500)] 
Update Makefile.in

8 years agoDefault creation of ircd.smotd added.
Bradley Claghorn [Wed, 9 Dec 2015 00:50:18 +0000 (19:50 -0500)] 
Default creation of ircd.smotd added.

8 years agoUpdate opers.txt
Bradley Claghorn [Wed, 9 Dec 2015 00:14:11 +0000 (19:14 -0500)] 
Update opers.txt

Added the forgotten umode +S and added SSL to the list of Rehash commands available.

8 years agoAllow U-lined servers to remove all network-wide bans in case of an emergency
Ryan Smith [Sun, 6 Dec 2015 23:20:59 +0000 (18:20 -0500)] 
Allow U-lined servers to remove all network-wide bans in case of an emergency

10 years agoMerge pull request #13 from DALnet/master
Aaron Wiebe [Tue, 24 Dec 2013 18:28:48 +0000 (10:28 -0800)] 
Merge pull request #13 from DALnet/master

Fixed m_message() to compile with old gcc 2.x (i.e. for FreeBSD 4.x).

10 years agoFixed m_message() to compile with old gcc 2.x (i.e. for FreeBSD 4.x).
Kobi Shmueli [Tue, 24 Dec 2013 02:50:21 +0000 (04:50 +0200)] 
Fixed m_message() to compile with old gcc 2.x (i.e. for FreeBSD 4.x).

11 years agoUpdated CHANGES and patchlevel. This is 2.0.7
epiphani [Fri, 24 May 2013 12:05:04 +0000 (08:05 -0400)] 
Updated CHANGES and patchlevel.  This is 2.0.7

11 years agoMerge pull request #11 from DALnet/master
Aaron Wiebe [Fri, 24 May 2013 12:02:29 +0000 (05:02 -0700)] 
Merge pull request #11 from DALnet/master

Fixed a bug on sendto_channel_butserv_me() function (src/send.c)

11 years agoFixed a bug on sendto_channel_butserv_me() function (src/send.c)
Kobi Shmueli [Fri, 24 May 2013 10:38:13 +0000 (13:38 +0300)] 
Fixed a bug on sendto_channel_butserv_me() function (src/send.c)
The bug causes Bahamut to hide mode and topic changes even if the channel isn't in auditorium mode.

Thanks to nt-spki for reporting this and thanks to srd for fixing it.

-Kobi.

11 years agoUpdate CHANGES and patchlevel. This is 2.0.6.
epiphani [Sat, 11 May 2013 18:19:34 +0000 (14:19 -0400)] 
Update CHANGES and patchlevel.  This is 2.0.6.

11 years agoRemove outdated TODO list
epiphani [Sat, 11 May 2013 16:42:25 +0000 (12:42 -0400)] 
Remove outdated TODO list

11 years agoFix pasteo in find_userban_exact.
Ned T. Crigler [Mon, 29 Apr 2013 23:04:51 +0000 (16:04 -0700)] 
Fix pasteo in find_userban_exact.

The logic for checking whether a CIDR userban already exists had a
missing "continue;" line, making the function behave incorrectly for
IPv4 akills.

Also make the code more readable while we're at it.

Signed-off-by: epiphani <redacted>
11 years agoMerge pull request #10 from DALnet/master
Aaron Wiebe [Sat, 11 May 2013 16:27:28 +0000 (09:27 -0700)] 
Merge pull request #10 from DALnet/master

Auditorium mode+svstag+akill+rakill fixes

11 years agoChanges to deal with bogus akills
Kobi Shmueli [Sat, 27 Apr 2013 02:17:11 +0000 (05:17 +0300)] 
Changes to deal with bogus akills
- Changed m_akill() to warn about bogus akills and also "fix" them (add them anyway for 30 minutes
  as services only sends AKILL commands when it really wants to take out users).
- Added more debugging to m_rakill().

-Kobi.

11 years agoChanged SVSTAG to send/receive umodes in text and fixed incorrect and missing comments.
Kobi Shmueli [Sat, 27 Apr 2013 02:03:28 +0000 (05:03 +0300)] 
Changed SVSTAG to send/receive umodes in text and fixed incorrect and missing comments.

-Kobi.

11 years agoAuditorium mode fixes (cmode +A)
Kobi Shmueli [Sat, 27 Apr 2013 00:22:38 +0000 (03:22 +0300)] 
Auditorium mode fixes (cmode +A)
Hide quits and nick changes as well.

-Kobi.

11 years agoMerge branch 'master' of ssh://github.com/epiphani/bahamut
epiphani [Mon, 15 Apr 2013 08:46:29 +0000 (04:46 -0400)] 
Merge branch 'master' of ssh://github.com/epiphani/bahamut

11 years agoMerge pull request #9 from DALnet/master
Aaron Wiebe [Mon, 15 Apr 2013 08:46:16 +0000 (01:46 -0700)] 
Merge pull request #9 from DALnet/master

SVSTAG & CMODE +A (Auditorium mode)

11 years agoFix 63 character hostname truncation.
Ned T. Crigler [Tue, 19 Mar 2013 23:31:05 +0000 (16:31 -0700)] 
Fix 63 character hostname truncation.

Hostnames with exactly 63 characters were being truncated to 62
characters since register_user was using strncpyzt incorrectly.

The size given to strncpyzt should be the total size of the destination
buffer including the terminating '\0' character. register_user was using
HOSTLEN for the size instead of HOSTLEN + 1.

Also fix some other code that got this wrong.

Signed-off-by: epiphani <redacted>
11 years agoAdded cmode +A (Auditorium mode).
Kobi Shmueli [Sat, 13 Apr 2013 22:53:08 +0000 (01:53 +0300)] 
Added cmode +A (Auditorium mode).
When a channel is in auditorium mode, users can only see ops/voiced users on the channel and messages that are sent to the channel by non-ops/voiced users are being relayed to #channel-relay. Ops and voiced users can see the full user list.

Also, joins/parts/quits of non-ops/voiced users are only sent to ops/voiced users.

This channel mode is intended for network-wide events and currently can only be set by u:lined servers (services).

-Kobi.

11 years agoAdded SVSTAG command to let services add "tags" to users.
Kobi Shmueli [Tue, 26 Mar 2013 14:28:18 +0000 (16:28 +0200)] 
Added SVSTAG command to let services add "tags" to users.

11 years agoUpdate Changes and Patchlevel - this is 2.0.5
epiphani [Thu, 7 Feb 2013 18:31:41 +0000 (13:31 -0500)] 
Update Changes and Patchlevel - this is 2.0.5

11 years agoMerge branch 'master' of ssh://github.com/epiphani/bahamut
epiphani [Thu, 7 Feb 2013 18:29:35 +0000 (13:29 -0500)] 
Merge branch 'master' of ssh://github.com/epiphani/bahamut

11 years agoMerge pull request #7 from Fafson/bahamut/issue/6
Aaron Wiebe [Thu, 7 Feb 2013 18:29:03 +0000 (10:29 -0800)] 
Merge pull request #7 from Fafson/bahamut/issue/6

Remove extra code on s_conf.c

11 years agoDon't truncate long hostnames.
Ned T. Crigler [Sat, 2 Feb 2013 19:58:44 +0000 (11:58 -0800)] 
Don't truncate long hostnames.

When a client connects from an IP address that resolves to a hostname
longer than HOSTLEN characters, the ircd truncates the excess
characters.

Until commit e2004bf0a2c851e7d81fc317b1cc230c9415d3e3, which increased
the resolver's maximum hostname length, this truncation behavior was
masked since the ircd tries to check whether the forward and reverse DNS
for a client's IP address matches. The resolver would try to resolve the
truncated version of the hostname and fail.

Fix this by rejecting a client's resolved hostname if it is too long.

Signed-off-by: epiphani <redacted>
11 years agoRemove extra code on s_conf.c - bahamut issue #6 https://github.com/epiphani/bahamut...
Juan Baez [Wed, 16 Jan 2013 02:06:42 +0000 (20:06 -0600)] 
Remove extra code on s_conf.c - bahamut issue #6 https://github.com/epiphani/bahamut/issues/6

11 years agoMerge pull request #4 from phreakshow/master
Aaron Wiebe [Mon, 31 Dec 2012 05:48:24 +0000 (21:48 -0800)] 
Merge pull request #4 from phreakshow/master

USE_SSL always on even when target server does not have openssl installed

11 years agoUpdate include/config.h
phreakshow [Mon, 31 Dec 2012 03:27:36 +0000 (21:27 -0600)] 
Update include/config.h

11 years agoUpdate Changes and patchlevel - this is 2.0.4
epiphani [Sun, 25 Nov 2012 22:49:45 +0000 (17:49 -0500)] 
Update Changes and patchlevel - this is 2.0.4

11 years agoAdd the WEBIRC command.
Ned T. Crigler [Sat, 24 Nov 2012 18:38:18 +0000 (10:38 -0800)] 
Add the WEBIRC command.

This command is only allowed from trusted clients, and permits the real
hostname of a webirc client be used instead of the hostname of the
webirc gateway they connected through. This can be used to prevent users
from having ircip1.mibbit.com as their hostname, for example.

Trusted clients are added to the ircd.conf by adding special allow
blocks that match ident@host (if an identd response was received), or
webirc@host (if not), and that use a password of the form:
webirc.<password>

For example, in ircd.conf:

allow { ipmask webirc@127.0.0.1; passwd webirc.mypass; class users; };

will allow the command to be used from a non-identd client connecting
from 127.0.0.1 if they use the password mypass in the WEBIRC command.

Opers can also see if a client successfully used this command.

Signed-off-by: epiphani <redacted>
11 years agoMerge pull request #3 from nenolod/warning-cleanups-upstream
Aaron Wiebe [Fri, 5 Oct 2012 11:38:06 +0000 (04:38 -0700)] 
Merge pull request #3 from nenolod/warning-cleanups-upstream

ircd: clean up compiler warnings using -Wall

11 years agoMerge pull request #2 from nenolod/autoconf-deritius
Aaron Wiebe [Fri, 5 Oct 2012 11:34:50 +0000 (04:34 -0700)] 
Merge pull request #2 from nenolod/autoconf-deritius

remove include/setup.h.in and add it to .gitignore

11 years agoMerge pull request #1 from nenolod/uclibc-res
Aaron Wiebe [Fri, 5 Oct 2012 11:34:11 +0000 (04:34 -0700)] 
Merge pull request #1 from nenolod/uclibc-res

res: portability improvements for uclibc

11 years agoircd: various warning cleanups and type enforcement enhancements
William Pitcock [Tue, 18 Sep 2012 18:55:11 +0000 (13:55 -0500)] 
ircd: various warning cleanups and type enforcement enhancements

11 years agodh: avoid possible integer underflow using type enforcement.
William Pitcock [Tue, 18 Sep 2012 18:14:56 +0000 (13:14 -0500)] 
dh: avoid possible integer underflow using type enforcement.

11 years agoircd: clean up compiler warnings using -Wall
William Pitcock [Tue, 18 Sep 2012 17:52:33 +0000 (12:52 -0500)] 
ircd: clean up compiler warnings using -Wall

Remove dead assignments and stalls so that the compiler can remove unnecessary cache misses
in various codepaths caused by unused variables and dead branches.

11 years agoinclude: remove setup.h.in.
William Pitcock [Tue, 18 Sep 2012 17:30:07 +0000 (12:30 -0500)] 
include: remove setup.h.in.

As in the previous commit, we should not include autoconf deritius in the repository.

11 years ago.gitignore: add include/setup.h.in.
William Pitcock [Tue, 18 Sep 2012 17:28:16 +0000 (12:28 -0500)] 
.gitignore: add include/setup.h.in.

Since we are ignoring other autoconf-generated deritius, we should also ignore
the autoheader output.

11 years agores: portability improvements for uclibc
William Pitcock [Tue, 18 Sep 2012 17:30:51 +0000 (12:30 -0500)] 
res: portability improvements for uclibc

This allows building Bahamut on uClibc without any modification.  It avoids using
deprecated interfaces in POSIX-2008, such as _getshort(), _getlong() and directly
dereferencing _res (instead, __res_state() should be dereferenced).

11 years agoUpdate README
epiphani [Sat, 28 Jul 2012 14:14:50 +0000 (10:14 -0400)] 
Update README

12 years agoUpdate patchlevel and changelog. This is 2.0.3
epiphani [Tue, 28 Feb 2012 00:19:12 +0000 (19:19 -0500)] 
Update patchlevel and changelog.  This is 2.0.3

12 years agoEnable CIDR bans by default.
epiphani [Tue, 28 Feb 2012 00:17:49 +0000 (19:17 -0500)] 
Enable CIDR bans by default.

12 years agoFix va_list bug in sendto_all_servmask.
Ned T. Crigler [Fri, 24 Feb 2012 01:48:17 +0000 (17:48 -0800)] 
Fix va_list bug in sendto_all_servmask.

vsendto_fdlist causes vl to no longer be valid, causing a crash on
amd64. This commit changes the code to use VA_COPY first, like we do
elsewhere.

Signed-off-by: epiphani <redacted>
12 years agoUpdate patchlevel and CHANGES. This is 2.0.2
epiphani [Sun, 19 Feb 2012 16:20:22 +0000 (11:20 -0500)] 
Update patchlevel and CHANGES.  This is 2.0.2

12 years agoRemove references to utmp.h and utmp.
Ned T. Crigler [Fri, 17 Feb 2012 22:20:20 +0000 (14:20 -0800)] 
Remove references to utmp.h and utmp.

FreeBSD 9 removed the utmp.h header file, resulting in a compile
failure.

Signed-off-by: epiphani <redacted>
12 years agoMake /who without any flags parse IP addresses and CIDR.
Ned T. Crigler [Sun, 29 Jan 2012 19:39:50 +0000 (11:39 -0800)] 
Make /who without any flags parse IP addresses and CIDR.

Previously the code for handling /who when not given any flags only
checked for a '.' character to distinguish between a hostname and
nickname. Use the CIDR parsing code to allow it to parse IP addresses
and CIDR too.

Signed-off-by: epiphani <redacted>
12 years agoFix identd connections on FreeBSD.
Ned T. Crigler [Sun, 8 Jan 2012 02:49:28 +0000 (18:49 -0800)] 
Fix identd connections on FreeBSD.

FreeBSD is apparently stricter than Linux with the address length
parameter to the connect system call. The code was using the total
length of the buffer (big enough for either an IPv4 or IPv6 address)
instead of the exact length depending on the kind of address, which
caused FreeBSD to return an error immediately, even though an IPv4
address can still fit in the buffer for an IPv6 address.

Fixed by re-using the address length calculated earlier when binding the
socket.

This was spotted thanks to a user who reported that identd wasn't
working for them.

Signed-off-by: epiphani <redacted>
12 years agoClear dlerror() and ensure that dlsym never returns NULL
Ned T. Crigler [Thu, 22 Dec 2011 18:01:36 +0000 (10:01 -0800)] 
Clear dlerror() and ensure that dlsym never returns NULL

We were not clearing dlerror() before checking it, which caused us to
report the last error that occurred, even if it was not our fault.

Also check that dlsym never returns NULL. An error is better than a
crash in this case.

Original patch by Emilio Escobar, with some editing by me.

Signed-off-by: epiphani <redacted>
12 years agoUpdated version.c.SH
epiphani [Fri, 16 Dec 2011 15:20:35 +0000 (10:20 -0500)] 
Updated version.c.SH

12 years agoUpdate CHANGES and patchlevel. This is 2.0.1
epiphani [Fri, 16 Dec 2011 15:15:05 +0000 (10:15 -0500)] 
Update CHANGES and patchlevel.  This is 2.0.1

12 years agoAdded NO_LOCAL_CIDR_CHANNELBANS define.
Kobi Shmueli [Sat, 29 Oct 2011 21:12:20 +0000 (23:12 +0200)] 
Added NO_LOCAL_CIDR_CHANNELBANS define.

Don't allow local clients to set CIDR channel bans/invites/exempts
until all servers and services are upgraded.

Thoughts?

-Kobi.

Signed-off-by: epiphani <redacted>
12 years agoRemove legacy convert_conf tool
epiphani [Fri, 16 Dec 2011 15:10:28 +0000 (10:10 -0500)] 
Remove legacy convert_conf tool

12 years agoFixed the m_topic() SIGSEGV bug I introduced on Bahamut 2.0.0.
Kobi Shmueli [Sat, 29 Oct 2011 21:11:18 +0000 (23:11 +0200)] 
Fixed the m_topic() SIGSEGV bug I introduced on Bahamut 2.0.0.

This should make sure non-NICKIPSTR servers won't get nick!user@host topics.

-Kobi.

Signed-off-by: epiphani <redacted>
12 years agoFix crash in sendto_all_servmask when using x64 architectures
epiphani [Fri, 16 Dec 2011 14:45:48 +0000 (09:45 -0500)] 
Fix crash in sendto_all_servmask when using x64 architectures

Just a repeat of the va_copy method of avoiding vl's getting foobard.

Reported-by: pumpkin (pumpkin@dreamers.gr)
12 years agoFix compilation for FreeBSD 4
Ned T. Crigler [Mon, 5 Sep 2011 21:34:00 +0000 (14:34 -0700)] 
Fix compilation for FreeBSD 4

Do a s/va_copy/VA_COPY/g in src/send.c so that our VA_COPY macro can be
used to handle older systems that do not have va_copy.

Signed-off-by: epiphani <redacted>