All pastes #722282 Raw Edit

Something

public text v1 · immutable
#722282 ·published 2007-10-01 21:50 UTC
rendered paste body
#### SAMPLE SCRIPT

root@linuxserver:/etc/ejabberd# ls -l test
-rwxrwxrwx 1 ejabberd ejabberd 34 2007-10-02 00:08 test
root@linuxserver:/etc/ejabberd# cat test
#! /bin/sh
echo HOORAH > /tmp/ej2
root@linuxserver:/etc/ejabberd# rm /tmp/ej2 && su ejabberd -c ./test && cat /tmp/ej2
HOORAH

##### CONFIG

% Default Debian ejabberd.cfg

%override_acls.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ucf section

%% Admin user
{acl, admin, {user, "astol", "192.168.0.1"}}.

%% Hostname
{hosts, ["192.168.0.1"]}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Users that have admin access.  Add line like one of the following after you
% will be successfully registered on server to get admin access:
%{acl, admin, {user, "aleksey"}}.

% Blocked users:
%{acl, blocked, {user, "test"}}.

% Local users:
{acl, local, {user_regexp, ""}}.

% Another examples of ACLs:
%{acl, jabberorg, {server, "jabber.org"}}.
%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
%{acl, test, {user_regexp, "^test"}}.
%{acl, test, {user_glob, "test*"}}.

% Everybody can create pubsub nodes
{access, pubsub_createnode, [{allow, all}]}.

% Only admins can use configuration interface:
{access, configure, [{allow, admin}]}.

% Every username can be registered via in-band registration:
{access, register, [{allow, all}]}.

% None username can be registered via in-band registration:
%{access, register, [{deny, all}]}.

% After successful registration user will get message with following subject
% and body:
{welcome_message,
 {"Welcome!",
  "Welcome to Debian Jabber Service.  "
  "For information about Jabber visit http://jabber.org"}}.
% Replace them with 'none' if you don't want to send such message:
%{welcome_message, none}.

% List of people who will get notifications about registered users
%{registration_watchers, ["admin1@localhost",
%                         "admin2@localhost"]}.

% Only admins can send announcement messages:
{access, announce, [{allow, admin}]}.


% Only non-blocked users can use c2s connections:
{access, c2s, [{deny, blocked},
	       {allow, all}]}.

% Set shaper with name "normal" to limit traffic speed to 1000B/s
{shaper, normal, {maxrate, 1000}}.

% Set shaper with name "fast" to limit traffic speed to 50000B/s
{shaper, fast, {maxrate, 50000}}.

% For all users except admins used "normal" shaper
{access, c2s_shaper, [{none, admin},
		      {normal, all}]}.

% For all S2S connections used "fast" shaper
{access, s2s_shaper, [{fast, all}]}.

% Admins of this server are also admins of MUC service:
{access, muc_admin, [{allow, admin}]}.

% All users are allowed to use MUC service:
{access, muc, [{allow, all}]}.

% This rule allows access only for local users:
{access, local, [{allow, local}]}.


% Authentication method.  If you want to use internal user base, then use
% this line:
%{auth_method, internal}.

% For LDAP authentication use these lines instead of above one:
%{auth_method, ldap}.
%{ldap_servers, ["localhost"]}.    % List of LDAP servers
%{ldap_uidattr, "uid"}.            % LDAP attribute that holds user ID
%{ldap_base, "dc=example,dc=com"}. % Search base of LDAP directory
%{ldap_rootdn, "dc=example,dc=com"}. % LDAP manager
%{ldap_password, "******"}. % Password to LDAP manager

% For authentication via external script use the following:
{auth_method, external}.
%{extauth_program, "/etc/ejabberd/check_pass_null.pl"}.
{extauth_program, "/etc/ejabberd/test"}.

% For authentication via ODBC use the following:
%{auth_method, odbc}.
%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.

%% Anonymous login support:
%%  auth_method: anonymous
%%  anonymous_protocol: sasl_anon|login_anon|both
%%  allow_multiple_connections: true|false
%%{host_config, "public.example.org", [{auth_method, anonymous},
%%                                     {allow_multiple_connections, false},
%%                                     {anonymous_protocol, sasl_anon}]}.
%% To use both anonymous and internal authentication:
%%{host_config, "public.example.org", [{auth_method, [anonymous, internal]}]}.


% Host(s) name: (replace for your hostname(s))
% Old {host, "localhost"}. option is equivalent to {hosts, ["localhost"]}.
%{hosts, ["localhost"]}.

%% Define the maximum number of time a single user is allowed to connect:
{max_user_sessions, 10}.

% Default language for server messages
{language, "en"}.

% Listened ports:
{listen,
% Ordinary client-2-server service
 [{5222, ejabberd_c2s,     [{access, c2s},
			    {ip, {192, 168, 0, 1}},
			    {max_stanza_size, 65536},
                            starttls, {certfile, "/etc/ejabberd/ejabberd.pem"},
                            {shaper, c2s_shaper}]},

% SSL-enabled client-2-server service
  {5223, ejabberd_c2s,     [{access, c2s},
			    {ip, {192, 168, 0, 1}},
			    {max_stanza_size, 65536},
                            tls, {certfile, "/etc/ejabberd/ejabberd.pem"},
			    {shaper, c2s_shaper}]},

% Server-2-server service
  {5269, ejabberd_s2s_in,  [{shaper, s2s_shaper},
			    {ip, {192, 168, 0, 1}},
			    {max_stanza_size, 131072}]},

% External MUC jabber-muc (but internal mod_muc is better :))
% {5554, ejabberd_service, [{ip, {127, 0, 0, 1}},
%                           {access, all},
%                           {host, "muc.localhost", [{password, "secret"}]}]},

% Jabber ICQ Transport
% {5555, ejabberd_service, [{ip, {127, 0, 0, 1}},
%                           {access, all},
%                           {hosts, ["icq.localhost", "sms.localhost"], [{password, "secret"}]}]},

% AIM Transport
% {5556, ejabberd_service, [{ip, {127, 0, 0, 1}},
%                           {access, all},
%                           {host, "aim.localhost", [{password, "secret"}]}]},

% MSN Transport
% {5557, ejabberd_service, [{ip, {127, 0, 0, 1}},
%                           {access, all},
%                           {host, "msn.localhost", [{password, "secret"}]}]},

% Yahoo! Transport
% {5558, ejabberd_service, [{ip, {127, 0, 0, 1}},
%                           {access, all},
%                           {host, "yahoo.localhost", [{password, "secret"}]}]},

% External JUD (internal is more powerful,
% but doesn't allow to register users from other servers)
% {5559, ejabberd_service, [{ip, {127, 0, 0, 1}},
%                           {access, all},
%                           {host, "jud.localhost", [{password, "secret"}]}]},

% HTTP service (You may choose options HTTP-polling and Web-administering)
% When commenting out, be careful with commas
  {5280, ejabberd_http,    [
			    {ip, {192, 168, 0, 1}},
				http_poll, web_admin]}
 ]}.

% Use STARTTLS+Dialback for S2S connections
{s2s_use_starttls, true}.
{s2s_certfile, "/etc/ejabberd/ejabberd.pem"}.
%{domain_certfile, "example.org", "/etc/ejabberd/example_org.pem"}.
%{domain_certfile, "example.com", "/etc/ejabberd/example_com.pem"}.

% If SRV lookup fails, then port 5269 is used to communicate with remote server
{outgoing_s2s_port, 5269}.

% Used modules:
{modules,
 [
  {mod_adhoc,      []},
  {mod_announce,   [{access, announce}]}, % Depends on mod_adhoc
  {mod_register,   [{access, register}]},
  {mod_roster,     []},
  {mod_privacy,    []},
  {mod_configure,  []}, % Depends on mod_adhoc
  {mod_configure2, []},
  {mod_disco,      [{extra_domains, ["users.jabber.org"]}]},
  {mod_stats,      []},
  {mod_vcard,      []},
  {mod_offline,    []},
  {mod_echo,       []},
  {mod_private,    []},
  {mod_irc,        []},
% Default options for mod_muc:
%   host: "conference." ++ ?MYNAME
%   access: all
%   access_create: all
%   access_admin: none (only room creator has owner privileges)
  {mod_muc,        [{access, muc},
		    {access_create, muc},
		    {access_admin, muc_admin}]},
%  {mod_muc_log,   []},
%  {mod_shared_roster, []},
  {mod_pubsub,     [{access_createnode, pubsub_createnode}]},
  {mod_time,       []},
  {mod_last,       []},
  {mod_version,    []}
 ]}.

% vim:set ft=erlang:
% Local Variables:
% mode: erlang
% End:


##### ERROR LOG

=INFO REPORT==== 2007-10-02 01:47:19 ===
I(<0.3037.0>:ejabberd_listener:90): (#Port<0.3431>) Accepted connection {{192,168,0,100},3300} -> {{192,168,0,1},5222}

=ERROR REPORT==== 2007-10-02 01:47:19 ===
** State machine <0.3118.0> terminating
** Last event in was {xmlstreamelement,
                         {xmlelement,"auth",
                                     [{"xmlns",
                                       "urn:ietf:params:xml:ns:xmpp-sasl"},
                                      {"mechanism","PLAIN"}],
                                     [{xmlcdata,<<"AGFzdG9sAHF3cXJxd3Fy">>}]}}
** When State == wait_for_feature_request
**      Data  == {state,#Port<0.3431>,
                        <0.3119.0>,
                        gen_tcp,
                        "841489305",
                        {sasl_state,"jabber",
                                    "192.168.0.1",
                                    [],
                                    #Fun<ejabberd_c2s.1.114093548>,
                                    #Fun<ejabberd_c2s.2.66069937>,
                                    undefined,
                                    undefined},
                        c2s,
                        c2s_shaper,
                        false,
                        true,
                        false,
                        false,
                        [{certfile,"/etc/ejabberd/ejabberd.pem"}],
                        false,
                        undefined,
                        [],
                        "192.168.0.1",
                        [],
                        undefined,
                        {0,nil},
                        {0,nil},
                        {0,nil},
                        {0,nil},
                        undefined,
                        undefined,
                        undefined,
                        false,
                        none,
                        "en"}
** Reason for termination =
** {badarg,[{extauth,call_port,2},
            {lists,any,2},
            {cyrsasl_plain,mech_step,2},
            {cyrsasl,server_step,2},
            {ejabberd_c2s,wait_for_feature_request,2},
            {gen_fsm,handle_msg,7},
            {proc_lib,init_p,5}]}