MDaemon responds to numerous semaphore files that can be used for a variety of useful purposes. This article details what processes can be performed with semaphore files and how to use them.
Periodically MDaemon will scan the \APP\ subdirectory for the existence of these files. If it finds one, the associated behavior is triggered and the semaphore file is removed (only exception is locksems.sem). This provides for a simple mechanism which will allow administrators and/or developers to manipulate MDaemon without actually handling the interface.
To utilize Semaphore files, create a new file that contains the title of the action you'd like to perform and fill in the file if indicated by the option. In most cases, these semaphore files will be empty files. Drop the semaphore file into the \MDaemon\App directory where MDaemon is installed. When it's processed, the SEM file will be removed from the \MDaemon\App folder.
ACLFIX.SEM
Runs the ACL file cleanup routine.
ADDUSER.SEM
This semaphore creates new accounts. It is used to force MDaemon to append new records to the end of the USERLIST.DAT file without causing a potentially time consuming complete rebuild of the user database. Each line in this file must be a complete account record of the form specified in the Account Management Functions section of the MDaemon API (see MD-API.html in MDaemon's \docs\API\ subfolder). Multiple new accounts can be specified – one account record per line. MDaemon will process the file one line at a time and add each new account. You can create ADDUSER.LCK to lock the file while you are updating it and MDaemon will not touch ADDUSER.SEM until ADDUSER.LCK is deleted. To see a sample ADDUSER.SEM file open ADDUSER.SMP in your APP directory with a text editor.
ALERT.SEM
Displays in a pop-up window the contents of the semaphore file to all WorldClient users who are logged in when the file is created. It is not, however, displayed to all users immediately—it is displayed to each user individually the next time his or her browser makes a request to the WorldClient server.
Note: Unlike other semaphore files, this file is WorldClient specific. Instead of placing it in the \app\ directory it must be placed in the \MDaemon\WorldClient\ directory.
ALIAS.SEM
Reloads aliases data file(s).
AUTORESPEXCEPT.SEM
Reloads the Autoresponder exception file(s).
BATV.SEM
Reloads Backscatter Protection (BATV) data file(s).
BAYESLEARN.SEM
This SEM manually starts the Bayesian learning process. This is like clicking the Learn button on the Bayesian tab of the Spam Filter. Note: this will start the Bayesian learning procedure even if you have Bayesian learning disabled.
BLACKLIST.SEM
Reloads the blacklist data files.
CATLIST.SEM
Reloads the internal cache of Catalog names.
CFILTER.SEM
Reloads Content Filter rules, clears Content Filter cached data, reloads the Spam Filter's White List (no filtering) file.
CLEARQUOTACOUNTS.SEM
The results of user quota checks are maintained in the quotacounts.dat file. If you wish to clear the cached quota value for a user, add the user’s email address to this SEM file and then place it in the \app\ folder. If an asterisk ( * ) is on a line by itself, the entire file will be deleted thereby invalidating all cached quota counts.
DELUSER.SEM
You can use this semaphore file to delete one or more user accounts. Create a text file containing the addresses of each account that you want to be deleted (one address per line), name the file DELUSER.SEM and then move it to MDaemon's \app\ directory. MDaemon will delete the accounts and then delete the DELUSER.SEM file.
DNS.SEM
Reloads the Windows DNS servers and the Spam Filter's DNS settings.
DOMAINSHARING.SEM
Reloads domain sharing data file.
DYNAMICSCREENUPD.SEM
Adds entries to the DynamicScreen.dat file. Place the desired entries into this file and then MDaemon will manage adding them to the the DynamicScreen.dat file in the proper manner.
EDITUSER.SEM
This semaphore is used to update specific records within the USERLIST.DAT file without a potentially time consuming complete rebuild. To update a specific record within USERLIST.DAT you first construct a complete replacement record according to the format specified in the Account Management Functions section of the MDaemon API (see MD-API.html in MDaemon's \docs\API\ subfolder). The new record will reflect the changes that need to be updated within USERLIST.DAT. How does MDaemon know which record in USERLIST.DAT to update? This is accomplished by prepending the new record with the original record's email address followed by a comma. The EDITUSER.SEM file can contain multiple records to update – each on its own line. MDaemon will process the file one line at a time. You can create EDITUSER.LCK to lock the file while you are updating it and MDaemon will not touch EDITUSER.SEM until EDITUSER.LCK is deleted. To see a sample EDITUSER.SEM file open EDITUSER.SMP in your \APP\ directory with a text editor.
EXITNOW.SEM
Shuts down MDaemon.
GATEWAYS.SEM
For optimal performance, MDaemon keeps its list of gateways in memory. Create a GATEWAYS.SEM in MDaemon's APP directory for it to reload the gateways.dat file.
GREYLIST.SEM
Reloads Greylisting data file(s).
GROUPS.SEM
Reloads account grouping data file(s).
GRPLIST.SEM
Reloads the internal cache of Mailing List names.
HANGUPG.SEM
Forces a conditional hang-up of RAS device. MDaemon will wait for any pending mail sessions to close and will then hang-up the RAS session.
HANGUPR.SEM
Forces unconditional hang-up of RAS device. This is an immediate and unconditional hang-up without regard to mail sessions which may be in progress across the connection.
HOSTSCREEN.SEM
Reloads Host Screen data file(s).
IPSCREEN.SEM
Reloads IP Screen data file(s).
IPSHIELD.SEM
The IPShield.dat file is cached in memory to increase access speed. Use IPSHIELD.SEM to reload the file into memory
LDAPCACHE.SEM
Reloads LDAP and gateway user data file(s).
LOCKSEMS.SEM
Prevents all semaphore file processing until user removes it.
LOGSETTINGS.SEM
Reloads log file settings.
MDSPAMD.SEM
Reloads the Spam Filter white list and MDSPAMD, which forces it to reinitialize all its configuration data.
MINGER.SEM
Stops and then restarts the Minger server.
MXCACHE.SEM
Reloads MX Cache data file(s).
NODNSBL.SEM
Reloads DNSBL white list file.
NOPRIORITY.SEM
Forces MDaemon to reload the NoPriority.dat file.
ONLINE.SEM
MDaemon will create this semaphore file once it makes a successful connection using RAS to the ISP. MD will remove the semaphore once the connection has been terminated. This is useful if you want to know when MD is using the RAS sub-system.
POSTDIAL.SEM
MDaemon will create this file immediately after a connection made by MDaemon is taken down.
PREDIAL.SEM
MDaemon will create this file just before trying to use RAS/DUN. This will allow other software to detect when it should free the dialup port so that MDaemon can use it.
PRIORITY.SEM
Reloads Priority mail data file(s).
PROCBAD.SEM
Initiates delivery of Bad Queue content.
PROCDIG.SEM
Initiates construction and delivery of mailing list digests.
PROCHOLDING.SEM
Initiates delivery of Holding Queue content.
PROCNOW.SEM
Initiates a check for remote mail and delivery of queued remote mail.
PROCREM.SEM
MDaemon will immediately go into mail processing mode and transact all remote mail.
PROCRETR.SEM
Initiates delivery of Retry Queue content.
PRUNE.SEM
Reloads auto-pruning settings.
PUBLICSUFFIX.SEM
Reloads the Public Suffix file.
QUEUE.SEM
This semaphore file is used to enable/disable the mail queues. The file can contain any number of lines but each one has to contain one of the following strings (one per line): ENABLE INBOUND, ENABLE REMOTE, ENABLE LOCAL, or DISABLE INBOUND, DISABLE REMOTE, DISABLE LOCAL.
QUEUERUN.SEM
Just before a mail session begins MDaemon will create this semaphore file. Inside the file will be a datestamp indicating the time and date of the most recent mail processing interval.
RESTART.SEM
Stops and then starts MDaemon.
RESTARTCF.SEM
Stops and restarts CFEngine.exe (the Content Filter executable).
RESTARTWC.SEM
Stops and restarts WorldClient. This only works when WorldClient is running using its own built-in web server.
RELOADCACHE.SEM
Reloads all cached data settings and files except for Content Filter settings and files.
REVERSEEXCEPT.SEM
Reloads reverse lookups exception file.
SCHEDULE.SEM
Reloads schedule data file(s).
SPAMHONEYPOTS.SEM
Reloads spam honeypots data files(s)
SPF.SEM
Reloads SPF and DKIM data files(s).
SUPPRESS.SEM
Reloads black list settings and clears cached domain settings.
TARPIT.SEM
Reloads tarpit and dynamic screening data file(s).
TRANSLAT.SEM
Reloads the header translation data files.
TRAY.SEM
Redraws MDaemon's icon in the system tray.
TRUST.SEM
Trusted domains and IP addresses are kept memory resident for optimal performance. If you need to reload these settings manually you can create TRUST.SEM to do it.
UPDATEAV.SEM
Initiates antivirus definition update.
UPDATESA.SEM
Initiates a Spam Filter update.
USERLIST.SEM
Reload the USERLIST.DAT file. Use this when you make modifications to the USERLIST.DAT and need MDaemon to reload it.
WATCHDOG.SEM
MDaemon will check for and remove this semaphore from the APP directory at approximately 10-20 second intervals. This file can be used by external apps to check if MDaemon is running. If this file remains in the APP directory for more than 20 seconds, that is a good indication that MDaemon is no longer running.