oxen-io / oxen-mq

Communications layer used for both the Oxen storage server and oxend
https://oxen.io
BSD 3-Clause "New" or "Revised" License
19 stars 35 forks source link

Redo random string generation #85

Closed jagerman closed 1 year ago

jagerman commented 1 year ago

This is probably slightly more efficient (as it avoids going through uniform_int_distribution), but more importantly, won't trigger some of Apple's new xcode buggy crap.

dr7ana commented 1 year ago

xcode buggy crap during liblokinet build:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/include/c++/v1/__random/uniform_int_distribution.h:162:5: error: static_assert failed due to requirement '__libcpp_random_is_valid_inttype<char>::value' "IntType must be a supported integer type"
    static_assert(__libcpp_random_is_valid_inttype<_IntType>::value, "IntType must be a supported integer type");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/-------/oxen/lokinet/external/oxen-mq/oxenmq/oxenmq.cpp:463:61: note: in instantiation of template class 'std::uniform_int_distribution<char>' requested here
    static thread_local std::uniform_int_distribution<char> dist{std::numeric_limits<char>::min(), std::numeric_limits<char>::max()};

Proposed fix (marked as "Not a Defect" 5 years ago): http://cplusplus.github.io/LWG/lwg-closed.html#2326

jagerman commented 1 year ago

xcode is buggy crap.

FTFY: you accidentally left out the word "is"