Enable reading SSL parameters from configuration file (#552)
This enables the reading of some basic SSL parameters from the configuration file. It gives precedence to the ssl parameters provided by the class parameter (the ssl dict).
This commit is contained in:
		 Juan Antonio Osorio
					Juan Antonio Osorio
				
			
				
					committed by
					
						 INADA Naoki
						INADA Naoki
					
				
			
			
				
	
			
			
			 INADA Naoki
						INADA Naoki
					
				
			
						parent
						
							3ccaeda408
						
					
				
				
					commit
					557d0d90a5
				
			| @@ -604,14 +604,6 @@ class Connection(object): | |||||||
|         if self._local_infile: |         if self._local_infile: | ||||||
|             client_flag |= CLIENT.LOCAL_FILES |             client_flag |= CLIENT.LOCAL_FILES | ||||||
|  |  | ||||||
|         self.ssl = False |  | ||||||
|         if ssl: |  | ||||||
|             if not SSL_ENABLED: |  | ||||||
|                 raise NotImplementedError("ssl module not found") |  | ||||||
|             self.ssl = True |  | ||||||
|             client_flag |= CLIENT.SSL |  | ||||||
|             self.ctx = self._create_ssl_ctx(ssl) |  | ||||||
|  |  | ||||||
|         if read_default_group and not read_default_file: |         if read_default_group and not read_default_file: | ||||||
|             if sys.platform.startswith("win"): |             if sys.platform.startswith("win"): | ||||||
|                 read_default_file = "c:\\my.ini" |                 read_default_file = "c:\\my.ini" | ||||||
| @@ -641,6 +633,21 @@ class Connection(object): | |||||||
|             port = int(_config("port", port)) |             port = int(_config("port", port)) | ||||||
|             bind_address = _config("bind-address", bind_address) |             bind_address = _config("bind-address", bind_address) | ||||||
|             charset = _config("default-character-set", charset) |             charset = _config("default-character-set", charset) | ||||||
|  |             if not ssl: | ||||||
|  |                 ssl = {} | ||||||
|  |             if isinstance(ssl, dict): | ||||||
|  |                 for key in ["ca", "capath", "cert", "key", "cipher"]: | ||||||
|  |                     value = _config("ssl-" + key, ssl.get(key)) | ||||||
|  |                     if value: | ||||||
|  |                         ssl[key] = value | ||||||
|  |  | ||||||
|  |         self.ssl = False | ||||||
|  |         if ssl: | ||||||
|  |             if not SSL_ENABLED: | ||||||
|  |                 raise NotImplementedError("ssl module not found") | ||||||
|  |             self.ssl = True | ||||||
|  |             client_flag |= CLIENT.SSL | ||||||
|  |             self.ctx = self._create_ssl_ctx(ssl) | ||||||
|  |  | ||||||
|         self.host = host or "localhost" |         self.host = host or "localhost" | ||||||
|         self.port = port or 3306 |         self.port = port or 3306 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user