• IRC Chat Function

    From Dream Master@VERT/CIAD to Digital Man on Wed Jan 6 10:58:26 2021
    Good day! Maybe this one is an actual bug or I'm seriously losing my mind.

    My BBS is configured with two interfaces. The first is my management interface, the second is the BBS. Let us consider the management eth0 and the BBS eth1.

    The entire BBS is configured for eth1 via sbbs.ini. All "defaults" are removed and the IP address of eth1 is configured to ensure zero ambiguity. When I attempt to go into IRC Chat to join our amazing SysOps, I notice that I am egressing the BBS via eth0 instead of eth1 (verified via netstat).

    For example:
    [sbbs@ip-172-31-5-242 ~]$ netstat -an | grep 6667
    tcp 0 0 172.31.1.184:6667 0.0.0.0:* LISTEN
    tcp 0 0 172.31.5.242:34698 73.35.161.200:6667 ESTABLISHED

    172.31.1.184 is the IP of eth1. 172.31.5.242 is the IP of eth0.

    Based upon this netstat, communication is definitely not going where it's supposed to be going.

    I'll take any suggestions you may have to get this fixed.

    Thank you,

    Dream Master

    ---
    þ Synchronet þ Caught in a Dream - Coming Soon!
  • From Digital Man@VERT to Dream Master on Wed Jan 6 13:30:44 2021
    Re: IRC Chat Function
    By: Dream Master to Digital Man on Wed Jan 06 2021 10:58 am

    Good day! Maybe this one is an actual bug or I'm seriously losing my mind.

    My BBS is configured with two interfaces. The first is my management interface, the second is the BBS. Let us consider the management eth0 and the BBS eth1.

    The entire BBS is configured for eth1 via sbbs.ini. All "defaults" are removed and the IP address of eth1 is configured to ensure zero ambiguity. When I attempt to go into IRC Chat to join our amazing SysOps, I notice that I am egressing the BBS via eth0 instead of eth1 (verified via netstat).

    For example:
    [sbbs@ip-172-31-5-242 ~]$ netstat -an | grep 6667
    tcp 0 0 172.31.1.184:6667 0.0.0.0:* LISTEN tcp 0 0 172.31.5.242:34698 73.35.161.200:6667
    ESTABLISHED

    172.31.1.184 is the IP of eth1. 172.31.5.242 is the IP of eth0.

    Based upon this netstat, communication is definitely not going where it's supposed to be going.

    Looks like the JS Socket class does not use the outbound interface configured in sbbs.ini, but rather it binds to interface 0 (whatever interface is best-fit) by default.

    I'll take any suggestions you may have to get this fixed.

    You can experiment by adding a call to sock.bind() in exec/irc.js to bind to your preferred address, just after the sock=new Socket(); line. See how that works for ya.
    --
    digital man

    Synchronet "Real Fact" #87:
    Synchronet Message Base and its library, SMBLIB, was used by AXiS BBS Software. Norco, CA WX: 70.8øF, 33.0% humidity, 1 mph WNW wind, 0.00 inches rain/24hrs ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Dream Master@VERT/CIAD to Digital Man on Wed Jan 6 15:40:36 2021
    Re: IRC Chat Function
    By: Digital Man to Dream Master on Wed Jan 06 2021 01:30 pm

    You can experiment by adding a call to sock.bind() in exec/irc.js to bind to your preferred address, just after the sock=new Socket(); line. See how that works for ya.

    digital man, the experiment worked. Code change:

    sock=new Socket();
    sock.bind(0,server.interface_ip_address);

    netstat output:

    [sbbs@ip-172-31-5-242 ~]$ netstat -an | grep 6667
    tcp 0 0 172.31.1.184:6667 0.0.0.0:* LISTEN
    tcp 0 0 172.31.1.184:34523 192.241.178.238:6667 ESTABLISHED

    Everything is now egressing from eth1 (BBS Interface).

    Thank you!

    Dream Master

    ---
    þ Synchronet þ Caught in a Dream - Coming Soon!
  • From Nelgin@VERT/EOTLBBS to Dream Master on Wed Jan 6 16:55:13 2021
    Dream wrote:
    Good day! Maybe this one is an actual bug or I'm seriously losing my mind.

    My BBS is configured with two interfaces. The first is my management interface, the second is the BBS. Let us consider the management eth0 and the BBS eth1.

    The entire BBS is configured for eth1 via sbbs.ini. All "defaults" are removed and the IP address of eth1 is configured to ensure zero ambiguity. When I attempt to go into IRC Chat to join our amazing SysOps, I notice that I am egressing the BBS via eth0 instead of eth1 (verified via netstat).

    For example:
    [sbbs@ip-172-31-5-242 ~]$ netstat -an | grep 6667
    tcp 0 0 172.31.1.184:6667 0.0.0.0:* LISTEN tcp 0 0 172.31.5.242:34698 73.35.161.200:6667 ESTABLISHED

    172.31.1.184 is the IP of eth1. 172.31.5.242 is the IP of eth0.

    Based upon this netstat, communication is definitely not going where it's supposed to be going.

    I'll take any suggestions you may have to get this fixed.

    the 2nd parameter of the M: line in ircd.conf would usually be used to specify the IP address to bind to, however in the synchronet ircd it is commented as "not used" so it appears you cannot choose.

    It should be trivial for someone who knows what they're doing to add the functionality. I don't know what I'm doing :) Deuce may be the person to ask. I'll talk to him

    Thanks,
    Nigel

    ---
    þ Synchronet þ End Of The Line BBS - endofthelinebbs.com
  • From Nelgin@VERT/EOTLBBS to Dream Master on Wed Jan 6 18:02:21 2021
    Dream wrote:
    Re: IRC Chat Function
    By: Digital Man to Dream Master on Wed Jan 06 2021 01:30 pm

    You can experiment by adding a call to sock.bind() in exec/irc.js to bind to
    your preferred address, just after the sock=new Socket(); line. See how that
    works for ya.

    digital man, the experiment worked. Code change:

    sock=new Socket();
    sock.bind(0,server.interface_ip_address);

    A good temporary fix but we should really fix it properly by implementing the M: and P: ip properties in ircd.conf. I sent Deuce a message on irc so we'll see.

    ---
    þ Synchronet þ End Of The Line BBS - endofthelinebbs.com
  • From Digital Man@VERT to Dream Master on Wed Jan 6 19:43:15 2021
    Re: IRC Chat Function
    By: Dream Master to Digital Man on Wed Jan 06 2021 03:40 pm

    Re: IRC Chat Function
    By: Digital Man to Dream Master on Wed Jan 06 2021 01:30 pm

    You can experiment by adding a call to sock.bind() in exec/irc.js to bind to your preferred address, just after the sock=new Socket(); line. See how that works for ya.

    digital man, the experiment worked. Code change:

    sock=new Socket();
    sock.bind(0,server.interface_ip_address);

    netstat output:

    [sbbs@ip-172-31-5-242 ~]$ netstat -an | grep 6667
    tcp 0 0 172.31.1.184:6667 0.0.0.0:* LISTEN tcp 0 0 172.31.1.184:34523 192.241.178.238:6667
    ESTABLISHED

    Everything is now egressing from eth1 (BBS Interface).

    Thank you!

    Cool and you're welcome. That change will likely work fine for most sysops, but it could be different than the configured OutboundInterface in ctrl/sbbs.ini and that setting is not (currently, at least) exposed via JS. One could parse the sbbs.ini file to find it, but that's a bit of a kludge and not exactly the right approach (a different initialization file could have been used).

    Anyway, if you want to commit that change to Git and submit a merge request, I'd approve it. Or I could make it locally on your behalf (it's small enough and apparently tested). Your choice.
    --
    digital man

    Synchronet "Real Fact" #52:
    Answers to Frequently Asked Questions: http://wiki.synchro.net/faq:index
    Norco, CA WX: 59.1øF, 52.0% humidity, 0 mph SE wind, 0.00 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Nelgin on Wed Jan 6 19:45:18 2021
    Re: Re: IRC Chat Function
    By: Nelgin to Dream Master on Wed Jan 06 2021 06:02 pm

    digital man, the experiment worked. Code change:

    sock=new Socket();
    sock.bind(0,server.interface_ip_address);

    A good temporary fix but we should really fix it properly by implementing the M: and P: ip properties in ircd.conf. I sent Deuce a message on irc so we'll see.

    Dream Master was talking about the irc client (irc.js).
    --
    digital man

    Synchronet/BBS Terminology Definition #64:
    SBBS = Synchronet Bulletin Board System
    Norco, CA WX: 59.1øF, 52.0% humidity, 0 mph SE wind, 0.00 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nelgin@VERT/EOTLBBS to Digital Man on Wed Jan 6 21:49:14 2021
    Digital wrote:
    Re: Re: IRC Chat Function
    By: Nelgin to Dream Master on Wed Jan 06 2021 06:02 pm

    digital man, the experiment worked. Code change:

    sock=new Socket();
    sock.bind(0,server.interface_ip_address);

    A good temporary fix but we should really fix it properly by implementing the M: and P: ip properties in ircd.conf. I sent Deuce a message on irc so we'll see.

    Dream Master was talking about the irc client (irc.js).

    Oh, I missed that bit, sorry. That said, the ircd should still implement the binding to a specific IP, imo. Someone may wish to run two irc servers from
    the same system.

    ---
    þ Synchronet þ End Of The Line BBS - endofthelinebbs.com
  • From Dream Master@VERT/CIAD to Nelgin on Thu Jan 7 09:59:33 2021
    Re: Re: IRC Chat Function
    By: Nelgin to Dream Master on Wed Jan 06 2021 04:55 pm

    the 2nd parameter of the M: line in ircd.conf would usually be used to specify the IP address to bind to, however in the synchronet ircd it is commented as "not used" so it appears you cannot choose.

    That's where I had my hang up. If the parameter in the M: line was not used, I needed to know where else I could ensure my BBS interface would be picked up.

    Dream Master

    ---
    þ Synchronet þ Caught in a Dream - Coming Soon!