1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-19 18:15:18 -07:00

April 1st is over

This reverts commit 1668847409.
This commit is contained in:
Frank Denis 2017-04-01 20:50:58 +02:00
parent 1668847409
commit 7fa678bdca
7 changed files with 2 additions and 132 deletions

View File

@ -21,7 +21,7 @@ script:
- make distclean > /dev/null - make distclean > /dev/null
- ./configure --disable-dependency-tracking --enable-minimal - ./configure --disable-dependency-tracking --enable-minimal
- make distcheck - make distcheck
- ( echo '#include <sodium.h>' ; echo 'int main(void) { return sodium_init(); }' ) > /tmp/main.c && gcc -Isrc/libsodium/include -Isrc/libsodium/include/sodium $(find src -name '*.c' -o -name '*.S') /tmp/main.c -lcurl - ( echo '#include <sodium.h>' ; echo 'int main(void) { return sodium_init(); }' ) > /tmp/main.c && gcc -Isrc/libsodium/include -Isrc/libsodium/include/sodium $(find src -name '*.c' -o -name '*.S') /tmp/main.c
env: env:
global: global:

View File

@ -700,9 +700,6 @@ AM_CONDITIONAL([EMSCRIPTEN], [test "x$EMSCRIPTEN" != "x"])
AM_CONDITIONAL([NATIVECLIENT], [test "x$NATIVECLIENT" != "x"]) AM_CONDITIONAL([NATIVECLIENT], [test "x$NATIVECLIENT" != "x"])
LIBCURL_CHECK_CONFIG([yes], [], [],
[AC_MSG_ERROR([[Libcurl header files not found, install libcurl-dev]])])
AC_DEFINE([CONFIGURED], [1], [the build system was properly configured]) AC_DEFINE([CONFIGURED], [1], [the build system was properly configured])
dnl Libtool. dnl Libtool.

View File

@ -99,8 +99,7 @@ libsodium_la_SOURCES = \
if !EMSCRIPTEN if !EMSCRIPTEN
libsodium_la_SOURCES += \ libsodium_la_SOURCES += \
randombytes/salsa20/randombytes_salsa20_random.c \ randombytes/salsa20/randombytes_salsa20_random.c
randombytes/randomorg/randombytes_randomorg.c
if NATIVECLIENT if NATIVECLIENT
libsodium_la_SOURCES += \ libsodium_la_SOURCES += \
@ -184,14 +183,12 @@ endif
libsodium_la_LDFLAGS = \ libsodium_la_LDFLAGS = \
$(AM_LDFLAGS) \ $(AM_LDFLAGS) \
@LIBCURL@ \
-export-dynamic \ -export-dynamic \
-no-undefined \ -no-undefined \
$(LIBTOOL_EXTRA_FLAGS) $(LIBTOOL_EXTRA_FLAGS)
libsodium_la_CPPFLAGS = \ libsodium_la_CPPFLAGS = \
$(LTDLINCL) \ $(LTDLINCL) \
@LIBCURL_CPPFLAGS@ \
-I$(srcdir)/include/sodium \ -I$(srcdir)/include/sodium \
-I$(builddir)/include/sodium -I$(builddir)/include/sodium

View File

@ -53,7 +53,6 @@ SODIUM_EXPORT = \
sodium/crypto_verify_64.h \ sodium/crypto_verify_64.h \
sodium/export.h \ sodium/export.h \
sodium/randombytes.h \ sodium/randombytes.h \
sodium/randombytes_randomorg.h \
sodium/randombytes_salsa20_random.h \ sodium/randombytes_salsa20_random.h \
sodium/randombytes_sysrandom.h \ sodium/randombytes_sysrandom.h \
sodium/runtime.h \ sodium/runtime.h \

View File

@ -51,7 +51,6 @@
#ifdef __native_client__ #ifdef __native_client__
# include "sodium/randombytes_nativeclient.h" # include "sodium/randombytes_nativeclient.h"
#endif #endif
#include "sodium/randombytes_randomorg.h"
#include "sodium/randombytes_salsa20_random.h" #include "sodium/randombytes_salsa20_random.h"
#include "sodium/randombytes_sysrandom.h" #include "sodium/randombytes_sysrandom.h"
#include "sodium/runtime.h" #include "sodium/runtime.h"

View File

@ -1,19 +0,0 @@
#ifndef randombytes_randomorg_H
#define randombytes_randomorg_H
#include "export.h"
#include "randombytes.h"
#ifdef __cplusplus
extern "C" {
#endif
SODIUM_EXPORT
extern struct randombytes_implementation randombytes_randomorg_implementation;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,103 +0,0 @@
#include <curl/curl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "randombytes.h"
#include "randombytes_randomorg.h"
#include "utils.h"
typedef struct dynbuf {
char *ptr;
size_t len;
} dynbuf;
static size_t
writefunc(void *ptr, size_t size, size_t nmemb, dynbuf *db)
{
size_t new_len;
new_len = db->len + size * nmemb;
if (new_len < db->len) { /* might work */
abort();
}
db->ptr = (char *) realloc(db->ptr, new_len + 1);
if (db->ptr == NULL) {
abort();
}
memcpy(db->ptr + db->len, ptr, size * nmemb);
db->ptr[new_len] = 0;
db->len = new_len;
return size * nmemb;
}
static void
randombytes_randomorg_buf(void * const buf, const size_t size)
{
char url[512];
dynbuf db;
CURL *curl;
CURLcode res;
db.len = 0;
if ((db.ptr = (char *) malloc(1)) == NULL) {
abort();
}
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl == NULL) {
memset(buf, 0, size); /* Be robust to network failures */
return;
}
snprintf(url, sizeof url,
"https://www.random.org/integers/?num=%llu&min=0&max=255&col=1&base=10&format=plain&rnd=new",
(unsigned long long) size);
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writefunc);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &db);
res = curl_easy_perform(curl);
if (res == CURLE_OK) {
char *p = db.ptr;
char *q;
size_t i = 0;
while (i < size && (q = strchr(p, '\n')) != NULL) {
*q = 0;
((unsigned char *) buf)[i++] = (unsigned char) atoi(p);
p = q + 1;
}
}
free(db.ptr);
curl_easy_cleanup(curl);
curl_global_cleanup();
}
static uint32_t
randombytes_randomorg(void)
{
uint32_t r;
randombytes_randomorg_buf(&r, sizeof r);
return r;
}
static const char *
randombytes_randomorg_implementation_name(void)
{
return "random.org";
}
struct randombytes_implementation randombytes_randomorg_implementation = {
SODIUM_C99(.implementation_name =) randombytes_randomorg_implementation_name,
SODIUM_C99(.random =) randombytes_randomorg,
SODIUM_C99(.stir =) NULL,
SODIUM_C99(.uniform =) NULL,
SODIUM_C99(.buf =) randombytes_randomorg_buf,
SODIUM_C99(.close =) NULL
};