22 "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
28 if (
size < 2 || output_size < 2 + 1 || (count && count != 25))
50 if (
size < 3 || output_size < 1 + 4 + 4 + 1 ||
51 (count && (count > 0xffffff || !(count & 1))))
66 value = (
unsigned long) (
unsigned char)
input[0] |
67 ((
unsigned long) (
unsigned char)
input[1] << 8) |
68 ((
unsigned long) (
unsigned char)
input[2] << 16);
84 if (
size < 3 || output_size < 3 + 4 + 1 || (count && count != 1000))
94 value = (
unsigned long) (
unsigned char)
input[0] |
95 ((
unsigned long) (
unsigned char)
input[1] << 8) |
96 ((
unsigned long) (
unsigned char)
input[2] << 16);
103 if (
size >= 6 && output_size >= 3 + 4 + 4 + 1)
105 value = (
unsigned long) (
unsigned char)
input[3] |
106 ((
unsigned long) (
unsigned char)
input[4] << 8) |
107 ((
unsigned long) (
unsigned char)
input[5] << 16);
121 "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
126 const unsigned char *sptr = (
const unsigned char *) src;
127 const unsigned char *end = sptr +
size;
128 unsigned char *dptr = (
unsigned char *) dst;
136 c1 = (c1 & 0x03) << 4;
146 c1 = (c2 & 0x0f) << 2;
157 }
while (sptr < end);
164 if (
size < 16 || output_size < 7 + 22 + 1 ||
165 (count && (count < 4 || count > 31)))
179 output[4] =
'0' + count / 10;
180 output[5] =
'0' + count % 10;
char * _crypt_gensalt_extended_rn(unsigned long count, const char *input, int size, char *output, int output_size)
char * _crypt_gensalt_blowfish_rn(unsigned long count, const char *input, int size, char *output, int output_size)
static unsigned char _crypt_itoa64[64+1]
char * _crypt_gensalt_md5_rn(unsigned long count, const char *input, int size, char *output, int output_size)
static unsigned char BF_itoa64[64+1]
static void BF_encode(char *dst, const BF_word *src, int size)
char * _crypt_gensalt_traditional_rn(unsigned long count, const char *input, int size, char *output, int output_size)
static pg_noinline void Size size