libssh_string(3)

NAME
libssh_string - The SSH string functions

String manipulations used in libssh.

  Functions
void ssh_string_burn (struct ssh_string_struct *s)
Destroy the data in a string so it couldn't appear in a core dump.
struct ssh_string_struct * ssh_string_copy (struct ssh_string_struct *s)
Copy a string, return a newly allocated string.
void * ssh_string_data (struct ssh_string_struct *s)
Get the payload of the string.
int ssh_string_fill (struct ssh_string_struct *s, const void *data, size_t len)
Fill a string with given data.
void ssh_string_free (struct ssh_string_struct *s)
Deallocate a SSH string object.
void ssh_string_free_char (char *s)
Deallocate a char string object.
struct ssh_string_struct * ssh_string_from_char (const char *what)
Create a ssh string using a C string.
const char * ssh_string_get_char (struct ssh_string_struct *s)
Get the the string as a C nul-terminated string.
size_t ssh_string_len (struct ssh_string_struct *s)
Return the size of a SSH string.
struct ssh_string_struct * ssh_string_new (size_t size)
Create a new SSH String object.
char * ssh_string_to_char (struct ssh_string_struct *s)
Convert a SSH string to a C nul-terminated string.

Detailed Description

String manipulations used in libssh.

Function Documentation

  void ssh_string_burn (struct ssh_string_struct * s)

Destroy the data in a string so it couldn't appear in a core dump.

Parameters:
    s The string to burn.

References ssh_string_len().

  struct ssh_string_struct* ssh_string_copy (struct ssh_string_struct * s)

Copy a string, return a newly allocated string. The caller has to free the string.

Parameters:
    s String to copy.

Returns:
    Newly allocated copy of the string, NULL on error.

References ssh_string_len(), and ssh_string_new().

  void* ssh_string_data (struct ssh_string_struct * s)

Get the payload of the string.

Parameters:
    s The string to get the data from.

Returns:
    Return the data of the string or NULL on error.

Referenced by sftp_async_read(), sftp_read(), ssh_get_pubkey_hash(), ssh_get_publickey_hash(), ssh_pki_export_privkey_file(), and ssh_pki_export_pubkey_base64().

  int ssh_string_fill (struct ssh_string_struct * s, const void * data, size_t len)

Fill a string with given data. The string should be big enough.

Parameters:
    s An allocated string to fill with data.
    data The data to fill the string with.
    len Size of data.

Returns:
    0 on success, < 0 on error.

References ssh_string_len().

  void ssh_string_free (struct ssh_string_struct * s)

Deallocate a SSH string object.

Parameters:
    s The SSH string to delete.

Referenced by sftp_async_read(), sftp_attributes_free(), sftp_canonicalize_path(), sftp_close(), sftp_closedir(), sftp_fstatvfs(), sftp_mkdir(), sftp_open(), sftp_opendir(), sftp_read(), sftp_readlink(), sftp_setstat(), sftp_statvfs(), ssh_channel_open_forward(), ssh_get_publickey_hash(), ssh_pki_export_privkey_file(), ssh_pki_export_pubkey_base64(), ssh_pki_import_pubkey_base64(), ssh_userauth_publickey(), and ssh_userauth_try_publickey().

  void ssh_string_free_char (char * s)

Deallocate a char string object.

Parameters:
    s The string to delete.

Referenced by ssh_userauth_agent().

  struct ssh_string_struct* ssh_string_from_char (const char * what)

Create a ssh string using a C string.

Parameters:
    what The source 0-terminated C string.

Returns:
    The newly allocated string, NULL on error with errno set.

Note:
    The nul byte is not copied nor counted in the ouput string.

References ssh_string_new().

Referenced by sftp_canonicalize_path(), sftp_fstatvfs(), sftp_mkdir(), sftp_open(), sftp_opendir(), sftp_readlink(), sftp_setstat(), and sftp_statvfs().

  const char* ssh_string_get_char (struct ssh_string_struct * s)

Get the the string as a C nul-terminated string. This is only available as long as the SSH string exists.

Parameters:
    s The SSH string to get the C string from.

Returns:
    The char pointer, NULL on error.

References ssh_string_len().

  size_t ssh_string_len (struct ssh_string_struct * s)

Return the size of a SSH string.

Parameters:
    s The the input SSH string.

Returns:
    The size of the content of the string, 0 on error.

Referenced by sftp_async_read(), sftp_read(), ssh_get_pubkey_hash(), ssh_get_publickey_hash(), ssh_pki_export_privkey_file(), ssh_pki_export_pubkey_base64(), ssh_string_burn(), ssh_string_copy(), ssh_string_fill(), ssh_string_get_char(), and ssh_string_to_char().

  struct ssh_string_struct* ssh_string_new (size_t size)

Create a new SSH String object.

Parameters:
    size The size of the string.

Returns:
    The newly allocated string, NULL on error.

Referenced by ssh_string_copy(), and ssh_string_from_char().

  char* ssh_string_to_char (struct ssh_string_struct * s)

Convert a SSH string to a C nul-terminated string.

Parameters:
    s The SSH input string.

Returns:
    An allocated string pointer, NULL on error with errno set.

Note:
    If the input SSH string contains zeroes, some parts of the output string may not be readable with regular libc functions.

References ssh_string_len().

Referenced by sftp_canonicalize_path(), sftp_readlink(), and ssh_get_issue_banner().

Author

Generated automatically by Doxygen for libssh from the source code.