[13095] in Athena Bugs

home help back first fref pref prev next nref lref last post

[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


home help back first fref pref prev next nref lref last post