Class AddressData
- java.lang.Object
-
- org.apache.sshd.contrib.server.session.proxyprotocolv2.data.AddressData
-
public final class AddressData extends java.lang.ObjectAddress data structure.Starting from the 17th byte, addresses are presented in network byte order.
The address order is always the same : - source layer 3 address in network byte order - destination layer 3 address in network byte order - source layer 4 address if any, in network byte order (port) - destination layer 4 address if any, in network byte order (port)
The address block may directly be sent from or received into the following union which makes it easy to cast from/to the relevant socket native structs depending on the address type :
union proxy_addr { struct { // for TCP/UDP over IPv4, len = 12 uint32_t src_addr; uint32_t dst_addr; uint16_t src_port; uint16_t dst_port; }ipv4_addr; struct{ // for TCP/UDP over IPv6, len = 36 uint8_t src_addr[16]; uint8_t dst_addr[16]; uint16_t src_port; uint16_t dst_port; }ipv6_addr; struct{ // for AF_UNIX sockets, len = 216 uint8_t src_addr[108]; uint8_t dst_addr[108]; }unix_addr; };
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringdstAddressprivate intdstPortprivate java.lang.StringsrcAddressprivate intsrcPort
-
Constructor Summary
Constructors Modifier Constructor Description privateAddressData(java.lang.String srcAddress, java.lang.String dstAddress, int srcPort, int dstPort)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AddressDataextractAddressData(org.slf4j.Logger logger, org.apache.sshd.server.session.ServerSession session, org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport, int dataLength)private static java.lang.StringextractAddresses(org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport)private static intextractPort(org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport)static voidskipUnprocessedData(org.slf4j.Logger logger, org.apache.sshd.server.session.ServerSession session, org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport, int dataLength)java.lang.StringtoString()
-
-
-
Method Detail
-
extractAddressData
public static AddressData extractAddressData(org.slf4j.Logger logger, org.apache.sshd.server.session.ServerSession session, org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport, int dataLength) throws java.io.IOException
- Throws:
java.io.IOException
-
skipUnprocessedData
public static void skipUnprocessedData(org.slf4j.Logger logger, org.apache.sshd.server.session.ServerSession session, org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport, int dataLength)
-
extractAddresses
private static java.lang.String extractAddresses(org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport) throws java.io.IOException- Throws:
java.io.IOException
-
extractPort
private static int extractPort(org.apache.sshd.common.util.buffer.Buffer buffer, FamilyAndTransport familyAndTransport)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-