Coder Social home page Coder Social logo

bahamut's Introduction

#Welcome to Bahamut!

Build status

Please refer to the INSTALL file for help instructions on building and installing ircd. The doc/ directory may also be of interest.

Please refer to the CHANGES file to see what has changed recently.

*** IMPORTANT *** Please send any SECURITY RELATED bugs to [email protected] - any non-critical bugs can be sent to [email protected] - a public list for code discussion.

Thanks! -Bahamut Team

bahamut's People

Contributors

apwiebe avatar bclaghorn avatar chrismwhite avatar crigler avatar eaescob avatar fidsah avatar fragtion avatar hbunting-oc avatar holbrookb avatar jbaez001 avatar jmslagle avatar kaniini avatar kobishmueli avatar lgtm-migrator avatar miwob avatar realrasengan avatar rscs avatar ryandesign avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bahamut's Issues

/list changes

Let services control /list, with the following options:

  1. /list will be limited to users who were on-line for more than X seconds.
  2. /list will only show +L channels (with the ability to enable or disable the -all flag). To clarify, USE_CHANMODE_L will be defined but not enabled by default.

Kobi.

Configuring Bahamut

Hi :)

I've installed Bahamut in my local computer (Ubuntu 17.04). In such case, what name should I use in global block?

global {
    name    irc.example.com;         # I use this name in localhost
    info    "IRC SIMPEG";     # A short info line
    admin {
        "IRC untuk SIMPEG";   # Three information lines sent
        "Admin SIMPEG"; # in reply to ADMIN command
        "[email protected]";
    };
};

I use irc.example.com because using localhost would trigger an error.

