iscsi: retrieve global login timeout from sysctlbyname() as integer

The OID "kern.iscsi.login_timeout" references an integer and
not a string.

Sponsored by:        NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D34380
This commit is contained in:
Richard Scheffenegger 2022-02-25 20:56:31 +01:00
parent 2ff07d9220
commit 407c34e735

View File

@ -397,12 +397,14 @@ connection_new(int iscsi_fd, const struct iscsi_daemon_request *request)
keepinit);
}
if (conn->conn_conf.isc_login_timeout == -1) {
char value[8];
int value;
size_t size = sizeof(value);
sysctlbyname("kern.iscsi.login_timeout", &value, &size,
NULL, 0);
keepinit = strtol(value, NULL, 10);
log_debugx("global login_timeout at %d sec", keepinit);
if (sysctlbyname("kern.iscsi.login_timeout",
&value, &size, NULL, 0) == 0) {
keepinit = value;
log_debugx("global login_timeout at %d sec",
keepinit);
}
}
if (keepinit > 0) {
if (setsockopt(conn->conn.conn_socket,