aboutsummaryrefslogtreecommitdiff
path: root/mail/sendmail812/files/cyruslookup.patch
blob: bb1fa6f03f0152cd791d7ea9d1e32dee761c0fb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
*** cf/m4/proto.m4	2004/03/09 15:49:38	1.1
--- cf/m4/proto.m4	2004/03/10 20:29:48
***************
*** 1299,1304 ****
--- 1299,1307 ----
  R< error : $- : $+ > $*		$#error $@ $(dequote $1 $) $: $2
  R< error : $+ > $*		$#error $: $1
  R< local : $* > $*		$>CanonLocal < $1 > $2
+ ifdef(`_MRS_RELAY_',`dnl
+ R< $={MRS} : $* > $*	$@ $> $1 < $2 > $3
+ dnl')
  dnl it is $~[ instead of $- to avoid matches on IPv6 addresses
  R< $~[ : $+ @ $+ > $*<$*>$*	$# $1 $@ $3 $: $2<@$3>	use literal user
  R< $~[ : $+ > $*		$# $1 $@ $2 $: $3	try qualified mailer
--- /dev/null	Wed Apr  7 20:03:20 2004
+++ cf/feature/mrs.m4	Tue Mar 23 14:00:30 2004
@@ -0,0 +1,25 @@
+divert(-1)
+dnl
+dnl Updates: http://anfi.webhop.net/sendmail/mrs.html
+dnl
+dnl By using this file, you agree to the terms and conditions set
+dnl forth in the LICENSE file which can be found at the top level of
+dnl the sendmail distribution (sendmail-8.12).
+dnl
+dnl	Contributed by Andrzej Filip
+dnl
+dnl THE FEATURE REQUIRES PATCHING cf/m4/proto.m4
+dnl SEE THE LINK AFTER "Updates:"
+dnl
+dnl $Log: mrs.m4,v $
+dnl Revision 8.3  2004/03/18 21:39:22  anfi
+dnl Changed comments prefixes to dnl to avoid m4 expansions
+dnl
+dnl Revision 8.2  2004/03/15 09:14:28  anfi
+dnl Added "Updates:" web link.
+dnl
+divert(0)
+VERSIONID(`$Id: mrs.m4,v 8.3 2004/03/18 21:39:22 anfi Exp $')
+divert(-1)
+
+define(`_MRS_RELAY_', `')
--- /dev/null	Thu Apr  8 15:55:21 2004
+++ cf/feature/mrs_cyrus.m4	Thu Apr  1 21:37:05 2004
@@ -0,0 +1,74 @@
+divert(-1)
+dnl
+dnl Updates: http://anfi.webhop.net/sendmail/rtcyrus2.html
+dnl
+dnl By using this file, you agree to the terms and conditions set
+dnl forth in the LICENSE file which can be found at the top level of
+dnl the sendmail distribution (sendmail-8.12).
+dnl
+dnl	Contributed by Andrzej Filip
+dnl
+dnl $Log: mrs_cyrus.m4,v $
+dnl Revision 8.7  2004/04/01 14:29:50  anfi
+dnl Added "stripdom" handling in mrs_cyrus_user.
+dnl Fully defined error mailer details.
+dnl
+dnl Revision 8.6  2004/03/18 23:17:57  anfi
+dnl Fundamental rewrite.
+dnl
+ifdef(`_MRS_RELAY_',`',
+        `errprint(`*** ERROR: FEATURE(mrs_cyrus) requires FEATURE(mrs)
+')')
+ifdef(`_MRS_CYRUS_',
+        `errprint(`*** ERROR: There can be only one FEATURE(mrs_cyrus*)
+')')
+define(`_MRS_CYRUS_',`')
+
+divert(0)
+VERSIONID(`$Id: mrs_cyrus.m4,v 8.7 2004/04/01 14:29:50 anfi Exp $')
+divert(-1)
+define(`CYRUS_SMMAPD_SOCKET',
+        ifelse(len(X`'_ARG_), `1', `/var/imap/socket/smmapd', _ARG_))
+define(`CYRUS_SMMAPD_SOCKET_TYPE',
+        ifelse(len(X`'_ARG2_), `1', `local', _ARG2_))
+LOCAL_CONFIG
+# Add 3 mrs_cyrus rule sets to list of valid mrs rule sets
+C{MRS}mrs_cyrus_user mrs_cyrus_mailertable mrs_cyrus_stickyhub
+# map for checking cyrus imap mailbox existence 
+Kcyrus socket -a<OK> -T<TMPF> CYRUS_SMMAPD_SOCKET_TYPE:CYRUS_SMMAPD_SOCKET
+
+LOCAL_RULESETS
+######################################################################
+### feature mrs_cyrus rulesets to be used by feature mrs
+######################################################################
+
+Smrs_cyrus_user
+R<$*> $+ <@$+.>			$: <$1> $2 <@ $3 >
+R<$*> $+ <@$*>			$: <$1> $2 <@$3> $| $(cyrus $2 $: $)
+R<$*> $+ <@$*> $| $* <TMPF>	$# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
+R<$*> $+ <@$*> $| $* <OK>	$# cyrusv2 $@ dummy $: $4
+R<$*> $+ <@$*> $| $*		$: <$1> $2 <@$3>
+R<stripdom> $+ <@stripdom>	$@ $1
+R< $~[ : $* > $*		$>MailerToTriple < $1 : $2 > $3
+R< $+ > $*			$>MailerToTriple < $1 > $2
+R< > $*				$# error $@ 5.1.1 $: "550 User unknown"
+
+Smrs_cyrus_mailertable
+R<$*> $+ <@$+.>			$: <$1> $2 <@ $3 >
+R<$*> $+ <@$+> 			$: <$1> $2 <@$3> $| $(cyrus $2@$3 $: $)
+R<$*> $+ <@$+> $| $* <TMPF>	$# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
+R<$*> $+ <@$+> $| $* <OK>	$# cyrusv2d $@ dummy $: $2 <@$3>
+R<$*> $+ <@$*> $| $*		$: <$1> $2 <@$3>
+R< $~[ : $* > $*		$>MailerToTriple < $1 : $2 > $3
+R< $+ > $*			$>MailerToTriple < $1 > $2
+R< > $*				$# error $@ 5.1.1 $: "550 User unknown"
+
+Smrs_cyrus_stickyhub
+R<dummy> $+ <@$+.>		$: <dummy> $1 <@ $2 >
+R<dummy> $* <@dummy>		$@ $1
+R<dummy> $+ <@$={VirtCyrus}> 	$: <dummy> $1 <@$2> $| $(cyrus $1@$2 $: $)
+R<dummy> $+ <@$={VirtCyrus}> $| $* <TMPF>	$# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
+R<dummy> $+ <@$={VirtCyrus}> $| $* <OK>		$# cyrusv2d $@ dummy $: $1 <@$2>
+R<dummy> $+ <@$={VirtCyrus}> $| $*		$# error $@ 5.1.1 $: "550 User unknown"
+R<dummy> $=L <@$*>		$# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: @$1
+R<dummy> $* <@$*>		$# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: $1