diff --git a/ejabberd-dev/include/ejabberd.hrl b/ejabberd-dev/include/ejabberd.hrl index d2832ee..736a2aa 100644 --- a/ejabberd-dev/include/ejabberd.hrl +++ b/ejabberd-dev/include/ejabberd.hrl @@ -29,7 +29,7 @@ -define(MYLANG, ejabberd_config:get_mylang()). --define(MSGS_DIR, <<"msgs">>). +-define(MSGS_DIR, filename:join(["priv", "msgs"])). -define(CONFIG_PATH, <<"ejabberd.cfg">>). @@ -50,28 +50,3 @@ -type scram() :: #scram{}. -define(SCRAM_DEFAULT_ITERATION_COUNT, 4096). - -%% --------------------------------- -%% Logging mechanism - -%% Print in standard output --define(PRINT(Format, Args), io:format(Format, Args)). - --define(DEBUG(Format, Args), - ejabberd_logger:debug_msg(?MODULE, ?LINE, Format, - Args)). - --define(INFO_MSG(Format, Args), - ejabberd_logger:info_msg(?MODULE, ?LINE, Format, Args)). - --define(WARNING_MSG(Format, Args), - ejabberd_logger:warning_msg(?MODULE, ?LINE, Format, - Args)). - --define(ERROR_MSG(Format, Args), - ejabberd_logger:error_msg(?MODULE, ?LINE, Format, - Args)). - --define(CRITICAL_MSG(Format, Args), - ejabberd_logger:critical_msg(?MODULE, ?LINE, Format, - Args)). diff --git a/ejabberd-dev/include/ejabberd_config.hrl b/ejabberd-dev/include/ejabberd_config.hrl index bf749dd..bf39528 100644 --- a/ejabberd-dev/include/ejabberd_config.hrl +++ b/ejabberd-dev/include/ejabberd_config.hrl @@ -19,15 +19,12 @@ %%% %%%---------------------------------------------------------------------- --record(config, {key :: any(), value :: any()}). - -record(local_config, {key :: any(), value :: any()}). --type config() :: #config{}. -type local_config() :: #local_config{}. -record(state, - {opts = [] :: [acl:acl() | config() | local_config()], + {opts = [] :: [acl:acl() | local_config()], hosts = [] :: [binary()], override_local = false :: boolean(), override_global = false :: boolean(), diff --git a/ejabberd-dev/include/web/ejabberd_http.hrl b/ejabberd-dev/include/ejabberd_http.hrl similarity index 100% rename from ejabberd-dev/include/web/ejabberd_http.hrl rename to ejabberd-dev/include/ejabberd_http.hrl diff --git a/ejabberd-dev/include/web/ejabberd_web_admin.hrl b/ejabberd-dev/include/ejabberd_web_admin.hrl similarity index 100% rename from ejabberd-dev/include/web/ejabberd_web_admin.hrl rename to ejabberd-dev/include/ejabberd_web_admin.hrl diff --git a/ejabberd-dev/include/jlib.hrl b/ejabberd-dev/include/jlib.hrl index b0f59e2..13fb8fc 100644 --- a/ejabberd-dev/include/jlib.hrl +++ b/ejabberd-dev/include/jlib.hrl @@ -19,198 +19,8 @@ %%% %%%---------------------------------------------------------------------- - --define(NS_DISCO_ITEMS, - <<"http://jabber.org/protocol/disco#items">>). - --define(NS_DISCO_INFO, - <<"http://jabber.org/protocol/disco#info">>). - --define(NS_VCARD, <<"vcard-temp">>). - --define(NS_VCARD_UPDATE, <<"vcard-temp:x:update">>). - --define(NS_AUTH, <<"jabber:iq:auth">>). - --define(NS_AUTH_ERROR, <<"jabber:iq:auth:error">>). - --define(NS_REGISTER, <<"jabber:iq:register">>). - --define(NS_SEARCH, <<"jabber:iq:search">>). - --define(NS_ROSTER, <<"jabber:iq:roster">>). - --define(NS_ROSTER_VER, - <<"urn:xmpp:features:rosterver">>). - --define(NS_PRIVACY, <<"jabber:iq:privacy">>). - --define(NS_BLOCKING, <<"urn:xmpp:blocking">>). - --define(NS_PRIVATE, <<"jabber:iq:private">>). - --define(NS_VERSION, <<"jabber:iq:version">>). - --define(NS_TIME90, <<"jabber:iq:time">>). - --define(NS_TIME, <<"urn:xmpp:time">>). - --define(NS_LAST, <<"jabber:iq:last">>). - --define(NS_XDATA, <<"jabber:x:data">>). - --define(NS_IQDATA, <<"jabber:iq:data">>). - --define(NS_DELAY91, <<"jabber:x:delay">>). - --define(NS_DELAY, <<"urn:xmpp:delay">>). - --define(NS_EXPIRE, <<"jabber:x:expire">>). - --define(NS_EVENT, <<"jabber:x:event">>). - --define(NS_CHATSTATES, - <<"http://jabber.org/protocol/chatstates">>). - --define(NS_XCONFERENCE, <<"jabber:x:conference">>). - --define(NS_STATS, - <<"http://jabber.org/protocol/stats">>). - --define(NS_MUC, <<"http://jabber.org/protocol/muc">>). - --define(NS_MUC_USER, - <<"http://jabber.org/protocol/muc#user">>). - --define(NS_MUC_ADMIN, - <<"http://jabber.org/protocol/muc#admin">>). - --define(NS_MUC_OWNER, - <<"http://jabber.org/protocol/muc#owner">>). - --define(NS_MUC_UNIQUE, - <<"http://jabber.org/protocol/muc#unique">>). - --define(NS_PUBSUB, - <<"http://jabber.org/protocol/pubsub">>). - --define(NS_PUBSUB_EVENT, - <<"http://jabber.org/protocol/pubsub#event">>). - --define(NS_PUBSUB_META_DATA, - <<"http://jabber.org/protocol/pubsub#meta-data">>). - --define(NS_PUBSUB_OWNER, - <<"http://jabber.org/protocol/pubsub#owner">>). - --define(NS_PUBSUB_NMI, - <<"http://jabber.org/protocol/pubsub#node-meta-info">>). - --define(NS_PUBSUB_ERRORS, - <<"http://jabber.org/protocol/pubsub#errors">>). - --define(NS_PUBSUB_NODE_CONFIG, - <<"http://jabber.org/protocol/pubsub#node_config">>). - --define(NS_PUBSUB_SUB_OPTIONS, - <<"http://jabber.org/protocol/pubsub#subscribe_options">>). - --define(NS_PUBSUB_SUBSCRIBE_OPTIONS, - <<"http://jabber.org/protocol/pubsub#subscribe_options">>). - --define(NS_PUBSUB_PUBLISH_OPTIONS, - <<"http://jabber.org/protocol/pubsub#publish_options">>). - --define(NS_PUBSUB_SUB_AUTH, - <<"http://jabber.org/protocol/pubsub#subscribe_authorization">>). - --define(NS_PUBSUB_GET_PENDING, - <<"http://jabber.org/protocol/pubsub#get-pending">>). - --define(NS_COMMANDS, - <<"http://jabber.org/protocol/commands">>). - --define(NS_BYTESTREAMS, - <<"http://jabber.org/protocol/bytestreams">>). - --define(NS_ADMIN, - <<"http://jabber.org/protocol/admin">>). --define(NS_ADMIN_ANNOUNCE, - <<"http://jabber.org/protocol/admin#announce">>). --define(NS_ADMIN_ANNOUNCE_ALL, - <<"http://jabber.org/protocol/admin#announce-all">>). --define(NS_ADMIN_SET_MOTD, - <<"http://jabber.org/protocol/admin#set-motd">>). --define(NS_ADMIN_EDIT_MOTD, - <<"http://jabber.org/protocol/admin#edit-motd">>). --define(NS_ADMIN_DELETE_MOTD, - <<"http://jabber.org/protocol/admin#delete-motd">>). --define(NS_ADMIN_ANNOUNCE_ALLHOSTS, - <<"http://jabber.org/protocol/admin#announce-allhosts">>). --define(NS_ADMIN_ANNOUNCE_ALL_ALLHOSTS, - <<"http://jabber.org/protocol/admin#announce-all-allhosts">>). --define(NS_ADMIN_SET_MOTD_ALLHOSTS, - <<"http://jabber.org/protocol/admin#set-motd-allhosts">>). --define(NS_ADMIN_EDIT_MOTD_ALLHOSTS, - <<"http://jabber.org/protocol/admin#edit-motd-allhosts">>). --define(NS_ADMIN_DELETE_MOTD_ALLHOSTS, - <<"http://jabber.org/protocol/admin#delete-motd-allhosts">>). - --define(NS_SERVERINFO, - <<"http://jabber.org/network/serverinfo">>). - --define(NS_RSM, <<"http://jabber.org/protocol/rsm">>). - --define(NS_EJABBERD_CONFIG, <<"ejabberd:config">>). - --define(NS_STREAM, - <<"http://etherx.jabber.org/streams">>). - --define(NS_STANZAS, - <<"urn:ietf:params:xml:ns:xmpp-stanzas">>). - --define(NS_STREAMS, - <<"urn:ietf:params:xml:ns:xmpp-streams">>). - --define(NS_TLS, <<"urn:ietf:params:xml:ns:xmpp-tls">>). - --define(NS_SASL, - <<"urn:ietf:params:xml:ns:xmpp-sasl">>). - --define(NS_SESSION, - <<"urn:ietf:params:xml:ns:xmpp-session">>). - --define(NS_BIND, - <<"urn:ietf:params:xml:ns:xmpp-bind">>). - --define(NS_FEATURE_IQAUTH, - <<"http://jabber.org/features/iq-auth">>). - --define(NS_FEATURE_IQREGISTER, - <<"http://jabber.org/features/iq-register">>). - --define(NS_FEATURE_COMPRESS, - <<"http://jabber.org/features/compress">>). - --define(NS_FEATURE_MSGOFFLINE, <<"msgoffline">>). - --define(NS_COMPRESS, - <<"http://jabber.org/protocol/compress">>). - --define(NS_CAPS, <<"http://jabber.org/protocol/caps">>). - --define(NS_SHIM, <<"http://jabber.org/protocol/shim">>). - --define(NS_ADDRESS, - <<"http://jabber.org/protocol/address">>). - --define(NS_OOB, <<"jabber:x:oob">>). - --define(NS_CAPTCHA, <<"urn:xmpp:captcha">>). - --define(NS_MEDIA, <<"urn:xmpp:media-element">>). - --define(NS_BOB, <<"urn:xmpp:bob">>). +-include("ns.hrl"). +-include("xml.hrl"). -define(STANZA_ERROR(Code, Type, Condition), #xmlel{name = <<"error">>, @@ -610,19 +420,6 @@ -type(ljid() :: {binary(), binary(), binary()}). --record(xmlel, -{ - name = <<"">> :: binary(), - attrs = [] :: [attr()], - children = [] :: [xmlel() | cdata()] -}). - --type(cdata() :: {xmlcdata, CData::binary()}). - --type(attr() :: {Name::binary(), Value::binary()}). - --type(xmlel() :: #xmlel{}). - -record(iq, {id = <<"">> :: binary(), type = get :: get | set | result | error, xmlns = <<"">> :: binary(), diff --git a/ejabberd-dev/include/logger.hrl b/ejabberd-dev/include/logger.hrl new file mode 100644 index 0000000..17fad8d --- /dev/null +++ b/ejabberd-dev/include/logger.hrl @@ -0,0 +1,57 @@ +%%%---------------------------------------------------------------------- +%%% +%%% ejabberd, Copyright (C) 2002-2013 ProcessOne +%%% +%%% This program is free software; you can redistribute it and/or +%%% modify it under the terms of the GNU General Public License as +%%% published by the Free Software Foundation; either version 2 of the +%%% License, or (at your option) any later version. +%%% +%%% This program is distributed in the hope that it will be useful, +%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%%% General Public License for more details. +%%% +%%% You should have received a copy of the GNU General Public License +%%% along with this program; if not, write to the Free Software +%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +%%% 02111-1307 USA +%%% +%%%---------------------------------------------------------------------- +-define(PRINT(Format, Args), io:format(Format, Args)). + +-ifdef(LAGER). +-compile([{parse_transform, lager_transform}]). + +-define(DEBUG(Format, Args), + lager:debug(Format, Args)). + +-define(INFO_MSG(Format, Args), + lager:info(Format, Args)). + +-define(WARNING_MSG(Format, Args), + lager:warning(Format, Args)). + +-define(ERROR_MSG(Format, Args), + lager:error(Format, Args)). + +-define(CRITICAL_MSG(Format, Args), + lager:critical(Format, Args)). + +-else. + +-define(DEBUG(Format, Args), + p1_logger:debug_msg(?MODULE, ?LINE, Format, Args)). + +-define(INFO_MSG(Format, Args), + p1_logger:info_msg(?MODULE, ?LINE, Format, Args)). + +-define(WARNING_MSG(Format, Args), + p1_logger:warning_msg(?MODULE, ?LINE, Format, Args)). + +-define(ERROR_MSG(Format, Args), + p1_logger:error_msg(?MODULE, ?LINE, Format, Args)). + +-define(CRITICAL_MSG(Format, Args), + p1_logger:critical_msg(?MODULE, ?LINE, Format, Args)). +-endif. diff --git a/ejabberd-dev/include/mod_muc/mod_muc_room.hrl b/ejabberd-dev/include/mod_muc_room.hrl similarity index 100% rename from ejabberd-dev/include/mod_muc/mod_muc_room.hrl rename to ejabberd-dev/include/mod_muc_room.hrl diff --git a/ejabberd-dev/include/ns.hrl b/ejabberd-dev/include/ns.hrl new file mode 100644 index 0000000..6d041a4 --- /dev/null +++ b/ejabberd-dev/include/ns.hrl @@ -0,0 +1,146 @@ +%%%---------------------------------------------------------------------- +%%% +%%% ejabberd, Copyright (C) 2002-2013 ProcessOne +%%% +%%% This program is free software; you can redistribute it and/or +%%% modify it under the terms of the GNU General Public License as +%%% published by the Free Software Foundation; either version 2 of the +%%% License, or (at your option) any later version. +%%% +%%% This program is distributed in the hope that it will be useful, +%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%%% General Public License for more details. +%%% +%%% You should have received a copy of the GNU General Public License +%%% along with this program; if not, write to the Free Software +%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +%%% 02111-1307 USA +%%% +%%%---------------------------------------------------------------------- + +-define(NS_DISCO_ITEMS, + <<"http://jabber.org/protocol/disco#items">>). +-define(NS_DISCO_INFO, + <<"http://jabber.org/protocol/disco#info">>). +-define(NS_VCARD, <<"vcard-temp">>). +-define(NS_VCARD_UPDATE, <<"vcard-temp:x:update">>). +-define(NS_AUTH, <<"jabber:iq:auth">>). +-define(NS_AUTH_ERROR, <<"jabber:iq:auth:error">>). +-define(NS_REGISTER, <<"jabber:iq:register">>). +-define(NS_SEARCH, <<"jabber:iq:search">>). +-define(NS_ROSTER, <<"jabber:iq:roster">>). +-define(NS_ROSTER_VER, + <<"urn:xmpp:features:rosterver">>). +-define(NS_PRIVACY, <<"jabber:iq:privacy">>). +-define(NS_BLOCKING, <<"urn:xmpp:blocking">>). +-define(NS_PRIVATE, <<"jabber:iq:private">>). +-define(NS_VERSION, <<"jabber:iq:version">>). +-define(NS_TIME90, <<"jabber:iq:time">>). +-define(NS_TIME, <<"urn:xmpp:time">>). +-define(NS_LAST, <<"jabber:iq:last">>). +-define(NS_XDATA, <<"jabber:x:data">>). +-define(NS_IQDATA, <<"jabber:iq:data">>). +-define(NS_DELAY91, <<"jabber:x:delay">>). +-define(NS_DELAY, <<"urn:xmpp:delay">>). +-define(NS_EXPIRE, <<"jabber:x:expire">>). +-define(NS_EVENT, <<"jabber:x:event">>). +-define(NS_CHATSTATES, + <<"http://jabber.org/protocol/chatstates">>). +-define(NS_XCONFERENCE, <<"jabber:x:conference">>). +-define(NS_STATS, + <<"http://jabber.org/protocol/stats">>). +-define(NS_MUC, <<"http://jabber.org/protocol/muc">>). +-define(NS_MUC_USER, + <<"http://jabber.org/protocol/muc#user">>). +-define(NS_MUC_ADMIN, + <<"http://jabber.org/protocol/muc#admin">>). +-define(NS_MUC_OWNER, + <<"http://jabber.org/protocol/muc#owner">>). +-define(NS_MUC_UNIQUE, + <<"http://jabber.org/protocol/muc#unique">>). +-define(NS_PUBSUB, + <<"http://jabber.org/protocol/pubsub">>). +-define(NS_PUBSUB_EVENT, + <<"http://jabber.org/protocol/pubsub#event">>). +-define(NS_PUBSUB_META_DATA, + <<"http://jabber.org/protocol/pubsub#meta-data">>). +-define(NS_PUBSUB_OWNER, + <<"http://jabber.org/protocol/pubsub#owner">>). +-define(NS_PUBSUB_NMI, + <<"http://jabber.org/protocol/pubsub#node-meta-info">>). +-define(NS_PUBSUB_ERRORS, + <<"http://jabber.org/protocol/pubsub#errors">>). +-define(NS_PUBSUB_NODE_CONFIG, + <<"http://jabber.org/protocol/pubsub#node_config">>). +-define(NS_PUBSUB_SUB_OPTIONS, + <<"http://jabber.org/protocol/pubsub#subscribe_options">>). +-define(NS_PUBSUB_SUBSCRIBE_OPTIONS, + <<"http://jabber.org/protocol/pubsub#subscribe_options">>). +-define(NS_PUBSUB_PUBLISH_OPTIONS, + <<"http://jabber.org/protocol/pubsub#publish_options">>). +-define(NS_PUBSUB_SUB_AUTH, + <<"http://jabber.org/protocol/pubsub#subscribe_authorization">>). +-define(NS_PUBSUB_GET_PENDING, + <<"http://jabber.org/protocol/pubsub#get-pending">>). +-define(NS_COMMANDS, + <<"http://jabber.org/protocol/commands">>). +-define(NS_BYTESTREAMS, + <<"http://jabber.org/protocol/bytestreams">>). +-define(NS_ADMIN, + <<"http://jabber.org/protocol/admin">>). +-define(NS_ADMIN_ANNOUNCE, + <<"http://jabber.org/protocol/admin#announce">>). +-define(NS_ADMIN_ANNOUNCE_ALL, + <<"http://jabber.org/protocol/admin#announce-all">>). +-define(NS_ADMIN_SET_MOTD, + <<"http://jabber.org/protocol/admin#set-motd">>). +-define(NS_ADMIN_EDIT_MOTD, + <<"http://jabber.org/protocol/admin#edit-motd">>). +-define(NS_ADMIN_DELETE_MOTD, + <<"http://jabber.org/protocol/admin#delete-motd">>). +-define(NS_ADMIN_ANNOUNCE_ALLHOSTS, + <<"http://jabber.org/protocol/admin#announce-allhosts">>). +-define(NS_ADMIN_ANNOUNCE_ALL_ALLHOSTS, + <<"http://jabber.org/protocol/admin#announce-all-allhosts">>). +-define(NS_ADMIN_SET_MOTD_ALLHOSTS, + <<"http://jabber.org/protocol/admin#set-motd-allhosts">>). +-define(NS_ADMIN_EDIT_MOTD_ALLHOSTS, + <<"http://jabber.org/protocol/admin#edit-motd-allhosts">>). +-define(NS_ADMIN_DELETE_MOTD_ALLHOSTS, + <<"http://jabber.org/protocol/admin#delete-motd-allhosts">>). +-define(NS_SERVERINFO, + <<"http://jabber.org/network/serverinfo">>). +-define(NS_RSM, <<"http://jabber.org/protocol/rsm">>). +-define(NS_EJABBERD_CONFIG, <<"ejabberd:config">>). +-define(NS_STREAM, + <<"http://etherx.jabber.org/streams">>). +-define(NS_STANZAS, + <<"urn:ietf:params:xml:ns:xmpp-stanzas">>). +-define(NS_STREAMS, + <<"urn:ietf:params:xml:ns:xmpp-streams">>). +-define(NS_TLS, <<"urn:ietf:params:xml:ns:xmpp-tls">>). +-define(NS_SASL, + <<"urn:ietf:params:xml:ns:xmpp-sasl">>). +-define(NS_SESSION, + <<"urn:ietf:params:xml:ns:xmpp-session">>). +-define(NS_BIND, + <<"urn:ietf:params:xml:ns:xmpp-bind">>). +-define(NS_FEATURE_IQAUTH, + <<"http://jabber.org/features/iq-auth">>). +-define(NS_FEATURE_IQREGISTER, + <<"http://jabber.org/features/iq-register">>). +-define(NS_FEATURE_COMPRESS, + <<"http://jabber.org/features/compress">>). +-define(NS_FEATURE_MSGOFFLINE, <<"msgoffline">>). +-define(NS_COMPRESS, + <<"http://jabber.org/protocol/compress">>). +-define(NS_CAPS, <<"http://jabber.org/protocol/caps">>). +-define(NS_SHIM, <<"http://jabber.org/protocol/shim">>). +-define(NS_ADDRESS, + <<"http://jabber.org/protocol/address">>). +-define(NS_OOB, <<"jabber:x:oob">>). +-define(NS_CAPTCHA, <<"urn:xmpp:captcha">>). +-define(NS_MEDIA, <<"urn:xmpp:media-element">>). +-define(NS_BOB, <<"urn:xmpp:bob">>). +-define(NS_PING, <<"urn:xmpp:ping">>). diff --git a/ejabberd-dev/include/mod_pubsub/pubsub.hrl b/ejabberd-dev/include/pubsub.hrl similarity index 100% rename from ejabberd-dev/include/mod_pubsub/pubsub.hrl rename to ejabberd-dev/include/pubsub.hrl diff --git a/ejabberd-dev/include/xml.hrl b/ejabberd-dev/include/xml.hrl new file mode 100644 index 0000000..97ca575 --- /dev/null +++ b/ejabberd-dev/include/xml.hrl @@ -0,0 +1,20 @@ +%%%------------------------------------------------------------------- +%%% @author Evgeniy Khramtsov +%%% @copyright (C) 2013, Evgeniy Khramtsov +%%% @doc +%%% +%%% @end +%%% Created : 1 May 2013 by Evgeniy Khramtsov +%%%------------------------------------------------------------------- +-record(xmlel, +{ + name = <<"">> :: binary(), + attrs = [] :: [attr()], + children = [] :: [xmlel() | cdata()] +}). + +-type(cdata() :: {xmlcdata, CData::binary()}). + +-type(attr() :: {Name::binary(), Value::binary()}). + +-type(xmlel() :: #xmlel{}).