From: Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: Noob dumb question (extending emacs)
Date: Sat, 23 Oct 2021 21:52:15 +0200 [thread overview]
Message-ID: <87h7d7wmc0.fsf@zoho.eu> (raw)
In-Reply-To: 87sfwry519.fsf@zoho.eu
>> It is *not* okay to offer a library for password generation
>> using a weak generator to other people without explaining
>> its entropy characteristics so that they could assess
>> their risk.
>
> But what is the method stipulated then, we'll just do
> a `random-passwd' with that ...
From pwgen on Debian 11:
/*
* randnum.c -- generate (good) randum numbers.
*
* Copyright (C) 2001,2002 by Theodore Ts'o
*
* This file may be distributed under the terms of the GNU Public
* License.
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include "pwgen.h"
#ifdef HAVE_DRAND48
extern double drand48(void);
#endif
static int get_random_fd(void);
/* Borrowed/adapted from e2fsprogs's UUID generation code */
static int get_random_fd()
{
struct timeval tv;
static int fd = -2;
if (fd == -2) {
gettimeofday(&tv, 0);
fd = open("/dev/urandom", O_RDONLY);
if (fd == -1)
fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
}
return fd;
}
/*
* Generate a random number n, where 0 <= n < max_num, using
* /dev/urandom if possible.
*/
int pw_random_number(max_num)
int max_num;
{
unsigned int rand_num;
int i, fd = get_random_fd();
int lose_counter = 0, nbytes = sizeof(rand_num);
char *cp = (char *) &rand_num;
if (fd >= 0) {
while (nbytes > 0) {
i = read(fd, cp, nbytes);
if ((i < 0) &&
((errno == EINTR) || (errno == EAGAIN)))
continue;
if (i <= 0) {
if (lose_counter++ == 8)
break;
continue;
}
nbytes -= i;
cp += i;
lose_counter = 0;
}
}
if (nbytes == 0)
return (rand_num % max_num);
/* We weren't able to use /dev/random, fail hard */
fprintf(stderr, "No entropy available!\n");
exit(1);
}
--
underground experts united
https://dataswamp.org/~incal
next prev parent reply other threads:[~2021-10-23 19:52 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-19 22:12 Noob dumb question (extending emacs) Ivano Da Milano
2021-10-20 0:36 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-20 6:34 ` Marcin Borkowski
2021-10-20 18:13 ` H. Dieter Wilhelm
2021-10-20 6:53 ` Jean Louis
2021-10-20 8:23 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-20 17:10 ` Ivano Da Milano
2021-10-20 18:41 ` Tassilo Horn
2021-10-20 18:56 ` Ken Goldman
2021-10-20 19:01 ` Ivano Da Milano
2021-10-20 19:45 ` Jean Louis
2021-10-21 5:27 ` Ivano Da Milano
2021-10-21 7:40 ` H. Dieter Wilhelm
2021-10-21 15:46 ` Ivano Da Milano
2021-10-21 16:03 ` H. Dieter Wilhelm
2021-10-21 17:49 ` Ivano Da Milano
2021-10-21 18:51 ` Jean Louis
2021-10-21 20:02 ` H. Dieter Wilhelm
2021-10-21 22:58 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-22 6:59 ` H. Dieter Wilhelm
2021-10-22 12:18 ` Jean Louis
2021-10-22 12:56 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-22 13:14 ` Yuri Khan
2021-10-22 17:51 ` Jean Louis
2021-10-22 18:50 ` Yuri Khan
2021-10-22 19:29 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-22 21:22 ` Jean Louis
2021-10-23 18:08 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 7:10 ` Jean Louis
2021-10-24 9:35 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 17:41 ` Jean Louis
2021-10-24 18:20 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 5:47 ` Jean Louis
2021-10-25 9:40 ` Yuri Khan
2021-10-25 10:23 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 12:41 ` Jean Louis
2021-10-25 19:22 ` Jean Louis
2021-10-25 19:46 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 19:52 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 19:56 ` About randomity, entropy, random passwords - was " Jean Louis
2021-10-25 20:29 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 20:00 ` Jean Louis
2021-10-25 19:56 ` Yuri Khan
2021-10-25 20:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 20:34 ` Jean Louis
2021-10-25 20:29 ` About randomity, entropy, random passwords - was " Jean Louis
2021-10-28 20:39 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-23 8:41 ` Michael Heerdegen
2021-10-23 10:16 ` Yuri Khan
2021-10-23 10:46 ` Michael Heerdegen
2021-10-23 18:27 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 8:16 ` Michael Heerdegen
2021-10-28 2:24 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-28 11:41 ` Michael Heerdegen
2021-10-28 12:07 ` tomas
2021-10-28 20:56 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-28 22:54 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-31 20:46 ` Michael Heerdegen
2021-11-01 2:09 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-11-01 19:38 ` Michael Heerdegen
2021-11-03 1:06 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-11-03 21:24 ` Michael Heerdegen
2021-11-03 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-11-05 19:03 ` Jean Louis
2021-11-05 21:50 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-31 20:42 ` Michael Heerdegen
2021-11-05 18:59 ` Jean Louis
2021-10-23 12:54 ` Michael Heerdegen
2021-10-23 13:07 ` Yuri Khan
2021-10-23 18:41 ` ERC links to man pages (was: Re: Noob dumb question (extending emacs)) Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 7:08 ` Noob dumb question (extending emacs) Jean Louis
2021-10-24 8:57 ` Michael Heerdegen
2021-10-24 17:59 ` Jean Louis
2021-10-25 9:18 ` Michael Heerdegen
2021-10-25 9:33 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 19:44 ` Jean Louis
2021-10-25 20:20 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 20:33 ` Jean Louis
2021-10-25 12:45 ` Jean Louis
2021-10-25 13:20 ` Michael Heerdegen
2021-10-25 19:54 ` About randomity, entropy, random passwords - was " Jean Louis
[not found] ` <YXcLIC+doASdNFll@protected.localdomain>
[not found] ` <87cznryfnz.fsf@web.de>
2021-10-26 18:52 ` Jean Louis
2021-10-23 18:22 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-23 19:52 ` Emanuel Berg via Users list for the GNU Emacs text editor [this message]
2021-10-24 6:43 ` Jean Louis
2021-10-24 8:28 ` Michael Heerdegen
2021-10-24 18:03 ` Jean Louis
2021-10-24 9:31 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 18:09 ` Jean Louis
2021-10-24 18:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 5:31 ` Jean Louis
2021-10-28 2:33 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-11-05 19:09 ` Passwords -- " Jean Louis
2021-11-05 22:00 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-23 18:17 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 8:42 ` Michael Heerdegen
2021-10-22 18:55 ` Yuri Khan
2021-10-22 19:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-22 21:31 ` Jean Louis
2021-10-22 22:21 ` H. Dieter Wilhelm
2021-10-23 10:46 ` Yuri Khan
2021-10-23 18:13 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 7:48 ` Yuri Khan
2021-10-24 9:37 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-24 6:45 ` Jean Louis
2021-10-24 8:50 ` Michael Heerdegen
2021-10-24 17:20 ` Jean Louis
2021-10-24 18:17 ` Yuri Khan
2021-10-24 19:07 ` Jean Louis
2021-10-24 19:05 ` Jean Louis
2021-10-25 0:12 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-25 3:54 ` Jean Louis
2021-10-22 18:57 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-22 18:53 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-22 17:48 ` Jean Louis
2021-10-22 19:26 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-21 19:45 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-20 4:04 ` Ivano Da Milano
2021-10-20 5:46 ` H. Dieter Wilhelm
2021-10-20 5:58 ` Emanuel Berg via Users list for the GNU Emacs text editor
[not found] ` <CAPWV0kyjr0=FrkVkH+Wf573fddX3pM4iiEfkQJ6oe1J_pQuNPA@mail.gmail.com>
[not found] ` <86a6j3wo7y.fsf@duenenhof-wilhelm.de>
[not found] ` <CAPWV0kyogB+u0X4dUhpyEox6pih1MJkjE2e_OoqQoP81NZceHQ@mail.gmail.com>
2021-10-20 18:31 ` Fwd: " Ivano Da Milano
2021-10-20 6:50 ` Jean Louis
2021-10-20 8:20 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-20 14:13 ` Jean Louis
2021-10-21 19:56 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-10-23 10:51 ` Tassilo Horn
2021-10-23 18:36 ` Emanuel Berg via Users list for the GNU Emacs text editor
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87h7d7wmc0.fsf@zoho.eu \
--to=help-gnu-emacs@gnu.org \
--cc=moasenwood@zoho.eu \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).