diff options
| -rw-r--r-- | usr.sbin/ctld/login.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/usr.sbin/ctld/login.cc b/usr.sbin/ctld/login.cc index cda11cc1f21b..fb4b60c37f54 100644 --- a/usr.sbin/ctld/login.cc +++ b/usr.sbin/ctld/login.cc @@ -967,12 +967,18 @@ iscsi_connection::login() login_send_error(request, 0x02, 0x07); log_errx(1, "received Login PDU without TargetName"); } + /* + * Normalize target_name according to RFC 3722 + */ + std::string t_name(target_name); + for (char &c : t_name) + c = tolower(c); - conn_port = pg->find_port(target_name); + conn_port = pg->find_port(t_name); if (conn_port == NULL) { login_send_error(request, 0x02, 0x03); log_errx(1, "requested target \"%s\" not found", - target_name); + t_name.c_str()); } conn_target = conn_port->target(); } |
