Merge pull request 'feat: encryption_disabled config option' (#160) from disable-encryption-config into master
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/160
This commit is contained in:
		
						commit
						75d91b9064
					
				
					 5 changed files with 19 additions and 1 deletions
				
			
		|  | @ -1,6 +1,7 @@ | |||
| [global] | ||||
| server_name = "your.server.name" | ||||
| #registration_disabled = true | ||||
| #encryption_disabled = true | ||||
| 
 | ||||
| # Default path is in this user's data | ||||
| #database_path = "/home/timo/MyConduitServer" | ||||
|  | @ -8,6 +9,7 @@ server_name = "your.server.name" | |||
| port = 14004 | ||||
| address = "0.0.0.0" | ||||
| 
 | ||||
| # Not necessary when using a reverse proxy | ||||
| #[global.tls] | ||||
| #certs = "/etc/letsencrypt/live/your.server.name/fullchain.pem" | ||||
| #key = "/etc/letsencrypt/live/your.server.name/privkey.pem" | ||||
|  |  | |||
|  | @ -1341,6 +1341,11 @@ pub fn create_room_route( | |||
|         content, | ||||
|     } in &body.initial_state | ||||
|     { | ||||
|         // Silently skip encryption events if they are not allowed
 | ||||
|         if event_type == &EventType::RoomEncryption && db.globals.encryption_disabled() { | ||||
|             continue; | ||||
|         } | ||||
| 
 | ||||
|         db.rooms.append_pdu( | ||||
|             room_id.clone(), | ||||
|             user_id.clone(), | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ pub struct Globals { | |||
|     reqwest_client: reqwest::Client, | ||||
|     server_name: Box<ServerName>, | ||||
|     registration_disabled: bool, | ||||
|     encryption_disabled: bool, | ||||
| } | ||||
| 
 | ||||
| impl Globals { | ||||
|  | @ -33,6 +34,7 @@ impl Globals { | |||
|                 .try_into() | ||||
|                 .map_err(|_| Error::BadConfig("Invalid server name found."))?, | ||||
|             registration_disabled: config.get_bool("registration_disabled").unwrap_or(false), | ||||
|             encryption_disabled: config.get_bool("encryption_disabled").unwrap_or(false), | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|  | @ -70,4 +72,8 @@ impl Globals { | |||
|     pub fn registration_disabled(&self) -> bool { | ||||
|         self.registration_disabled | ||||
|     } | ||||
| 
 | ||||
|     pub fn encryption_disabled(&self) -> bool { | ||||
|         self.encryption_disabled | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -319,7 +319,12 @@ impl Rooms { | |||
|                 Some, | ||||
|             ); | ||||
| 
 | ||||
|             // Is the event allowed?
 | ||||
|             if !match event_type { | ||||
|                 EventType::RoomEncryption => { | ||||
|                     // Don't allow encryption events when it's disabled
 | ||||
|                     !globals.encryption_disabled() | ||||
|                 } | ||||
|                 EventType::RoomMember => { | ||||
|                     let target_user_id = UserId::try_from(&**state_key).map_err(|_| { | ||||
|                         Error::BadRequest( | ||||
|  |  | |||
|  | @ -1,10 +1,10 @@ | |||
| use js_int::uint; | ||||
| use ruma::{ | ||||
|     UserId, | ||||
|     push::{ | ||||
|         Action, ConditionalPushRule, ConditionalPushRuleInit, PatternedPushRule, | ||||
|         PatternedPushRuleInit, PushCondition, RoomMemberCountIs, Ruleset, Tweak, | ||||
|     }, | ||||
|     UserId, | ||||
| }; | ||||
| 
 | ||||
| pub fn default_pushrules(user_id: &UserId) -> Ruleset { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue