Commit Graph

434 Commits

Author SHA1 Message Date
Luck
1c229d54d9
Cleanup 2017-01-11 18:55:46 +00:00
Luck
055d181c67
Fix KCauldron dependency loading - closes #121 2017-01-09 18:20:03 +00:00
Luck
960c2291b6
Fully implement new SQL schema & add migration code 2017-01-08 19:33:27 +00:00
Luck
bd509b3c75
Fix build 2017-01-05 18:30:09 +00:00
Luck
a71e040c6d
Fix NPE with Vault transient permissions - closes #117 2017-01-05 18:20:17 +00:00
Luck
454abec468
Cleanup vault hook 2017-01-05 18:19:14 +00:00
Luck
2dad9f84fc
Fixes towards #77 2016-12-27 14:55:21 +00:00
bakatrouble
f8a77cf809 Change comments on configs; default ports for all storage backends 2016-12-27 12:39:54 +00:00
Luck
2d5975d6e3
Vault only save if a change was made 2016-12-27 12:24:19 +00:00
Luck
b35f3b4375
Properly cleanup in the case of a reload - towards #100 2016-12-23 11:28:42 +00:00
Luck
d3e60487bb
Download dependencies at runtime instead of shading them in the jar 2016-12-22 21:17:02 +00:00
Luck
8a692200d5
Improve memory footprint in low throughput caches 2016-12-20 12:42:20 +00:00
Luck
171a54c0fc
PEX migration - include username too. Closes #92 2016-12-19 01:22:47 +00:00
Luck
dadca97d8a actually remove 2016-12-17 00:04:04 +00:00
Luck
8afba8b53d remove /p alias 2016-12-17 00:03:21 +00:00
Luck
85dac1184c
silence NPE in autoop listener 2016-12-16 22:47:44 +00:00
Luck
70aa3964ee
Run all commands on the same thread - fixes #79 2016-12-11 11:34:18 +00:00
Luck
167489823a
more lenient command blocking 2016-12-09 19:39:05 +00:00
Luck
d1426f1b37
change jar names 2016-12-08 19:33:49 +00:00
Luck
1e13ee87af
cleanup imports 2016-12-07 22:21:22 +00:00
Luck
5101c1a759
fix build 2016-12-07 22:16:01 +00:00
Slind14
74bb079625 Fix zPermissions imports (PR #72, fixes #61)
* removed zPerm inherit loop check. (blocked the import due to throwing NPE)

* should fix zperm migration (group inheritance and memberships)

* zperm import, include username

* zperm import: fixed memberships
2016-12-07 22:13:50 +00:00
Luck
2fba9b83af
apply group rewrites to vault - resolves #59 2016-12-07 21:18:57 +00:00
Luck
25511f898c
implement clickable message base - towards #68 2016-12-07 21:08:40 +00:00
Luck
257f426ab9
implement cached state for all permission holders. towards #69 2016-12-06 21:33:55 +00:00
dracnis
85ee211172 Update VaultChatHook.java
need update as soon as possible.
2016-12-06 19:03:01 +00:00
Luck
8f9a1aa931
Add verbose pastebin upload functionality - resolves #55 2016-12-03 19:30:25 +00:00
Luck
307e2b889c
Changes for version 2.16 2016-12-02 20:20:31 +00:00
Luck
c6878c27b9 Fix Vault #setPrefix method 2016-11-30 21:43:10 +00:00
Luck
02ff4a4acb
cleanup 2016-11-29 23:35:25 +00:00
Luck
23f757e916
fix formatting 2016-11-28 21:50:19 +00:00
Luck
f0ababa409
Maybe fix lilypad uuid retrieval 2016-11-28 21:39:10 +00:00
Luck
331ff341f3
Fix autoop 2016-11-28 20:11:10 +00:00
Luck
793a84edfb
Sponge: replace MemorySubjectData with own implementation 2016-11-26 17:19:04 +00:00
Luck
18dd59ed0f
Refactor Sponge subject handling 2016-11-25 20:59:28 +00:00
Luck
443906da55
Refactor managers 2016-11-25 18:28:10 +00:00
Luck
cf456cff81
Implement tab completion for permissions 2016-11-24 19:07:01 +00:00
Luck
f1606ac51b
API changes for 2.15 2016-11-22 18:27:40 +00:00
Luck
51732fa660
Rearrange some packages, general cleanup 2016-11-20 13:44:36 +00:00
Luck
bb25632178
Improve info command 2016-11-19 21:56:11 +00:00
Luck
9a2cf82623
Improve user info command 2016-11-19 17:52:39 +00:00
Luck
c0734fc29e
refactor contexts slightly 2016-11-18 22:39:00 +00:00
Luck
c60067e733
Maybe fix zPerms migration & tidy up shorthand parser 2016-11-17 22:02:47 +00:00
Luck
e296b1df60
Fix migration commands never being executed 2016-11-15 18:17:35 +00:00
Luck
b72e5f5437 Update plugin.yml to make LuckPerms always enable before Vault 2016-11-14 22:50:11 +00:00
Luck
de09ae94b8
Fix Vault hook - thanks @Yann151924 2016-11-14 22:32:06 +00:00
Luck
18a3dfd604
cleanup 2016-11-13 19:30:46 +00:00
Luck
696cd235fd
Fix meta serialization. Resolves #41 2016-11-13 11:09:57 +00:00
Luck
563dd4683d
Changes for & release of API 2.14 2016-11-12 14:10:42 +00:00
Luck
e8cd2c7548
More command refactors 2016-11-10 22:13:53 +00:00
Luck
1c534d7475
More cleanup 2016-11-08 20:46:29 +00:00
Luck
90f8dbe243
Refactor commands 2016-11-07 22:02:48 +00:00
Luck
6cd8593fa5
Fix vault primary group override feature 2016-11-06 15:11:28 +00:00
Luck
5ebbc178a5
Remove messenger system & more cleanup 2016-11-06 14:56:13 +00:00
Luck
4f6e229943
Small cleanup 2016-11-05 23:23:08 +00:00
Luck
5361b1e87b
Implement group weights 2016-11-05 09:04:26 +00:00
Luck
e2cebfbd16
Refactor Node class 2016-10-31 18:18:31 +00:00
Luck
17b06c39e9
Ignore negated primary group override nodes & fix broken message 2016-10-30 15:29:55 +00:00
Luck
1275d0023d
Listen to PlayerQuit on monitor priority 2016-10-29 22:58:06 +01:00
Luck
27f6f225c9
whoops 2016-10-29 21:56:55 +01:00
Luck
41362aa34a
Use a temporary executor until the bukkit one has started 2016-10-29 21:54:13 +01:00
Luck
a99609e016
Don't wrap buffer tasks in scheduler calls 2016-10-29 21:23:30 +01:00
Luck
c0ea2d8ec3
Fix data not being loaded sync when the plugin starts 2016-10-29 21:14:59 +01:00
Luck
21695dd2cb
Implement support for Bukkit child permissions 2016-10-28 19:16:32 +01:00
Luck
531835c948
Fix GroupManager primary group migration 2016-10-28 18:00:18 +01:00
Luck
77e3b351fd
Fix GroupManager user migration 2016-10-28 17:58:36 +01:00
Luck
66f756575a
Remove redundant config option 2016-10-27 18:48:38 +01:00
Luck
7acc8bc7ed
Add verbose command 2016-10-27 17:46:44 +01:00
Luck
0a4d337a53
Cache context lookups & refactor Sponge subjects 2016-10-27 16:32:14 +01:00
Luck
0198068a13
Improve permission lookup speed (slightly) 2016-10-26 21:35:44 +01:00
Luck
d1863fa714
Implement more customizable primary groups 2016-10-26 17:19:33 +01:00
Luck
ee3db1e5c5
Maybe fix GroupManager primary group migration 2016-10-25 15:02:49 +01:00
Luck
bd830617c9
Small cleanup 2016-10-25 11:14:56 +01:00
Luck
a9b6493091
A few small optimizations 2016-10-24 18:48:39 +01:00
Luck
9894e45516
Fix issue with Vault lookups not being preprocessed 2016-10-24 15:57:05 +01:00
Luck
2cfc82f3aa
Implement support for instant data propagation with Redis 2016-10-24 14:38:12 +01:00
Luck
bb9eab0989
Lower sync wait buffer & fix export command 2016-10-24 13:02:26 +01:00
Luck
4d85930f5a
Refactor migration classes 2016-10-23 20:42:25 +01:00
Luck
383276f47a
Refactor contexts, expose cached data in the API & release 2.13 2016-10-23 16:46:53 +01:00
Luck
33c78e4a17
Use LoadingCache instead of a regular map + more datastore fixes 2016-10-22 20:39:26 +01:00
Luck
77e70ef8d3
Fix deadlocks caused by waiting for async operations to complete before the scheduler has started 2016-10-22 09:21:30 +01:00
Luck
9b92143501 prevent logins until the plugin has started 2016-10-22 00:07:30 +01:00
Luck
87f94f6b8f add started value to bukkit plugin 2016-10-22 00:05:33 +01:00
Luck
5d955e77b6
Make the max pool size configurable 2016-10-21 22:22:06 +01:00
Luck
be7d914e39
Finish the buffering refactor - still WIP. Towards #32 2016-10-21 18:34:53 +01:00
Luck
37fc00cce8
Refactoring storage - WIP. Towards #32 2016-10-20 21:55:34 +01:00
Luck
258bf1cc41
small cleanup 2016-10-19 20:57:53 +01:00
Luck
ce3d7829d7
Update internal permissions to match the new command layouts 2016-10-19 20:14:16 +01:00
Luck
d113a92ce5
Cleanup permission calculation 2016-10-18 20:48:59 +01:00
Luck
7b655d12df
Add set-primary-group option to the default assignments 2016-10-17 18:23:41 +01:00
Luck
a4c872f1e8
Fix per-world permissions not working until a user switches worlds 2016-10-17 17:10:02 +01:00
Luck
13fbc7dd39
Implement default assignment system (#25) 2016-10-16 13:58:57 +01:00
Luck
02a75fc32a
Reimplement autoop on Bukkit & other misc fixes 2016-10-15 21:04:04 +01:00
Luck
e4810302e1
Implement meta / Sponge option commands & fix meta caching system. Fully resolves #23 2016-10-14 22:49:32 +01:00
Luck
045539c752
refactor inheritance commands 2016-10-14 19:19:57 +01:00
Luck
6109718c67
Cleanup some remaining TODOs 2016-10-13 21:16:34 +01:00
Luck
cd758d7e48
Bump minor version 2016-10-13 20:40:09 +01:00
Luck
26fb506560
Reorganize packages 2016-10-13 20:07:10 +01:00
Luck
83d9229295
Refactor caching system (WIP) - still working towards #23 2016-10-12 21:57:57 +01:00
Luck
ac57509a29
Fix prefix/suffix priorities being ignored 2016-10-11 19:31:26 +01:00
Luck
c5ce655cf6
Add Vault chat debug messages 2016-10-11 19:06:18 +01:00
Luck
9fe05efb4e
Don't force the default group 2016-10-11 18:54:42 +01:00
Luck
9133951446
I'm dumb 2016-10-08 16:45:18 +01:00
Luck
7853d4686a
Fix NPE with LPPermissibles & refreshing users 2016-10-08 16:43:57 +01:00
Luck
ed5892eb56
add option to ignore vault world parameters 2016-10-08 15:01:54 +01:00
Luck
687804de2c
small change to BukkitConfig 2016-10-08 09:05:48 +01:00
Luck
2429831153
API changes for 2.11 2016-10-05 21:40:54 +01:00
Luck
9b4384dc33
Revert: Merge dummy implementations 2016-10-04 17:15:10 +01:00
Luck
de462d2385
Merge dummy implementations 2016-10-04 16:58:54 +01:00
Luck
90150428be
Inject a dummy on quit instead of a real PermBase instance 2016-10-04 16:19:41 +01:00
Luck
2a7f951f4f
Fix NPE / crash on player quit 2016-10-04 16:10:06 +01:00
Luck
82789328c1
Pre-process permissions and apply immediately on login events 2016-10-04 14:57:00 +01:00
Luck
008dc3fc52
Move some classes around 2016-10-03 20:42:11 +01:00
Luck
3442372281
Cleanup random debug messages 2016-10-02 15:43:44 +01:00
Luck
1b3b50c113
Refactor PermissionHolder & Sponge subjects 2016-10-02 15:05:53 +01:00
Luck
4787361e66
Implement locks to hopefully resolve race conditions with I/O - experimental 2016-10-01 19:03:05 +01:00
Luck
1fc0d77971
Cache & fix (and maybe break) Vault Chat implementation 2016-09-30 20:08:59 +01:00
Luck
2d8083bf18
Another Vault fix & cleanup User / Group classes 2016-09-30 17:45:29 +01:00
Luck
63b9be9845
Change Vault behavior & cleanup Node class 2016-09-30 17:09:19 +01:00
Luck
85a83d8c71
Add logging output to Vault 2016-09-29 22:04:46 +01:00
Luck
385addfe08
cleanup 2016-09-27 20:21:13 +01:00
Luck
4c21957b04
Cache Vault lookups & properly sort listnodes output 2016-09-27 20:18:06 +01:00
Luck
ab6b011225
Fix permission lookups being case sensitive 2016-09-26 18:52:01 +01:00
Luck
4c9abba5fa
Maybe fix vault (again) 2016-09-25 19:26:36 +01:00
Luck
3424b0542a
Release 2.10 2016-09-25 17:32:58 +01:00
Luck
5ee6db02ff
Proper context implementation - WIP 2016-09-25 10:19:36 +01:00
Luck
eb9d2be587
Add locale file support 2016-09-23 22:14:40 +01:00
Luck
f48595b1ff
Add world and group name rewriting, refactor configs 2016-09-23 18:58:19 +01:00
Luck
12cd4e19cb
Update config comments 2016-09-22 18:25:49 +01:00
Luck
a195e94522
Calculate defaults after all plugins have loaded 2016-09-22 17:34:51 +01:00
Luck
02abb39dc2
Change #isPermissionSet to be more like the Bukkit impl 2016-09-21 22:04:18 +01:00
Luck
f7a0b1ef78
Refactor default permissions to be less bad 2016-09-21 21:30:42 +01:00
Luck
7678f25879
Fix default permissions not properly applying on Bukkit 2016-09-21 17:40:05 +01:00
Luck
fa9324bda8
Implement basic standalone base, working towards #9 2016-09-20 21:50:28 +01:00
Luck
1e72f9d8fe
Listen on lowest priority, may fix issues with plugins checking for permissions on login events 2016-09-20 21:04:53 +01:00
Luck
b1e34b55f8
Re-add regex permissions & actually take note of the config options 2016-09-19 21:00:23 +01:00
Luck
cff1b8a411
Separate PermissionProcessor into own class 2016-09-19 20:45:37 +01:00
Luck
23d53d39b4
Refactor permission calculation 2016-09-17 23:15:07 +01:00
Luck
30ea5a5b69
Fix no permissions applying when include-global is false, and better support per-server/per-world groups 2016-09-17 19:05:56 +01:00
Luck
e7a210dc06
Update default configs 2016-09-16 22:09:55 +01:00
Luck
be74b50762
Fixes for offline mode servers 2016-09-16 21:24:25 +01:00
Luck
f2e06b56e7
Cache permission lookups 2016-09-16 21:11:12 +01:00
Luck
ce3ee866ca
Sponge fixes 2016-09-14 19:37:20 +01:00
Luck
3a0a89853f
Apply negated wildcards 2016-09-13 17:23:16 +01:00
Luck
e7ca79d251
Use Splitter instead of Patterns, don't split arguments in quotes 2016-09-12 19:00:37 +01:00
Luck
116094ea96
Maybe fix an issue with per-server prefixes/suffixes 2016-09-11 14:34:38 +01:00
Luck
9df39a9545
Inject PermissibleBase instead of using attachments. Resolves #14 2016-09-11 11:50:59 +01:00
Luck
31884ea59d
Maybe fix race condition with messages not sending 2016-09-10 14:31:42 +01:00
Luck
fc230291d3
Fix ops not receiving all permission nodes 2016-09-09 18:00:38 +01:00
Luck
fb0e694155
Add auto-op. Closes #8 2016-09-07 23:21:24 +01:00
Luck
cd6cac1fb6 Fix bad grammar in config option comment 2016-09-07 21:01:03 +01:00
Luck
ea07f05097
Release 2.8 2016-09-07 20:53:33 +01:00
Luck
60bcd5f643
Release 2.7 2016-09-05 20:00:01 +01:00
Luck
ba04fb320b
Remove unnecessary reflection 2016-09-05 16:44:59 +01:00
Luck
770b7dc282
Fix permissions not being removed on Sponge 2016-09-04 17:59:01 +01:00
Luck
36cd388607
Slight re-wording 2016-09-03 21:34:35 +01:00
Luck
4d48ef1939
Add comment about Paper's "bungee-online-mode" option. Resolves #6 2016-09-03 21:30:37 +01:00
Luck
7970e2a1c6
Add bPermissions migration 2016-09-03 18:15:52 +01:00
Luck
5dec5a54cb
Add YAML storage support 2016-09-02 19:15:31 +01:00
Luck
5c760aabd4
Fire PermissionRefreshEvent after the nodes have actually updated 2016-09-01 13:00:22 +01:00
Luck
3fd62a80e2
Add support for split storage 2016-08-31 09:30:19 +01:00
Luck
9b4bbe0500
Make log notifications toggleable 2016-08-30 16:02:01 +01:00
Luck
ab00c41452
Fix NPE, and properly send possible permissions in BukkitUser 2016-08-30 13:06:36 +01:00
Luck
075ba33e8b
Add prefix/suffix/meta commands 2016-08-30 10:22:25 +01:00
Luck
659baaf5fb
Make #getPlayerGroups return global too 2016-08-29 21:35:11 +01:00
Luck
6aea3b53f3
Only save unique users 2016-08-28 21:36:16 +01:00
Luck
9f5e194a6e
bug fixes 2016-08-28 17:43:02 +01:00
Luck
b2cf6dce2d
Prepare for 1.6 release 2016-08-28 15:29:02 +01:00
Luck
a3ebf86f6b
More progress towards 1.6: implement PermissionService 2016-08-28 14:57:03 +01:00
Luck
2a305b1c55
More progress towards 1.6: add transient permissions 2016-08-27 22:01:17 +01:00
Luck
edaf174ebf
Complete refactor of permissions/nodes. progress towards 1.6 2016-08-27 00:32:39 +01:00
Luck
9873415303
Fix NPE 2016-08-25 18:07:50 +01:00
Luck
2b71476cfe
Implement ConsecutiveExecutor 2016-08-25 18:07:32 +01:00
Luck
21d0c9ab0e
Add some PlaceholderAPI placeholders 2016-08-23 19:32:58 +01:00
Luck
f9c1cdb4bd
Add group and track rename commands 2016-08-23 15:52:51 +01:00
Luck
9cd4e01d8e
Copy prefixes and suffixes during migration processes 2016-08-23 12:36:20 +01:00
Luck
f7fa08d5e9
Call #recalculatePermissions on the main thread 2016-08-23 12:10:11 +01:00
Luck
7a4135319f
Convert PermissionAttachment to use ConcurrentMap, and do refreshPermissions async 2016-08-22 22:39:40 +01:00
Luck
41fca40a36
Add some null / arg checks to Vault chat impl 2016-08-22 21:12:42 +01:00
Luck
9dbfa76b26
Add Vault chat support using permission nodes 2016-08-22 20:59:52 +01:00
Luck
5dc551c05d
Complete the migration system 2016-08-21 23:31:38 +01:00
Luck
dd7aee9d15
Partially add migration support 2016-08-21 22:20:14 +01:00
Luck
471084a9ef
Fix NPE 2016-08-20 16:29:59 +01:00
Luck
4aa753515d
Add events 2016-08-20 15:43:54 +01:00
Luck
b4d179f7b2
use a proper repo instead of the rubbish jenkins one 2016-08-20 01:39:19 +01:00
Luck
0c12eebe6f
Check temporary permissions separately to the sync task 2016-08-19 19:10:36 +01:00
Luck
a15a0752f4
Add support for MongoDB and H2 database formats 2016-08-19 18:21:16 +01:00
Luck
e9e7d81ddf
Add import/export support 2016-08-18 12:30:51 +01:00
Luck
ca9037461a
remove lombok from api and attach sources 2016-08-15 16:09:16 +02:00
Luck
e216c235ce
Add logging, prepare for import/export system 2016-08-15 01:51:38 +02:00
Luck
cf85f31da8
Bump minor version 2016-08-09 11:13:01 +02:00
Luck
b70b6f8af1
Add support for regex permissions/servers/worlds and shorthand permissions 2016-08-09 11:09:45 +02:00
Luck
90e074d3ab
Apply bukkit permissions directly, fix sponge listener, other misc changes/fixes 2016-08-07 17:10:37 +02:00
Luck
e14ea73626
Add wildcard permissions 2016-08-07 01:16:05 +02:00
Luck
4e7547c92e
Add proper versioning, bump to 2.0 2016-08-06 18:28:38 +02:00
Luck
8483e78082
Add license headers 2016-08-06 14:36:56 +02:00
Luck
4ca1e26f0f
Set version on build in sponge plugin 2016-08-06 12:25:23 +02:00
Luck
d88657f369
Add more stuff to api 2016-08-06 11:04:06 +02:00
Luck
caf03379f2
Move stuff into commons, rename PermissionObject, add more javadocs to api 2016-08-06 00:11:00 +02:00
Luck
03450c3339
Sponge support 2016-08-05 12:58:27 +02:00
Luck
56e11b8b85
Various small changes 2016-08-03 12:08:10 +02:00
Luck
d6cd0b162b Update vault version 2016-08-02 11:17:52 +02:00
Luck
db862b38c9
Fix version tags 2016-07-26 10:19:33 +01:00
Luck
0ecd899ec5 Fix bad javadoc issues 2016-07-26 03:12:27 +01:00
Luck
c000b9c009 Update build 2016-07-26 02:21:51 +01:00
Luck
a3604c7464
Bump version, and make future version changes easier 2016-07-25 21:05:09 +01:00
Luck
c7336dbcad
Change Vault hook to use new per-world perms system 2016-07-25 20:20:51 +01:00
Luck
ebeb69dd3a Per-world permissions 2016-07-25 18:19:36 +01:00
Luck
9ad40be210 Add complete offline-mode support 2016-07-25 11:18:35 +01:00
Luck
df209f6515 Fix possible race condition 2016-07-23 22:34:42 +01:00
Luck
b3b687d9b7 Add Api 2016-07-21 21:40:24 +01:00
Luck
a413c0a50a Cleanup & multiple small fixes 2016-07-21 14:15:14 +01:00
Luck
ea358e88e1 Remove test files, bump version 2016-07-19 13:01:58 +01:00
Luck
24ff465679 Make command usage send with the correct label & bump version 2016-07-17 14:44:52 +01:00
Luck
d33a3ffcea Add tab completion 2016-07-17 13:18:43 +01:00
Luck
874a90253b Add support for tracks 2016-07-15 22:44:25 +01:00
Luck
42322ef932 Pre-compile patterns, add two new commands, check args before doing DB lookup, and limit group names slightly 2016-07-15 15:03:21 +01:00
Luck
d5a6a4261d Update project dependencies 2016-07-15 11:56:28 +01:00
Luck
69ab488c47 Only store prefix in one place 2016-07-12 23:15:47 +01:00
Luck
ad9b190a7c small cleanup 2016-07-12 11:50:49 +01:00
Luck
f6e3f1ca0b Fix NPE and plugin not loading when Vault missing 2016-06-29 20:09:34 +01:00
Luck
84335afacd Huge cleanup 2016-06-29 15:35:57 +01:00
Luck
3c83c31e9f Use group.<name> instead of luckperms.group.<name> to indicate group membership 2016-06-29 11:57:55 +01:00
Luck
d4c335e33e Fix clear command not resetting primary group 2016-06-28 17:21:41 +01:00
Luck
d855be1c65 Fix concurrency issue, remove sqlite from Bungee version and fix join message 2016-06-28 17:10:01 +01:00
Luck
d35774b401 Fix primary group not loading and Vault support with EssentialsChat 2016-06-24 21:02:56 +01:00
Luck
697b349167 Add primary groups 2016-06-24 18:38:05 +01:00
Luck
0781637617 Add flatfile storage support 2016-06-23 16:37:29 +01:00
Luck
85989aeb7c small cleanup 2016-06-23 13:29:51 +01:00
Luck
60f6bac903 Add sqlite support 2016-06-22 16:47:54 +01:00
Luck
f6d8fb5286 Use gson instead of internal serialization method 2016-06-22 12:51:37 +01:00
Luck
484bc44288 Change users being updated async and refactor update task 2016-06-17 23:23:28 +01:00
Luck
20f34d9b45 Slight cleanup and better support for server reloads 2016-06-17 20:06:45 +01:00
Luck
dc1e06ebce Initial commit 2016-05-22 01:57:10 +01:00