OpenVAS Scanner
7.0.0~git
|
Go to the documentation of this file.
51 #include <gvm/base/logging.h>
54 #define SMB_STRDUP(s) strdup (s)
62 #define uint16 uint16_t
73 #define G_LOG_DOMAIN "lib nasl"
83 size_t srclen,
void *dest,
size_t destlen,
84 bool allow_badcharcnv);
136 static int mapped_file;
138 const char *allowed =
".!#$%&'()_-@^`~";
155 for (i = 0; i < 128; i++)
162 for (; i < 0x10000; i++)
194 const char *ret = NULL;
203 #if defined(HAVE_NL_LANGINFO) && defined(CODESET)
204 if (ret && !strcmp (ret,
"LOCALE"))
206 const char *ln = NULL;
208 #ifdef HAVE_SETLOCALE
209 setlocale (LC_ALL,
"");
211 ln = nl_langinfo (CODESET);
238 static int initialized =
False;
258 bool did_reload =
False;
300 g_message (
"init_iconv_ntlmssp: conv_handle"
301 " initialization failed");
336 size_t srclen,
void *dest,
size_t destlen,
341 const char *inbuf = (
const char *) src;
342 char *outbuf = (
char *) dest;
349 if (srclen == (
size_t) -1)
357 srclen = strlen ((
const char *) src) + 1;
370 if (retval == (
size_t) -1)
394 return destlen - o_len;
405 if (o_len == 0 || i_len == 0)
406 return destlen - o_len;
415 return destlen - o_len;
427 if (o_len == 0 || i_len == 0)
428 return destlen - o_len;
439 return destlen - o_len;
450 if (o_len == 0 || i_len == 0)
451 return destlen - o_len;
469 if (o_len == 0 || i_len == 0)
470 return destlen - o_len;
478 return destlen - o_len;
503 size_t srclen,
void *dest,
size_t destlen,
518 const unsigned char *p = (
const unsigned char *) src;
519 unsigned char *q = (
unsigned char *) dest;
520 size_t slen = srclen;
521 size_t dlen = destlen;
522 unsigned char lastp =
'\0';
528 if ((lastp = *p) <= 0x7f)
531 if (slen != (
size_t) -1)
542 #ifdef BROKEN_UNICODE_COMPOSE_CHARACTERS
546 from, to, p, slen, q, dlen, allow_bad_conv);
547 if (ret == (
size_t) -1)
558 if (((slen != (
size_t) -1) && slen)
559 || ((slen == (
size_t) -1) && lastp))
568 const unsigned char *p = (
const unsigned char *) src;
569 unsigned char *q = (
unsigned char *) dest;
571 size_t slen = srclen;
572 size_t dlen = destlen;
573 unsigned char lastp =
'\0';
576 while (((slen == (
size_t) -1) || (slen >= 2)) && dlen)
578 if (((lastp = *p) <= 0x7f) && (p[1] == 0))
581 if (slen != (
size_t) -1)
593 #ifdef BROKEN_UNICODE_COMPOSE_CHARACTERS
598 dlen, allow_bad_conv);
605 if (((slen != (
size_t) -1) && slen)
606 || ((slen == (
size_t) -1) && lastp))
615 const unsigned char *p = (
const unsigned char *) src;
616 unsigned char *q = (
unsigned char *) dest;
618 size_t slen = srclen;
619 size_t dlen = destlen;
620 unsigned char lastp =
'\0';
623 while (slen && (dlen >= 2))
625 if ((lastp = *p) <= 0x7F)
629 if (slen != (
size_t) -1)
640 #ifdef BROKEN_UNICODE_COMPOSE_CHARACTERS
645 dlen, allow_bad_conv);
652 if (((slen != (
size_t) -1) && slen)
653 || ((slen == (
size_t) -1) && lastp))
661 #ifdef BROKEN_UNICODE_COMPOSE_CHARACTERS
int smb_iconv_close_ntlmssp(smb_iconv_t cd)
static bool valid_table_use_unmap_ntlmssp
static uint8 * valid_table_ntlmssp
static int check_dos_char_slowly_ntlmssp(uint16 c)
Unix SMB/CIFS implementation. SMB Byte handling.
#define COPY_UCS2_CHAR(dest, src)
#define SSVAL(buf, pos, val)
void init_iconv_ntlmssp(void)
Unix SMB/CIFS implementation.
static const char * charset_name_ntlmssp(charset_t ch)
size_t strlen_w_ntlmssp(const uint16 *src)
static smb_iconv_t conv_handles_ntlmssp[NUM_CHARSETS][NUM_CHARSETS]
size_t convert_string_ntlmssp(charset_t from, charset_t to, void const *src, size_t srclen, void *dest, size_t destlen, bool allow_badcharcnv)
void lazy_initialize_conv_ntlmssp(void)
smb_iconv_t smb_iconv_open_ntlmssp(const char *tocode, const char *fromcode)
static bool conv_silent_ntlmssp
char lp_failed_convert_char_ntlmssp(void)
Unix SMB/CIFS implementation. iconv memory system include wrappers.
void init_valid_table_ntlmssp(void)
static size_t convert_string_internal_ntlmssp(charset_t from, charset_t to, void const *src, size_t srclen, void *dest, size_t destlen, bool allow_bad_conv)
size_t smb_iconv_ntlmssp(smb_iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)