OpenVAS Scanner
7.0.0~git
|
Unix SMB/CIFS implementation: Character set conversion Extensions. More...
#include "byteorder.h"
#include "iconv.h"
#include "proto.h"
#include "smb.h"
#include <gvm/base/logging.h>
Go to the source code of this file.
Macros | |
#define | uint8 uint8_t |
#define | uint16 uint16_t |
#define | _PUBLIC_ |
#define | G_LOG_DOMAIN "lib nasl" |
GLib logging domain. More... | |
#define | False 0 |
#define | True 1 |
Typedefs | |
typedef unsigned int | bool |
Functions | |
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) |
static int | check_dos_char_slowly_ntlmssp (uint16 c) |
char | lp_failed_convert_char_ntlmssp (void) |
void | init_valid_table_ntlmssp (void) |
size_t | strlen_w_ntlmssp (const uint16 *src) |
static const char * | charset_name_ntlmssp (charset_t ch) |
void | lazy_initialize_conv_ntlmssp (void) |
void | init_iconv_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) |
Variables | |
static uint8 * | valid_table_ntlmssp |
static bool | valid_table_use_unmap_ntlmssp |
static smb_iconv_t | conv_handles_ntlmssp [NUM_CHARSETS][NUM_CHARSETS] |
static bool | conv_silent_ntlmssp |
Unix SMB/CIFS implementation: Character set conversion Extensions.
Character-set conversion routines built on our iconv.
MODIFICATIONS: only those functions that are required for OpenVAS are retained, others are removed Modified By Preeti Subramanian spree ti@s ecpod .com
Definition in file charcnv.c.
|
static |
Definition at line 192 of file charcnv.c.
References CH_UTF16BE, CH_UTF16LE, CH_UTF8, smb_iconv_close_ntlmssp(), and smb_iconv_open_ntlmssp().
Referenced by init_iconv_ntlmssp().
|
static |
Definition at line 86 of file charcnv.c.
References CH_DOS, CH_UTF16LE, convert_string_ntlmssp(), and False.
Referenced by init_valid_table_ntlmssp().
|
static |
Convert string from one encoding to another, making error checking etc Slow path version - uses (slow) iconv.
src | pointer to source string (multibyte or singlebyte) |
srclen | length of the source string in bytes |
dest | pointer to destination string (multibyte or singlebyte) |
destlen | maximal length allowed for string |
allow_bad_conv | determines if a "best effort" conversion is acceptable (never returns errors) |
Ensure the srclen contains the terminating zero.
Definition at line 335 of file charcnv.c.
References CH_UTF16BE, CH_UTF16LE, conv_handles_ntlmssp, conv_silent_ntlmssp, EILSEQ, lazy_initialize_conv_ntlmssp(), lp_failed_convert_char_ntlmssp(), smb_iconv_ntlmssp(), strlen_w_ntlmssp(), and uint16.
Referenced by convert_string_ntlmssp().
size_t convert_string_ntlmssp | ( | charset_t | from, |
charset_t | to, | ||
void const * | src, | ||
size_t | srclen, | ||
void * | dest, | ||
size_t | destlen, | ||
bool | allow_bad_conv | ||
) |
Convert string from one encoding to another, making error checking etc Fast path version - handles ASCII first.
src | pointer to source string (multibyte or singlebyte) |
srclen | length of the source string in bytes, or -1 for nul terminated. |
dest | pointer to destination string (multibyte or singlebyte) |
destlen | maximal length allowed for string - NEVER -1. |
allow_bad_conv | determines if a "best effort" conversion is acceptable (never returns errors) |
Ensure the srclen contains the terminating zero.
This function has been hand-tuned to provide a fast path. Don't change unless you really know what you are doing. JRA.
Definition at line 502 of file charcnv.c.
References CH_UTF16BE, CH_UTF16LE, and convert_string_internal_ntlmssp().
Referenced by check_dos_char_slowly_ntlmssp().
void init_iconv_ntlmssp | ( | void | ) |
Initialize iconv conversion descriptors.
This is called the first time it is needed, and also called again every time the configuration is reloaded, because the charset or codepage might have changed.
Definition at line 255 of file charcnv.c.
References CH_UNIX, CH_UTF16BE, CH_UTF16LE, charset_name_ntlmssp(), conv_handles_ntlmssp, conv_silent_ntlmssp, False, init_valid_table_ntlmssp(), NUM_CHARSETS, smb_iconv_close_ntlmssp(), smb_iconv_open_ntlmssp(), and True.
Referenced by lazy_initialize_conv_ntlmssp().
void init_valid_table_ntlmssp | ( | void | ) |
Definition at line 134 of file charcnv.c.
References check_dos_char_slowly_ntlmssp(), False, lazy_initialize_conv_ntlmssp(), SSVAL, uint8, valid_table_ntlmssp, and valid_table_use_unmap_ntlmssp.
Referenced by init_iconv_ntlmssp().
void lazy_initialize_conv_ntlmssp | ( | void | ) |
Definition at line 236 of file charcnv.c.
References False, init_iconv_ntlmssp(), and True.
Referenced by convert_string_internal_ntlmssp(), and init_valid_table_ntlmssp().
char lp_failed_convert_char_ntlmssp | ( | void | ) |
Definition at line 109 of file charcnv.c.
Referenced by convert_string_internal_ntlmssp().
size_t strlen_w_ntlmssp | ( | const uint16 * | src | ) |
Definition at line 175 of file charcnv.c.
References COPY_UCS2_CHAR, and uint16.
Referenced by convert_string_internal_ntlmssp().
|
static |
Definition at line 129 of file charcnv.c.
Referenced by convert_string_internal_ntlmssp(), and init_iconv_ntlmssp().
|
static |
Definition at line 131 of file charcnv.c.
Referenced by convert_string_internal_ntlmssp(), and init_iconv_ntlmssp().
|
static |
Definition at line 79 of file charcnv.c.
Referenced by init_valid_table_ntlmssp().
|
static |
Definition at line 80 of file charcnv.c.
Referenced by init_valid_table_ntlmssp().