[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [leafnode-list] Question regarding authentification
[...]
>I had a look. The problem (for me :-) is that checkpassword insists on
>reading the username and password from fd3, and I have (due to a lack
>of Unix programming knowledge) no idea how to send data from a parent
>process to fd3 of a child process. I assume that it has to do something
>with pipes, but sifting through Stevens so far was not very helpful.
>
>I assume that it must go somewhat like this (this is pseudo code):
Hey! Something I know!
The call you want is dup2(from, to). This duplicates the `from' fd into the
`to' fd.
It's usually used like this:
{
int pipefd[2];
// Create a pipe
pipe(pipefd);
if (fork() == 0)
{
// Inside child. We want to connect one end of the pipe to
// the child's stdout.
close(1); // Don't want old stdout
dup(pipefd[1], 1);
// Call remote process
execlp(...);
// Paranoia rules
exit(42);
}
// Now we can read from pipefd[0], and we'll get the child's stdout.
}
Connecting a pipe to fd 3 is identical (just change the close() and dup()
lines). And, of course, you can use multiple pipes.
>I assume that it wouldn't be a major fuss to include checkpassword into
>the leafnode distribution because it is free. I could still check with
>Dan Bernstein first, just to be sure. Of course configure.in would have
>to be tweaked so that an already existing checkpassword would not be
>overwritten.
Aren't there already yp services for doing this?
--
+- David Given ---------------McQ-+
| Work: dg@xxxxxxxxxxxxx | Resist the resistance!
| Play: dgiven@xxxxxxxxx |
+- http://wired.st-and.ac.uk/~dg -+
--
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list