sijms / go-ora

Pure go oracle client
MIT License
786 stars 174 forks source link

go-ora/v2/network: Reserve additional packet space for NNE #445

Closed bobvawter closed 11 months ago

bobvawter commented 11 months ago

This change increases the amount of space that is reserved for Native Network Encrpytion checksums and encryption overhead. Without this change, clients sending large buffers to the server can experience arbitrary disconnections since the resulting data packet may exceed the SessionDataUnit size.

This change has been spot-checked with Oracle Database 19c and 21c with the following lines in the sqlnet.ora file:

SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER = AES256
SQLNET.ENCRYPTION_CLIENT = REQUIRED
SQLNET.ENCRYPTION_TYPES_CLIENT = AES256
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = SHA256
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = SHA256
SQLNET.CRYPTO_CHECKSUM_CLIENT  = REQUIRED
SQLNET.EXPIRE_TIME = 10

Fixes #444

sijms commented 11 months ago

sorry for late and thanks for contribution