Add documentation, default configuration, description
This commit is contained in:
		
							parent
							
								
									95ef06b768
								
							
						
					
					
						commit
						1a6284efa9
					
				
							
								
								
									
										143
									
								
								mod_filter/README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								mod_filter/README.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,143 @@ | ||||
| 
 | ||||
| 	mod_filter - Flexible Filtering by Server Policy | ||||
| 
 | ||||
| 	Author: Magnus Henoch <henoch@dtek.chalmers.se> | ||||
| 	Copyright (C) 2005 Magnus Henoch | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| This module allows the admin to specify packet filtering rules using ACL and ACCESS. | ||||
| 
 | ||||
| 
 | ||||
| 	CONFIGURATION | ||||
| 	============= | ||||
| 
 | ||||
| To use this module, follow the general build instructions. | ||||
| You can modify the default module configuration file like this: | ||||
| 
 | ||||
| To enable the module: | ||||
| modules: | ||||
|   mod_filter: {} | ||||
| 
 | ||||
| And you must also add the default access rules: | ||||
| access_rules: | ||||
|   mod_filter: | ||||
|     - allow: all | ||||
|   mod_filter_presence: | ||||
|     - allow: all | ||||
|   mod_filter_message: | ||||
|     - allow: all | ||||
|   mod_filter_iq: | ||||
|     - allow: all | ||||
| 
 | ||||
| The configuration of rules is done using ejabberd's ACL and ACCESS, | ||||
| so you should also study the corresponding section on ejabberd guide. | ||||
| You can find here several examples that may help you to understand how it works. | ||||
| 
 | ||||
| 
 | ||||
| 	EXAMPLE 1 | ||||
| 	========= | ||||
| 
 | ||||
| access_rules: | ||||
|   mod_filter_presence: | ||||
|     - allow: all | ||||
|   mod_filter_message: | ||||
|     - allow: all | ||||
|   mod_filter_iq: | ||||
|     - allow: all | ||||
|   ## Admins can send anything.  Others are restricted in various ways. | ||||
|   mod_filter: | ||||
|     - allow: admin | ||||
|     - restrict_local: local | ||||
|     - restrict_foreign: all | ||||
|   ## Local non-admin users can only send messages to other local users. | ||||
|   restrict_local: | ||||
|     - allow: local | ||||
|     - deny: all | ||||
|   ## Foreign users can only send messages to admins. | ||||
|   restrict_foreign: | ||||
|     - allow: admin | ||||
|     - deny: all | ||||
| 
 | ||||
| 
 | ||||
| 	EXAMPLE 2 | ||||
| 	========= | ||||
| 
 | ||||
| On this example, the users of a private vhost (example3.org) can only chat with themselves, | ||||
| so that particular vhost will have no connection to the exterior. The other vhosts on the | ||||
| server are completely unrestricted. The administrators are also unrestricted. | ||||
| 
 | ||||
| ## This ejabberd server has three virtual hosts | ||||
| hosts: | ||||
|   - "localhost" | ||||
|   - "example1.org" | ||||
|   - "example2.org" | ||||
|   - "example3.org" | ||||
| 
 | ||||
| ## This ACL will match any user or service (MUC, PubSub...) hosted on example3.org | ||||
| acl: | ||||
|   ex3server: | ||||
|     server_glob: | ||||
|       - "*example3.org" | ||||
| 
 | ||||
| access_rules: | ||||
|   mod_filter_presence: | ||||
|     - allow: all | ||||
|   mod_filter_message: | ||||
|     - allow: all | ||||
|   mod_filter_iq: | ||||
|     - allow: all | ||||
|   ## The main mod_filter rule allows any admin, but restricts example3 and the rest of packets | ||||
|   mod_filter: | ||||
|     - allow: admin | ||||
|     - restrict_ex3: ex3server | ||||
|     - restrict_nonex3: all | ||||
|   ## This rule, which applies to packets sent from Ex3 non-admin users, | ||||
|   ## allows packets sent to Ex3 server (packets internal to the vhost) and denies anything else. | ||||
|   restrict_ex3: | ||||
|     - allow: ex3server | ||||
|     - deny: all | ||||
|   ## This rule, which applies to the rest of packets (the ones that are not sent from Ex3), | ||||
|   ## allows all packets to admins (allowing replies to stanzas from Ex3 admins), | ||||
|   ## denies all other access to Ex3, and allows access to anything else. | ||||
|   restrict_nonex3: | ||||
|     - allow: admin | ||||
|     - deny: ex3server | ||||
|     - allow: all | ||||
| 
 | ||||
| 
 | ||||
| 	EXAMPLE 4 | ||||
| 	========= | ||||
| 
 | ||||
| 
 | ||||
| This server has two virtual hosts, one with anonymous users. The anonymous users | ||||
| cannot send or receive presence stanzas from outside their vhost. | ||||
| 
 | ||||
| hosts: | ||||
|   - "localhost" | ||||
|   - "anon.localhost.org" | ||||
| 
 | ||||
| acl: | ||||
|   anon_user: | ||||
|     server_glob: | ||||
|       - "*anon.localhost" | ||||
| 
 | ||||
| access_rules: | ||||
|   mod_filter: | ||||
|     - allow: all | ||||
|   mod_filter_presence: | ||||
|     - allow: admin | ||||
|     - restrict_anon: anon_user | ||||
|     - restrict_non_anon: all | ||||
|   restrict_anon: | ||||
|     - allow: anon_user | ||||
|     - deny: all | ||||
|   restrict_non_anon: | ||||
|     - allow: admin | ||||
|     - deny: anon_user | ||||
|     - allow: all | ||||
|   mod_filter_message: | ||||
|     - allow: all | ||||
|   mod_filter_iq: | ||||
|     - allow: all | ||||
| 
 | ||||
							
								
								
									
										12
									
								
								mod_filter/conf/mod_filter.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								mod_filter/conf/mod_filter.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| modules: | ||||
|   mod_filter: {} | ||||
| 
 | ||||
| access_rules: | ||||
|   mod_filter: | ||||
|     - allow: all | ||||
|   mod_filter_presence: | ||||
|     - allow: all | ||||
|   mod_filter_message: | ||||
|     - allow: all | ||||
|   mod_filter_iq: | ||||
|     - allow: all | ||||
							
								
								
									
										5
									
								
								mod_filter/mod_filter.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mod_filter/mod_filter.spec
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| author: "Magnus Henoch <henoch@dtek.chalmers.se>" | ||||
| category: "data" | ||||
| summary: "Flexible filtering by server policy" | ||||
| home: "https://github.com/processone/ejabberd-contrib/tree/master/" | ||||
| url: "git@github.com:processone/ejabberd-contrib.git" | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user