* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: m_pass.c 3550 2007-08-09 06:47:26Z nenolod $
*/
#include "stdinc.h"
static int
mr_pass(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
- char *auth_user, *pass, *buf;
+ char *pass, *buf;
buf = LOCAL_COPY(parv[1]);
if(client_p->localClient->passwd)
client_p->localClient->passwd = NULL;
}
- if (client_p->localClient->auth_user)
- {
- memset(client_p->localClient->auth_user, 0,
- strlen(client_p->localClient->auth_user));
- rb_free(client_p->localClient->auth_user);
- client_p->localClient->auth_user = NULL;
- }
-
- if ((pass = strchr(buf, ':')) != NULL)
- {
- *pass++ = '\0';
- auth_user = buf;
- }
- else
- {
- pass = buf;
- auth_user = NULL;
- }
+ pass = buf;
client_p->localClient->passwd = *pass ? rb_strndup(pass, PASSWDLEN) : NULL;
- if(auth_user && *auth_user)
- client_p->localClient->auth_user = rb_strndup(auth_user, PASSWDLEN);
-
/* These are for servers only */
if(parc > 2 && client_p->user == NULL)
{