]> gitweb.michael.orlitzky.com - list-remote-forwards.git/blob - list-remote-forwards.cabal
src/Report.hs: add a type annotation to hide a warning.
[list-remote-forwards.git] / list-remote-forwards.cabal
1 name: list-remote-forwards
2 version: 0.0.1
3 cabal-version: >= 1.8
4 author: Michael Orlitzky
5 maintainer: Michael Orlitzky <michael@orlitzky.com>
6 license: AGPL-3
7 license-file: doc/LICENSE
8 bug-reports: mailto:michael@orlitzky.com
9 category: Mail, Utils
10 build-type: Simple
11 extra-source-files:
12 doc/list-remote-forwardsrc.example
13 doc/man1/list-remote-forwards.1
14 test/fixtures/postfixadmin.sqlite3
15 synopsis:
16 List all remote forwards for mail accounts stored in a SQL database.
17 description:
18 /Usage/:
19 .
20 @
21 list-remote-forwards [OPTIONS]
22 @
23 .
24 List all remote forwards for mail accounts stored in a SQL database.
25 .
26 A list of local domains is supplied to the program (more or less)
27 through the @--domain-query@ option. Any addresses which
28 forward to another address not contained in this list of local domains
29 is considered a remote forward. Remote forwards can cause problems for
30 a number of reasons, the most common of which are,
31 .
32 * If the sender has an SPF record authorizing his mail server to send
33 mail on his behalf, then when his message is forwarded by the
34 recipient's mail server, it will fail any subsequent SPF checks. This
35 will likely cause the message to be rejected, and the original
36 recipient's server will generate backscatter.
37 .
38 * If any spam makes it through the filter on the recipient's mail
39 server, that spam will then be forwarded to a remote destination. The
40 remote destination will blame the forwarding server for the spam, and
41 that can impact its reputation and potentially lead to a blacklisting
42 even though the spam did not originate on the recipient's server.
43 .
44 Whether or not these are an issue depends on the circumstances, but in
45 any case it is useful to know who is forwarding mail off-site.
46 .
47 /Input:/
48 .
49 None.
50 .
51 /Output:/
52 .
53 A list of addresses that are forwarded to remote domains.
54 .
55 /Options/:
56 .
57 @
58 \--database
59 @
60 .
61 The name of the database (or file, if SQLite) to which we should
62 connect.
63 .
64 Default: The name of the current user (Postgres only).
65 .
66 @
67 \--domain-query
68 @
69 SQL query used to produce a list of local domains. This should return
70 the set of all domains (i.e one column) that are local to the
71 server. See the default value for an example.
72 .
73 Default: \"SELECT domain FROM domain WHERE domain <> 'ALL' ORDER BY domain;\"
74 .
75 @
76 \--exclude-mx, -e
77 @
78 .
79 The name of a mail exchanger, the forwards of whose domains we should
80 ignore. For example, if one mail exchanger, mx1.example.com, has
81 strict spam filtering, it may be acceptable to have remote forwarding
82 for domains that have mx1.example.com as their sole mail exchanger (MX
83 record). In that case, you might want to exclude those domains from
84 the report by naming mx1.example.com here.
85 .
86 A forward will be excluded from the report only if /all/ of its MX
87 records are contained in the given exclude list.
88 .
89 This option can be repeated to add mail exchangers to the exclude list.
90 .
91 Default: [] (empty)
92 .
93 @
94 \--forward-query, -f
95 @
96 .
97 SQL query used to produce a list of all forwards on the mail
98 system. This query should return the set of all (address, goto)
99 triples, where \"goto\" is the destination address; i.e. to where
100 the \"address\" forwards. The \"goto\" field may contain more
101 than one email address, separated by commas.
102 .
103 Default: \"SELECT address,goto FROM alias ORDER BY address;\"
104 .
105 @
106 \--host, -h
107 @
108 .
109 Hostname where the database is located (Postgres-only).
110 .
111 Default: None, a UNIX domain socket connection is attempted (Postgres only)
112 .
113 @
114 \--password
115 @
116 .
117 Password used to connect to the database (Postgres-only).
118 .
119 Default: None (assumes passwordless authentication)
120 .
121 @
122 \--port
123 @
124 Port number used to connect to the database (Postgres-only).
125 .
126 Default: None, a UNIX domain socket connection is attempted (Postgres only)
127 .
128 @
129 \--username, -u
130 @
131 .
132 Username used to connect to the database (Postgres-only).
133 .
134 Default: The current user
135 .
136 /Examples/:
137 .
138 @
139 $ list-remote-forwards --database=test\/fixtures\/postfixadmin.sqlite3
140 user1@example.com -> user1@example.net
141 user2@example.com -> user1@example.org
142 user2@example.com -> user2@example.org
143 user2@example.com -> user3@example.org
144 user7@example.com -> user8@example.net
145 @
146
147 executable list-remote-forwards
148 build-depends:
149 base >= 4.6 && < 5,
150 bytestring >= 0.10,
151 cmdargs >= 0.10,
152 configurator >= 0.2,
153 containers >= 0.5,
154 dns >= 1.4,
155 directory >= 1.2,
156 filepath >= 1.3,
157 HDBC >= 2.4,
158 HDBC-postgresql >= 2.3,
159 HDBC-sqlite3 >= 2.3,
160 MissingH >= 1.2,
161 tasty >= 0.8,
162 tasty-hunit >= 0.8
163 main-is:
164 Main.hs
165
166 hs-source-dirs:
167 src/
168
169 other-modules:
170 Configuration
171 CommandLine
172 DNS
173 Forward
174 MxList
175 OptionalConfiguration
176 Paths_list_remote_forwards
177 Report
178 String
179
180 test-suite testsuite
181 type: exitcode-stdio-1.0
182 hs-source-dirs: src test
183 main-is: TestSuite.hs
184
185 other-modules:
186 Configuration
187 DNS
188 Forward
189 MxList
190 OptionalConfiguration
191 Paths_list_remote_forwards
192 Report
193
194 build-depends:
195 base >= 4.6 && < 5,
196 bytestring >= 0.10,
197 cmdargs >= 0.10,
198 configurator >= 0.2,
199 containers >= 0.5,
200 dns >= 1.4,
201 directory >= 1.2,
202 filepath >= 1.3,
203 HDBC >= 2.4,
204 HDBC-postgresql >= 2.3,
205 HDBC-sqlite3 >= 2.3,
206 MissingH >= 1.2,
207 tasty >= 0.8,
208 tasty-hunit >= 0.8
209
210 test-suite doctests
211 type: exitcode-stdio-1.0
212 hs-source-dirs: test
213 main-is: Doctests.hs
214 build-depends:
215 base == 4.*,
216 -- Additional test dependencies.
217 doctest >= 0.9,
218 filemanip >= 0.3.6
219
220 source-repository head
221 type: git
222 location: http://gitweb.michael.orlitzky.com/list-remote-forwards.git
223 branch: master