Custom passwords

## Custom passwords

The TeamSpeak SDK has the optional ability to do custom password handling. This makes it possible to allow people on the server (or channels) with passwords that are checked against outside datasources, like LDAP or other databases.

To implement custom password, both server and client need to add custom callbacks, which will be spontaneously called whenever a password check is done in TeamSpeak. The SDK developer can implement own checks to validate the password instead of using the TeamSpeak built-in mechanism.

Both Server and Client Lib can implement the following callback to encrypt a user password. This function is called in the Client Lib when a channel password is set.

This can be used to hash the password in the same way it is hashed in the outside data store. Or just copy the password to send the clear text to the server.

`void onClientPasswordEncrypt(` | serverID, |
| plaintext, |
| encryptedText, |
| encryptedTextByteSize`)`; |

`uint64 serverID`;
`const char* plaintext`;
`char* encryptedText`;
`int encryptedTextByteSize`;

Parameters

- `serverID`

  ID of the server the password call occured

- `plaintext`

  The plaintext password

- `encryptedText`

  Fill with your custom encrypted password. Must be a 0-terminated string with a size not larger than `encryptedTextByteSize`.

- `encryptedTextByteSize`

  Size of the buffer pointed to by `encryptedText`.

Custom encryption |  | Other events