[tor-bugs] #19821 [Core Tor/Tor]: --expensive-hardening makes configure check for curve25519-donna-c64 to fail
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Aug 3 17:42:08 UTC 2016
#19821: --expensive-hardening makes configure check for curve25519-donna-c64 to
fail
--------------------------+------------------------------
Reporter: yurivict271 | Owner:
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Core Tor/Tor | Version: Tor: 0.2.8.6
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
--------------------------+------------------------------
Comment (by yurivict271):
Command line is from config.log:
{{{
cc -o conftest -O2 -pipe -fstack-protector -fno-strict-aliasing -static
-fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer
-fasynchronous-unwind-tables -Is
rc/common -Wl,-rpath,/usr/local/lib -fstack-protector x.c -lpthread
-lexecinfo
}}}
x.c is the corresponding failed program from config.log:
{{{
/* confdefs.h */
#define PACKAGE_NAME "tor"
#define PACKAGE_TARNAME "tor"
#define PACKAGE_VERSION "0.2.8.6"
#define PACKAGE_STRING "tor 0.2.8.6"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "tor"
#define VERSION "0.2.8.6"
#define FLEXIBLE_ARRAY_MEMBER /**/
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_ACCEPT4 1
#define HAVE_BACKTRACE 1
#define HAVE_CLOCK_GETTIME 1
#define HAVE_FLOCK 1
#define HAVE_GETADDRINFO 1
#define HAVE_GETIFADDRS 1
#define HAVE_GETPASS 1
#define HAVE_GETRLIMIT 1
#define HAVE_GETTIMEOFDAY 1
#define HAVE_GMTIME_R 1
#define HAVE_INET_ATON 1
#define HAVE_IOCTL 1
#define HAVE_ISSETUGID 1
#define HAVE_LOCALTIME_R 1
#define HAVE_MEMMEM 1
#define HAVE_PIPE 1
#define HAVE_PIPE2 1
#define HAVE_READPASSPHRASE 1
#define HAVE_SIGACTION 1
#define HAVE_SOCKETPAIR 1
#define HAVE_STATVFS 1
#define HAVE_STRLCAT 1
#define HAVE_STRLCPY 1
#define HAVE_STRNLEN 1
#define HAVE_STRPTIME 1
#define HAVE_STRTOK_R 1
#define HAVE_STRTOULL 1
#define HAVE_SYSCONF 1
#define HAVE_SYSCTL 1
#define HAVE_UNAME 1
#define HAVE_USLEEP 1
#define HAVE_VASPRINTF 1
#define HAVE_PTHREAD_H 1
#define HAVE_PTHREAD_CREATE 1
#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1
#define HAVE_EVENT_GET_VERSION_NUMBER 1
#define HAVE_EVUTIL_SECURE_RNG_SET_URANDOM_DEVICE_FILE 1
#define HAVE_EVUTIL_SECURE_RNG_INIT 1
#define HAVE_EVENT2_EVENT_H 1
#define HAVE_EVENT2_DNS_H 1
#define HAVE_EVENT2_BUFFEREVENT_SSL_H 1
#define USE_BUFFEREVENTS 1
#define HAVE_STRUCT_SSL_METHOD_ST_GET_CIPHER_BY_CHAR 1
#define HAVE_SSL_CIPHER_FIND 1
/* end confdefs.h. */
#include <stdint.h>
typedef unsigned uint128_t __attribute__((mode(TI)));
int func(uint64_t a, uint64_t b) {
uint128_t c = ((uint128_t)a) * b;
int ok = ((uint64_t)(c>>96)) == 522859 &&
(((uint64_t)(c>>64))&0xffffffffL) == 3604448702L &&
(((uint64_t)(c>>32))&0xffffffffL) == 2351960064L &&
(((uint64_t)(c))&0xffffffffL) == 0;
return ok;
}
int
main ()
{
int ok = func( ((uint64_t)2000000000) * 1000000000,
((uint64_t)1234567890) << 24);
return !ok;
;
return 0;
}
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/19821#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list