Cannot start conversation using talk

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Cannot start conversation using talk

ben-2

Hello, everyone;

I'm attempting to initiate a conversation via talk(1) however upon
executing the command I receive the following error:

talk: Couldn't bind to control socket: Can't assign requested address

I've uncommented the line in /etc/inetd.conf which corresponds to the
talkd daemon, however talk still refuses to work:

ntalk      dgram   udp     wait    root    /usr/libexec/ntalkd  ntalkd

Am I missing something? Does anyone else have this issue? Thank you in
advance.

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Otto Moerbeek
On Wed, Feb 19, 2020 at 03:38:24PM +0000, [hidden email] wrote:

>
> Hello, everyone;
>
> I'm attempting to initiate a conversation via talk(1) however upon
> executing the command I receive the following error:
>
> talk: Couldn't bind to control socket: Can't assign requested address
>
> I've uncommented the line in /etc/inetd.conf which corresponds to the
> talkd daemon, however talk still refuses to work:
>
> ntalk      dgram   udp     wait    root    /usr/libexec/ntalkd  ntalkd
>
> Am I missing something? Does anyone else have this issue? Thank you in
> advance.
>
> Ben Raskin.
>

inetd is not enabled by default.

        -Otto

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

ben-2
I verified the output of rcctl and inetd is running.

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Matthew Weigel
On 2020-02-19 9:48, [hidden email] wrote:
> I verified the output of rcctl and inetd is running.

Did you restart inetd after editing inetd.conf?  It has to decide what
ports to listen on when it starts up, which means it isn't going to
notice edits.
--
  Matthew Weigel

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

ben-2
>Did you restart inetd after editing inetd.conf?  It has to decide what
>ports to listen on when it starts up, which means it isn't going to
>notice edits.

Yes, I restarted inetd. I still receive the 'Couldn't bind to socket:
Can't assign requested address'

I'm not attempting to talk to another user on a different host, I'm
attempting to contact a local user, which I'm assuming will not pose
any issues.

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Frederic Cambus
On Wed, Feb 19, 2020 at 06:25:56PM +0000, [hidden email] wrote:

> >Did you restart inetd after editing inetd.conf?  It has to decide what
> >ports to listen on when it starts up, which means it isn't going to
> >notice edits.
>
> Yes, I restarted inetd. I still receive the 'Couldn't bind to socket:
> Can't assign requested address'
>
> I'm not attempting to talk to another user on a different host, I'm
> attempting to contact a local user, which I'm assuming will not pose
> any issues.

I use talk and ytalk [1] regularly on OpenBSD machines, between local
users.

Do you have a correct entry with the machine hostname (full hostname(1)
output) in /etc/hosts?

[1] https://www.cambus.net/talk-and-ytalk-nostalgia/

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

ben-2
> Do you have a correct entry with the machine hostname (full hostname(1)
> output) in /etc/hosts?

I don't. What should the entry look like? Should the hostname point to
0.0.0.0?

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Vincenzo Nicosia
On Wed, Feb 19, 2020 at 07:13:48PM +0000, [hidden email] wrote:
> > Do you have a correct entry with the machine hostname (full hostname(1)
> > output) in /etc/hosts?
>
> I don't. What should the entry look like? Should the hostname point to
> 0.0.0.0?

It should point to 127.0.0.1


Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

ben-2
In reply to this post by ben-2
I've set my hostname to point to 127.0.0.1 and I still receive the
same error. I tried with and without the domain information.

Is there a log for talkd or inetd? I've attempted to use the -d
flag for inetd however I receive no error messages or warnings.

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Zeljko Jovanovic
On 19.02.2020. 22:08, [hidden email] wrote:

> I've set my hostname to point to 127.0.0.1 and I still receive the
> same error. I tried with and without the domain information.
>
> Is there a log for talkd or inetd? I've attempted to use the -d
> flag for inetd however I receive no error messages or warnings.
>
> Ben Raskin.

I haven't used talk in decades (literally), but here is an interesting comment
from /etc/hosts on the system I am currently logged in (a Slackware Linux):

--------------------

