| 439 | */ |
| 440 | extern "C" |
| 441 | void generate_user_salt(char *buffer, int buffer_len) |
| 442 | { |
| 443 | char *end= buffer + buffer_len - 1; |
| 444 | #ifdef HAVE_YASSL |
| 445 | yaSSL::RAND_bytes((unsigned char *) buffer, buffer_len); |
| 446 | #else |
| 447 | RAND_bytes((unsigned char *) buffer, buffer_len); |
| 448 | #endif |
| 449 | |
| 450 | /* Sequence must be a legal UTF8 string */ |
| 451 | for (; buffer < end; buffer++) |
| 452 | { |
| 453 | *buffer &= 0x7f; |
| 454 | if (*buffer == '\0' || *buffer == '$') |
| 455 | *buffer= *buffer + 1; |
| 456 | } |
| 457 | /* Make sure the buffer is terminated properly */ |
| 458 | *end= '\0'; |
| 459 | } |
| 460 | |
| 461 | void xor_string(char *to, int to_len, char *pattern, int pattern_len) |
| 462 | { |
no test coverage detected