[13095] in Athena Bugs
[epeisach@MIT.EDU: Possible bug found in rpd]
daemon@ATHENA.MIT.EDU (Carla Fermann)
Tue Jan 17 09:36:07 1995
Date: Tue, 17 Jan 95 09:36:57
From: carla@MIT.EDU (Carla Fermann)
To: bug-olc@MIT.EDU
------- Forwarded Message
From: epeisach@MIT.EDU
Date: Sun, 15 Jan 1995 00:32:36 -0500
To: op@MIT.EDU, carla@MIT.EDU
Subject: Possible bug found in rpd
I was looking through the code... If noone has any idea why the server
is hanging, I have something they can look at....
In rpd.c:
get connection.....
handle_request(fd,from);
close(fd);
look for next
the code will close the connection for the user.
But, then in handle_request, if there is an error, punt_connection is
called.
void
punt_connection(fd, from)
int fd;
struct sockaddr_in from;
{
close(fd);
/*
syslog(LOG_INFO, "Punted connection from %s\n", inet_ntoa(from.sin_addr));
*/
return;
}
As you can see, this closes fd twice then... I don't know what this
would mean to the operating system... It might cause some problems, but
I don't know... If someone ran ofiles (or losf) on a hung rpd, there
might be a clue... It might be a locking problem, I don't know....
Ezra
------- End of Forwarded Message