void incoming_request(mapping info) { mapping minfo; string reply; if (info["NAME"] && info["PORTUDP"]) { if (info["NAME"] == Mud_name()) return; minfo = DNS_MASTER->query_mud_info(info["NAME"]); if (!minfo || !DNS_MASTER->dns_mudp(info["NAME"])) PING_Q->send_ping_q(info["HOSTADDRESS"], info["PORTUDP"]); if (minfo && minfo["HOSTADDRESS"] != info["HOSTADDRESS"]) { dns_log("dns_fake", "Tell: "+info["WIZFROM"]+"@"+info["NAME"]+ "("+info["HOSTADDRESS"]+") telling "+info["WIZTO"] +" "+ info["MSG"]+"\n"); DNS_MASTER->send_udp(minfo["HOSTADDRESS"], minfo["PORTUDP"], "@@@"+DNS_WARNING+ "||MSG: Faked gtell message "+info["WIZFROM"]+ "@"+info["NAME"]+"> "+info["WIZTO"]+ " "+info["MSG"]+ "||FAKEHOST:"+info["name"]+ "@@@\n"); return ; } if( reply=TELL_CMD->remote_tell( info["CNAME"], info["WIZFROM"], info["NAME"], info["WIZTO"], info["MSG"]) ) reply = "你告诉"+reply+"("+capitalize(info["WIZTO"])+"@"+Mud_name()+"):" + info["MSG"]; else reply = "没有这个人。\n"; (AUX_PATH+"affirmation_a")->send_affirmation_a(info["HOSTADDRESS"], info["PORTUDP"], "Gtell@"+Mud_name(), info["WIZFROM"], reply, "gtell"); } }
/* * The udp warning service... Hmmm... */ void incoming_request(mapping info) { string warn; if(!ACCESS_CHECK(previous_object())) return; warn = "DNS warning from "+info["NAME"]+ info["MSG"]+" Fakehost: "+ info["FAKEHOST"]; dns_log("dns_warning", warn); }
void incoming_request(mapping info) { mapping minfo; string tmsg; #ifdef DEBUG set("channel_id", "网际巫师频道精灵"); CHANNEL_D->do_channel(this_object(), "sys", "gwizmsg received from " + info["NAME"]); #endif if(!ACCESS_CHECK(previous_object())) return; if (info["NAME"]) { if (info["NAME"] == Mud_name()) return ; minfo = DNS_MASTER->query_mud_info(info["NAME"]); if (!minfo || !strlen(info["WIZNAME"]) || !DNS_MASTER->dns_mudp(info["NAME"])) { // We don't accept the message. But ping them anyway. PING_Q->send_ping_q(info["HOSTADDRESS"], info["PORTUDP"]); return ; } if (info["HOSTADDRESS"] != minfo["HOSTADDRESS"]) { if (info["EMOTE"]) tmsg = info["WIZNAME"]+"@"+info["NAME"]+" "+info["GWIZ"]; else tmsg = info["WIZNAME"]+"@"+info["NAME"]+": "+info["GWIZ"]; // Faked. sheeze... dns_log("dns_fake",sprintf( "Gwiz: %s %s\n%s", ctime(time()), info["HOSTADDRESS"],tmsg)); DNS_MASTER->send_udp(info["HOSTADDRESS"], info["PORTUDP"], "@@@"+DNS_WARNING+ "||NAME:"+Mud_name()+ "||MSG: Fake gwiz msg: "+tmsg+ "||FAKEHOST:"+info["HOSTADDRESS"]+ "@@@\n"); return; } if( undefinedp(info["CNAME"]) ) set("channel_id", sprintf("%s@%s", info["WIZNAME"], info["NAME"])); else set("channel_id", sprintf("%s(%s@%s)", info["CNAME"], info["WIZNAME"], info["NAME"])); CHANNEL_D->do_channel(this_object(), "gwiz", info["GWIZ"], info["EMOTE"]); } //if (info["NAME"]) }
void incoming_request(mapping info) { mapping minfo; string tmsg; if(!ACCESS_CHECK(previous_object())) return; if (info["NAME"]) { if (info["NAME"] == Mud_name()) return ; minfo = DNS_MASTER->query_mud_info(info["NAME"]); if (!minfo || !strlen(info["USRNAME"]) || !DNS_MASTER->dns_mudp(info["NAME"])) { // We don't accept the message. But ping them anyway. PING_Q->send_ping_q(info["HOSTADDRESS"], info["PORTUDP"]); return ; } if (info["HOSTADDRESS"] != minfo["HOSTADDRESS"]) { if (info["EMOTE"]) tmsg = info["USRNAME"]+"@"+info["NAME"]+" "+info["MSG"]; else tmsg = info["USRNAME"]+"@"+info["NAME"]+": "+info["MSG"]; // Faked. sheeze... dns_log("dns_fake",sprintf( "Gchannel: %s %s\n%s", ctime(time()), info["HOSTADDRESS"],tmsg)); DNS_MASTER->send_udp(info["HOSTADDRESS"], info["PORTUDP"], "@@@"+DNS_WARNING+ "||NAME:"+Mud_name()+ "||MSG: Fake gchannel msg: "+tmsg+ "||FAKEHOST:"+info["HOSTADDRESS"]+ "@@@\n"); return; } info["NAME"]=upper_case(info["NAME"]); //mon 1/14/98 if( undefinedp(info["CNAME"]) ) set("channel_id", sprintf("%s@%s", info["USRNAME"], info["NAME"])); else set("channel_id", sprintf("%s(%s@%s)", info["CNAME"], info["USRNAME"], info["NAME"])); CHANNEL_D->do_channel(this_object(), lower_case(info["CHANNEL"]), info["MSG"], info["EMOTE"]); } //if (info["NAME"]) }
void incoming_request(mapping info) { mapping rhost; object ob; if(!ACCESS_CHECK(previous_object())) return; if (undefinedp(info["CHANNEL"])) return; if (info["NAME"]) { if (info["NAME"] == Mud_name()) return ; rhost = DNS_MASTER->query_mud_info(info["NAME"]); if (!rhost || !DNS_MASTER->dns_mudp(info["NAME"])) { // We don't accept the message. But ping them anyway. PING_Q->send_ping_q(info["HOSTADDRESS"], info["PORTUDP"]); return ; } if (info["HOSTADDRESS"] != rhost["HOSTADDRESS"]) { // Faked. sheeze... dns_log("dns_fake",sprintf( "Gchannel: %s %s\n%s", ctime(time()), info["HOSTADDRESS"],info["MYINFO"])); DNS_MASTER->send_udp(info["HOSTADDRESS"], info["PORTUDP"], "@@@"+DNS_WARNING+ "||NAME:"+Mud_name()+ "||MSG: Fake remote_q msg: "+info["CHANNEL"]+ "||FAKEHOST:"+info["HOSTADDRESS"]+ "@@@\n"); return; } ob=find_player(info["TARGET_ID"]); if(!userp(ob)) return; if( ob->is_ghost() || ob->query("env/invisibility") > 0 ) return; DNS_MASTER->send_udp(rhost["HOSTADDRESS"], rhost["PORTUDP"], "@@@" + "remote_a" + "||NAME:" + Mud_name() + "||PORTUDP:" + udp_port() + "||CHANNEL:" + info["CHANNEL"] + "||SOURCE_ID:" + info["SOURCE_ID"] + "||MSG:" + info["MSG"] + "||TARGET:" + sprintf("mud=%s name=%s id=%s age=%d gender=%s respect=%s rude=%s ", Mud_name(),ob->query("name"),ob->query("id"),ob->query("age"),ob->query("gender"), RANK_D->query_respect(ob),RANK_D->query_rude(ob) ) + "@@@\n"); } }
// Some mud or other has decied to tell us it is shuting down... void incoming_request(mapping info) { mapping mud_info; if(!ACCESS_CHECK(previous_object())) return; if(!info["NAME"]) return; mud_info = (mapping)DNS_MASTER->query_mud_info(info["NAME"]); if(!mud_info || !DNS_MASTER->dns_mudp(info["NAME"])) return; if(info["HOSTADDRESS"] != mud_info["HOSTADDRESS"]) { // faked dns_log("dns_fake", sprintf("Shutdown from: %s for %s (%s) @%s\n", mud_info["HOSTADDRESS"], info["NAME"], info["HOSTADDRESS"], ctime(time()) )); DNS_MASTER->send_udp(mud_info["HOSTADDRESS"], mud_info["PORTUDP"], "@@@"+DNS_WARNING+ "||MSG: Faked shutdown message from "+ info["HOSTADDRESS"] + "||FAKEHOST:" + info["NAME"] + "@@@"); return; } DNS_MASTER->zap_mud_info(info["NAME"]); }
// Someone on another mud has sent us a tell. void incoming_request(mapping info) { mapping minfo, mudinfo; object pl; string reply; if (info["NAME"] && info["PORTUDP"]) { // dont want to tell to ourselves if (info["NAME"] == Mud_name()) return; // get our info about the sender, ping them if we don't have any minfo = DNS_MASTER->query_mud_info(info["NAME"]); if (!minfo || !DNS_MASTER->dns_mudp(info["NAME"])) PING_Q->send_ping_q(info["HOSTADDRESS"], info["PORTUDP"]); if (minfo && minfo["HOSTADDRESS"] != info["HOSTADDRESS"]) { // Its been faked! dns_log("dns_fake", "Tell: "+info["WIZFROM"]+"@"+info["NAME"]+ "("+info["HOSTADDRESS"]+") telling "+info["WIZTO"] +" "+ info["MSG"]+"\n"); DNS_MASTER->send_udp(minfo["HOSTADDRESS"], minfo["PORTUDP"], "@@@"+DNS_WARNING+ "||MSG: Faked gtell message "+info["WIZFROM"]+ "@"+info["NAME"]+"> "+info["WIZTO"]+ " "+info["MSG"]+ "||FAKEHOST:"+info["name"]+ "@@@\n"); return ; } reply=TELL_CMD->remote_tell( info["CNAME"], info["WIZFROM"], info["NAME"], info["WIZTO"], info["MSG"]); mudinfo=DNS_MASTER->query_mud_info(Mud_name()); // query info about ourselves. (AUX_PATH+"affirmation_a")->send_affirmation_a(info["HOSTADDRESS"], info["PORTUDP"], mudinfo["MUDNAME"], //"Gtell@"+Mud_name(), info["WIZFROM"], reply, "gtell"); } //if (info["NAME"] && info["PORTUDP"]) }
// Someone on another mud has sent us a tell. void incoming_request(mapping info) { mapping minfo; object pl; string reply; if (info["NAME"] && info["PORTUDP"]) { // dont want to tell to ourselves if (info["NAME"] == Mud_name()) return; // get our info about the sender, ping them if we don't have any minfo = DNS_MASTER->query_mud_info(info["NAME"]); if (!minfo || !DNS_MASTER->dns_mudp(info["NAME"])) PING_Q->send_ping_q(info["HOSTADDRESS"], info["PORTUDP"]); if (minfo && minfo["HOSTADDRESS"] != info["HOSTADDRESS"]) { // Its been faked! dns_log("dns_fake", "Tell: "+info["WIZFROM"]+"@"+info["NAME"]+ "("+info["HOSTADDRESS"]+") telling "+info["WIZTO"] +" "+ info["MSG"]+"\n"); DNS_MASTER->send_udp(minfo["HOSTADDRESS"], minfo["PORTUDP"], "@@@"+DNS_WARNING+ "||MSG: Faked gtell message "+info["WIZFROM"]+ "@"+info["NAME"]+"> "+info["WIZTO"]+ " "+info["MSG"]+ "||FAKEHOST:"+info["name"]+ "@@@\n"); return ; } // reply = (string)TS_D->tell_user(info["WIZFROM"], info["NAME"], // info["WIZTO"], info["MSG"]); SECURITY_D->checking_status(info); if( TELL_CMD->remote_tell( info["CNAME"], info["WIZFROM"], info["NAME"], info["WIZTO"], info["MSG"]) ) reply = capitalize(info["WIZTO"]) + " has received your message."; else reply = "No such user.\n"; (AUX_PATH+"affirmation_a")->send_affirmation_a(info["HOSTADDRESS"], info["PORTUDP"], "Gtell@"+Mud_name(), info["WIZFROM"], reply, "gtell"); } //if (info["NAME"] && info["PORTUDP"]) }