This chapter explains how you can use protocol level plug-ins, tells how they work in Messaging Server, and describes building and installing protocol level plug-ins.
How You Can Use Protocol Level Plug-ins
Protocol Level Plug-ins in Messaging Server 4.1
How Protocol Level Plug-ins Work
Configuring Messaging Server
Building Protocol Level Plug-ins
Installation for Protocol Level Plug-in Users
You can disallow a message before it is actually received by your host. This capability can help you prevent the delivery of UBE or other authorized messages to your site.
You can write plug-ins that change or process the message as it is being received.
You can prevent another party from using your site to relay UBE to other sites by disguising their UBE to look as though it is coming from your site. The Anti-Relay plug-in, which is installed with Messaging Server, does this.
Override the internal functionality of Messaging Server.
Change the sequence of events in Messaging Server processing.
For general information about the functionality and operation of Messaging Server, the way that plug-ins work in it, and the way that users can manipulate them through Netscape Console, see the Messaging Server 4.1 Administrator's Guide.
The Anti-Relay plug-in prevents other sites from using your servers to relay UBE on to other sites. For more information, see "The Anti-Relay Plug-in."
The Tracer plug-in logs SMTP activity during a messaging session. You can use it as a template for writing your own protocol level plug-in. For more information, see "The Tracer Plug-in."
Each protocol level plug-in module must export the functions in the Protocol Level Plug-in API. These functions are introduced in "Using Protocol Level Plug-in Functions."
Figure 1.1    How plug-ins work
Memory Use To allocate memory, you cannot use system routines that allocate their own memory, for example, strdup. You must write your own routine that uses the plug-in memory allocation routines. For example, the Anti-Relay plug-in uses a routine called ARStrdup.
configutil -l -o service.smtp.protplugmodules -v 'antirelay.so$more.so'
gmake -f Makefile.antirelay