mailshears 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +32 -0
  3. data/bin/install-fixtures.sh +27 -0
  4. data/bin/mailshears +124 -0
  5. data/doc/LICENSE +661 -0
  6. data/doc/TODO +16 -0
  7. data/doc/mailshears.example.conf.yml +37 -0
  8. data/doc/man1/mailshears.1 +184 -0
  9. data/lib/common/agendav_plugin.rb +54 -0
  10. data/lib/common/configuration.rb +116 -0
  11. data/lib/common/davical_plugin.rb +104 -0
  12. data/lib/common/domain.rb +64 -0
  13. data/lib/common/dovecot_plugin.rb +130 -0
  14. data/lib/common/errors.rb +15 -0
  15. data/lib/common/exit_codes.rb +9 -0
  16. data/lib/common/filesystem.rb +43 -0
  17. data/lib/common/plugin.rb +238 -0
  18. data/lib/common/postfixadmin_plugin.rb +180 -0
  19. data/lib/common/roundcube_plugin.rb +96 -0
  20. data/lib/common/runner.rb +73 -0
  21. data/lib/common/user.rb +120 -0
  22. data/lib/common/user_interface.rb +53 -0
  23. data/lib/mailshears.rb +7 -0
  24. data/lib/mv/mv_dummy_runner.rb +45 -0
  25. data/lib/mv/mv_plugin.rb +40 -0
  26. data/lib/mv/mv_runner.rb +56 -0
  27. data/lib/mv/plugins/agendav.rb +46 -0
  28. data/lib/mv/plugins/davical.rb +43 -0
  29. data/lib/mv/plugins/dovecot.rb +64 -0
  30. data/lib/mv/plugins/postfixadmin.rb +70 -0
  31. data/lib/mv/plugins/roundcube.rb +44 -0
  32. data/lib/prune/plugins/agendav.rb +13 -0
  33. data/lib/prune/plugins/davical.rb +13 -0
  34. data/lib/prune/plugins/dovecot.rb +11 -0
  35. data/lib/prune/plugins/postfixadmin.rb +13 -0
  36. data/lib/prune/plugins/roundcube.rb +14 -0
  37. data/lib/prune/prune_dummy_runner.rb +44 -0
  38. data/lib/prune/prune_plugin.rb +66 -0
  39. data/lib/prune/prune_runner.rb +34 -0
  40. data/lib/rm/plugins/agendav.rb +38 -0
  41. data/lib/rm/plugins/davical.rb +38 -0
  42. data/lib/rm/plugins/dovecot.rb +48 -0
  43. data/lib/rm/plugins/postfixadmin.rb +114 -0
  44. data/lib/rm/plugins/roundcube.rb +42 -0
  45. data/lib/rm/rm_dummy_runner.rb +39 -0
  46. data/lib/rm/rm_plugin.rb +77 -0
  47. data/lib/rm/rm_runner.rb +51 -0
  48. data/mailshears.gemspec +39 -0
  49. data/test/mailshears.test.conf.yml +36 -0
  50. data/test/mailshears_test.rb +250 -0
  51. data/test/sql/agendav-fixtures.sql +9 -0
  52. data/test/sql/agendav.sql +157 -0
  53. data/test/sql/davical-fixtures.sql +23 -0
  54. data/test/sql/davical.sql +4371 -0
  55. data/test/sql/postfixadmin-fixtures.sql +48 -0
  56. data/test/sql/postfixadmin.sql +737 -0
  57. data/test/sql/roundcube-fixtures.sql +4 -0
  58. data/test/sql/roundcube.sql +608 -0
  59. data/test/test_mv.rb +174 -0
  60. data/test/test_prune.rb +121 -0
  61. data/test/test_rm.rb +154 -0
  62. metadata +133 -0
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mailshears
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Michael Orlitzky
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pg
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.11'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.11'
27
+ description: |2
28
+ Managing a mail system with virtual users is annoying. The
29
+ authoritative database of users is stored in one table, but every
30
+ other piece of software keeps its own database of users.
31
+
32
+ If you're using PostfixAdmin to manage your users, what happens when
33
+ you delete a user? Chances are, nothing happens: mail directories are
34
+ left behind, webmail preferences are saved, address books become
35
+ orphaned. That's what mailshears was designed to fix. It cleans up
36
+ after you remove a user or domain.
37
+
38
+ Another stupidly difficult task is renaming a single email
39
+ account. It's easy to move the user in one database, but then all of
40
+ the remaining filesystem directories and databases need to be updated
41
+ as well. Since these two tasks are related, mailshears does them both.
42
+ email:
43
+ - michael@orlitzky.com
44
+ executables:
45
+ - mailshears
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - Rakefile
50
+ - bin/install-fixtures.sh
51
+ - bin/mailshears
52
+ - doc/LICENSE
53
+ - doc/TODO
54
+ - doc/mailshears.example.conf.yml
55
+ - doc/man1/mailshears.1
56
+ - lib/common/agendav_plugin.rb
57
+ - lib/common/configuration.rb
58
+ - lib/common/davical_plugin.rb
59
+ - lib/common/domain.rb
60
+ - lib/common/dovecot_plugin.rb
61
+ - lib/common/errors.rb
62
+ - lib/common/exit_codes.rb
63
+ - lib/common/filesystem.rb
64
+ - lib/common/plugin.rb
65
+ - lib/common/postfixadmin_plugin.rb
66
+ - lib/common/roundcube_plugin.rb
67
+ - lib/common/runner.rb
68
+ - lib/common/user.rb
69
+ - lib/common/user_interface.rb
70
+ - lib/mailshears.rb
71
+ - lib/mv/mv_dummy_runner.rb
72
+ - lib/mv/mv_plugin.rb
73
+ - lib/mv/mv_runner.rb
74
+ - lib/mv/plugins/agendav.rb
75
+ - lib/mv/plugins/davical.rb
76
+ - lib/mv/plugins/dovecot.rb
77
+ - lib/mv/plugins/postfixadmin.rb
78
+ - lib/mv/plugins/roundcube.rb
79
+ - lib/prune/plugins/agendav.rb
80
+ - lib/prune/plugins/davical.rb
81
+ - lib/prune/plugins/dovecot.rb
82
+ - lib/prune/plugins/postfixadmin.rb
83
+ - lib/prune/plugins/roundcube.rb
84
+ - lib/prune/prune_dummy_runner.rb
85
+ - lib/prune/prune_plugin.rb
86
+ - lib/prune/prune_runner.rb
87
+ - lib/rm/plugins/agendav.rb
88
+ - lib/rm/plugins/davical.rb
89
+ - lib/rm/plugins/dovecot.rb
90
+ - lib/rm/plugins/postfixadmin.rb
91
+ - lib/rm/plugins/roundcube.rb
92
+ - lib/rm/rm_dummy_runner.rb
93
+ - lib/rm/rm_plugin.rb
94
+ - lib/rm/rm_runner.rb
95
+ - mailshears.gemspec
96
+ - test/mailshears.test.conf.yml
97
+ - test/mailshears_test.rb
98
+ - test/sql/agendav-fixtures.sql
99
+ - test/sql/agendav.sql
100
+ - test/sql/davical-fixtures.sql
101
+ - test/sql/davical.sql
102
+ - test/sql/postfixadmin-fixtures.sql
103
+ - test/sql/postfixadmin.sql
104
+ - test/sql/roundcube-fixtures.sql
105
+ - test/sql/roundcube.sql
106
+ - test/test_mv.rb
107
+ - test/test_prune.rb
108
+ - test/test_rm.rb
109
+ homepage: http://michael.orlitzky.com/code/mailshears.php
110
+ licenses:
111
+ - AGPL-3
112
+ metadata: {}
113
+ post_install_message:
114
+ rdoc_options: []
115
+ require_paths:
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 1.3.6
127
+ requirements: []
128
+ rubyforge_project:
129
+ rubygems_version: 2.4.8
130
+ signing_key:
131
+ specification_version: 4
132
+ summary: Prune unused mail directories.
133
+ test_files: []