Add function to add a host temporarily
This commit is contained in:
		
							parent
							
								
									b46a05e5ff
								
							
						
					
					
						commit
						8009de81eb
					
				| @ -89,6 +89,7 @@ client.TrustCertificate = func(hostname string, cert *x509.Certificate, knownHos | |||||||
| 			// Prompt the user to trust the certificate | 			// Prompt the user to trust the certificate | ||||||
| 			if userTrustsCertificateTemporarily() { | 			if userTrustsCertificateTemporarily() { | ||||||
| 				// Temporarily trust the certificate | 				// Temporarily trust the certificate | ||||||
|  | 				knownHosts.AddTemporary(hostname, cert) | ||||||
| 				return nil | 				return nil | ||||||
| 			} else if userTrustsCertificatePermanently() { | 			} else if userTrustsCertificatePermanently() { | ||||||
| 				// Add the certificate to the known hosts file | 				// Add the certificate to the known hosts file | ||||||
|  | |||||||
| @ -34,6 +34,7 @@ func init() { | |||||||
| 				// Prompt the user to trust the certificate | 				// Prompt the user to trust the certificate | ||||||
| 				if userTrustsCertificateTemporarily() { | 				if userTrustsCertificateTemporarily() { | ||||||
| 					// Temporarily trust the certificate | 					// Temporarily trust the certificate | ||||||
|  | 					knownHosts.AddTemporary(hostname, cert) | ||||||
| 					return nil | 					return nil | ||||||
| 				} else if userTrustsCertificatePermanently() { | 				} else if userTrustsCertificatePermanently() { | ||||||
| 					// Add the certificate to the known hosts file | 					// Add the certificate to the known hosts file | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								tofu.go
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								tofu.go
									
									
									
									
									
								
							| @ -69,6 +69,13 @@ func (k *KnownHosts) Add(hostname string, cert *x509.Certificate) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // AddTemporary adds a certificate to the list of known hosts, | ||||||
|  | // without writing it to a file. | ||||||
|  | func (k *KnownHosts) AddTemporary(hostname string, cert *x509.Certificate) { | ||||||
|  | 	host := NewKnownHost(hostname, cert) | ||||||
|  | 	k.hosts = append(k.hosts, host) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // Lookup looks for the provided certificate in the list of known hosts. | // Lookup looks for the provided certificate in the list of known hosts. | ||||||
| // If the hostname is in the list, but the fingerprint differs, | // If the hostname is in the list, but the fingerprint differs, | ||||||
| // Lookup returns ErrCertificateNotTrusted. | // Lookup returns ErrCertificateNotTrusted. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user