Re: /usr/src/libexec/talkd notification broken on pty's when user is using misc/screen ports in -CURRENT

From: Vincent Poy <vince_at_oahu.WURLDLINK.NET>
Date: Tue, 1 Jul 2003 05:26:06 -1000 (HST)
On Tue, 1 Jul 2003, Vincent Poy wrote:

> On Mon, 30 Jun 2003, Juli Mallett wrote:
>
> > * Vincent Poy <vince_at_oahu.WURLDLINK.NET> [ Date: 2003-06-30 ]
> > 	[ w.r.t. /usr/src/libexec/talkd notification broken on pty's when user is using misc/screen ports in -CURRENT ]
> > > Greetings evertone:
> > >
> > > /usr/src/libexec/talkd aka /usr/libexec/ntalkd appears to be broken when
> > > one runs the screen-3.9.15_1 from ports and has the pty sessions under
> > > screen.  Prior to running screen, ntalkd is showing the incoming talk
> > > request.  After running screen, the talk request doesn't show up on any of
> > > the pty's the user is currently using under the primary login pty.  The
> > > issue seems to be caused by the following commits done by jmallett:
> > >
> > > src/libexec/talkd/announce.c v1.16, Thu Apr 3 05:13:27 2003 UTC jmallett
> > > src/libexec/talkd/extern.h v1.3, Thu Apr 3 05:13:27 2003 UTC jmallett
> > > src/libexec/talkd/print.c v1.12, Thu Apr 3 05:13:27 2003 UTC jmallett
> > > src/libexec/talkd/table.c v1.9, Thu Apr 3 05:13:27 2003 UTC jmallett
> > > src/libexec/talkd/talkd.c v1.14, Thu Apr 3 05:13:27 2003 UTC jmallett
> > >
> > > which has the log:
> > > MFp4 _at_27667: WARNS=5 cleanup on i386.
> > >     Remove the unused FILE\ *tf from print_mesg args, and the
> > >     bogus passing in of an uninitialised FILE* for it.
> > >
> > >     Call a timeval 'now' instead of 'clock' due to shadowing.
> > >
> > >     Remove a nested localtime declaration.
> > >
> > >     Make the delete invite argument match the ID type, u_int32_t.
> > >
> > >     Use const for pointers to const items.
> > >
> > >     Cast to long where printing as such.
> > >
> > >     Include netinet/in.h for htonl/htons.
> > >
> > > Reviewed by:	imp
> > >
> > > Reverting to the following previous versions of the files and rebuilding
> > > ntalkd fixes the issue.
> > >
> > > src/libexec/talkd/announce.c v1.15, Tue Feb 5 21:06:56 2002 UTC imp
> > > src/libexec/talkd/extern.h v1.2, Tue Feb 5 21:07:47 2002 UTC imp
> > > src/libexec/talkd/print.c v1.11, Mon Feb 18 20:35:19 2002 UTC mike
> > > src/libexec/talkd/table.c v1.8, Tue Feb 5 21:06:56 2002 UTC imp
> > > src/libexec/talkd/talkd.c v1.13, Tue Feb 5 21:06:56 2002 UTC imp
> >
> > This may be a bit frustrating, but can you back out deltas by hand
> > and try to tell me which change it was that caused the problem?
>
> Hi Juli and Cy:
>
> 	It isn't the changes that caused the problem because here is what
> I did just to verify the behavior of before and after the changes you did.
>
> before,
>
> in screen-3.9.15 with both the port and if I compile it on my own with the
> configure script and then make, the ntalkd daemon doesn't do the
> notification in any of the pty's while running under screen except when I
> am in a ytalk session where the prompt will come up if I want to talk to
> user_at_somedomain.
>
> with screen-3.9.13, screen-3.9.11 which I compiled on my own with the
> configure script and then make, the ntalkd daemon doesn't do the
> notification in any of the pty's while running under screen except when I
> am in a ytalk session where the prompt will come up if I want to talk to
> user_at_somedomain.
>
> with the screen-3.9.10 binary I compiled from ports before, ntalkd works
> correctly:
>
> Message from Talk_Daemon_at_bigbang.DNALOGIC.NET at 5:09 on 2003/07/01 ...
> talk: connection requested by vince_at_oahu.wurldlink.net
> talk: respond with:  talk vince_at_oahu.wurldlink.net
>
> With the changes you did,
>
> the screen-3.9.15 port as well as screen-3.9.15,
> screen-3.9.13, screen-3.9.11 which I compiled on my own with the
> configure script and then make, the ntalkd daemon doesn't do the
> notification in any of the pty's while running under screen and the prompt
> doesn't come up in a ytalk session either if I want to talk to
> user_at_somedomain.
>
> with the screen-3.9.10 binary I compiled from ports before, ntalkd works
> correctly:
>
> Message from Talk_Daemon_at_bigbang.DNALOGIC.NET at 5:49 on 2003/07/01 ...
> talk: connection requested by vince_at_oahu.wurldlink.net
> talk: respond with:  talk vince_at_oahu.wurldlink.net
>
> 	So it seems that it is not the changes you did but everything
> after newer than screen-3.9.10, the talkd daemon isn't working when the
> pty's are under screen.  So it's probably more of a bug under screen than
> anything else.  I couldn't find the contact info for the author for screen
> to find out how to fix this.

	Okay, I found the problem...  It is not related to ntalkd or
screen.  The issue is that -CURRENT uses devfs which I assume generates
all the devices in /dev.  The ssh tty /dev/ttyp0 does get the correct
user vince group tty for the ownership.  However, the screen tty's which
are ttyp1-ttypa has user vince and the group is users.  Doing chown :tty
/dev/ttyp1 fixes the problem so the problem lies in the group for the tty
being used being the group of the user and not tty.


Cheers,
Vince - vince_at_WURLDLINK.NET - Vice President             ________   __ ____
Unix Networking Operations - FreeBSD-Real Unix for Free / / / / |  / |[__  ]
WurldLink Corporation                                  / / / /  | /  | __] ]
San Francisco - Honolulu - Hong Kong                  / / / / / |/ / | __] ]
HongKong Stars/Gravis UltraSound Mailing Lists Admin /_/_/_/_/|___/|_|[____]
Almighty1_at_IRC - oahu.DAL.NET Hawaii's DALnet IRC Network Server Admin
Received on Tue Jul 01 2003 - 06:26:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:13 UTC