author | Mahlon E. Smith <mahlon@martini.nu> |
Mon, 02 Sep 2019 09:00:47 -0700 | |
changeset 27 | a629597fd647 |
parent 17 | 23c7f5c8ee39 |
permissions | -rw-r--r-- |
27 | 1 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
2 |
# Ruby-Ezmlm |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
3 |
|
27 | 4 |
* home: |
5 |
* http://code.martini.nu/ruby-ezmlm |
|
6 |
* mirrors: |
|
7 |
* https://github.com/mahlonsmith/ruby-ezmlm |
|
8 |
* https://hg.sr.ht/~mahlon/ruby-ezmlm |
|
9 |
* Ezmlm: |
|
10 |
* http://untroubled.org/ezmlm/ |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
11 |
|
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
12 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
13 |
## Authors |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
14 |
|
14 | 15 |
* Mahlon E. Smith <mahlon@martini.nu> |
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
16 |
* Michael Granger <ged@faeriemud.org> |
15 | 17 |
* Jeremiah Jordan <jeremiah.m.jordan@gmail.com> |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
18 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
19 |
|
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
20 |
## Description |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
21 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
22 |
This is a ruby interface for interacting with ezmlm-idx, an email list |
14 | 23 |
manager for use with the Qmail MTA, and the messages contained therein. |
24 |
(The -idx provides an extended feature set over the original ezmlm |
|
25 |
environment.) |
|
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
26 |
|
14 | 27 |
This was tested against ezmlm-idx 7.2.2. |
28 |
||
15 | 29 |
*Strong recommendation*: Create your lists with archiving (-a) and |
30 |
indexing (-i)! This library is suitable for modifying behavior of |
|
31 |
existing lists as a default, but with these flags enabled, can also |
|
16
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
32 |
be a generic interface for parsing and browsing list content. |
15 | 33 |
|
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
34 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
35 |
## Prerequisites |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
36 |
|
14 | 37 |
* Ruby 2.1 or better |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
38 |
|
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
39 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
40 |
## Installation |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
41 |
|
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
42 |
$ gem install ezmlm |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
43 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
44 |
|
14 | 45 |
## TODO |
46 |
||
47 |
- Text file editing (trailers, etc.) |
|
48 |
- Header / mime list accessors |
|
49 |
||
50 |
||
13 | 51 |
## Limitations |
52 |
||
27 | 53 |
This library doesn't create new lists from scratch. Use `ezmlm-make`. |
14 | 54 |
|
13 | 55 |
This library is designed to only work with lists stored on disk (the |
56 |
default), not the SQL backends. |
|
57 |
||
58 |
Address space (32 bit vs 64 bit) matters when ezmlm calculates hashes. |
|
59 |
If things aren't adding up, make sure this library is running on a |
|
60 |
machine with a matching address space as the list itself. (Running this |
|
61 |
on a 64bit machine to talk to 32bit listserv isn't going to play well.) |
|
62 |
||
14 | 63 |
A lot of the fine tuning niceties of ezmlm come as flag options to |
15 | 64 |
the various ezmlm binaries. This library largely just deals with |
14 | 65 |
ezmlm-make flags for global list behaviors. (For example, see the man |
66 |
page for ezmlm-reject.) Patches are welcome if you'd like these sorts |
|
15 | 67 |
of miscellaneous things included. |
13 | 68 |
|
69 |
||
16
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
70 |
## Acknowledgments |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
71 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
72 |
Portions of this library are copied from ezmlm-idx source, authored by |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
73 |
the following: |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
74 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
75 |
* D. J. Bernstein <djb@cr.yp.to> |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
76 |
* Bruce Guenter <bruce@untroubled.org> |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
77 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
78 |
Many thanks for Dan and Bruce for their commitment for fine software, and |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
79 |
contributions to the internet communities over the years. |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
80 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
81 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
82 |
## License |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
83 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
84 |
Copyright (c) 2017, Mahlon E. Smith <mahlon@martini.nu> |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
85 |
All rights reserved. |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
86 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
87 |
Redistribution and use in source and binary forms, with or without |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
88 |
modification, are permitted provided that the following conditions are met: |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
89 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
90 |
* Redistributions of source code must retain the above copyright notice, |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
91 |
this list of conditions and the following disclaimer. |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
92 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
93 |
* Redistributions in binary form must reproduce the above copyright notice, |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
94 |
this list of conditions and the following disclaimer in the documentation |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
95 |
and/or other materials provided with the distribution. |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
96 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
97 |
* Neither the name of the author/s, nor the names of the project's |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
98 |
contributors may be used to endorse or promote products derived from this |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
99 |
software without specific prior written permission. |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
100 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
101 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
102 |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
103 |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
104 |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
105 |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
106 |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
107 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
108 |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
109 |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
110 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |