Evgeniy Khramtsov
23c5fd9a4f
Return send() result to the caller
2017-12-28 14:01:34 +03:00
Paweł Chmielowski
d59d4e27ec
Adopt tests to changes introduced by b54e1e49ba
2017-12-27 16:16:15 +01:00
Evgeniy Khramtsov
812acf0688
Update the test suite to support new XMPP socket API
2017-12-27 08:55:14 +03:00
Paweł Chmielowski
32ad7d3761
Disable test for now
2017-12-21 11:49:33 +01:00
Paweł Chmielowski
7f073fbcd8
Update expected error type in test
2017-12-21 11:43:09 +01:00
Paweł Chmielowski
b072342aa9
Adapt test to changed error
2017-11-27 11:12:46 +01:00
Paweł Chmielowski
b67a114ef5
Fix elixir tests
2017-11-17 12:19:26 +01:00
Evgeniy Khramtsov
675a1e0b0f
Fix a test related to mod_caps
2017-11-10 20:58:13 +03:00
Evgeniy Khramtsov
902c6d476b
Prepare version 0.6.1 of XEP-0313 (MAM) support
2017-11-08 15:15:39 +03:00
Paweł Chmielowski
7d8ad17fa1
Remove code left from debugging
2017-11-03 16:11:34 +01:00
Paweł Chmielowski
ec3ea61585
Don't start hosts for disabled backends from CT_BACKENDS passed to make test
2017-11-03 14:44:13 +01:00
Evgeniy Khramtsov
db57394399
Add SQL support for mod_push
2017-10-26 20:11:43 +03:00
Christophe Romain
7c1b4d0fcd
Fix pubsub test, title not mandatory
2017-10-25 11:41:45 +02:00
Evgeniy Khramtsov
47175adc74
Explicitly match against <domain/resource>
...
Fixes #1958
2017-08-23 09:00:13 +03:00
Holger Weiss
ba9a79c89c
Apply cosmetic changes to previous commit
2017-08-18 16:50:08 +02:00
Holger Weiss
13ad754ecc
Suppress push notifications for online clients
...
When a client enabled push notifications during the current session,
notifications should be suppressed as long as the client is online.
Suppressing the notification didn't work for the case where the
notification was triggered by MAM, but this is now fixed.
2017-08-18 16:44:32 +02:00
Christophe Romain
52525eb76d
Fix tests for 8679cfd2f
2017-08-07 15:38:17 +02:00
Christophe Romain
766b7c65a6
Merge pull request #1881 from weiss/push
...
Support XEP-0357: Push Notifications
2017-08-04 12:58:06 +02:00
Christophe Romain
f65492e27f
Merge pull request #1837 from marcphilipp/feature/set_room_affiliation_test
...
Add integration test for set_room_affiliation
2017-08-02 14:34:30 +02:00
Badlop
67918b17d3
Fix extauth.py so support : in passwords (thanks to jmberg)( #1676 )
2017-07-31 22:51:31 +02:00
Holger Weiss
66510c1d78
Add mod_push_keepalive
...
This module tries to keep pending stream management sessions of push
clients alive (as long as the disconnected clients are reachable via
push notifications).
2017-07-21 01:07:36 +02:00
Holger Weiss
d6f1d3df5b
Support XEP-0357: Push Notifications
...
Closes #1379 .
2017-07-20 20:22:50 +02:00
Paweł Chmielowski
88ab787ba6
Start gen_mod from elixir tests
2017-07-06 17:57:46 +02:00
Paweł Chmielowski
eb9faffadd
Improve elixir tests
2017-07-06 17:19:22 +02:00
Paweł Chmielowski
5ef542a638
Remove tests for old commands interface
2017-07-06 17:19:22 +02:00
Marc Philipp
c69720a1ab
Add integration test for set_room_affiliation
2017-07-06 13:33:13 +02:00
Paweł Chmielowski
960cf495c6
Don't use asn1rt:decode, it's not available on R20
2017-06-28 14:51:45 +02:00
Paweł Chmielowski
6353a06a5d
Catch exception from Elixir.ExUnit.Server.cases_loaded
2017-06-14 14:56:59 +02:00
Paweł Chmielowski
115cb23bd8
Fix elixir tests on elixir 1.4
2017-06-09 12:59:47 +02:00
Evgeniy Khramtsov
35d19b32f4
Implement cache for mod_privacy/mod_blocking
2017-05-20 22:36:32 +03:00
Evgeniy Khramtsov
5bdc6c0822
Get rid of deprecated option 'resume_timeout' in test config
2017-05-17 17:21:59 +03:00
Evgeniy Khramtsov
1925b94131
Implement cache for mod_vcard and mod_vcard_xupdate
2017-05-17 17:13:34 +03:00
Evgeniy Khramtsov
f782955c06
Implement cache for roster
2017-05-17 14:47:35 +03:00
Evgeniy Khramtsov
81d9770d4f
Update Elixir tests for using new auth API
2017-05-11 16:15:18 +03:00
Evgeniy Khramtsov
633b68db11
Use cache for authentication backends
...
The commit introduces the following API incompatibilities:
In ejabberd_auth.erl:
* dirty_get_registered_users/0 is renamed to get_users/0
* get_vh_registered_users/1 is renamed to get_users/1
* get_vh_registered_users/2 is renamed to get_users/2
* get_vh_registered_users_number/1 is renamed to count_users/1
* get_vh_registered_users_number/2 is renamed to count_users/2
In ejabberd_auth callbacks
* plain_password_required/0 is replaced by plain_password_required/1
where the argument is a virtual host
* store_type/0 is replaced by store_type/1 where the argument is
a virtual host
* set_password/3 is now an optional callback
* remove_user/3 callback is no longer needed
* remove_user/2 now should return `ok | {error, atom()}`
* is_user_exists/2 now must only be implemented for backends
with `external` store type
* check_password/6 is no longer needed
* check_password/4 now must only be implemented for backends
with `external` store type
* try_register/3 is now an optional callback and should return
`ok | {error, atom()}`
* dirty_get_registered_users/0 is no longer needed
* get_vh_registered_users/1 is no longer needed
* get_vh_registered_users/2 is renamed to get_users/2
* get_vh_registered_users_number/1 is no longer needed
* get_vh_registered_users_number/2 is renamed to count_users/2
* get_password_s/2 is no longer needed
* get_password/2 now must only be implemented for backends with
`plain` or `scram` store type
Additionally, the commit introduces two new callbacks:
* use_cache/1 where the argument is a virtual host
* cache_nodes/1 where the argument is a virtual host
New options are also introduced: `auth_use_cache`, `auth_cache_missed`,
`auth_cache_life_time` and `auth_cache_size`.
2017-05-11 14:37:21 +03:00
Paweł Chmielowski
e790e66f47
Fix elixir tests
2017-05-04 12:17:41 +02:00
Evgeniy Khramtsov
fddd6110e0
Don't validate an option in gen_mod:get*opt() functions
...
The changes are very similar to those from previous commit:
* Now there is no need to pass validating function in
gen_mod:get_opt() and gen_mod:get_module_opt() functions,
because the modules' configuration keeps already validated values.
* New functions gen_mod:get_opt/2 and gen_mod:get_module_opt/3 are
introduced.
* Functions gen_mod:get_opt/4 and get_module_opt/5 are deprecated.
If the functions are still called, the "function" argument is
simply ignored.
* Validating callback Mod:listen_opt_type/1 is introduced to validate
listening options at startup.
2017-04-30 19:01:47 +03:00
Paweł Chmielowski
2988d84cfb
Don't check result of jid.start
2017-04-26 09:50:49 +02:00
Paweł Chmielowski
a67b3dc6a6
Don't check result of jid.start
2017-04-25 16:54:01 +02:00
Paweł Chmielowski
f4c98f635b
Don't check result of jid.start
2017-04-25 16:46:00 +02:00
PaweÅ Chmielowski
44ae6bcc83
Fix elixir tests
2017-04-21 12:17:23 +02:00
Evgeniy Khramtsov
f9c24ab16d
Add Riak as mod_carboncopy RAM backend
2017-04-15 14:41:14 +03:00
Evgeniy Khramtsov
fcb978248f
Add Riak as session manager RAM backend
2017-04-15 10:02:32 +03:00
Evgeniy Khramtsov
5f1f126613
Don't forget to disconnect
2017-04-14 20:32:26 +03:00
Christophe Romain
cf784772c9
Merge pull request #1664 from weiss/fix-routing
...
Fix routing of groupchat and headline messages
2017-04-07 15:10:26 +02:00
Holger Weiss
179e8934cf
ejabberd_sm: Fix routing of headline messages
...
As per RFC 6121, silently drop headline messages sent to the bare JID of
an offline user or to the full JID of an unavailable resource.
2017-04-05 21:03:13 +02:00
Holger Weiss
8bfb6fdd4e
ejabberd_sm: Fix routing of groupchat messages
...
As per RFC 6121, don't (re)route groupchat messages sent to a bare JID
or to an unavailable resource.
2017-04-05 20:41:10 +02:00
Christophe Romain
578ecad93c
Disable mix tests
2017-04-04 17:02:15 +02:00
Evgeniy Khramtsov
085b61eea5
Add Redis as mod_carboncopy RAM backend
2017-03-30 11:45:09 +03:00
Evgeniy Khramtsov
31fd83b2ae
Add SQL as mod_carboncopy RAM backend
2017-03-30 10:31:51 +03:00
Evgeniy Khramtsov
12e01a5119
Add SQL as mod_muc RAM backend
2017-03-29 12:58:01 +03:00
Evgeniy Khramtsov
02064ae12a
Add support for file-based queues
...
It's now possible to use files as internal packet queues.
The following options are introduced:
* queue_type: the option can be set to `ram` (default) or `file`.
The option can be set per virtual host.
* queue_dir: path to the directory where queues will be allocated.
The default is 'queue' directory inside Mnesia directory.
This is a global option and cannot be set per virtual host.
2017-03-10 15:12:43 +03:00
Evgeniy Khramtsov
0aa22e5149
Don't call deprecated jid functions from the test suite
2017-03-07 18:11:28 +03:00
Evgeniy Khramtsov
8b29af629b
Best Practices for Use of SASL EXTERNAL with Certificates (XEP-0178) support
...
It is now possible for client connections to login using PKIX certificates.
This is disabled by default, to enable it:
- either set 'tls_verify: true' and 'cafile: /path/to/CAfile'
in the corresponding listener's section
- or set equivalent per-vhost options 'c2s_tls_verify' and 'c2s_cafile'
2017-03-07 14:20:50 +03:00
Paweł Chmielowski
b1b3aba439
Fix elixir tests
2017-02-27 13:05:08 +01:00
Paweł Chmielowski
a098d1ec62
Update tests to ejabberd_commands changes
2017-02-27 10:45:39 +01:00
Paweł Chmielowski
ac548f2e95
Update tests to cyrsasl modifications
2017-02-27 10:45:15 +01:00
Paweł Chmielowski
a85a953e8e
Adapt get_last tests to new output
2017-02-24 12:08:57 +01:00
Paweł Chmielowski
c950fc05f0
Update tests for changes in acl start code
2017-02-24 12:08:57 +01:00
Paweł Chmielowski
f4081a363b
Fix elixir tests
2017-02-23 09:53:20 +01:00
Evgeniy Khramtsov
635dfa2eae
Re-enable "replaced" tests
2017-02-21 12:53:08 +03:00
Evgeniy Khramtsov
6ffd5ffd0c
Test stream management queue overload
2017-02-21 12:38:03 +03:00
Evgeniy Khramtsov
e11bcf9c43
Improve stream management tests
2017-02-21 09:19:51 +03:00
Evgeniy Khramtsov
adbd174959
Rename mod_sm -> mod_stream_mgmt
2017-02-21 09:18:58 +03:00
Evgeniy Khramtsov
8b2d308498
Change routing API
...
Now 'From' and 'To' arguments must be omitted in functions
and structures related to routing.
The commit deprecates the following functions:
ejabberd_router:route/3 in favor of ejabberd_router:route/1
ejabberd_router:route_error/4 in favor of ejabberd_router:route_error/2
ejabberd_local:route_iq/4 in favor of ejabberd_local:route_iq/2
ejabberd_local:route_iq/5 in favor of ejabberd_local:route_iq/3
The format of {route, From, To, Packet} is changed in favor of {route, Packet}
2017-02-16 11:10:24 +03:00
Paweł Chmielowski
5183f7724d
Fix tests
2017-01-23 20:43:35 +01:00
PaweÅ Chmielowski
b0e72ece43
Adapt to new ejabberd_sm changes
2017-01-23 19:34:29 +01:00
Evgeniy Khramtsov
435e5e6263
Make test suite working again
2017-01-23 13:51:05 +03:00
Christophe Romain
32e5781a6a
Cleanup file headers
2017-01-03 15:58:52 +01:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Paweł Chmielowski
1bda40dac7
Fix cyrsasl test after recent changes
2017-01-02 13:36:21 +01:00
Paweł Chmielowski
a681874f67
Try to fix interminent failures in cyrsasl tests
2016-12-06 18:33:16 +01:00
Paweł Chmielowski
68cf6845e1
Fix mod_http_api_mock_test on 19.1
2016-12-01 18:51:23 +01:00
Paweł Chmielowski
294d58a393
Add more tests for digest-md5 cyrsasl
2016-12-01 18:51:23 +01:00
Evgeniy Khramtsov
d554827ebc
Don't check for faked carbons
2016-11-24 20:16:07 +03:00
Evgeniy Khramtsov
5d434c1aea
Move copyright definition to ejabberd.hrl
2016-11-23 15:51:48 +03:00
Evgeniy Khramtsov
c0b5c6e9d4
Fix logging in tests on R17
2016-11-21 22:04:25 +03:00
Evgeniy Khramtsov
3908a80ac9
Merge branch 'master' of github.com:processone/ejabberd
2016-11-21 16:55:28 +03:00
Evgeniy Khramtsov
1a02a2a51d
Set 'sql_pool_size' to 1 for sqlite tests
2016-11-21 16:55:18 +03:00
Paweł Chmielowski
b8e8e4b971
Fix elixir tests
2016-11-21 12:50:51 +01:00
Paweł Chmielowski
e57de02e0f
Fix s2s test
2016-11-21 12:06:58 +01:00
Evgeniy Khramtsov
507e756b69
Do not send empty <after/> tag
2016-11-21 12:13:34 +03:00
Paweł Chmielowski
daab95e3b5
Fix elixir tests
2016-11-18 12:54:06 +01:00
Paweł Chmielowski
e69937d93a
Get rid of substitute_forwarded
2016-11-18 11:51:57 +01:00
Evgeniy Khramtsov
f57f267c54
Merge branch 'master' of github.com:processone/ejabberd
...
Conflicts:
test/ejabberd_SUITE.erl
2016-11-18 13:39:10 +03:00
Evgeniy Khramtsov
b8dcc911a3
Make common tests working again
2016-11-18 13:38:08 +03:00
Paweł Chmielowski
e75dd17e2c
Fix tests that use #forwarded
2016-11-15 10:02:21 +01:00
Evgeniy Khramtsov
78a44e0176
Merge branch 'master' into xml-ng
...
Conflicts:
src/adhoc.erl
src/cyrsasl_oauth.erl
src/ejabberd_c2s.erl
src/ejabberd_config.erl
src/ejabberd_service.erl
src/gen_mod.erl
src/mod_admin_extra.erl
src/mod_announce.erl
src/mod_carboncopy.erl
src/mod_client_state.erl
src/mod_configure.erl
src/mod_echo.erl
src/mod_mam.erl
src/mod_muc.erl
src/mod_muc_room.erl
src/mod_offline.erl
src/mod_pubsub.erl
src/mod_stats.erl
src/node_flat_sql.erl
src/randoms.erl
2016-11-12 13:27:15 +03:00
Evgeniy Khramtsov
e841a6ec34
Add more tests for offline storage
2016-11-08 15:15:19 +03:00
Evgeniy Khramtsov
56c91d3c58
Add roster tests
2016-11-07 10:10:57 +03:00
Evgeniy Khramtsov
f6236d456d
Add more tests for privacy lists and blocking command
2016-10-22 13:01:45 +03:00
Evgeniy Khramtsov
67720c7713
Add more MUC tests
2016-10-17 13:37:23 +03:00
Evgeniy Khramtsov
6a3691ef7c
Add xdata generator and make some code using it
2016-10-07 10:31:03 +03:00
Paweł Chmielowski
0ae84a646f
Disable one test for now, we may change how this part is handled
2016-10-06 11:17:10 +02:00
Paweł Chmielowski
695d22ef95
Initialize ejabberd_access_permissions in elixir tests
2016-10-05 13:54:29 +02:00
Evgeniy Khramtsov
d327119cf7
Text legacy IQ handler support
2016-09-25 10:17:03 +03:00
Evgeniy Khramtsov
3112a7187f
Test anonymous auth
2016-09-25 09:57:56 +03:00
Evgeniy Khramtsov
7100c67be6
Get rid of compile warnings in test suite
2016-09-25 08:38:41 +03:00
Evgeniy Khramtsov
58969fb854
Improve namespace handling
2016-09-24 14:17:21 +03:00
Evgeniy Khramtsov
53209b9ab1
Add tests for s2s code
2016-09-23 12:30:33 +03:00
Evgeniy Khramtsov
ceda073766
Add tests for external component
2016-09-21 10:45:11 +03:00
Evgeniy Khramtsov
a4ec064455
Add more tests for C2S
2016-09-20 14:04:07 +03:00
Evgeniy Khramtsov
e987b88848
Make common tests working again
2016-09-13 12:30:05 +03:00
gabrielgatu
803270fc6b
Support for Elixir configuration file #1208
...
Contribution for Google Summer of code 2016 by Gabriel Gatu
2016-09-08 11:37:14 +02:00
Paweł Chmielowski
c770a54aac
Clean ejabberd_commands before tests
2016-09-05 17:18:27 +02:00
Paweł Chmielowski
96a748d34f
ejabberd_oauth requiere working cache_tab, initialize it before tests
2016-09-05 16:42:05 +02:00
Mickael Remond
4982639d05
Fix error return expectation in command test
2016-08-01 09:28:54 +02:00
Mickael Remond
2a8005e47f
Add ability to run test with Elixir mix
2016-07-26 12:17:37 +02:00
Mickael Remond
dbc0498279
Fix tests, command need to be properly added to list of exposed commands
2016-07-25 18:28:40 +02:00
Mickael Remond
d7ad99f147
Initial attempt on access on commands
...
May change and will require more work / test / refactor
2016-07-25 11:43:49 +02:00
Mickael Remond
caf2c20210
Error when not authorized should be 403
2016-07-23 18:21:45 +02:00
Pablo Polvorin
4332dddbc4
Support oauth password grant type
...
As in https://tools.ietf.org/html/rfc6749#section-4.3
2016-07-22 19:17:12 -03:00
Pablo Polvorin
57aeef74d5
stringprep might already be started
...
Depending on the way the test us ran
(full test suite or the elixir quicktest one)
the stringprep might already be loaded.
2016-07-22 19:15:56 -03:00
Pablo Polvorin
12b58b9870
Fix elixir test case: stringprep was required
2016-07-22 16:25:54 -03:00
Pablo Polvorin
0c0c6465ba
Fix test for changes in oauth expiry
2016-07-19 20:36:02 -03:00
Pablo Polvorin
33e0283f0d
Add 'ejabberd:user' and 'ejabberd:admin' oauth scopes
...
'ejabberd:user' includes all commands defined with policy "user".
'ejabberd:admin' includes commands defined with policy "admin".
2016-07-19 00:24:06 -03:00
Paweł Chmielowski
f56cff925c
acl: ACLName rule should match if any part of ACLName matches
2016-06-24 15:09:51 +02:00
Paweł Chmielowski
751be3cca6
Add some tests for {shaper,access}_rules_validator
2016-06-22 16:52:45 +02:00
Paweł Chmielowski
f1138baa80
Add test for more allowed access_rules
2016-06-16 11:12:16 +02:00
Paweł Chmielowski
7b308e0d41
Add shorter version of some common access rules definitions
...
This add conversion of
- allow
to
- allow: all
and
- allow: acl_name
to
- allow:
- acl: acl_name
(this works also for deny, and number in shapers)
2016-06-15 19:23:55 +02:00
Paweł Chmielowski
f8d2589ee5
Add tests for new acl functions
2016-06-06 17:12:39 +02:00
Pablo Polvorin
41c3751fa1
Fix quicktest case
...
Missing initialization, required for ets table to exists
2016-06-05 16:35:51 -03:00
Alexey Shchepin
0093326f7d
Fix ejabberd.ldif
2016-06-02 18:56:27 +03:00
Alexey Shchepin
9ef52b8c64
Fix a typo
2016-06-02 18:22:50 +03:00
Alexey Shchepin
d201f013b2
Stronger tests in the test suite, SQL updates and fixes
2016-06-02 18:09:58 +03:00
Paweł Chmielowski
8e883a76e3
Update test after roster code reorganization
2016-05-31 00:09:26 +02:00
Paweł Chmielowski
622bff23a4
Update test
2016-05-31 00:07:26 +02:00
Paweł Chmielowski
be0dd51e51
Fix mod_http_api_test.exs
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
17f87eb899
Fix tests
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
1ade88402c
Better code for setting up ejabberd app location
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
f252b9d489
Update acl tests to new internal access rules syntax
2016-05-30 14:36:17 +02:00
Paweł Chmielowski
1d3959b5a2
Make tests run correctly even when ejabberd src in not in ejabberd-xxx dir
2016-05-30 14:35:53 +02:00
Paweł Chmielowski
13ead140f4
Copy lite.sql to place where tests expect it in failback mode
2016-05-26 11:08:53 +02:00
Evgeny Khramtsov
14b53fbcb0
Merge pull request #1131 from weiss/failed-resume-h
...
XEP-0198: Indicate number of handled stanzas if resumption fails
2016-05-25 11:56:47 +04:00
Evgeny Khramtsov
b055c2a13a
Merge pull request #1126 from weiss/muc-send-affiliation
...
Notify on MUC affiliation changes of non-occupants
2016-05-25 11:55:06 +04:00
Holger Weiss
30e814dd4b
XEP-0198: Add 'h' attribute to <failed/> element
...
If a resume request is rejected because the session timed out, indicate
the number of handled stanzas as per version 1.5 of XEP-0198.
2016-05-24 22:20:58 +02:00
Holger Weiss
9d87a4a6d4
mod_muc_room: Notify on affiliation changes
...
Notify the current room occupants if the affiliation of a non-occupant
is changed as per example 195 of XEP-0045. In anonymous rooms, only
moderators are notified, though.
2016-05-20 01:28:16 +02:00
Holger Weiss
8f72c27b88
mod_client_state: Add "queue_pep" option
...
If the new "queue_pep" option is enabled and the client is inactive, PEP
notifications are throttled in a similar way to presence stanzas and
chat states. Only the most recent notification of a given node and
payload type will be queued from a given contact.
2016-05-17 22:12:04 +02:00
Holger Weiss
4f009e64fc
mod_client_state: Queue chat state notifications
...
Queue standalone chat states instead of simply dropping them when the
client is inactive. Only the most recent chat state of a given client
is queued.
2016-05-17 20:55:45 +02:00
Alexey Shchepin
64bb371285
Fix a typo
2016-05-13 18:22:59 +03:00
Alexey Shchepin
9bd446e519
Less strict extauth.py
2016-05-13 17:56:52 +03:00
Alexey Shchepin
792f47b4bd
Update SQL escaping
2016-05-13 17:56:48 +03:00
Holger Weiss
bcf07fd032
Avoid error bounces when testing stream management
...
The test suite sends messages to the server JID while checking whether
the stream management code counts outgoing stanzas correctly. We now
set type='headline' for those messages to avoid error bounces.
2016-05-06 16:37:17 +02:00
Paweł Chmielowski
0c0ce17bc0
Add ability to configure server loglevel when running tests
2016-05-02 15:25:30 +02:00
Evgeniy Khramtsov
8700a3401e
Add tests for MUC MAM
2016-05-01 12:48:23 +03:00
Evgeniy Khramtsov
1aae8a9fda
Rename odbc to sql everywhere
2016-04-20 13:25:42 +03:00
Mickael Remond
cd2e2b1a88
Synchronizing master changes
2016-04-12 10:34:24 +02:00
Mickael Remond
127342449e
Allow testing user pattern directly in access rules
2016-04-08 19:45:25 +02:00
Mickael Remond
1dbdd58b1b
Add TODO to improve ACL
2016-04-08 12:55:35 +02:00
Mickael Remond
373f9fb0eb
Add tests on Access rules returning values
2016-04-07 13:04:58 +02:00