2.1.5-rc1: undefined reference to `DH_set0_pqg'

When compiling 2.1.5-rc1 (or the latest code from master branch), I am seeing:

gcc -I../include -g -O2 -Wall -fno-strict-aliasing -fgnu89-inline -c dh.c
dh.c: In function ‘dh_start_session’:
dh.c:294:2: warning: implicit declaration of function ‘DH_set0_pqg’ [-Wimplicit-function-declaration]
  if(dhp_bn == NULL || dhg_bn == NULL || !DH_set0_pqg(si->dh, dhp_bn, NULL, dhg_bn)) {
  ^
dh.c: In function ‘dh_get_s_public’:
dh.c:341:2: warning: implicit declaration of function ‘DH_get0_key’ [-Wimplicit-function-declaration]
  DH_get0_key(si->dh, &pub_key, &priv_key);
  ^
gcc -I../include -g -O2 -Wall -fno-strict-aliasing -fgnu89-inline -c version.c
gcc -Wl,-export-dynamic -o ircd blalloc.o bsd.o channel.o clientlist.o clones.o confparse.o fdlist.o fds.o hash.o hide.o inet_addr.o ircd.o klines.o libcrypto-compat.o list.o m_nick.o m_rwho.o m_server.o m_services.o m_stats.o m_who.o match.o memcount.o modules.o packet.o parse.o pcre.o probability.o res.o s_auth.o s_bsd.o s_conf.o s_debug.o s_err.o s_misc.o s_numeric.o s_serv.o s_user.o sbuf.o scache.o send.o struct.o support.o throttle.o userban.o whowas.o zlink.o ssl.o bitncmp.o inet_parse_cidr.o m_webirc.o spamfilter.o socketengine_epoll.o rc4.o dh.o version.o -lz -lssl -lcrypto -ldl -lcrypt -lresolv -lnsl
dh.o: In function `dh_start_session':
/app/software/bahamut-2.1.5-latest/src/dh.c:294: undefined reference to `DH_set0_pqg'
dh.o: In function `dh_get_s_public':
/app/software/bahamut-2.1.5-latest/src/dh.c:341: undefined reference to `DH_get0_key'
collect2: error: ld returned 1 exit status
make[1]: *** [ircd] Error 1

OS info:

$ uname -a
Linux server.name 3.10.0-1127.8.2.el7.x86_64 #1 SMP Tue May 12 16:57:42 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

$ openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

Commands I used:

libtoolize -c --force
aclocal
autoheader
automake -c --force-missing --add-missing
autoconf
./configure
make

No issues with 2.1.4. Please let me know if I can provide any other helpful information.

Tilde (~) shows when DO_IDENT is undefined

I am migrating from 2.0.3 to the latest master branch code and noticed that even though I have "#undef DO_IDENTD" set in include/config.h, it still shows the tidle (~) character upon welcome and in WHOIS.

  • Welcome to the [REMOVED] IRC Network Aaron!~aaron@[REMOVED]
  • Your host is [REMOVED], running version bahamut-2.0.7

The "d" flag is (correctly) missing from VERSION:

  • bahamut-2.0.7. [REMOVED] :aABCEFiMrstTY/o TS5ow RPL1 NP[kU]

In 2.0.3, undefining DO_IDENTD removed the tilde. Is there an easy way to get this behavior back?

On the heels of human readable oper flags

With the recent merge of the change to /stats o and human readable oper flags I felt it necessary to throw this enhancement out there as it's an aesthetic bit I've appreciated from other IRCd's that is not present in Bahamut. I understand it's a stylistic difference, but I'd appreciate others thoughts.

I understand these features are specific to Ratbox and Hybrid, and no I don't want all ircd to be the same, it's just an aesthetic feature I find useful. I would love something similar, if not expandable for Bahamut/DALnet.

/stats p output of connected opers on a bahamut IRCD appears thusly:

Visigoth ([email protected]) Idle: 682
Arfie ([email protected]) Idle: 5790
2 OPERs
p End of /STATS report

/stats p output of connected opers on Ratbox/Hybrid appears thusly:

standard users output denoting connected operators and administrators

p [O] Visigoth ([email protected]) Idle: 4369
p [A] Ahnberg ([email protected]) Idle: 4287
2 OPERs
p End of /STATS report

other opers and admins see output including the configured and now (human readable) oper flags

p [O] [OaF]     Visigoth ([email protected]) Idle: 4369
p [A] [ODRAaF]  Ahnberg ([email protected]) Idle: 4287
2 OPERs
p End of /STATS report

Please share your thoughts!

Server returns improper numeric for Enforced nicks

Whenever a user connects and their nick is being held by Services, the server responds with numeric 432 ("Erroneous Nickname") rather than numeric 433 ("Nickname In Use.")

This causes problems on some IRC clients because 432 doesn't trigger the client to try switching to an alternate nick, like 433 does. On Limechat, this causes the client to ignore the message and wait for a response until the connection times out, while IRSSI will disconnect immediately.

Connect block priorities

[17:24:38] <@Kobi_S> xPsycho: I was thinking to add priorities to connect blocks... basically, it will always try to connect to the shortest priority
[17:24:51] <@Kobi_S> and if servers are connected more than X time, it will start all over again
[17:24:59] <@Kobi_S> so say:
[17:25:03] <@Kobi_S> priority 1 - server1
[17:25:09] <@Kobi_S> priority 5 - server2
[17:25:12] <@Kobi_S> priority 10 - server3
[17:25:19] <@Kobi_S> it will always try to connect to server1
[17:25:45] <@Kobi_S> unless it got disconnected after it was connected less than X minutes
[17:25:59] <@Kobi_S> if it was connected for a short time and got disconnected, it will try server2
[17:26:13] <@xPSYCHO> interesting!
[17:26:11] <@Kobi_S> if it will split in a short time, it will try server3
[17:26:15] <@Kobi_S> if not, it will try server1
[17:26:32] <@holbrook> That sounds awesome
[17:26:58] <@Kobi_S> :)

Increase HOSTLEN and RES_HOSTLEN to 255

These are currently set to:

#define HOSTLEN 63 /* Length of hostname.  Updated to comply with RFC1123 */
#define RES_HOSTLEN 127 /* big enough to handle addresses in in6.arpa */

I suggest that we increase them both to 255 to comply with the various RFCs and accepted practices.

  • RFC1123, Section 2.1, states, "Host software MUST handle host names of up to 63 characters and SHOULD handle host names of up to 255 characters."
  • RFC1035, Section 2.3.4, states, "Various objects and parameters in the DNS have size limits. They are
    listed below. Some could be easily changed, others are more fundamental. labels = 63 octets or less, names = 255 octets or less"
  • RFC2181, Section 11, states, "A full domain name is limited to 255 octets (including the separators)."

Here are some good write ups about this:

IRCop hostmask

i already install bahamut latest version .. but i cant set on ircd.conf bout
IRCop hostmask

shebang> h what we call this --->> @DALnet

Hostmask

cloak?

this for hide our real ip rite?

Yes cloak in another word, but here we call it IRCop hostmask

well.. here not just to hide IP, but for other things too. But the main thing, to show other users that @DALnet is an IRC operator

yes IRCop hostmask <<---- this is my question there .. how to create IRCop hostmask for my oper

Half-ops

cmode: +h/-h (symbol: %)

Half-ops will be able to:

  1. Kick users who aren't opped (+o) or voiced (+v)
  2. Change the channel topic even if +t is set

Thoughts?

Kobi.

spamfilterurl typo in template.conf

Line 29 of template.conf says:

spamfilterpurl "http://help"; # SpamFilter help page

Thanks to jh0ng in #bahamut

[18:34:26] <jh0ng> ERROR:  Unknown token near line 29 of /home/bahamut/ircd/ircd.conf
[18:35:01] <xPsycho> what is on line 29? :)
[18:35:53] <jh0ng> spamfilterpurl "";
[18:36:44] <xPsycho> there's an extra letter in there ... an extra "p" before the "url"
[18:36:50] <xPsycho> try: spamfilterurl "";

Feature request: Test connection (testconn)

Idea is a command to fully test the connect blocks between two servers. Functionally, it would be establishing a connection on the server port, checking that the bound IP's match appropriately, passwords match, time sync, etc...and then report back. The main use case here is primarily to detect either upstream firewall issues or IP bind mismatches BEFORE the server is split off from the network and orphaned. For example:

  1. Leaf1 is linked to Hub1 and everything is fine.
  2. Hub1 dies. Leaf1 is split, but has an alternate connect block for hub2.
  3. Oper issues /connect for hub2 to connect to leaf1. Leaf1 has an upstream firewall preventing the connection from happening. Server is now split/alone but up until a local oper can issue a /connect, or an autoconnect kicks in.

If operators could issue a /testconn while everything is still in step 1 (all linked), we could then see if the connection fails because of a TCP issue (e.g. firewall), some problem with the IP not matching, a password mismatch, or a time sync issue. This could be checked and monitored regularly by routing staff who can then proactively contact the admins in question before a server gets orphaned.

User Modes

I would like to suggest to remove some of the users mode;

+s
Setting yourself +s is a request to the server to send you all the generic server messages and information about oper kills. This can turn into quite a flood.

this mode will keep the user informed about kill but as suggestion i think it's not concerning the user to see the kill messages from opers as well it will be a quit flooding.
it's a load to the server to send those messages to user while it's not something concerning users.

+w
Wallops are network wide messages sent by IRC Operators to each other. Any user who is set to +w will also be able to observe the conversation. Wallops have become quite extinct on DALnet and are rarely sent.

I suggest to remove +w since also rarely to see wallops as well users will not have the flag to respond IF they want and since it's not effecting the user i think we should consider this to be removed.

Let scripts that kill -HUP put a reason for the rehash

Let scripts that kill -HUP the ircd put a reason for the rehash that will be displayed in the server notice.

When kill -HUP is used, the ircd will check if the rehash.msg file exists, if it does, it will display the message as part of the server notice and will delete the file so future kill -HUPs won't display the same message.

Thoughts?

Kobi.

Extended channel flags (XCF)

eXtended Channel Flags (XCF) will have the following options:
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 that are being flooded
NO_NOTICE - Will prevent /notice's from being sent to the channel
NO_CTCP - Will prevent /ctcp's from being sent to the channel
NO_PART_MSG - Will prevent /part messages from being used on the channel
EXEMPT_OPPED - Will exempt opped users from these flags
EXEMPT_VOICED - Will exempt voiced users from these flags
EXEMPT_IDENTD - Will exempt users with enabled identd from these flags
EXEMPT_REGISTERED - Will exempt registered+identified users (umode +r) from these flags
EXEMPT_INVITES - Will exempt users who match the invites list (cmode +I) from these flags
GREETMSG - Will show a message to everyone who joins the channel (to warn them they might be flagged)

These flags will be controlled by services (will be available to IRC Operators [temporary]) as well as to channel managers/founders.

(I know /notice's and /ctcp's behaviors are client issues, however, during a huge flood, it doesn't really matter to me and I want to minimize the flood effect on users)

The services->ircd server command will be something like:
SVSXCF option:value [option:value] [option:value] …
For example:
"SVSXCF JOIN_CONNECT_TIME:300 TALK_JOIN_TIME:60 NO_NOTICE:ON NO_CTCP:ON EXEMPT_OPPED:ON EXEMPT_VOICED:ON EXEMPT_REGISTERED:ON EXEMPT_IDENTD:ON"
In this example, users will only be able to join the channel after being online for 300 seconds and will only be able to talk on the channel after 60 seconds (+r'ed users and users with identd will be exempted from both, while voiced+opped users will be exempted from the 60 seconds delay).

IRC Operators will be able to use /CHECK CHANNEL to see its flags. Channel managers/founders will have a ChanServ command for that (we might enable it to all AOPs+, I'm unsure yet and we can always change it later).

-Kobi.

+F oper block flag for locals

Setting the "F" ircd.conf oper flag forces the oper to be a global. Why shouldn't a local be able to have that flag?

Inconsistent oper flag values from /stats o

I was trying to update my script so it could decipher the "flag" value that is returned from /stats o ... so I can easily identify what oper flags someone has set. I've noticed that each time I do /stats o, the flag value changes:

attempt 1:
:koala.vc.au.dal.net 243 xpxptest O * * xPsycho 32440305 opers

attempt 2:
:koala.vc.au.dal.net 243 xpxptest O * * xPsycho 32440305 opers

attempt 3:
:koala.vc.au.dal.net 243 xpxptest O * * xPsycho 197600935921 opers

attempt 4:
:koala.vc.au.dal.net 243 xpxptest O * * xPsycho 32440305 opers

attempt 5:
:koala.vc.au.dal.net 243 xpxptest O * * xPsycho 236255641585 opers

In later attempts, I also saw values of 140733225828337 and 139771153154033 returned.

The correct value should be 32440305 = 1111011101111111111110001 as those are the 25 oper flag bits we use. In some of the other results, I am seeing 54 bits and 66 bits being set ...
197600935921 = 10111000000001111011101111111111110001
236255641585 = 11011100000001111011101111111111110001
140733225828337 = 11111111111111100000001111011101111111111110001
139771153154033 = 11111110001111100000001111011101111111111110001

They all contain the same 25 bits at the end, but there are extra bits being prepended somehow.

This is happening for me both locally and remotely and with both oper'd and non-oper'd clients. At first I thought it might have been a client issue, so I continued by testing using a raw telnet connection directly to the server.

I've reproduced this on multiple servers including koala, tranquility, and underworld ... but can't seem to reproduce it on diamond or my local test machine.

Fix SSL "Client closed connection" errors

When a SSL client closes the connection, the error should be "Client closed connection" and not "Read error: Input/output error".

And we should remove the debugging notice about it too:
(+d) SSL_read() to nick!user@host aborted with no error (Success). [Underlying syscall error]

-Kobi.

Services Approved Joins

A (server) command that in combination with cmode +r will require channel joins to be approved by services.:
When a user will join these channels, the IRCd will send the request to services.
instead of having the user join the channel, services will do a few internal checks (including checking that the user isn't akicked so if a user is akicked, services won't even allow them to join instead of kickban'ing them later) and if everything is good, it will approve the join and send a command back to the IRCd to do the actual join.

When services are down, the join command will function normally.
When services are lagged, the join command will be lagged as well (for these specific channels).

This will let us do a lot of things dynamically without upgrading all servers (just services) like, for example, allowing channel ops or IRC Operators approve or deny specific joins (services can automatically approve or deny the request if it isn't approved/denied within X seconds to be on the safe side).

-Kobi.

Port block refresh issue

If a port has connections on it and you change flags in .conf, the new flags won't stick on rehash unless all users are disconnected from the port.

Is this a technical limitation of changing SSL or some other setting midstream? Or is it a bug?

New XFLAG: MAX_MSGLEN

<Fredfred> what about an option TALK_SIGNS, users can only talk with a special amount of characters?
<Fredfred> so, we set it to 30, and users only can use 30 chars per sentence
<Fredfred> :D
<Fredfred> or 20, or 50
<Fredfred> that would stop those spammers, right
<Kobi_S> oh, I see what you mean now
<Kobi_S> interesting idea
<Fredfred> yeah, most users have short messages
<Fredfred> "H‎"
<Fredfred> how are you?
<Fredfred> blabla
<Fredfred> but not 30 or 40 chars
<Fredfred> I think the spam message before has more then 100 chars

Small declaration warning

There is a small declaration warning while running make.
On CentOS 7:

gcc -I../include -g -O2 -Wall -fno-strict-aliasing -fgnu89-inline -c m_server.c
m_server.c: In function ‘do_server_estab’:
m_server.c:263:5: warning: implicit declaration of function ‘spamfilter_sendserver’ [-Wimplicit-function-declaration]
     spamfilter_sendserver(cptr);
     ^

On CentOS 6:

gcc -I../include -g -O2 -Wall -fno-strict-aliasing -fgnu89-inline -c m_server.c
m_server.c: In function ‘do_server_estab’:
m_server.c:263: warning: implicit declaration of function ‘spamfilter_sendserver’

Seems that we are missing a small declaration
Of course since its just a warning, after there is no problem with a make install.

// Cae

Possible throttle bug with WEBIRC?

We had an issue where the m.dal.net Kiwi IRC client was unable to connect to halcyon for several days in a row. After Brandon did a /rehash throttles on the server, it started working again. It appears that ircd was enforcing throttles even though the T flag is set on the IP of the webirc gateway (23.226.229.209). Dates back to 2016-06-27.

ircd.key size is too small

[2020-04-18 15:47:13] <happyfish> Installing bahamut 2.1.4.  Ran ./make-cert.sh to generate SSL cert.  Error SSL_CTX_use_certificate:ee key too small:ssl/ssl_rsa.c:310:  ssl failed! 
[2020-04-18 15:47:53] <xPsycho> hi, happyfish
[2020-04-18 15:47:53] <xPsycho> hmmm
[2020-04-18 15:48:38] <xPsycho> seems like we are only creating a 1024-bit key
[2020-04-18 15:48:45] <xPsycho> probably needs to be updated to 2048
[2020-04-18 15:49:09] <xPsycho> I haven't seen that pop up anywhere before though
[2020-04-18 15:49:17] <happyfish> yes, initially I was getting this, which may be related.  # ./ircd
[2020-04-18 15:49:17] <happyfish> bahamut-2.1.4 booting...
[2020-04-18 15:49:17] <happyfish> Initializing Encryption...
[2020-04-18 15:49:17] <happyfish> No random state found, generating entropy from /dev/urandom...
[2020-04-18 15:49:29] <xPsycho> so I wonder if your machine has a custom minimum ... or a new version of openssl has a new minimum default
[2020-04-18 15:49:52] <happyfish> thanks, i'll dig into openssl
[2020-04-18 15:50:30] <xPsycho> try changing "default_bits = 1024" to "default_bits = 2048" in our make-cert.cnf, then re-run make-cert.sh
[2020-04-18 15:52:45] <xPsycho> ls
[2020-04-18 15:54:45] <xPsycho> also, what version of OpenSSL are you using?  type "openssl version"
[2020-04-18 15:56:00] <happyfish> OpenSSL 1.1.1c FIPS  28 May 2019
[2020-04-18 15:58:51] <xPsycho> new enough
[2020-04-18 15:58:52] <xPsycho> hmm
[2020-04-18 16:00:14] <xPsycho> is this Debian?
[2020-04-18 16:03:38] <happyfish> RHEL 8.1.  I regenerated 2048 bit cert and it worked. 
[2020-04-18 16:03:47] <happyfish> "Ircd is now becoming a daemon."
[2020-04-18 16:03:52] <xPsycho> great
[2020-04-18 16:03:55] <xPsycho> I found this about Debian: https://wiki.debian.org/ContinuousIntegration/TriagingTips/openssl-1.1.1
[2020-04-18 16:04:09] <xPsycho> in /etc/ssl/openssl.cnf, CipherString = DEFAULTSECLEVEL=2
[2020-04-18 16:04:16] <xPsycho> SECLEVEL=2 means a minimum key size of 2048

Channel mode to block notices

Request from dalnet-src@ to add a channel mode that blocks notices except from those who are AOP/SOP/Founder lists.

Support for variables on ircd.conf

<@brandon> i wish ircd.conf let you use variables

The idea is to use one variable for the server's IP rather than putting it on 9999 bind lines (for both ports and connect blocks).

Alternatively, a default bind setting could also help.

-Kobi.

NO_CTCP XFLAG should NOT block ACTION CTCP (aka /me)

As was brought up in #help and #bahamut it would be beneficial for the NO_CTCP XFLAG to NOT block ACTIONS (aka /me) as those are a universal and fundamental feature of IRC: Another fact that would speak in favor of allowing them is that clients do NOT give out a CTCP response to an ACTION as it is NOT a CTCP request but its own kind of a CTCP ("no response" does NOT include say mIRC scripted on action: events etc, but actual CTCP-based queries).

Regards,

Koragg

Fails to compile with OpenSSL 1.1

$ make
Building src
make[1]: Entering directory '/home/gl/bahamut-git/src'
gcc -I../include -g -O2 -Wall -fno-strict-aliasing -c dh.c
dh.c: In function ‘dh_start_session’:
dh.c:285:11: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’
     si->dh->p = BN_dup(ircd_prime);
           ^~
In file included from ../include/memcount.h:27:0,
                 from dh.c:38:
dh.c: At top level:
../include/h.h:219:21: warning: inline function ‘get_listener_name’ declared but never defined
 extern inline char *get_listener_name(aListener *);
                     ^~~~~~~~~~~~~~~~~
../include/h.h:120:21: warning: inline function ‘finishconf’ declared but never defined
 extern inline char *finishconf(void);
                     ^~~~~~~~~~
Makefile:49: recipe for target 'dh.o' failed
make[1]: *** [dh.o] Error 1
make[1]: Leaving directory '/home/gl/bahamut-git/src'
Building doc
make[1]: Entering directory '/home/gl/bahamut-git/doc'
make[1]: Nothing to be done for 'build'.
make[1]: Leaving directory '/home/gl/bahamut-git/doc'
Building tools
make[1]: Entering directory '/home/gl/bahamut-git/tools'
make[1]: Nothing to be done for 'build'.
make[1]: Leaving directory '/home/gl/bahamut-git/tools'
******************************************************************************
* For help with bahamut, please refer to http://bahamut.dal.net/             *
* If you encouter serious security related bugs, please mail [email protected]  *
* For other bug reports and inquiries, please mail [email protected]        *
* Thank you for choosing Bahamut!  - The DALnet coding team                  *
******************************************************************************

Services Language

Hello all;

I want to add to language file for Services. what should I do convert to Services message? Which file?

Regards

RPL_MYINFO (004) does not send third param

Title says it, it appears that Bahamut does NOT send the third param for RPL_MYINFO (RAW 004) which lists all channel modes that take a parmater (so all type A, B, C modes). Opened this as was requested on #bahamut on irc.dal.net

Regards,

Koragg

/who +n is broken in 2.1.5

PR #122 accidentally removed the whole "if(wsopts.nick!=NULL)" block so there is currently no +n checking at all :/

Originally reported by Coastwatcher

Compromise for XFLAG HIDE_MODE_LISTS

XFLAG HIDE_MODE_LISTS

I guess this feature is supposed to prevent evasion, but it gives the user no recourse about who to contact. Maybe a good middle ground would be to show them any bans that affect them, but hide the actual mask and just show them who set it.

Something like:
#help <hidden> set by [email protected] (Wed Jan 01 11:58:56 2020)

/stats P behavior

Having experience with both ircd-ratbox and ircd-hybrid I note and use the /stats P functionality, which, to my knowledge, is absent for some reason in Bahamut. In both ircd-ratbox and ircd-hybrid, the /stats P (note uppercase, not lowercase) denotes a list of listen {} blocks, or ports 6660-6669, etc. Whether this is buried and disabled but present within the current Bahamut code somewhere (possible, as /stats P or p displays opers regardless of capitalization), or has been striped at some point I'd like to request the feature be re/added back with the upcoming changes if at all possible.

  • opers.txt
  • stats * P - Shows configured listen {} blocks
  • stats p - Shows opers connected and their idle times

Example output from ratbox on /stats P

P 6697 irc.somebox.net 34 active ssl
P 7000 irc.somebox.net 24 active ssl
P 6667 irc.somebox.net 206 active
P 6660 irc.somebox.net 0 active
P 6661 irc.somebox.net 0 active
P 6662 irc.somebox.net 0 active
P 6663 irc.somebox.net 0 active
P 6664 irc.somebox.net 0 active
P 6665 irc.somebox.net 0 active
P 6667 irc.somebox.net 78 active

Thanks for your consideration!

/rwho flag for webirc clients

We need a flag in /rwho to match (or not match) webirc clients. It would be helpful to know if any m.dal.net users are currently connected, but the webirc gateway info only appears to work in /whois, but not in any other tools.

Override local clone limits with SVSCLONE

We can override the global limits, but not the per-server limits, so some large shell providers still get blocked unless each individual server overrides the local limit in the .conf or temporarily with SET.

send.c: lvalue errors

PGC-S-0058-Illegal lvalue (send.c: 492)
PGC-S-0094-Illegal type conversion required (send.c: 492)
PGC-S-0058-Illegal lvalue (send.c: 1289)
PGC-S-0094-Illegal type conversion required (send.c: 1289)
PGC-S-0058-Illegal lvalue (send.c: 1298)
PGC-S-0094-Illegal type conversion required (send.c: 1298)
PGC-S-0058-Illegal lvalue (send.c: 1421)
PGC-S-0094-Illegal type conversion required (send.c: 1421)
PGC-S-0058-Illegal lvalue (send.c: 1525)
PGC-S-0094-Illegal type conversion required (send.c: 1525)
PGC-S-0058-Illegal lvalue (send.c: 1552)
PGC-S-0094-Illegal type conversion required (send.c: 1552)
PGC-S-0058-Illegal lvalue (send.c: 1579)
PGC-S-0094-Illegal type conversion required (send.c: 1579)
PGC-S-0058-Illegal lvalue (send.c: 1691)
PGC-S-0094-Illegal type conversion required (send.c: 1691)
PGC-S-0058-Illegal lvalue (send.c: 1832)
PGC-S-0094-Illegal type conversion required (send.c: 1832)
PGC-S-0058-Illegal lvalue (send.c: 1957)
PGC-S-0094-Illegal type conversion required (send.c: 1957)
PGC-S-0058-Illegal lvalue (send.c: 2022)
PGC-S-0094-Illegal type conversion required (send.c: 2022)
PGC-S-0058-Illegal lvalue (send.c: 2048)
PGC-S-0094-Illegal type conversion required (send.c: 2048)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.