| 3157 | } |
| 3158 | |
| 3159 | size_t SSU2Session::CreatePeerTestBlock (uint8_t * buf, size_t len, uint8_t msg, SSU2PeerTestCode code, |
| 3160 | const uint8_t * routerHash, const uint8_t * signedData, size_t signedDataLen) |
| 3161 | { |
| 3162 | buf[0] = eSSU2BlkPeerTest; |
| 3163 | size_t payloadSize = 3/* msg, code, flag */ + signedDataLen; |
| 3164 | if (routerHash) payloadSize += 32; // router hash |
| 3165 | if (payloadSize + 3 > len) return 0; |
| 3166 | htobe16buf (buf + 1, payloadSize); // size |
| 3167 | buf[3] = msg; // msg |
| 3168 | buf[4] = (uint8_t)code; // code |
| 3169 | buf[5] = 0; //flag |
| 3170 | size_t offset = 6; |
| 3171 | if (routerHash) |
| 3172 | { |
| 3173 | memcpy (buf + offset, routerHash, 32); // router hash |
| 3174 | offset += 32; |
| 3175 | } |
| 3176 | memcpy (buf + offset, signedData, signedDataLen); |
| 3177 | return payloadSize + 3; |
| 3178 | } |
| 3179 | |
| 3180 | size_t SSU2Session::CreatePeerTestBlock (uint8_t * buf, size_t len, uint32_t nonce) |
| 3181 | { |
nothing calls this directly
no test coverage detected