let is_localhost() do its lower_case itself.. thx fip

This commit is contained in:
psyc://psyced.org/~lynX 2011-07-24 18:53:47 +02:00
parent 15dd8c0ada
commit a0cc248e00
15 changed files with 25 additions and 25 deletions

View File

@ -409,7 +409,7 @@ msg(source, mc, data, vars) {
// and have it replaced by object.. but that's not the case // and have it replaced by object.. but that's not the case
// we _could_ however do that by using _uniform_trustee // we _could_ however do that by using _uniform_trustee
// and doing is_localhost on all _uniform's at parsing time // and doing is_localhost on all _uniform's at parsing time
if (is_localhost(lower_case(u[UHost]))) trustee_nick = u[UNick]; if (is_localhost(u[UHost])) trustee_nick = u[UNick];
} }
if (get_trust(trustee_nick, 0) < MINIMUM_TRUST) return 1; if (get_trust(trustee_nick, 0) < MINIMUM_TRUST) return 1;
// entweder trustee ist ein local nick, dann kriegen wir den // entweder trustee ist ein local nick, dann kriegen wir den

View File

@ -269,7 +269,7 @@ jabberMsg(XMLNode node) {
// if we dont know the host, complain // if we dont know the host, complain
// put NAMEPREP(_host_XMPP) into the localhost mapping pleeeease // put NAMEPREP(_host_XMPP) into the localhost mapping pleeeease
//if (target != NAMEPREP(_host_XMPP)) { //if (target != NAMEPREP(_host_XMPP)) {
unless (is_localhost(lower_case(target))) { unless (is_localhost(target)) {
monitor_report("_error_unknown_host", monitor_report("_error_unknown_host",
sprintf("%O sent us a dialback packet believing we would be %O", sprintf("%O sent us a dialback packet believing we would be %O",
source, target)); source, target));
@ -349,7 +349,7 @@ jabberMsg(XMLNode node) {
* then croak with a host-unknown and commit suicide * then croak with a host-unknown and commit suicide
*/ */
// same as above... // same as above...
unless (is_localhost(lower_case(target))) { unless (is_localhost(target)) {
emit(sprintf("<db:verify from='%s' to='%s' id='%s' type='error'>" emit(sprintf("<db:verify from='%s' to='%s' id='%s' type='error'>"
"<error type='cancel'>" "<error type='cancel'>"
"<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>" "<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>"
@ -498,7 +498,7 @@ open_stream(XMLNode node) {
if (node["@from"]) { if (node["@from"]) {
packet += "to='" + node["@from"] + "' "; packet += "to='" + node["@from"] + "' ";
} }
if (node["@to"] && !(is_localhost(lower_case(node["@to"])))) { if (node["@to"] && !(is_localhost(node["@to"]))) {
emit(packet + ">"); emit(packet + ">");
STREAM_ERROR("host-unknown", "") STREAM_ERROR("host-unknown", "")
QUIT QUIT

View File

@ -84,8 +84,8 @@ virtual inherit JABBER_PATH "common";
# define _host_XMPP SERVER_HOST # define _host_XMPP SERVER_HOST
#endif #endif
// this is not ready for is_localhost // net/jabber is not ready for regular is_localhost
#define is_localhost(a) (a) == _host_XMPP #define is_localhost(a) (lower_case(a)) == _host_XMPP
#define JABSOURCE "_INTERNAL_source_jabber" #define JABSOURCE "_INTERNAL_source_jabber"

View File

@ -868,7 +868,7 @@ jabberMsg(XMLNode node, mixed origin, mixed *su, array(mixed) tu) {
case "jabber:iq:last": case "jabber:iq:last":
switch(t) { switch(t) {
case "get": case "get":
if (isplacemsg || is_localhost(lower_case(target))) if (isplacemsg || is_localhost(target))
o = "/" + (tu[UResource] || ""); o = "/" + (tu[UResource] || "");
else else
o = summon_person(tu[UUser]); o = summon_person(tu[UUser]);

View File

@ -338,7 +338,7 @@ jabberMsg(XMLNode node) {
} }
// lets see if its one of our users // lets see if its one of our users
sscanf(deco, "%s@%s", u, ho); sscanf(deco, "%s@%s", u, ho);
unless (is_localhost(lower_case(ho))) { unless (is_localhost(ho)) {
// wrong host // wrong host
SASL_ERROR("invalid-authzid") SASL_ERROR("invalid-authzid")
QUIT QUIT

View File

@ -449,7 +449,7 @@ message(XMLNode node) {
unless (u = parse_uniform(XMPP + node["@to"])) { D("impossible!\n"); } unless (u = parse_uniform(XMPP + node["@to"])) { D("impossible!\n"); }
isplacemsg = ISPLACEMSG(node["@to"]); isplacemsg = ISPLACEMSG(node["@to"]);
if (is_localhost(lower_case(node["@to"]))) { if (is_localhost(node["@to"])) {
// it's too unusual to have commands without cmdchar // it's too unusual to have commands without cmdchar
// so let's use input() instead of cmd() here // so let's use input() instead of cmd() here
// IMHO this should check if input is a cmd // IMHO this should check if input is a cmd
@ -828,7 +828,7 @@ iq(XMLNode node) {
case "get": case "get":
if (!node["@to"]) if (!node["@to"])
sendmsg(ME, "_request_list_feature", 0, vars); sendmsg(ME, "_request_list_feature", 0, vars);
else if (is_localhost(lower_case(node["@to"]))) else if (is_localhost(node["@to"]))
sendmsg("/", "_request_list_feature", 0, vars); sendmsg("/", "_request_list_feature", 0, vars);
/* else... TODO */ /* else... TODO */
break; break;
@ -847,7 +847,7 @@ iq(XMLNode node) {
if (!node["@to"]) if (!node["@to"])
// "my" places - let person.c handle this // "my" places - let person.c handle this
sendmsg(ME, "_request_list_item", 0, vars); sendmsg(ME, "_request_list_item", 0, vars);
else if (is_localhost(lower_case(node["@to"]))) else if (is_localhost(node["@to"]))
// server's places - let root.c handle this // server's places - let root.c handle this
sendmsg("/", "_request_list_item", 0, vars); sendmsg("/", "_request_list_item", 0, vars);
/* else... TODO */ /* else... TODO */
@ -1114,7 +1114,7 @@ string jid2ppl(string jid) {
// } // }
sscanf(host, "%s/%s", host, resource); sscanf(host, "%s/%s", host, resource);
#if 1 // wieso 0??? sendmsg() hätte das hinkriegen sollen.. war der gedanke #if 1 // wieso 0??? sendmsg() hätte das hinkriegen sollen.. war der gedanke
if (is_localhost(lower_case(host))) { // local user if (is_localhost(host)) { // local user
P4(("is_localhost? %O, YES, then use %O\n", host, node)) P4(("is_localhost? %O, YES, then use %O\n", host, node))
// TODO: what about returning objects? // TODO: what about returning objects?
if (strlen(node) && ISPLACEMSG(node)) return PREFIXFREE(node); if (strlen(node) && ISPLACEMSG(node)) return PREFIXFREE(node);

View File

@ -661,7 +661,7 @@ int xmpp_sendmsg(mixed target, string mc, mixed data, mapping vars,
otarget, o )) otarget, o ))
// in XMPP this is sufficient since other servers on the same IP // in XMPP this is sufficient since other servers on the same IP
// need to have a different domain name // need to have a different domain name
} else if (is_localhost(lower_case(u[UHost]))) { } else if (is_localhost(u[UHost])) {
unless (u[UUser]) { unless (u[UUser]) {
P0(("Intercepted %O to %O from %O\n", mc, target, source)) P0(("Intercepted %O to %O from %O\n", mc, target, source))
// 0 makes sendmsg try to relay via xmpp.scheme.psyced.org // 0 makes sendmsg try to relay via xmpp.scheme.psyced.org

View File

@ -550,15 +550,15 @@ void dns_rresolve(string ip, closure callback, varargs array(mixed) extra) {
// {{{ function: is_localhost // {{{ function: is_localhost
#if 1 #if 1
// take care to always pass a lowercased (virtual) hostname
int is_localhost(string host) { int is_localhost(string host) {
// async discovery of virtual hosts is not necessary // async discovery of virtual hosts is not necessary
// we should know all of our hostnames in advance for // we should know all of our hostnames in advance for
// security anyway // security anyway
return member(localhosts, host); return member(localhosts, lower_case(host));
} }
#else #else
int is_localhost(string host, closure callback, varargs array(mixed) extra) { int is_localhost(string host, closure callback, varargs array(mixed) extra) {
host = lower_case(host);
if (member(localhosts, host)) { if (member(localhosts, host)) {
funcall(callback, 1, extra); funcall(callback, 1, extra);
return; return;

View File

@ -2544,7 +2544,7 @@ logon(host) {
&& mode[PPL_NOTIFY] >= PPL_NOTIFY_FRIEND) continue; && mode[PPL_NOTIFY] >= PPL_NOTIFY_FRIEND) continue;
if (u = parse_uniform(ni)) { if (u = parse_uniform(ni)) {
// <lynX> first we change the ppl, then we need this code // <lynX> first we change the ppl, then we need this code
// if (is_localhost(lower_case(u[UHost]))) { // if (is_localhost(u[UHost])) {
// o = summon_person(u[UNick]); // o = summon_person(u[UNick]);
// insert_member(o); // insert_member(o);
// } else { // } else {

View File

@ -2678,7 +2678,7 @@ sAide(whom) {
#if 0 #if 0
// change local uniform to nick ... isn't really correct like this // change local uniform to nick ... isn't really correct like this
array(mixed) u = parse_uniform(whom); array(mixed) u = parse_uniform(whom);
if (u && is_localhost(lower_case(u[UHost]))) whom = u[UResource]; if (u && is_localhost(u[UHost])) whom = u[UResource];
#else #else
object o = psyc_object(whom); object o = psyc_object(whom);
if (o) whom = o->qName(); if (o) whom = o->qName();

View File

@ -260,7 +260,7 @@ int psyc_sendmsg(mixed target, string mc, mixed data, mapping vars,
return 0; return 0;
} }
} }
host = lower_case(u[UHost]); host = lower_case(u[UHost]); // lower_case not necessary.. right?
if (query_udp_port() == port && is_localhost(host)) { if (query_udp_port() == port && is_localhost(host)) {
// this happens when a psyc client sends to a local // this happens when a psyc client sends to a local
// target that hasn't been incarnated yet... // target that hasn't been incarnated yet...
@ -408,7 +408,7 @@ int psyc_sendmsg(mixed target, string mc, mixed data, mapping vars,
unless (buf) return 0; unless (buf) return 0;
#endif /* NEW_RENDER */ #endif /* NEW_RENDER */
// host seems to already be in lower_case // we could store the result of the is_localhost above, right?
if (is_localhost(host)) return send_udp(host, port, buf); if (is_localhost(host)) return send_udp(host, port, buf);
PT(("dns_resolve + send_udp %O:%O packet:\n%s", host,port,buf)) PT(("dns_resolve + send_udp %O:%O packet:\n%s", host,port,buf))
dns_resolve(host, (: if (stringp($1)) dns_resolve(host, (: if (stringp($1))

View File

@ -981,8 +981,8 @@ protected int deliver(mixed ip, string host, string mc, string buffer, mapping c
cvars["_INTERNAL_nick_target"] = u[UNick]; cvars["_INTERNAL_nick_target"] = u[UNick];
#endif #endif
P3(("DEBUG: is_localhost is %O for %O of %O\n", P3(("DEBUG: is_localhost is %O for %O of %O\n",
is_localhost(lower_case(u[UHost])), u[UHost], u)) is_localhost(u[UHost])), u[UHost], u)
unless (is_localhost(lower_case(u[UHost]))) { unless (is_localhost((u[UHost])) {
if (trustworthy > 7) { if (trustworthy > 7) {
P1(("RELAYING permitted for %O to %O (%O)\n", P1(("RELAYING permitted for %O to %O (%O)\n",
source, t, ME)) source, t, ME))

View File

@ -107,7 +107,7 @@ parseUDP(ip, port, msg) {
send_udp(ip, port, reply); send_udp(ip, port, reply);
return; return;
} }
islocaltarget = is_localhost(lower_case(tu[UHost])); islocaltarget = is_localhost(tu[UHost]);
// TODO this may be either local or remote users // TODO this may be either local or remote users
if (islocaltarget && tu[UUser]) target = find_person(tu[UUser]); if (islocaltarget && tu[UUser]) target = find_person(tu[UUser]);
// TODO works only for online users // TODO works only for online users
@ -156,7 +156,7 @@ parseUDP(ip, port, msg) {
su = parse_uniform(source); su = parse_uniform(source);
source = 0; source = 0;
#if 0 #if 0
if (is_localhost(lower_case(su[UHost]))) { if (is_localhost(su[UHost])) {
object o; object o;
o = find_person(su[UUser]); o = find_person(su[UUser]);
// TODO: check that source is coming from // TODO: check that source is coming from

View File

@ -214,7 +214,7 @@ void circuit_msg(string mc, mapping vars, string data) {
if (tls_query_connection_state(ME) == 0) { if (tls_query_connection_state(ME) == 0) {
array(string) targethosts = ({ }); array(string) targethosts = ({ });
foreach(string ho : vars["_list_targets_hosts"]) { foreach(string ho : vars["_list_targets_hosts"]) {
if (is_localhost(lower_case(ho))) { if (is_localhost(ho)) {
targethosts += ({ ho }); targethosts += ({ ho });
} }
} }

View File

@ -188,7 +188,7 @@ void dispatch(mapping rvars, mapping evars, mixed method, mixed body) {
DISPATCHERROR("target is not a uniform\n") DISPATCHERROR("target is not a uniform\n")
} }
// FIXME relaying support here? // FIXME relaying support here?
if (!is_localhost(lower_case(u[UHost]))) { if (!is_localhost(u[UHost])) {
DISPATCHERROR("target is not configured on this server\n") DISPATCHERROR("target is not configured on this server\n")
} }
} }