Package com.io7m.idstore.server.api
Record Class IdServerMailTransportSMTP
java.lang.Object
java.lang.Record
com.io7m.idstore.server.api.IdServerMailTransportSMTP
- Record Components:
host
- The mail hostport
- The port
- All Implemented Interfaces:
IdServerJSONConfigurationElementType
,IdServerMailTransportConfigurationType
public record IdServerMailTransportSMTP(String host, int port)
extends Record
implements IdServerMailTransportConfigurationType
Vanilla SMTP with an insecure STARTTLS upgrade (if supported).
This falls back to plaintext when a mail server does not indicate support for
STARTTLS. Additionally, even if a TLS session is negotiated, server
certificates are not validated in any way. This TransportStrategy only offers
protection against passive network eavesdroppers when the mail server
indicates support for STARTTLS. Active network attackers can trivially bypass
the encryption 1) by tampering with the STARTTLS indicator, 2) by presenting
a self-signed certificate, 3) by presenting a certificate issued by an
untrusted certificate authority; or 4) by presenting a certificate that was
issued by a valid certificate authority to a domain other than the mail
server's. For proper mail transport encryption, see SMTPS or SMTP_TLS.
-
Constructor Summary
ConstructorDescriptionIdServerMailTransportSMTP
(String host, int port) Vanilla SMTP with an insecure STARTTLS upgrade (if supported). -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.host()
Returns the value of thehost
record component.int
port()
Returns the value of theport
record component.final String
toString()
Returns a string representation of this record class.
-
Constructor Details
-
IdServerMailTransportSMTP
Vanilla SMTP with an insecure STARTTLS upgrade (if supported). This falls back to plaintext when a mail server does not indicate support for STARTTLS. Additionally, even if a TLS session is negotiated, server certificates are not validated in any way. This TransportStrategy only offers protection against passive network eavesdroppers when the mail server indicates support for STARTTLS. Active network attackers can trivially bypass the encryption 1) by tampering with the STARTTLS indicator, 2) by presenting a self-signed certificate, 3) by presenting a certificate issued by an untrusted certificate authority; or 4) by presenting a certificate that was issued by a valid certificate authority to a domain other than the mail server's. For proper mail transport encryption, see SMTPS or SMTP_TLS.- Parameters:
host
- The mail hostport
- The port
-
-
Method Details
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object)
; primitive components are compared with '=='. -
host
Returns the value of thehost
record component.- Specified by:
host
in interfaceIdServerMailTransportConfigurationType
- Returns:
- the value of the
host
record component
-
port
public int port()Returns the value of theport
record component.- Specified by:
port
in interfaceIdServerMailTransportConfigurationType
- Returns:
- the value of the
port
record component
-