Right so I just have to call set-uid once on the first start request,
because serve/servlet hangs. Is there a slicker way to have serve/servlet
call some given initialization function once after doing it's work and
before receiving any requests? I don't see anything for that in the
documentation, but maybe I missed it. Anyway, what I have works at least.
Exactly how unsafe is it? Is it just unportable?

And thanks, Eli, but I'm less scared of hard-coding my known ruid than
having a piece of data floating around with a pointer to my passwd. (even if
it's hashed)

Jeremy


On Fri, Sep 16, 2011 at 1:26 PM, John Clements <[email protected]>wrote:

>
> On Sep 16, 2011, at 11:03 AM, Jay McCarthy wrote:
>
> > I think you can use ffi-lib with #f because it is already attached.
>
> Yeah, okay, looks like this works:
>
> #lang racket
>
> (require ffi/unsafe)
>
> ;; return type is "gid_t". Safe to use int?
> (define setuid
>  (get-ffi-obj "setuid" (ffi-lib #f)
>               (_fun _int -> _int)))
>
> (setuid 0)
>
>
> ... naturally, the setuid 0 fails, you'd have to start as root and go down.
> Also, you'd need to do that *after* the listen on port 80.
>
> John
>
>
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to