49 lines
1.6 KiB
C
49 lines
1.6 KiB
C
#include "IRC/IRC.h"
|
|
|
|
void IRC_SetSASLParameters(irc_sasl_mechanism_t mechanism, char *username, char *password, irc_client_t *irc)
|
|
{
|
|
switch(mechanism)
|
|
{
|
|
case SASL_MECHANISM_NONE:
|
|
break;
|
|
case SASL_MECHANISM_EXTERNAL:
|
|
// unimplemented
|
|
break;
|
|
case SASL_MECHANISM_PLAIN:
|
|
irc->saslAuth.mechanism = mechanism;
|
|
strncpy(irc->saslAuth.plain_credentials.username, username, sizeof(irc->saslAuth.plain_credentials.username) - 1);
|
|
strncpy(irc->saslAuth.plain_credentials.password, password, sizeof(irc->saslAuth.plain_credentials.password) - 1);
|
|
}
|
|
}
|
|
|
|
void IRC_RequestSASLAuthentication(irc_client_t *irc)
|
|
{
|
|
switch(irc->saslAuth.mechanism)
|
|
{
|
|
case SASL_MECHANISM_NONE:
|
|
// why?
|
|
break;
|
|
case SASL_MECHANISM_PLAIN:
|
|
IRC_Send(irc, "AUTHENTICATE PLAIN\r\n");
|
|
break;
|
|
case SASL_MECHANISM_EXTERNAL:
|
|
IRC_Send(irc, "AUTHENTICATE EXTERNAL\r\n");
|
|
break;
|
|
}
|
|
}
|
|
|
|
void IRC_SetConnectionParameters(char *host, int port, irc_connection_type_t conntype, irc_client_t *irc)
|
|
{
|
|
snprintf(irc->connectionInfo.host, sizeof irc->connectionInfo.host, "%s", host);
|
|
irc->connectionInfo.port = port;
|
|
irc->connectionInfo.connType = conntype;
|
|
}
|
|
|
|
void IRC_SetIdentityParameters(char *nickname, char *username, char *realname, irc_client_t *irc)
|
|
{
|
|
snprintf(irc->identity.nick, sizeof irc->identity.nick, "%s", nickname);
|
|
snprintf(irc->identity.username, sizeof irc->identity.username, "%s", username);
|
|
snprintf(irc->identity.realname, sizeof irc->identity.realname, "%s", realname);
|
|
}
|
|
|