# [SERVER] NIS password checking.

ThwartedEfforts (abakun@scinc.com)
Tue, 23 Apr 1996 11:18:39 -0500

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    At 08:26 AM 4/23/96 PDT, you wrote:
    >
    >Greetings,
    >
    >	I have a few tiny questions, regarding NIS password checking from
    >within MOO. In the MetroMOO we use it, for security reasons as well as
    >user-comfort, because all MOO accounts are linked to a (restricted) Unix
    >account in the Digital City.
    >	Unfortnately, in the current implementation, the NIS check is
    >done in a single builtin, so if the NIS server is a tad slow (or worse,
    >the server went down) the entire MOO hangs. So I want to use a
    >master/slave setup like the Name-lookup mechanism, both to keep the MOO
    >from lagging and to keep the MOO from crashing :-)
    >	Has anyone done anything like this ? Is this a stupid idea and
    >should I look into non-blocking I/O ? Or 'simply' fork a new process for
    >every NIS lookup, using SIGCLD/SIGCHLD to signal completion of lookup ?
    >Which would be /least/ likely to crash the whole MOO ?

    I suggest going the reason route and writing an external handler that is
    accessible via TCP/IP... then you can open a network connection from the MOO
    to this process that does the checking.  You won't experience the same
    problems then, except you might have to just restart your query program if
    it hangs or crashes, which is much better than starting the MOO.  Security
    issues you'd want to include would be something along the lines of making
    sure that you are only accepting connections from the local machine so that
    outsiders can't connect to your process and try to crack or use CPU.

    Andy.