]> jfr.im git - solanum.git/blobdiff - modules/m_pass.c
Implement operspy for /LIST.
[solanum.git] / modules / m_pass.c
index b66de738fc7a9cd89248c99783abcf4ca9f9cf05..0c7636fedb9f534fd6eabee987bc6ab87cd0ee75 100644 (file)
@@ -52,7 +52,6 @@ DECLARE_MODULE_AV1(pass, NULL, NULL, pass_clist, NULL, NULL, "$Revision: 3550 $"
  *
  *
  * mr_pass - PASS message handler
- *      parv[0] = sender prefix
  *      parv[1] = password
  *      parv[2] = "TS" if this server supports TS.
  *      parv[3] = optional TS version field -- needed for TS6
@@ -68,10 +67,17 @@ mr_pass(struct Client *client_p, struct Client *source_p, int parc, const char *
                memset(client_p->localClient->passwd, 0,
                        strlen(client_p->localClient->passwd));
                rb_free(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;
        }
 
-       client_p->localClient->passwd = rb_strndup(parv[1], PASSWDLEN);
-       
        if ((pass = strchr(buf, ':')) != NULL)
        {
                *pass++ = '\0'; 
@@ -102,9 +108,6 @@ mr_pass(struct Client *client_p, struct Client *source_p, int parc, const char *
                if(irccmp(parv[2], "TS") == 0 && client_p->tsinfo == 0)
                        client_p->tsinfo = TS_DOESTS;
 
-               /* kludge, if we're not using ts6, dont ever mark a server
-                * as TS6 capable, that way we'll never send them TS6 data.
-                */
                if(parc == 5 && atoi(parv[3]) >= 6)
                {
                        /* only mark as TS6 if the SID is valid.. */