diff --git a/CHANGESTODO b/CHANGESTODO index 03e7523..3caa4d8 100644 --- a/CHANGESTODO +++ b/CHANGESTODO @@ -261,10 +261,6 @@ ________________________________________________________________________ ________________________________________________________________________ == MINOR DELEGATES ===================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -- xxx ist eigentlich xxx in Verkleidung. - /nick should silently ignore when a user tries to use its real nick - as its masquerade. - - psyced generates tags for /enter operations. since these weren't generated by a client they may confuse a client. fippo thinks these _tag and _tag_reply should be removed from the messages before the get forwarded to clients. @@ -3873,7 +3869,6 @@ net/library/legal "/register /password whatever" - so: disabled ' ' in passwords now psycmuve.i renamed into master/accept + added support for TLS autodetect -== BETA == archetype - fixed "/topic x" with a single letter + added timestamps to topic @@ -3915,4 +3910,6 @@ irc.textdb install.sh - many a million times people presumed they should edit local.h in config/default. maybe it helps if it's called config/blueprint. - +=== 200902 ============================================================ +archetype ++ when joe says "/nick joe" it is understood as removing the /nick diff --git a/world/net/place/archetype.gen b/world/net/place/archetype.gen index 76b2a84..6919733 100644 --- a/world/net/place/archetype.gen +++ b/world/net/place/archetype.gen @@ -2483,6 +2483,7 @@ sMasquerade(a) { # ifdef SIGS _request_nick_local(source, mc, data, vars, b) { string a; + string ni; # ifdef PLACE_MASQUERADE_COMMAND unless (qMasquerade()) { @@ -2490,10 +2491,12 @@ _request_nick_local(source, mc, data, vars, b) { return 1; } # endif + ni = vars["_nick"]; + ASSERT("_request_nick_local (source has nick)", + stringp(ni) && strlen(ni), ni) a = vars["_nick_local"] || vars["_value"]; - unless (stringp(a) && strlen(a)) { - string ni = snames[source]; - + unless (stringp(a) && strlen(a) && stricmp(a, ni)) { + ni = snames[source]; if (ni) { sendmsg(source, "_echo_place_nick_removed", 0, ([ "_nick_local" : ni ])); @@ -2510,7 +2513,7 @@ _request_nick_local(source, mc, data, vars, b) { # ifndef PLACE_MASQUERADE_SECRET castmsg(source, "_notice_place_masquerade", "[_nick] now masquerades as [_nick_local].", - ([ "_nick" : vars["_nick"], "_nick_local" : a ])); + ([ "_nick" : ni, "_nick_local" : a ])); # else // FIXME previous_object()->w("_echo_place_nick",