Ticket #3 (assigned enhancement)

Opened 4 years ago

Last modified 3 years ago

Add support for network-autoconfigure using RAW 005

Reported by: De Kus Owned by: thommey
Priority: major Milestone: 1.8.1
Component: Core Version: 1.6.20
Keywords: 005 isupport Cc:

Description

This actually also involves irc.mod.

I have seen user to struggle with finding the optimum settings and it was often
necessary to patch modes.c and server.c to support new modes. I believe I read
somewhere it was unreliable, but everywhere I connected and checked the
settings, they were pretty much correct. You can learn very much from these
strings. And if you believe some server versions might screw up you have 2
options: user overrides settings in eggdrop.conf, an exception is handled
parsing RAW 004 which contains the server version.

Here are a few examples I collected together for a few server version I believe
to be popular, so you don't have to research on your own. The server version in
() are taken from RAW 004 code. I hope rizons Hybrid patch isn't mature, I
haven't found another server running it atm..
I used PuTTY in RAW protocol as client to be sure to receive raw data:

Unreal (Unreal3.2.6):
:irc.cultvehicles.net 005 De_Kus2 CMDS=KNOCK,MAP,DCCALLOW,USERIP NAMESX
SAFELISTHCN MAXCHANNELS=20 CHANLIMIT=#:20 MAXLIST=b:100,e:100,I:100 NICKLEN=20
CHANNELLEN=32 TOPICLEN=307 KICKLEN=307 AWAYLEN=307 MAXTARGETS=20 :are supported
by this server
:irc.cultvehicles.net 005 De_Kus2 WALLCHOPS WATCH=128 SILENCE=30 MODES=12
CHANTYPES=# PREFIX=(qaohv)~&@%+ CHANMODES=beI,kfL,lj,psmntirRcOAQKVCuzNSMTG
NETWORK=CultvehitlcesIRC CASEMAPPING=ascii EXTBAN=~,cqnr ELIST=MNUCT
STATUSMSG=~&@%+ EXCEPTS :are supported by this server
:irc.cultvehicles.net 005 De_Kus2 INVEX :are supported by this server

Asuka (u2.10.11.07+asuka(1.2.1)):
:port80b.se.quakenet.org 005 DeKus? WHOX WALLCHOPS WALLVOICES USERIP CPRIVMSG
CNOTICE SILENCE=15 MODES=6 MAXCHANNELS=20 MAXBANS=45 NICKLEN=15 MAXNICKLEN=15
:are supported by this server
:port80b.se.quakenet.org 005 DeKus? TOPICLEN=250 AWAYLEN=160 KICKLEN=250
CHANTYPES=#& PREFIX=(ov)@+ CHANMODES=b,k,l,imnpstrDdcCNu CASEMAPPING=rfc1459
NETWORK=QuakeNet? :are supported by this server

Hyperion (hyperion-1.0.2b):
:niven.freenode.net 005 De_Kus IRCD=dancer CAPAB CHANTYPES=# EXCEPTS INVEX
CHANMODES=bdeIq,k,lfJD,cgijLmnPQrRstz CHANLIMIT=#:20 PREFIX=(ov)@+
MAXLIST=bdeI:50 MODES=4 STATUSMSG=@ KNOCK NICKLEN=16 :are supported by this server
:niven.freenode.net 005 De_Kus SAFELIST CASEMAPPING=ascii CHANNELLEN=30
TOPICLEN=450 KICKLEN=450 KEYLEN=23 USERLEN=10 HOSTLEN=63 SILENCE=50 :are
supported by this server

Bahamut (bahamut-1.8(04))
:broadway.ny.us.dal.net 005 De_Kus NETWORK=DALnet SAFELIST MAXBANS=200
MAXCHANNELS=20 CHANNELLEN=32 KICKLEN=307 NICKLEN=30 TOPICLEN=307 MODES=6
CHANTYPES=# CHANLIMIT=#:20 PREFIX=(ov)@+ STATUSMSG=@+ :are available on this server
:broadway.ny.us.dal.net 005 De_Kus CASEMAPPING=ascii WATCH=128 SILENCE=10
ELIST=cmntu EXCEPTS INVEX CHANMODES=beI,k,jl,cimMnOprRst
MAXLIST=b:200,e:100,I:100
TARGMAX=DCCALLOW:,JOIN:,KICK:4,KILL:20,NOTICE:20,PART:,PRIVMSG:20,WHOIS:,WHOWAS:
:are available on this server

