View Issue Details

IDProjectCategoryView StatusLast Update
0004952unrealircdpublic2018-09-10 18:34
ReporterHeXiLeDAssigned Tosyzop 
PrioritylowSeveritytweakReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSAny:OS VersionLatest stable
Product Version4.0.12 
Target VersionFixed in Version4.2.0 
Summary0004952: Failure to display any /motd & /rules 2 hops away from local server
DescriptionFor quite some time and several unrealircd versions (including 3.*) it does not seem possible for a user to display locally any info about a remote server such as /motd /rules /botmotd. However /admin does work and opers can /rehash any remote hub.


Network layout:
/Links
hub2 hub1 :2
services hub0 :1
hub1 hub0 :1
hub0 hub0 :0

/Map
hub0
|-services
`-hub1
 `-hub2
Steps To Reproduceuser on hub0
/motd hub0 (and obtains)
/motd services (and obtains)
/motd hub1 (and obtains)
/motd hub2 (MOTD File is missing)

user on hub1
/motd hub0 (and obtains)
/motd services (and obtains)
/motd hub1 (and obtains)
/motd hub2 (and obtains)

user on hub2
/motd hub0 (MOTD File is missing)
/motd services (and obtains)
/motd hub1 (and obtains)
/motd hub2 (and obtains)

user on any hub can always obtain /admin from any other hub
oper on any hub can always obtain /opermotd from any hub
Additional InformationModules used that may be relevant:
hideserver - v5.0 (Hide servers from /MAP & /LINKS) [3RD]

All these hubs have the same exact configuration from compilation to setup conf files.
Tagsbotmotd, ircd, link, list, motd, rules
3rd party modules

Activities

syzop

2017-05-28 09:33

administrator   ~0019772

Last edited: 2017-05-28 09:33

View 2 revisions

Hmm. I cannot reproduce here:

map
:testlink2.test.net 006 Nick :testlink2.test.net     (1) 
:testlink2.test.net 006 Nick :`-maintest.test.net    (1) 
:testlink2.test.net 006 Nick :  `-testlink.test.net  (0) 
:testlink2.test.net 007 Nick :End of /MAP
motd testlink.test.net
:testlink.test.net 375 Nick :- testlink.test.net Message of the Day - 
:testlink.test.net 372 Nick :- 11/6/2016 20:28
:testlink.test.net 372 Nick :- THIS IS A MOTD
:testlink.test.net 376 Nick :End of /MOTD command.


Do you have any other MOTD-related configuration? Such as tld blocks and such.

HeXiLeD

2017-05-31 22:49

reporter   ~0019782

Yes I do and all the motd's work well locally within each server as well as to the directly linked server. They only fail when requested 2 hops away.

Sample bellow:

# https://unrealircd.org/docs/TLD_block

# tld {
# mask <hostmask>;
# motd <motd-file>;
# rules <rules-file>;
# shortmotd <shortmotd-file>;
# opermotd <opermotd-file>;
# botmotd <botmotd-file>;
# channel <channel-name>;
# options {
# ssl;
# };
# };

# General MOTD
tld {
        mask *@*;
        #channel "#Help";
        motd "motd/ircd.motd";
        shortmotd "motd/ircd.smotd";
        opermotd "motd/oper.motd";
        botmotd "motd/botmotd.motd";
        rules "motd/rules.motd";
        options {
                  ssl;
        };
};

