-virtual_filter_data:
- VHOST_FILTER(redirect, data)
- VHOST_USER
-virtual_filter_file:
- VHOST_FILTER(filter, file)
- VHOST_USER
+SECTION(routers, virtual-tail)m4_dnl
+## Last ditch effort for required local parts. This is a bit strange because
+## we should only try this for `final' domains -- where we're not going to
+## route using the system-wide rules -- and we want the router to decline if
+## the local part isn't one of our required set so that routing as a whole
+## fails.
+virtual_endstop:
+ VHOST
+ condition = DOMKV(final, {$value}{true})
+ driver = redirect
+ no_more
+ data = ${if match_local_part{$local_part}{+required} \
+ {DOMKV(errors_to, \
+ {$value} \
+ {DOMKV(owner, \
+ {$value} \
+ {postmaster})})} \
+ {:unknown:}}