Hybrid (hybrid-7.2.2+plexus-3.0.0(20061228_0-465)):
:irc.rizon.ca 005 De_Kus CALLERID CASEMAPPING=rfc1459 DEAF=D KICKLEN=160 MODES=4
NICKLEN=30 TOPICLEN=390 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ NETWORK=Rizon
MAXLIST=beI:100 MAXTARGETS=4 CHANTYPES=# :are supported by this server
:irc.rizon.ca 005 De_Kus CHANLIMIT=#:25 CHANNELLEN=50
CHANMODES=eIb,k,l,BMNORScimnpst AWAYLEN=160 KNOCK ELIST=CMNTU SAFELIST NAMESX
FNC EXCEPTS=e INVEX=I :are supported by this server

IRCu (u2.10.12.pre09):
:Lelystad.NL.EU.UnderNet?.Org 005 De_Kus WHOX WALLCHOPS WALLVOICES USERIP
CPRIVMSG CNOTICE SILENCE=15 MODES=6 MAXCHANNELS=20 MAXBANS=45 NICKLEN=12
MAXNICKLEN=15 TOPICLEN=160 AWAYLEN=160 KICKLEN=160 CHANNELLEN=200
MAXCHANNELLEN=200 :are supported by this server
:Lelystad.NL.EU.UnderNet?.Org 005 De_Kus CHANTYPES=#& PREFIX=(ov)@+ STATUSMSG=@+
CHANMODES=b,k,l,imnpstrDd CASEMAPPING=rfc1459 NETWORK=UnderNet? :are supported by
this server

IRC (2.11.1p1):
:Uni-Erlangen.DE 005 De_Kus RFC2812 PREFIX=(ov)@+ CHANTYPES=#&!+ MODES=3
CHANLIMIT=#&!+:21 NICKLEN=15 TOPICLEN=160 KICKLEN=160 MAXLIST=beIR:42
CHANNELLEN=50 IDCHAN=!:5 CHANMODES=beIR,k,l,imnpstaqr :are supported by this server
:Uni-Erlangen.DE 005 De_Kus PENALTY FNC EXCEPTS=e INVEX=I CASEMAPPING=ascii
NETWORK=IRCnet :are supported by this server

Change History

comment:1 Changed 4 years ago by simple

  • Milestone set to 1.6.23

comment:2 Changed 4 years ago by pseudo

  • Owner set to thommey
  • Status changed from new to assigned
  • Milestone 1.6.23 deleted

comment:3 Changed 4 years ago by simple

  • Milestone set to 1.6.23

comment:4 Changed 4 years ago by simple

  • Version set to 1.6.20 CVS

comment:5 Changed 4 years ago by pseudo

  • Milestone changed from 1.8.2 to 1.8.1

comment:6 Changed 3 years ago by Robby

Please do make this configurable (enable/disable) though, as in some IRCd server software the info in raw 005 is not totally reliable. I'm on such a server (inspircd 1.2.8) which for example has MODES=2 and yet I can set 4 modes at a time, also MAXBANS=60 and yet I can set up to 1000+ (really, I tested it). So, the info in there is actually not so reliable unfortunately, and so the need/possibility to set the individual settings (like it's possible now) should continue to exist.

comment:7 Changed 3 years ago by thommey

I'm shocked but not entirely surprised such a misconfigured network/ircd exists. You should hunt down the adminstrators of it and yell at them 24/7 if it in fact behaves as you described. It's planned to give options to override raw005 information on a keyword basis, so you could tell eggdrop that it's really MODES=4 and BANLIST=1000. It's not planned to make it possible to disable that feature as a whole though, because it's intended to get rid of config variables.

comment:8 Changed 3 years ago by Robby

This is not really misconfiguration, I'm an IRC operator there and have close contact with the administrators. This seems to be a bug in the ircd itself, hence me saying that the info in RAW 005 isn't totally reliable. Good to know it will be possible to override that. :)

comment:9 Changed 3 years ago by pseudo

It has to be reliable. Hunt down the developers of this software and make them fix it. Providing incorrect information in 005 is terrible.

Note: See TracTickets for help on using tickets.