its a vm that takes a few moments to get the real time hen coming out of sleep ;)
On 09/06/2016 17:02, Etienne Champetier wrote: > Hi, > > Everything is fine except your computer clock ;) > ubox commit: > author Etienne CHAMPETIER <champetier.etie...@gmail.com> > Thu, 9 Jun 2016 16:03:00 +0300 (13:03 +0000) > committer John Crispin <j...@phrozen.org> > Wed, 8 Jun 2016 01:19:24 +0300 (00:19 +0200) > > staging commit: > author John Crispin <j...@phrozen.org> > Wed, 8 Jun 2016 01:22:16 +0300 (00:22 +0200) > committer John Crispin <j...@phrozen.org> > Wed, 8 Jun 2016 01:56:48 +0300 > > Thanks > Etienne > > 2016-06-09 17:17 GMT+03:00 John Crispin <j...@phrozen.org>: >> Hi Etienne, >> >> pushed the patch to ubox.git and updated the ubox package inside my >> staging tree. should the tool be installed to /usr/bin ? if not let me >> know and i will fix the staged commit. >> >> John >> >> On 09/06/2016 15:03, Etienne CHAMPETIER wrote: >>> getrandom() was introduced in version 3.17 of the Linux kernel. >>> By default getrandom() block until /dev/urandom pool has been initialized >>> and then read from it. >>> Read buffer is 256 bytes so getrandom() calls always succeed. >>> >>> First usage will be to save a seed for /dev/urandom. >>> >>> Signed-off-by: Etienne CHAMPETIER <champetier.etie...@gmail.com> >>> --- >>> CMakeLists.txt | 5 +++++ >>> getrandom.c | 58 >>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>> 2 files changed, 63 insertions(+) >>> create mode 100644 getrandom.c >>> >>> diff --git a/CMakeLists.txt b/CMakeLists.txt >>> index 834b5b6..73e8753 100644 >>> --- a/CMakeLists.txt >>> +++ b/CMakeLists.txt >>> @@ -16,6 +16,11 @@ IF(DEBUG) >>> ADD_DEFINITIONS(-DDEBUG -g3) >>> ENDIF() >>> >>> +ADD_EXECUTABLE(getrandom getrandom.c) >>> +INSTALL(TARGETS getrandom >>> + RUNTIME DESTINATION bin >>> +) >>> + >>> ADD_EXECUTABLE(kmodloader kmodloader.c) >>> TARGET_LINK_LIBRARIES(kmodloader ubox) >>> >>> diff --git a/getrandom.c b/getrandom.c >>> new file mode 100644 >>> index 0000000..9671202 >>> --- /dev/null >>> +++ b/getrandom.c >>> @@ -0,0 +1,58 @@ >>> +/* >>> + * Copyright (C) 2016 Etienne Champetier <champetier.etie...@gmail.com> >>> + * >>> + * This program is free software; you can redistribute it and/or modify >>> + * it under the terms of the GNU General Public License as published by >>> + * the Free Software Foundation; either version 2 of the License, or >>> + * (at your option) any later version. >>> + * >>> + * This program is distributed in the hope that it will be useful, >>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>> + * GNU General Public License for more details. >>> + */ >>> +#define _GNU_SOURCE >>> +#include <errno.h> >>> +#include <linux/random.h> >>> +#include <stdio.h> >>> +#include <stdlib.h> >>> +#include <string.h> >>> +#include <sys/syscall.h> >>> +#include <unistd.h> >>> + >>> +#define ERROR_EXIT(fmt, ...) do { \ >>> + fprintf(stderr, fmt, ## __VA_ARGS__); \ >>> + return EXIT_FAILURE; \ >>> + } while (0) >>> + >>> +static int usage(char *name) >>> +{ >>> + fprintf(stderr, "Usage: %s <nb>\n", name); >>> + fprintf(stderr, " => return <nb> bytes from getrandom()\n"); >>> + return EXIT_FAILURE; >>> +} >>> + >>> +int main(int argc, char *argv[]) >>> +{ >>> + if (argc != 2) >>> + return usage(argv[0]); >>> + >>> + if (isatty(STDOUT_FILENO)) >>> + ERROR_EXIT("Not outputting random to a tty\n"); >>> + >>> + int nbtot = atoi(argv[1]); >>> + if (nbtot < 1) >>> + ERROR_EXIT("Invalid <nb> param (must be > 0)\n"); >>> + >>> + char buf[256]; >>> + int len = sizeof(buf); >>> + while (nbtot > 0) { >>> + if (nbtot <= sizeof(buf)) >>> + len = nbtot; >>> + if (syscall(SYS_getrandom, buf, len, 0) == -1) >>> + ERROR_EXIT("getrandom() failed: %s\n", strerror(errno)); >>> + if (write(STDOUT_FILENO, buf, len) != len) >>> + ERROR_EXIT("write() failed: %s\n", strerror(errno)); >>> + nbtot -= sizeof(buf); >>> + } >>> +} >>> >> >> _______________________________________________ >> Lede-dev mailing list >> Lede-dev@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/lede-dev _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev