Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MojoAuth #2

Open
wants to merge 777 commits into
base: master
Choose a base branch
from
Open

MojoAuth #2

wants to merge 777 commits into from

Conversation

benlangfeld
Copy link
Owner

Just a marker for discussion / review / to show progress because I want to sleep.

Seems to work ok, but I'd like to get rid of the lists mojoauth.erl expects in favour of binaries everywhere. mojo-auth.rb also has an incompatibility in that it doesn't strip the terminating newline from the password, which I need to fix.

Nearly there.

@benlangfeld
Copy link
Owner Author

Replaced by processone#525

@benlangfeld benlangfeld force-pushed the feature/auth/mojoauth branch 2 times, most recently from 47c7494 to 83c3199 Compare May 6, 2015 17:15
weiss and others added 25 commits January 13, 2016 23:56
If the client requests a data form with the supported filters, return it
as per XEP-0313 v0.3 and newer.
If an <index/> is specified in the MAM request, reject the request
rather than ignoring the desired index and returning wrong results.
XEP-0059 says that the server "MAY return a <feature-not-implemented/>
error."
If the client doesn't specify a maximum number of messages to retrieve
per page, set a limit of 50 messages.  If the client specifies a limit
larger than 250, cap the number to 250 messages.

These limits aren't enforced for MAM v0.2 requests though, as that
version of the XEP doesn't require clients to support RSM.  The newer
revisions say that "a server MAY place a reasonable limit on how many
stanzas may be pushed to a client in one request.  Whether or not the
client query included a <set/> element, the server MAY simply return its
limited results, modifying the <set/> element it returns appropriately."
Sort the messages retrieved from an Mnesia archive before selecting the
subset limited by the <max/> value.  This makes sure the desired subset
of messages is sent to the client.
If a stream management session times out for a user who appears to be
using MAM, drop any unacknowledged messages rather than resending or
bouncing them.  This avoids duplicates or bogus error messages.

However, this is only done if the new mod_mam option "assume_mam_usage"
is set to 'if_enabled' or 'on_request'.  In the former case, a user is
assumed to be using MAM if archiving is enabled for his account.  In the
latter case, MAM usage is assumed only if archiving was explicitly
requested by the client, or if archiving was enabled by means of
mod_mam's "request_activates_archiving" option.
update japanese translation
ejabberd currently depends on Erlang/OTP 17.1 or higher, so we can now
use maps.
* processone/pr/907:
  don't escape ERL_OPTIONS
This mod_mam version doesn't store groupchat messages in user archives,
and it also doesn't support the "store_body_only" option.
hamano and others added 27 commits March 19, 2016 01:41
For now, we are running them on local Jenkins
We need to be able to run only a few test groups, even if we do not have all
database backends installed and configured locally.

ejabberd test suite configures a specific host per backend. I changed ejabberd
to allow ignoring some hosts from config file on start, by providing the exact
list of hosts we want to start.

This is done by setting an ejabberd app Erlang environment variable 'hosts' and
passing the list of hosts we want to actually define.

When doing so, the backend specific hosts defined in ejabberd test configuration file
are simply ignored. As a result, we do not try to connect to unavailable backends.

I linked that part to CT run test by defining the hosts list based on environment variable
CT_BACKENDS. This variable is expected to be a comma separated list of available backends.

When Erlang Common Tests are run with that environment variable set, only the host matching
the name of the backend will be set, plus the default "localhost", common to many tests.

This can be combined with rebar ct groups list.

Example commands to run tests:
CT_BACKENDS=riak,mnesia rebar ct suites=ejabberd
CT_BACKENDS=mnesia rebar ct suites=ejabberd groups=mnesia
Permits use of MojoAuth (http://mojoauth.mojolingo.com/) in ejabberd. MojoAuth is a set of standard approaches to cross-app authentication based on HMAC which is specified in RFC2104.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet