From 95e2726f712f87122c2cf30749727523ea072263 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Mon, 9 Oct 2006 20:32:41 +0000 Subject: [PATCH] * src/mod_privacy_odbc.erl: Privacy rules support using odbc * src/odbc/pg.sql: Likewise * src/web/ejabberd_http_poll.erl: Bugfix SVN Revision: 660 --- ChangeLog | 9 +++++++++ src/mod_privacy.erl | 4 ++-- src/odbc/pg.sql | 11 +++++++++-- src/web/ejabberd_http_poll.erl | 4 ++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index fef505885..ff1a57aa4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-10-09 Alexey Shchepin + + * src/mod_privacy_odbc.erl: Privacy rules support using odbc + * src/odbc/pg.sql: Likewise + +2006-10-06 Alexey Shchepin + + * src/web/ejabberd_http_poll.erl: Bugfix + 2006-10-05 Alexey Shchepin * src/mod_privacy.erl: Use hooks instead of direct function calls diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl index b201df1e7..c5affa8f1 100644 --- a/src/mod_privacy.erl +++ b/src/mod_privacy.erl @@ -359,8 +359,8 @@ process_list_set(LUser, LServer, {value, Name}, Els) -> Error; {atomic, {result, _} = Res} -> ejabberd_router:route( - jlib:make_jid(LUser, ?MYNAME, ""), - jlib:make_jid(LUser, ?MYNAME, ""), + jlib:make_jid(LUser, LServer, ""), + jlib:make_jid(LUser, LServer, ""), {xmlelement, "broadcast", [], [{privacy_list, #userlist{name = Name, list = []}, diff --git a/src/odbc/pg.sql b/src/odbc/pg.sql index 9246c591b..ba9ba089c 100644 --- a/src/odbc/pg.sql +++ b/src/odbc/pg.sql @@ -99,7 +99,15 @@ CREATE TABLE privacy_default_list ( CREATE TABLE privacy_list ( username text NOT NULL, name text NOT NULL, - type character(1) NOT NULL, + id SERIAL UNIQUE +); + +CREATE INDEX i_privacy_list_username ON privacy_list USING btree (username); +CREATE UNIQUE INDEX i_privacy_list_username_name ON privacy_list USING btree (username, name); + +CREATE TABLE privacy_list_data ( + id bigint REFERENCES privacy_list(id) ON DELETE CASCADE, + t character(1) NOT NULL, value text NOT NULL, action character(1) NOT NULL, ord NUMERIC NOT NULL, @@ -110,7 +118,6 @@ CREATE TABLE privacy_list ( match_presence_out boolean NOT NULL ); -CREATE INDEX i_privacy_list_username ON privacy_list USING btree (username); --- To update from 0.9.8: diff --git a/src/web/ejabberd_http_poll.erl b/src/web/ejabberd_http_poll.erl index 8bdebbdea..a73fca743 100644 --- a/src/web/ejabberd_http_poll.erl +++ b/src/web/ejabberd_http_poll.erl @@ -189,11 +189,11 @@ handle_event({activate, From}, StateName, StateData) -> {next_state, StateName, StateData#state{waiting_input = {From, ok}}}; Input -> - {Receiver, _Tag} = From, + Receiver = From, Receiver ! {tcp, {http_poll, self()}, list_to_binary(Input)}, {next_state, StateName, StateData#state{input = "", waiting_input = false, - last_receiver = From + last_receiver = Receiver }} end;