X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fchannels.cpp;h=4c596575997e530b49ef63d013fea4f119149916;hb=34e8e5ff50213baad0ac81df8261a736d96e9b2d;hp=8dd8b490e02673ae875f7a9ef7e11bbc7554efff;hpb=1a3297e97427c3dd6c0d25c6c0591fbbdb94d8a7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/channels.cpp b/src/channels.cpp index 8dd8b490e..4c5965759 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -224,7 +224,7 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo Ptr->modes[CM_TOPICLOCK] = Ptr->modes[CM_NOEXTERNAL] = 1; Ptr->created = Instance->Time(); *Ptr->topic = 0; - strlcpy(Ptr->setby, user->nick,NICKMAX-1); + *Ptr->setby = 0; Ptr->topicset = 0; Instance->Log(DEBUG,"chanrec::JoinUser(): created: %s",cname); /* @@ -260,21 +260,11 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo FOREACH_RESULT_I(Instance,I_OnCheckKey,OnCheckKey(user, Ptr, key ? key : "")); if (!MOD_RESULT) { - if (!key) + if ((!key) || strcmp(key,Ptr->key)) { - Instance->Log(DEBUG,"chanrec::JoinUser(): no key given in JOIN"); - user->WriteServ("475 %s %s :Cannot join channel (Requires key)",user->nick, Ptr->name); + user->WriteServ("475 %s %s :Cannot join channel (Incorrect channel key)",user->nick, Ptr->name); return NULL; } - else - { - if (strcmp(key,Ptr->key)) - { - Instance->Log(DEBUG,"chanrec::JoinUser(): bad key given in JOIN"); - user->WriteServ("475 %s %s :Cannot join channel (Incorrect key)",user->nick, Ptr->name); - return NULL; - } - } } } if (Ptr->modes[CM_INVITEONLY])