Author: trasz
Date: Thu Feb  5 07:32:24 2015
New Revision: 278236
URL: https://svnweb.freebsd.org/changeset/base/278236

Log:
  The connection_new() routine was taking an absurd number of parameters; fix 
it.
  
  MFC after:    1 month
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.sbin/iscsid/iscsid.c

Modified: head/usr.sbin/iscsid/iscsid.c
==============================================================================
--- head/usr.sbin/iscsid/iscsid.c       Thu Feb  5 07:24:17 2015        
(r278235)
+++ head/usr.sbin/iscsid/iscsid.c       Thu Feb  5 07:32:24 2015        
(r278236)
@@ -151,9 +151,7 @@ resolve_addr(const struct connection *co
 }
 
 static struct connection *
-connection_new(unsigned int session_id, const uint8_t isid[8], uint16_t tsih,
-    const struct iscsi_session_conf *conf, const struct iscsi_session_limits
-    *limits, int iscsi_fd)
+connection_new(int iscsi_fd, const struct iscsi_daemon_request *request)
 {
        struct connection *conn;
        struct addrinfo *from_ai, *to_ai;
@@ -177,17 +175,13 @@ connection_new(unsigned int session_id, 
        conn->conn_max_data_segment_length = 8192;
        conn->conn_max_burst_length = 262144;
        conn->conn_first_burst_length = 65536;
-
-       conn->conn_session_id = session_id;
-       memcpy(&conn->conn_isid, isid, sizeof(conn->conn_isid));
-       conn->conn_tsih = tsih;
        conn->conn_iscsi_fd = iscsi_fd;
 
-       /*
-        * XXX: Should we sanitize this somehow?
-        */
-       memcpy(&conn->conn_conf, conf, sizeof(conn->conn_conf));
-       memcpy(&conn->conn_limits, limits, sizeof(conn->conn_limits));
+       conn->conn_session_id = request->idr_session_id;
+       memcpy(&conn->conn_conf, &request->idr_conf, sizeof(conn->conn_conf));
+       memcpy(&conn->conn_isid, &request->idr_isid, sizeof(conn->conn_isid));
+       conn->conn_tsih = request->idr_tsih;
+       memcpy(&conn->conn_limits, &request->idr_limits, 
sizeof(conn->conn_limits));
 
        from_addr = conn->conn_conf.isc_initiator_addr;
        to_addr = conn->conn_conf.isc_target_addr;
@@ -444,9 +438,7 @@ handle_request(int iscsi_fd, const struc
                setproctitle("%s", request->idr_conf.isc_target_addr);
        }
 
-       conn = connection_new(request->idr_session_id, request->idr_isid,
-           request->idr_tsih, &request->idr_conf, &request->idr_limits,
-           iscsi_fd);
+       conn = connection_new(iscsi_fd, request);
        set_timeout(timeout);
        capsicate(conn);
        login(conn);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to