author | Mahlon E. Smith <mahlon@laika.com> |
Tue, 16 May 2017 13:58:56 -0700 | |
changeset 19 | c09ca4007e6c |
parent 17 | 23c7f5c8ee39 |
child 27 | a629597fd647 |
permissions | -rw-r--r-- |
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
1 |
# Ruby-Ezmlm |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
2 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
3 |
code |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
4 |
: https://bitbucket.org/mahlon/Ruby-Ezmlm |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
5 |
|
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
6 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
7 |
## Authors |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
8 |
|
14 | 9 |
* 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
|
10 |
* Michael Granger <ged@faeriemud.org> |
15 | 11 |
* 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
|
12 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
13 |
|
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
14 |
## Description |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
15 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
16 |
This is a ruby interface for interacting with ezmlm-idx, an email list |
14 | 17 |
manager for use with the Qmail MTA, and the messages contained therein. |
18 |
(The -idx provides an extended feature set over the original ezmlm |
|
19 |
environment.) |
|
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
20 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
21 |
http://untroubled.org/ezmlm/ |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
22 |
|
14 | 23 |
This was tested against ezmlm-idx 7.2.2. |
24 |
||
15 | 25 |
*Strong recommendation*: Create your lists with archiving (-a) and |
26 |
indexing (-i)! This library is suitable for modifying behavior of |
|
27 |
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
|
28 |
be a generic interface for parsing and browsing list content. |
15 | 29 |
|
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
30 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
31 |
## Prerequisites |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
32 |
|
14 | 33 |
* Ruby 2.1 or better |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
34 |
|
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
35 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
36 |
## Installation |
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
37 |
|
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
38 |
$ gem install ezmlm |
1
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 |
|
14 | 41 |
## TODO |
42 |
||
43 |
- Text file editing (trailers, etc.) |
|
44 |
- Header / mime list accessors |
|
45 |
||
46 |
||
13 | 47 |
## Limitations |
48 |
||
14 | 49 |
This library doesn't create new lists from scratch. Use ezmlm-make. |
50 |
||
13 | 51 |
This library is designed to only work with lists stored on disk (the |
52 |
default), not the SQL backends. |
|
53 |
||
54 |
Address space (32 bit vs 64 bit) matters when ezmlm calculates hashes. |
|
55 |
If things aren't adding up, make sure this library is running on a |
|
56 |
machine with a matching address space as the list itself. (Running this |
|
57 |
on a 64bit machine to talk to 32bit listserv isn't going to play well.) |
|
58 |
||
14 | 59 |
A lot of the fine tuning niceties of ezmlm come as flag options to |
15 | 60 |
the various ezmlm binaries. This library largely just deals with |
14 | 61 |
ezmlm-make flags for global list behaviors. (For example, see the man |
62 |
page for ezmlm-reject.) Patches are welcome if you'd like these sorts |
|
15 | 63 |
of miscellaneous things included. |
13 | 64 |
|
65 |
||
16
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
66 |
## Acknowledgments |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
67 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
68 |
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
|
69 |
the following: |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
70 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
71 |
* D. J. Bernstein <djb@cr.yp.to> |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
72 |
* Bruce Guenter <bruce@untroubled.org> |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
73 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
74 |
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
|
75 |
contributions to the internet communities over the years. |
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
76 |
|
e135ccae6783
Migrate hashing functions to C.
Mahlon E. Smith <mahlon@laika.com>
parents:
15
diff
changeset
|
77 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
78 |
## License |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
79 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
80 |
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
|
81 |
All rights reserved. |
1
1d3cfd4837a8
Filled out the project, added Ezmlm module + spec.
Michael Granger <mgranger@laika.com>
parents:
diff
changeset
|
82 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
83 |
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
|
84 |
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
|
85 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
86 |
* 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
|
87 |
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
|
88 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
89 |
* 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
|
90 |
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
|
91 |
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
|
92 |
|
12
3cc813140c80
First round of modernizing after a long absence.
Mahlon E. Smith <mahlon@martini.nu>
parents:
1
diff
changeset
|
93 |
* 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
|
94 |
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
|
95 |
software without specific prior written permission. |
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 |
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
|
98 |
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
|
99 |
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
|
100 |
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
|
101 |
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
|
102 |
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
|
103 |
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
|
104 |
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
|
105 |
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
|
106 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |