rpf 0.2.0 → 0.2.1
raw patch · 6 files changed
+27/−20 lines, 6 files
Files
- Config.hs +3/−3
- Main.hs +1/−1
- Milter/Base.hs +3/−3
- Milter/Switch.hs +13/−11
- config/rpf.conf +6/−1
- rpf.cabal +1/−1
Config.hs view
@@ -12,14 +12,14 @@ opt_addr = "127.0.0.1" , opt_port = 10025 , opt_reject_plus_all = True- , opt_minimum_ipv4_mask_length = 24+ , opt_minimum_ipv4_mask_length = 16 , opt_minimum_ipv6_mask_length = 48 , opt_include_redirect_limit = 10 , opt_syslog_facility = "local4"- , opt_log_level = "info"+ , opt_log_level = "notice" , opt_logonly = False , opt_debug_mode = False- , opt_prefork_process_number = 20+ , opt_prefork_process_number = 4 , opt_thread_number_per_process = 500 , opt_sleep_timer = 2 , opt_user = "nobody"
Main.hs view
@@ -18,7 +18,7 @@ import System.Posix.Daemonize (daemonize) progName :: String-progName = "rpf 0.2.0"+progName = "rpf 0.2.1" ----------------------------------------------------------------
Milter/Base.hs view
@@ -6,7 +6,7 @@ , getIP , getKeyVal , getBody- , negoticate+ , negotiate , accept, discard, hold, reject, continue ) where @@ -86,8 +86,8 @@ ---------------------------------------------------------------- -negoticate :: Handle -> IO ()-negoticate hdl = putPacket hdl negoPkt -- do NOT use safePutPacket+negotiate :: Handle -> IO ()+negotiate hdl = putPacket hdl negoPkt -- do NOT use safePutPacket negoPkt :: Packet negoPkt = Packet 'O' $ ver +++ act +++ pro
Milter/Switch.hs view
@@ -55,7 +55,9 @@ (l,A_Discard) -> doit discard "Discarded" l (l,A_Hold) -> doit hold "Held" l (l,A_Reject) -> doit reject "Rejected" l- (_,A_Continue) -> logMonitor env ref "continue" >> continue hdl+ (_,A_Continue) -> if bn == B_Body+ then logResult env ref "Accepted by default" >> continue hdl+ else logMonitor env ref "continue" >> continue hdl where doit act m l = do logResult env ref $ m ++ " in line " ++ show l@@ -71,19 +73,19 @@ open :: Filter open env hdl ref _ = do- logMonitor env ref "Milter opened:"- negoticate hdl+ logMonitor env ref "Milter opened"+ negotiate hdl ---------------------------------------------------------------- conn :: Filter conn env hdl ref bs = do- logMonitor env ref "SMTP Connected:" st <- readIORef ref let ip = getIP bs ms = (mailspec st) { msPeerIP = ip } writeIORef ref st { mailspec = ms }- -- after IP set+ -- after IP set for logging+ logResult env ref "SMTP connected" logDebug env ref $ '\t' : show ms mfilter env hdl ref ms B_Connect @@ -91,14 +93,14 @@ helo :: Filter helo env hdl ref _ = do- logMonitor env ref "HELO:"+ logMonitor env ref "HELO" continue hdl ---------------------------------------------------------------- mfro :: Filter mfro env hdl ref bs = do- logMonitor env ref "MAIL FROM:"+ logMonitor env ref "MAIL FROM" let jmailfrom = extractDomain bs case jmailfrom of Nothing -> continue hdl -- xxx@@ -118,7 +120,7 @@ hedr :: Filter hedr env hdl ref bs = do- logMonitor env ref "DATA HEADER FIELD:"+ logMonitor env ref "DATA HEADER FIELD" st <- readIORef ref let (key,val) = getKeyVal bs ckey = canonicalizeKey key@@ -146,7 +148,7 @@ eohd :: Filter eohd env hdl ref _ = do- logMonitor env ref "DATA HEADER END:"+ logMonitor env ref "DATA HEADER END" st <- readIORef ref let jfrom = getFrom st jprd = decidePRD (prdspec st)@@ -170,7 +172,7 @@ body :: Filter body env hdl ref bs = do- logMonitor env ref "DATA BODY:"+ logMonitor env ref "DATA BODY" st <- readIORef ref let bc = getBody bs xm = pushBody bc (xmail st)@@ -181,7 +183,7 @@ eoms :: Filter eoms env hdl ref _ = do- logMonitor env ref "DATA BODY END:"+ logMonitor env ref "DATA BODY END" st <- readIORef ref let mail = finalizeMail (xmail st) mdk = mpdk (parsedv st)
config/rpf.conf view
@@ -1,10 +1,15 @@ #Port: 10025 #Address: 127.0.0.1 #Reject_Plus_All: Yes-#Minimum_IPv4_Mask_Length: 24+#Minimum_IPv4_Mask_Length: 16 #Minimum_IPv6_Mask_Length: 48 #Include_Redirect_Limit: 10 #Syslog_Facility: local4 #Log_Level: notice #Logonly: No #Debug: No+#Prefork_Process_Number: 4+#Thread_Number_Per_Process: 500+#User: nobody+#Group: nobody+#Pid_File: /var/run/rpf.pid
rpf.cabal view
@@ -1,5 +1,5 @@ Name: rpf-Version: 0.2.0+Version: 0.2.1 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3