调查目的:了解当前各基于TLS的协议方案中ClientHello的指纹独特性。理论背景见 https://arxiv.org/abs/1607.01639 。
指纹数据库:
(利益相关:我是这个的作者)
#!/bin/bash | |
dry=0 | |
if [[ $# -gt 0 && $1 == "-n" ]]; then | |
dry=1 | |
shift | |
fi | |
prefix="v" | |
if [[ $# -gt 0 ]]; then | |
if [[ $1 = -* || $# -gt 1 ]]; then |
调查目的:了解当前各基于TLS的协议方案中ClientHello的指纹独特性。理论背景见 https://arxiv.org/abs/1607.01639 。
指纹数据库:
(利益相关:我是这个的作者)
This is the second article in a series of articles around Rusts new async/await
feature. The first article about interfaces can be found
here.
In this part of the series we want to a look at a mechanism which behaves very
different in Rust than in all other languages which feature async/await
support. This mechanism is Cancellation.
As tested on Linux:
#!/bin/bash | |
# https://retropie.org.uk/forum/topic/2295/runcommand-warning-if-voltage-temperature-throttling | |
#Flag Bits | |
UNDERVOLTED=0x1 | |
CAPPED=0x2 | |
THROTTLED=0x4 | |
HAS_UNDERVOLTED=0x10000 | |
HAS_CAPPED=0x20000 |
id,username,password,when,country,host_id | |
21,admin,7ujMko0admin,2019-02-02 10:39:27,China,0 | |
22,pi,jdd,2019-02-02 10:40:09,United Kingdom,1 | |
23,pi,kkk,2019-02-02 10:40:11,United Kingdom,1 | |
24,pi,lk,2019-02-02 10:40:13,United Kingdom,1 | |
25,pi,kk',2019-02-02 10:40:16,United Kingdom,1 | |
26,pi,kjj,2019-02-02 10:40:18,United Kingdom,1 | |
27,pi,fds,2019-02-02 10:42:55,United Kingdom,1 | |
28,pi,eee,2019-02-02 10:42:56,United Kingdom,1 | |
29,pi,fds,2019-02-02 10:42:57,United Kingdom,1 |
/!\ Be very carrefull in your setup : any misconfiguration make all the git config to fail silently ! Go trought this guide step by step and it should be fine 😉
~/.ssh/config
, set each ssh key for each repository as in this exemple:What is strict aliasing? First we will describe what is aliasing and then we can learn what being strict about it means.
In C and C++ aliasing has to do with what expression types we are allowed to access stored values through. In both C and C++ the standard specifies which expression types are allowed to alias which types. The compiler and optimizer are allowed to assume we follow the aliasing rules strictly, hence the term strict aliasing rule. If we attempt to access a value using a type not allowed it is classified as undefined behavior(UB). Once we have undefined behavior all bets are off, the results of our program are no longer reliable.
Unfortunately with strict aliasing violations, we will often obtain the results we expect, leaving the possibility the a future version of a compiler with a new optimization will break code we th
I recently happened upon a very interesting implementation of popen()
(different API, same idea) called popen-noshell using clone(2)
, and so I opened an issue requesting use of vfork(2)
or posix_spawn()
for portability. It turns out that on Linux there's an important advantage to using clone(2)
. I think I should capture the things I wrote there in a better place. A gist, a blog, whatever.
This is not a paper. I assume reader familiarity with
fork()
in particular and Unix in general, though, of course, I link to relevant wiki pages, so if the unfamiliar reader is willing to go down the rabbit hole, they should be able to come ou
// A compilation of the following posts: | |
// http://stackoverflow.com/questions/18648069/g-doesnt-compile-constexpr-function-with-assert-in-it | |
// http://ericniebler.com/2014/09/27/assert-and-constexpr-in-cxx11/ | |
#include <cassert> | |
#include <utility> | |
template<class Assert> | |
inline void constexpr_assert_failed(Assert&& a) noexcept { std::forward<Assert>(a)(); } | |
// When evaluated at compile time emits a compilation error if condition is not true. |