aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2006-10-09 20:32:41 +0000
committerAlexey Shchepin <alexey@process-one.net>2006-10-09 20:32:41 +0000
commit95e2726f712f87122c2cf30749727523ea072263 (patch)
tree9f9b72bbad86982b605b4b8f44fe11b348b6f85c
parent* src/mod_privacy.erl: Use hooks instead of direct function calls (diff)
* 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
Diffstat (limited to '')
-rw-r--r--ChangeLog9
-rw-r--r--src/mod_privacy.erl4
-rw-r--r--src/odbc/pg.sql11
-rw-r--r--src/web/ejabberd_http_poll.erl4
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 <alexey@sevcom.net>
+
+ * src/mod_privacy_odbc.erl: Privacy rules support using odbc
+ * src/odbc/pg.sql: Likewise
+
+2006-10-06 Alexey Shchepin <alexey@sevcom.net>
+
+ * src/web/ejabberd_http_poll.erl: Bugfix
+
2006-10-05 Alexey Shchepin <alexey@sevcom.net>
* 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;