#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.  Just add the names, addresses
#               and any aliases to this file...
#
# By the way, Arnt Gulbrandsen <[hidden email]> says that 127.0.0.1
# should NEVER be named with the name of the machine.  It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)
#

# For loopbacking.
127.0.0.1            localhost

172.30.1.10          myhost.mydomain.lan myhost

--------------------

So it seems that talk had always been picky about host name resolution.
Appart from setting your address and host and domain names in /etc/hosts, do you
have a "lookup file bind" line in /etc/resolv.conf ? If you don't, it defaults
to "lookup bind file", so it will query DNS first, and then look into
/etc/hosts. There is a possibility this too can confuse talk.


Best regards,

Zeljko Jovanovic

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

ben-2
>Appart from setting your address and host and domain names in /etc/hosts, do you
>have a "lookup file bind" line in /etc/resolv.conf ? If you don't, it defaults
>to "lookup bind file", so it will query DNS first, and then look into
>/etc/hosts. There is a possibility this too can confuse talk.

Adding `lookup bind file` to resolv.conf solved the issue. Thank you,
Zeljko.

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Steve Litt
In reply to this post by Vincenzo Nicosia
On Wed, 19 Feb 2020 21:01:10 +0100
KatolaZ <[hidden email]> wrote:

> On Wed, Feb 19, 2020 at 07:13:48PM +0000, [hidden email] wrote:
> > > Do you have a correct entry with the machine hostname (full
> > > hostname(1) output) in /etc/hosts?  
> >
> > I don't. What should the entry look like? Should the hostname point
> > to 0.0.0.0?  
>
> It should point to 127.0.0.1

Could it also point to the net address of the computer, like
192.168.100.2? I ask because I might let others talk via my talk server.

SteveT

Steve Litt
February 2020 featured book: Thriving in Tough Times
http://www.troubleshooters.com/thrive

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

Steve Litt
In reply to this post by ben-2
On Wed, 19 Feb 2020 15:48:00 +0000 (UTC)
[hidden email] wrote:

> I verified the output of rcctl and inetd is running.
>
> Ben Raskin.
>

Hi Ben,

Here's what I did on my Void Linux computer to get talk working:

* Configured xinetd to work
* Make sure xinetd has an entry for talk[1]
* As my normal user, (slitt), ssh slitt@192.168.100.2
* Started talkd
* From inside that ssh session, talk root@192.168.100.2
* At that point I receive "waiting for your party to reply"
* I go to a root terminal, and it's asking me to reply. I reply, but
  using the IP address, not my hostname.
* At that point, the two can talk at their convenience.

Notice on the command line, I used the IP address, not the hostname.
Notice that what was in hostname really didn't matter. I couldn't
change /etc/hostname to fqdn because it busted a bunch of other stuff,
and I'm not good enough at nsd/unbound to get "mydesk" point to
192.168.100.2. Didn't matter, I used the IP address on the command line.


[1]: /etc/xinetd.d/talk below:
=======================================
service ntalk
{
        flags = REUSE
        socket_type = dgram
        wait = yes
        user = root
        server = /usr/bin/talkd
        log_on_failure += USERID
        disable = no
}
============================================

SteveT

Steve Litt
February 2020 featured book: Thriving in Tough Times
http://www.troubleshooters.com/thrive

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

ben-2
Thank you, Steve. I was able to get talk to work
by properly configuring /etc/resolve.conf as well
as the hosts file.

Ben Raskin.

Reply | Threaded
Open this post in threaded view
|

Re: Cannot start conversation using talk

David Diggles-2
In reply to this post by ben-2
On Wed, Feb 19, 2020 at 09:08:07PM +0000, [hidden email] wrote:
> I've set my hostname to point to 127.0.0.1 and I still receive the
> same error. I tried with and without the domain information.
>
> Is there a log for talkd or inetd? I've attempted to use the -d
> flag for inetd however I receive no error messages or warnings.
>
> Ben Raskin.

I recommend doing this to troubleshoot:

tcpdump -n -e -ttt -i pflog0 -p 518

then try talk,
see if your pf rules are blocking the udp

.d.d.