Copyright © 2001 - 2005 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index

SILC Toolkit Reference Manual SILC Core Library SILC Authentication Interface SILC Message Interface SILC Channel Interface SILC Command Interface SILC Notify Interface SILC Status Types SILC Modes SILC ID Interface SILC ID Cache Interface SILC Argument Interface SILC Attributes Interface Packet Protocol Interface SILC Utility Library Basic SILC Types SILC Buffer Interface SILC Buffer Format Interface SILC Hash Table Interface SILC Logging Interface SILC Memory Interface SILC Mutex Interface SILC Thread Interface SILC Network Interface SILC Schedule Interface SILC Socket Interface SILC Protocol Interface SILC Config Interface SILC File Util Interface SILC String Util Interface SILC UTF-8 Interface SILC Stringprep Interface SILC Util Interface SILC List Interface SILC Dynamic List Interface SILC VCard Interface SILC Application Utilities SILC MIME Interface SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC PKCS#1 API SILC Hash Interface SILC HMAC Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems Interface SILC Client Library Using SILC Client Library Tutorial Arguments for command_reply Client Operation SilcStatus Error Arguments in command_reply Client Operation Arguments for notify Client Operation Unicode and UTF-8 Strings in Client Library Client Library Interface Reference SILC Key Exchange Library SILC SKE Interface SKE Status Types SKE Diffie Hellman Groups SKE Payloads SILC Math Library SILC MP Interface SILC Math Interface Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Function silc_identifier_check SYNOPSIS
        unsigned char *
        silc_identifier_check(const unsigned char *identifier,
                              SilcUInt32 identifier_len,
                              SilcStringEncoding identifier_encoding,
                              SilcUInt32 max_allowed_length,
                              SilcUInt32 *out_len);
DESCRIPTION
        Checks that the 'identifier' string is valid identifier string
        and does not contain any unassigned or prohibited character.  This
        function is used to check for valid nicknames, server names,
        usernames, hostnames, service names, algorithm names, other security
        property names, and SILC Public Key name.

        If the 'max_allowed_length' is non-zero the identifier cannot be
        longer than that, and NULL is returned if it is.  If zero (0), no
        length limit exist.  For nicknames the max length must be 128 bytes.
        Other identifiers has no default limit, but application may choose
         one anyway.

        Returns the validated string, that the caller must free.  Returns
        NULL if the identifier string is not valid or contain unassigned or
        prohibited characters.  Such identifier strings must not be used
        SILC protocol.  The returned string is always in UTF-8 encoding.
        The length of the returned string is in 'out_len'.
NOTES
        In addition of validating the identifier string, this function
        may map characters to other characters or remove characters from the
        original string.  This is done as defined in the SILC protocol.  Error
        is returned only if the string contains unassigned or prohibited
        characters.  The original 'identifier' is not modified at any point.
SILC String Utilities SilcStringEncoding silc_pem_encode silc_pem_encode_file silc_pem_decode silc_mime_parse silc_strncat silc_identifier_check silc_identifier_verify silc_channel_name_check silc_channel_name_verify

Copyright © 2001 - 2005 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index