From: Chong Yidong <cyd@stupidchicken.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Eli Zaretskii <eliz@gnu.org>,
raeburn@raeburn.org, Leo <sdl.web@gmail.com>,
emacs-devel@gnu.org
Subject: Re: Should Emacs provide a uuid function?
Date: Mon, 09 May 2011 11:09:24 -0400 [thread overview]
Message-ID: <87sjsnvrkr.fsf@stupidchicken.com> (raw)
In-Reply-To: <jwvy62gc55l.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Mon, 09 May 2011 11:38:08 -0300")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> (defun secure-random-bytes (n)
>>> (let ((file (cond
>>> ((file-exists-p "/dev/random") "/dev/random")
>>> ((file-exists-p "/dev/urandom") "/dev/urandom")
>>> (t (error "Secure random device not available")))))
>
>> Feh. Using platform-dependent interfaces in Lisp is not the Emacs
>> way, in my book. How about a primitive which would read from
>> /dev/random or /dev/urandom if they are available, or use other
>> methods if they are not?
>
> FWIW, I don't think there's anything wrong with writing the
> platform-dependent code in Elisp rather than in C. I generally prefer
> code to be written in Elisp when possible and when it's not introducing
> a performance problem.
I'm not sure we should introduce a separate function, though. It makes
more sense to improve the existing `random' primitive, making it return
a random number (via /dev/random or /dev/urandom or GnuTLS) rather than
a pseudo-random number when possible.
We could add an optional arg to `random' that says that if no secure
random source is available, signal an error instead of falling back on
the old method.
next prev parent reply other threads:[~2011-05-09 15:09 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-15 4:59 Should Emacs provide a uuid function? Leo
2011-04-24 20:43 ` Chong Yidong
2011-04-25 3:37 ` Leo
2011-04-25 4:37 ` Stephen J. Turnbull
2011-04-25 7:21 ` Ken Raeburn
2011-04-25 8:45 ` Stephen J. Turnbull
2011-04-25 9:53 ` Eli Zaretskii
2011-04-25 10:33 ` Stephen J. Turnbull
2011-04-25 12:30 ` Eli Zaretskii
2011-04-28 15:11 ` Ken Raeburn
2011-04-29 3:47 ` Stephen J. Turnbull
2011-04-30 8:00 ` Ken Raeburn
2011-04-30 18:39 ` Stephen J. Turnbull
2011-04-30 22:22 ` Ken Raeburn
2011-05-01 9:06 ` Stephen J. Turnbull
2011-04-30 13:32 ` Richard Stallman
2011-04-30 13:39 ` Eli Zaretskii
2011-04-25 19:52 ` Chong Yidong
2011-04-28 15:11 ` Ken Raeburn
2011-05-09 6:29 ` Leo
2011-05-09 7:23 ` Eli Zaretskii
2011-05-09 10:51 ` Ted Zlatanov
2011-05-09 11:35 ` Eli Zaretskii
2011-05-09 11:36 ` Leo
2011-05-09 14:38 ` Stefan Monnier
2011-05-09 14:51 ` Eli Zaretskii
2011-05-09 15:41 ` Stefan Monnier
2011-05-09 15:50 ` Eli Zaretskii
2011-05-09 17:03 ` Stefan Monnier
2011-05-09 19:32 ` Eli Zaretskii
2011-05-09 15:09 ` Chong Yidong [this message]
2011-05-09 15:26 ` Eli Zaretskii
2011-05-09 15:27 ` Ted Zlatanov
2011-05-09 15:36 ` Eli Zaretskii
2011-05-09 15:42 ` Ted Zlatanov
2011-05-09 15:53 ` Lars Magne Ingebrigtsen
2011-05-09 15:51 ` Stefan Monnier
2011-05-09 15:59 ` Lars Magne Ingebrigtsen
2011-05-09 17:05 ` Stefan Monnier
2011-05-09 17:45 ` joakim
2011-05-09 17:50 ` Lars Magne Ingebrigtsen
2011-05-10 14:03 ` Jason Rumney
2011-05-30 17:22 ` Lars Magne Ingebrigtsen
-- strict thread matches above, loose matches on Subject: below --
2011-04-26 21:06 Ben Key
2011-04-26 21:16 Ben Key
2011-04-26 22:51 ` Chong Yidong
2011-04-27 3:43 ` Leo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sjsnvrkr.fsf@stupidchicken.com \
--to=cyd@stupidchicken.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=raeburn@raeburn.org \
--cc=sdl.web@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.