]> jfr.im git - irc/DALnet/bahamut.git/log
irc/DALnet/bahamut.git
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>
12 years agoUpdate patchlevel. This is 2.0.0
epiphani [Sun, 4 Sep 2011 21:19:29 +0000 (17:19 -0400)] 
Update patchlevel.  This is 2.0.0

12 years agoFix various problems with non-standard build configurations.
Ned T. Crigler [Wed, 31 Aug 2011 18:38:50 +0000 (11:38 -0700)] 
Fix various problems with non-standard build configurations.

Libraries should be prepended to $LIBS instead of appended, as the
linker only does a single left-to-right pass over the command line.

This sometimes showed up as link errors (such as when shared libraries
are not being used) when -lssl came after -lcrypto, since -lssl depends
on -lcrypto.

Also, we were not actually using the include path for zlib detected by
configure, as it was setting $CPPFLAGS, which wasn't being used in the
Makefiles.

Signed-off-by: epiphani <redacted>
12 years agoDon't allow banned users to change topics on -t channels.
epiphani [Wed, 31 Aug 2011 17:10:46 +0000 (13:10 -0400)] 
Don't allow banned users to change topics on -t channels.

12 years agoAllow Opers to view the state of +l and +k from outside the channel
epiphani [Wed, 31 Aug 2011 17:00:18 +0000 (13:00 -0400)] 
Allow Opers to view the state of +l and +k from outside the channel

12 years agoAdded needed va_end
Emilio Escobar [Fri, 1 Jul 2011 18:19:50 +0000 (20:19 +0200)] 
Added needed va_end

Signed-off-by: epiphani <redacted>
12 years agoFixed va_free statements and modified prefix_buffer to use copy of va_list to keep...
Emilio Escobar [Fri, 1 Jul 2011 18:19:48 +0000 (20:19 +0200)] 
Fixed va_free statements and modified prefix_buffer to use copy of va_list to keep original defined.

Signed-off-by: epiphani <redacted>
12 years agoAdded check for Linux to use /dev/urandom instead of /dev/random. BSD /dev/random...
Emilio Escobar [Fri, 1 Jul 2011 18:19:47 +0000 (20:19 +0200)] 
Added check for Linux to use /dev/urandom instead of /dev/random. BSD /dev/random does not block like it does on Linux.

Signed-off-by: epiphani <redacted>
12 years agoSupport for nick!user@host topics, requires capab NICKIPSTR.
Kobi Shmueli [Fri, 1 Jul 2011 17:36:52 +0000 (20:36 +0300)] 
Support for nick!user@host topics, requires capab NICKIPSTR.

Signed-off-by: epiphani <redacted>
12 years agoFix SIGSEGV in vsprintf when compiled in 64-bit
Emilio Escobar [Tue, 7 Jun 2011 02:00:09 +0000 (22:00 -0400)] 
Fix SIGSEGV in vsprintf when compiled in 64-bit

Basically create a copy of the val_list that's being passed to vsprintf when calling it
from a loop.

Signed-off-by: epiphani <redacted>
12 years agoFix misspelled file name
epiphani [Sun, 24 Apr 2011 16:12:29 +0000 (12:12 -0400)] 
Fix misspelled file name

It's amazing how long you can miss something like this.

12 years agoSilence some warnings found on FreeBSD 8.2
Ned T. Crigler [Wed, 23 Mar 2011 18:28:47 +0000 (11:28 -0700)] 
Silence some warnings found on FreeBSD 8.2

Silence a warning in msg_has_ctrls which gcc in the new version of
FreeBSD warns about.

Also, gcc now warns about something of type time_t not matching the
%ld/%lu used in the format string. Fixed by adding casts to long or
unsigned long.

Signed-off-by: epiphani <redacted>
12 years agoAdd IPv6 CIDR support to klines.
Ned T. Crigler [Fri, 18 Mar 2011 01:54:11 +0000 (18:54 -0700)] 
Add IPv6 CIDR support to klines.

This patch adds IPv6 CIDR support using the new bitncmp and
inet_parse_cidr functions.

Signed-off-by: epiphani <redacted>
12 years agoAdd IPv6 CIDR support to /who and /rwho.
Ned T. Crigler [Fri, 18 Mar 2011 01:54:10 +0000 (18:54 -0700)] 
Add IPv6 CIDR support to /who and /rwho.

This patch adds IPv6 CIDR support using the new bitncmp and
inet_parse_cidr functions.

Signed-off-by: epiphani <redacted>
12 years agoAdd CIDR support to channel bans, O:lines and I:lines.
Ned T. Crigler [Fri, 18 Mar 2011 01:54:09 +0000 (18:54 -0700)] 
Add CIDR support to channel bans, O:lines and I:lines.

This patch adds IPv4 and IPv6 CIDR support to a few areas using the new
bitncmp and inet_parse_cidr functions.

Signed-off-by: epiphani <redacted>