# Webchat
tld {
        mask webchat@*;
        channel "#webchat";
        motd "motd/webchat.ircd.motd";
        shortmotd "motd/webchat.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/webchat.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};


# Localhost/MOTD
tld {
        mask *@127.0.0.1;
        #channel "#Help";
        motd "motd/localhost.ircd.motd";
        shortmotd "motd/localhost.ircd.smotd";
        opermotd "motd/oper.motd";
        botmotd "motd/botmotd.motd";
        rules "motd/localhost.rules.motd";
        options {
                  ssl;
        };
};


# Certain same language countries by domain
tld {
        mask "*@*.tld1";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tdl2";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tld3";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tld4";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tld5";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tld6";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tld7";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

tld {
        mask "*@*.tld9";
        channel "#webchat";
        motd "motd/language1.ircd.motd";
        shortmotd "motd/language1.ircd.smotd";
        opermotd "motd/language1.oper.motd";
        botmotd "motd/language1.botmotd.motd";
        rules "motd/language1.rules.motd";
        options {
                  ssl;
        };
};

syzop

2018-07-14 17:02

administrator   ~0020210

Hmm. I see I forgot about this one. Is this still an issue?
Also noticed that none of the tld's match if you are non-ssl. Could be related.

HeXiLeD

2018-07-23 17:09

reporter   ~0020222

The issue still remains with UnrealIRCd-4.0.18 (Fhin6OoEM3)

Only SSL/TLS is used.

The problem is never on the next connected hub but always 2 hops away. In order words, it fails to display locally the motd of the hub connected to the hub connected locally.


hub1 (motds work)
`-hub2 (motds work)
  `-hub3 (motds fail on /motd hub3 done on hub1)


OpenSSL 1.0.2l 25 May 2017
PCRE2 10.30 2017-08-14
UHNAMES NAMESX SAFELIST HCN MAXCHANNELS=20 CHANLIMIT=#:20 MAXLIST=b:60,e:60,I:60 MAXNICKLEN=30 NICKLEN=15 CHANNELLEN=32 TOPICLEN=307 KICKLEN=307 AWAYLEN=307 :are supported by this server

MAXTARGETS=20 WALLCHOPS WATCH=128 WATCHOPTS=A SILENCE=60 MODES=12 CHANTYPES=# PREFIX=(qaohv)~&@%+ CHANMODES=beI,kLf,l,psmntirHUzMQNRTOVKDdGPZSCc
CASEMAPPING=ascii EXTBAN=~,SOcaRrnqj ELIST=MNUCT :are supported by this server
STATUSMSG=~&@%+ EXCEPTS INVEX CMDS=USERIP,KNOCK,DCCALLOW,MAP :are supported by this server

server supports: extended-join unrealircd.org/plaintext-policy=user=deny,oper=deny,server=deny unrealircd.org/link-security=2
multi-prefix account-notify userhost-in-names chghost sasl=EXTERNAL,PLAIN sts=port=6697,duration=180 cap-notify away-notify

syzop

2018-09-10 18:20

administrator   ~0020321

map
:testlink2.test.net 006 three :testlink2.test.net (1) 003
:testlink2.test.net 006 three :`-maintest.test.net (0) 001
:testlink2.test.net 006 three : `-testlink.test.net (1) 002
:testlink2.test.net 007 three :End of /MAP

motd testlink.test.net
:testlink.test.net 375 three :- testlink.test.net Message of the Day -
:testlink.test.net 372 three :- 10/9/2018 18:16
:testlink.test.net 372 three :- This is a motd for testlink.test.net
:testlink.test.net 372 three :- It has multiple lines
:testlink.test.net 372 three :- Not sure what else to say...
:testlink.test.net 376 three :End of /MOTD command.

I tried both without any tld { } blocks and with the following tld { } block:
// tld test for motd problem:
tld {
        mask *@*;
        motd "testlink.tld.motd";
        rules "testlink.tld.rules";
};

syzop

2018-09-10 18:22

administrator   ~0020322

I think the tld::options::ssl is the problem: the remote users are never detected as 'ssl'. I suppose that is a bug and it should look at the +z user mode.
Just out of curiosity, why the tld::options::ssl if all your clients are on SSL? Or did I misunderstand :)

syzop

2018-09-10 18:34

administrator   ~0020323

Ah well, not important ;). Issue fixed now. Thanks for the report!

commit 05745124f1e9456faa815877135ab4ebe99c6078 (HEAD -> unreal40, origin/unreal40, origin/HEAD)
Author: Bram Matthys <syzop@vulnscan.org>
Date: Mon Sep 10 18:33:40 2018 +0200

    Fix tld::options::ssl not detecting remote SSL users.
    Reported by HeXiLeD in https://bugs.unrealircd.org/view.php?id=4952

Issue History

Date Modified Username Field Change
2017-05-18 22:06 HeXiLeD New Issue
2017-05-18 22:06 HeXiLeD Tag Attached: ircd
2017-05-18 22:06 HeXiLeD Tag Attached: link
2017-05-18 22:06 HeXiLeD Tag Attached: list
2017-05-18 22:06 HeXiLeD Tag Attached: botmotd
2017-05-18 22:06 HeXiLeD Tag Attached: motd
2017-05-18 22:06 HeXiLeD Tag Attached: rules
2017-05-28 09:33 syzop Note Added: 0019772
2017-05-28 09:33 syzop Note Edited: 0019772 View Revisions
2017-05-31 22:49 HeXiLeD Note Added: 0019782
2018-07-14 17:02 syzop Assigned To => syzop
2018-07-14 17:02 syzop Status new => feedback
2018-07-14 17:02 syzop Note Added: 0020210
2018-07-23 17:09 HeXiLeD Note Added: 0020222
2018-09-10 18:20 syzop Note Added: 0020321
2018-09-10 18:22 syzop Note Added: 0020322
2018-09-10 18:34 syzop Status feedback => resolved
2018-09-10 18:34 syzop Resolution open => fixed
2018-09-10 18:34 syzop Fixed in Version => 4.2.0
2018-09-10 18:34 syzop Note Added: 0020323