diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index e9c0f0f2b6..c5a10b0d19 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -158,7 +158,7 @@ void cm_InitConn(void) afsi_log("HardDeadTimeout is %d", HardDeadtimeout); } if (IdleDeadtimeout == 0) { - IdleDeadtimeout = (unsigned short) ConnDeadtimeout; + IdleDeadtimeout = 10 * (unsigned short) HardDeadtimeout; afsi_log("IdleDeadTimeout is %d", IdleDeadtimeout); } } else { @@ -1238,6 +1238,8 @@ static void cm_NewRXConnection(cm_conn_t *tcp, cm_ucell_t *ucellp, secIndex); rx_SetConnDeadTime(tcp->rxconnp, ConnDeadtimeout); rx_SetConnHardDeadTime(tcp->rxconnp, HardDeadtimeout); + + /* Disable Idle Dead Timeout processing as it can lead to data corruption. */ rx_SetConnIdleDeadTime(tcp->rxconnp, IdleDeadtimeout); /* diff --git a/src/WINNT/afsd/cm_conn.h b/src/WINNT/afsd/cm_conn.h index a1ddb1af8d..d40a8e8d91 100644 --- a/src/WINNT/afsd/cm_conn.h +++ b/src/WINNT/afsd/cm_conn.h @@ -25,8 +25,8 @@ #endif #define CM_CONN_IFS_HARDDEADTIME 120 -#define CM_CONN_IFS_CONNDEADTIME 50 -#define CM_CONN_IFS_IDLEDEADTIME 50 +#define CM_CONN_IFS_CONNDEADTIME 60 +#define CM_CONN_IFS_IDLEDEADTIME 1200 extern unsigned short ConnDeadtimeout; extern unsigned short HardDeadtimeout;