From: Robert W. <wrw...@us...> - 2007-08-13 22:56:54
|
Update of /cvsroot/linuxisns/isnsNT/isnsserver/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26510/isnsserver/src Modified Files: iSNSLinux.c iSNSList.c iSNSUtil.c iSNSdb.c iSNSdereg.c iSNSparse.c iSNSquery.c iSNSreg.c iSNSresponse.c iSNStbl.c Log Message: add attribute copy checking Index: iSNSUtil.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSUtil.c,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** iSNSUtil.c 7 Aug 2007 14:41:47 -0000 1.17 --- iSNSUtil.c 13 Aug 2007 22:56:44 -0000 1.18 *************** *** 228,232 **** /* Assumes a IPv4 Address */ ! memcpy((char *)&i_addr.s_addr, (char *)ip_addr->v+12, IP_ADDR_SIZE_V4); inet_ntoa_b (i_addr, ip_saddr); --- 228,232 ---- /* Assumes a IPv4 Address */ ! __ISNS_COPY (&i_addr.s_addr, sizeof(i_addr.s_addr), ip_addr->v+12, IP_ADDR_SIZE_V4); inet_ntoa_b (i_addr, ip_saddr); *************** *** 863,867 **** case ISNS_PROT_VER : return("Protocol Version Range"); case ISNS_ENTITY_PERIOD : return("Entity Period"); - case ISNS_ENTITY_SCN_BITMAP : return("Entity SCN Bitmap"); case ISNS_ENTITY_CERT : return("Entity Certificate"); case ISNS_PORTAL_IP : return("Portal IP-Address"); --- 863,866 ---- *************** *** 1088,1092 **** ntohl(p_attr->val.index)?"Enabled":"Disabled"); break; - case ISNS_ENTITY_SCN_BITMAP : case ISNS_ENTITY_CERT : case ISNS_PORTAL_CERT : --- 1087,1090 ---- *************** *** 1195,1196 **** --- 1193,1225 ---- } + /********************************************************************* + * isns_copy -- copy attribute with length checking on dst and src + **********************************************************************/ + int + isns_copy(void *dst, int dst_size, void *src, int src_size) + { + int cp_size = src_size; + int rc = SUCCESS; + + if (dst == NULL) + { + __LOG_ERROR ("destination ptr is NULL"); + return ERROR; + } + if (src == NULL) + { + __LOG_ERROR ("source ptr is NULL"); + return ERROR; + } + + if ( dst_size < src_size ) + { + __LOG_ERROR ("destination size:%i is smaller than source:%i - setting dst_size=src_size",dst_size,src_size); + cp_size = dst_size; + rc = ERROR; + } + memset (dst,0,dst_size); + memcpy (dst,src,cp_size); + + return rc; + } Index: iSNSquery.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSquery.c,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** iSNSquery.c 7 Aug 2007 14:41:47 -0000 1.23 --- iSNSquery.c 13 Aug 2007 22:56:45 -0000 1.24 *************** *** 292,304 **** while (entityKeyFlag != -1) { - SOIP_Entity_Id db_entity_id; - /* Entity ID found in key */ key = (ISNS_Key *)(key_indx[entityKeyFlag]); - memset(db_entity_id.id,0,sizeof(SOIP_Entity_Id)); - memcpy(db_entity_id.id,&key->val,key->len); - - /* Fetch entity from hash */ if (ISNS_NO_ERR != SNSdbFetchEntity (db_entity_id.id, &p_entity, &entry)) { --- 292,300 ---- while (entityKeyFlag != -1) { /* Entity ID found in key */ + SOIP_Entity_Id db_entity_id; key = (ISNS_Key *)(key_indx[entityKeyFlag]); + __ISNS_COPY (db_entity_id.id, sizeof(db_entity_id.id), &key->val, key->len); if (ISNS_NO_ERR != SNSdbFetchEntity (db_entity_id.id, &p_entity, &entry)) { *************** *** 366,371 **** attr = (ISNS_Attr *) key_indx[portalPortKeyFlag]; ! memcpy ((char *) db_portal.ip_addr.v, &attr->val, ! attr->len); attr = (ISNS_Attr *) key_indx[portalIpKeyFlag]; --- 362,366 ---- attr = (ISNS_Attr *) key_indx[portalPortKeyFlag]; ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), &attr->val, attr->len); attr = (ISNS_Attr *) key_indx[portalIpKeyFlag]; *************** *** 373,377 **** read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 368,372 ---- read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_portal, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 457,461 **** key = (ISNS_Key *)(key_indx[iSCSINodeKeyFlag]); memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) &key->val, key->len); } --- 452,456 ---- key = (ISNS_Key *)(key_indx[iSCSINodeKeyFlag]); memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), &key->val, key->len); } *************** *** 896,900 **** /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) p_node_name, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; --- 891,895 ---- /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), p_node_name, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; *************** *** 915,919 **** memset (&db_port_name, 0, sizeof (db_port_name)); key = (ISNS_Key *)(key_indx[ii]); ! memcpy (db_port_name.v, &key->val, key->len); ISNS_DBKey read_key; --- 910,914 ---- memset (&db_port_name, 0, sizeof (db_port_name)); key = (ISNS_Key *)(key_indx[ii]); ! __ISNS_COPY (db_port_name.v, sizeof(db_port_name.v), &key->val, key->len); ISNS_DBKey read_key; *************** *** 934,939 **** /* Fetch the Node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, ! (char *) p_port->node_name.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; --- 929,933 ---- /* Fetch the Node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), p_port->node_name.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; *************** *** 962,967 **** /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, ! (char *) key.val.node_key.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; --- 956,960 ---- /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), key.val.node_key.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; *************** *** 1061,1070 **** attr = (ISNS_Attr *) key_indx[portalIpKeyFlag]; ! memcpy ((char *) db_portal.ip_addr.v, &attr->val, ! attr->len); ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1054,1062 ---- attr = (ISNS_Attr *) key_indx[portalIpKeyFlag]; ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), &attr->val, attr->len); ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY(&read_key.val, sizeof(read_key.val), &db_portal, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1101,1109 **** } ! memcpy ((char *) &db_portal, ptr, sizeof(db_portal)); ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1093,1101 ---- } ! __ISNS_COPY (&db_portal, sizeof(db_portal), ptr, sizeof(db_portal)); ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_portal, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1133,1137 **** ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1125,1129 ---- ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1154,1158 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,&key->val.port_name,PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) --- 1146,1150 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &key->val.port_name, PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) *************** *** 1174,1178 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),sizeof(SOIP_DB_Portal)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1166,1170 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), sizeof(SOIP_DB_Portal)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1198,1202 **** key = (ISNS_Key *)(key_indx[iSCSINodeIdKeyFlag]); memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) &key->val, key->len); ISNS_DBKey read_key; --- 1190,1194 ---- key = (ISNS_Key *)(key_indx[iSCSINodeIdKeyFlag]); memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), &key->val, key->len); ISNS_DBKey read_key; *************** *** 1229,1233 **** ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),sizeof(SOIP_DB_Portal)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1221,1225 ---- ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), sizeof(SOIP_DB_Portal)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1252,1256 **** ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&key2.val,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1244,1248 ---- ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &key2.val, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1348,1352 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,&key->val.port_name,PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) --- 1340,1344 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &key->val.port_name, PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) *************** *** 1374,1378 **** key = (ISNS_Key *)(key_indx[nodeKeyFlag]); memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) &key->val, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; --- 1366,1370 ---- key = (ISNS_Key *)(key_indx[nodeKeyFlag]); memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), &key->val, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; *************** *** 1380,1384 **** ISNS_DBKey read_key; read_key.tag = NODE_NAME_KEY; ! memcpy(&read_key.val,&db_node_name.v,ISNS_NODE_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) --- 1372,1376 ---- ISNS_DBKey read_key; read_key.tag = NODE_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_node_name.v, ISNS_NODE_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) *************** *** 1394,1398 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,pname,PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry2); if ( rval != SUCCESS) --- 1386,1390 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), pname, PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry2); if ( rval != SUCCESS) *************** *** 1432,1436 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1424,1428 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1458,1463 **** attr = (ISNS_Attr *) key_indx[portalPortKeyFlag]; ! memcpy ((char *) db_portal.ip_addr.v, &attr->val, ! attr->len); attr = (ISNS_Attr *) key_indx[portalIpKeyFlag]; --- 1450,1454 ---- attr = (ISNS_Attr *) key_indx[portalPortKeyFlag]; ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), &attr->val, attr->len); attr = (ISNS_Attr *) key_indx[portalIpKeyFlag]; *************** *** 1466,1470 **** ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1457,1461 ---- ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_portal, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1490,1494 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1481,1485 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1617,1621 **** /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) &key->val, key->len); ISNS_DBKey read_key; --- 1608,1612 ---- /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), &key->val, key->len); ISNS_DBKey read_key; *************** *** 1747,1755 **** key = (ISNS_Key *) key_indx[portalIpKeyIndex]; ! memcpy (db_portal.ip_addr.v, key->val.ip_addr.v, key->len); ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) --- 1738,1746 ---- key = (ISNS_Key *) key_indx[portalIpKeyIndex]; ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), key->val.ip_addr.v, key->len); ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_portal, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) *************** *** 2025,2029 **** { qkey.len = strlen((char *)&key->val); ! memcpy(&qkey.val, &key->val, key->len); } } --- 2016,2020 ---- { qkey.len = strlen((char *)&key->val); ! __ISNS_COPY (&qkey.val, sizeof(qkey.val), &key->val, key->len); } } *************** *** 2050,2054 **** } qkey.len = strlen(ptr); ! memcpy(&qkey.val, ptr, qkey.len); } } --- 2041,2045 ---- } qkey.len = strlen(ptr); ! __ISNS_COPY (&qkey.val, sizeof (qkey.val), ptr, qkey.len); } } *************** *** 2169,2173 **** qkey.tag = PORT_NAME_KEY; qkey.len = key->len; ! memcpy(&qkey.val, &key->val, key->len); found=FALSE; --- 2160,2164 ---- qkey.tag = PORT_NAME_KEY; qkey.len = key->len; ! __ISNS_COPY (&qkey.val, sizeof(qkey.val), &key->val, key->len); found=FALSE; *************** *** 2236,2240 **** return (ISNS_NO_SUCH_ENTRY_ERR); } ! memcpy (&qkey.val, ptr, sizeof(db_portal)); qkey.len = sizeof(SOIP_Portal_Key); } --- 2227,2231 ---- return (ISNS_NO_SUCH_ENTRY_ERR); } ! __ISNS_COPY (&qkey.val, sizeof(qkey.val), ptr, sizeof(db_portal)); qkey.len = sizeof(SOIP_Portal_Key); } *************** *** 2247,2254 **** key = (ISNS_Key *)(key_indx[portalIpKeyIndex]); ! memcpy (db_portal.ip_addr.v, key->val.ip_addr.v, key->len); qkey.len += key->len; ! memcpy(&qkey.val, (char *)&db_portal, sizeof (SOIP_Portal_Key)); } --- 2238,2245 ---- key = (ISNS_Key *)(key_indx[portalIpKeyIndex]); ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), key->val.ip_addr.v, key->len); qkey.len += key->len; ! __ISNS_COPY (&qkey.val, sizeof(qkey.val), &db_portal, sizeof (SOIP_Portal_Key)); } *************** *** 2871,2875 **** ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry5); if (rval != SUCCESS ) --- 2862,2866 ---- ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry5); if (rval != SUCCESS ) *************** *** 2884,2893 **** memset(&key_portal_group, 0, sizeof(SOIP_Portal_Group_Key)); key_portal_group.ip_port = p_portal->ip_port; ! memcpy(key_portal_group.ip_addr.v,p_portal->ip_addr.v,ISNS_PORTAL_IP_SIZE); ! memcpy(key_portal_group.id.v,p_node->id.v,strlen(p_node->id.v)); ISNS_DBKey read_group_key; read_group_key.tag = PORTAL_GROUP_ID_KEY; ! memcpy(&read_group_key.val,&key_portal_group,sizeof(SOIP_Portal_Group_Key)); rval = ISNSdbRead(&read_group_key,&entry4); if (rval != SUCCESS ) --- 2875,2884 ---- memset(&key_portal_group, 0, sizeof(SOIP_Portal_Group_Key)); key_portal_group.ip_port = p_portal->ip_port; ! __ISNS_COPY (key_portal_group.ip_addr.v, sizeof(key_portal_group.ip_addr.v), p_portal->ip_addr.v,ISNS_PORTAL_IP_SIZE); ! __ISNS_COPY (key_portal_group.id.v, sizeof(key_portal_group.id.v), p_node->id.v,strlen(p_node->id.v)); ISNS_DBKey read_group_key; read_group_key.tag = PORTAL_GROUP_ID_KEY; ! __ISNS_COPY (&read_group_key.val, sizeof(read_group_key.val), &key_portal_group, sizeof(SOIP_Portal_Group_Key)); rval = ISNSdbRead(&read_group_key,&entry4); if (rval != SUCCESS ) Index: iSNSList.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSList.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** iSNSList.c 7 Aug 2007 14:41:47 -0000 1.13 --- iSNSList.c 13 Aug 2007 22:56:44 -0000 1.14 *************** *** 280,284 **** { p_portal = plist->p_entry; ! memcpy(&key.val.list.key.portal.ip_addr,&p_portal->ip_addr,sizeof(IP_Address)); key.val.list.key.portal.ip_port = p_portal->ip_port; } --- 280,284 ---- { p_portal = plist->p_entry; ! __ISNS_COPY (&key.val.list.key.portal.ip_addr, sizeof(key.val.list.key.portal.ip_addr), &p_portal->ip_addr, sizeof(IP_Address)); key.val.list.key.portal.ip_port = p_portal->ip_port; } *************** *** 401,405 **** p_entity = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_entity->eid.id); ! memcpy(entry.data.list.key.node_name.v,pdata,data_size); } else if (plist->list_id == ENTITY_FCP_LIST) --- 401,405 ---- p_entity = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_entity->eid.id); ! __ISNS_COPY (entry.data.list.key.node_name.v, sizeof(entry.data.list.key.node_name.v), pdata, data_size); } else if (plist->list_id == ENTITY_FCP_LIST) *************** *** 407,411 **** p_entity = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_entity->eid.id); ! memcpy(entry.data.list.key.node_name.v,pdata,data_size); } else if (plist->list_id == ENTITY_PORTAL_LIST) --- 407,411 ---- p_entity = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_entity->eid.id); ! __ISNS_COPY (entry.data.list.key.node_name.v, sizeof(entry.data.list.key.node_name.v), pdata, data_size); } else if (plist->list_id == ENTITY_PORTAL_LIST) *************** *** 413,417 **** p_entity = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_entity->eid.id); ! memcpy(&entry.data.list.key.portal,pdata,data_size); } else if (plist->list_id == ISCSI_DD_LIST) --- 413,417 ---- p_entity = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_entity->eid.id); ! __ISNS_COPY (&entry.data.list.key.portalmember, sizeof(entry.data.list.key.portalmember), pdata, data_size); } else if (plist->list_id == ISCSI_DD_LIST) *************** *** 419,423 **** p_iscsi = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_iscsi->id.v); ! memcpy(&entry.data.list.key.dd,pdata,data_size); } else if (plist->list_id == DDS_DD_LIST) --- 419,423 ---- p_iscsi = plist->p_entry; strcpy(key.val.list.key.node_name.v,p_iscsi->id.v); ! __ISNS_COPY (&entry.data.list.key.dd, sizeof(entry.data.list.key.dd), pdata, data_size); } else if (plist->list_id == DDS_DD_LIST) *************** *** 425,429 **** p_dds = plist->p_entry; key.val.list.key.dds.id = p_dds->id; ! memcpy(&entry.data.list.key.dd,pdata,data_size); } else if (plist->list_id == DD_DDS_LIST) --- 425,429 ---- p_dds = plist->p_entry; key.val.list.key.dds.id = p_dds->id; ! __ISNS_COPY (&entry.data.list.key.dd, sizeof(entry.data.list.key.dd), pdata, data_size); } else if (plist->list_id == DD_DDS_LIST) *************** *** 431,435 **** p_dd = plist->p_entry; key.val.list.key.dd.id = p_dd->id; ! memcpy(&entry.data.list.key.dds,pdata,data_size); } else if (plist->list_id == DD_MEMBER_LIST) --- 431,435 ---- p_dd = plist->p_entry; key.val.list.key.dd.id = p_dd->id; ! __ISNS_COPY (&entry.data.list.key.dds, sizeof(entry.data.list.key.dds), pdata, data_size); } else if (plist->list_id == DD_MEMBER_LIST) *************** *** 437,441 **** p_dd = plist->p_entry; key.val.list.key.dd.id = p_dd->id; ! memcpy(&entry.data.list.key.dds,pdata,data_size); } else if (plist->list_id == FCP_PORTAL_LIST) --- 437,441 ---- p_dd = plist->p_entry; key.val.list.key.dd.id = p_dd->id; ! __ISNS_COPY (&entry.data.list.key.ddmember, sizeof(entry.data.list.key.ddmember), pdata, data_size); } else if (plist->list_id == FCP_PORTAL_LIST) *************** *** 443,447 **** p_ifcp = plist->p_entry; strcpy (key.val.list.key.node_name.v,p_ifcp->node_name.v); ! memcpy(&entry.data.list.key.portal,pdata,data_size); } else if (plist->list_id == FCP_DD_LIST) --- 443,447 ---- p_ifcp = plist->p_entry; strcpy (key.val.list.key.node_name.v,p_ifcp->node_name.v); ! __ISNS_COPY (&entry.data.list.key.portal, sizeof(entry.data.list.key.portal), pdata, data_size); } else if (plist->list_id == FCP_DD_LIST) *************** *** 449,470 **** p_ifcp = plist->p_entry; strcpy (key.val.list.key.node_name.v,p_ifcp->node_name.v); ! memcpy(&entry.data.list.key.dd,pdata,data_size); } else if (plist->list_id == PORTAL_ENTITY_LIST) { p_portal = plist->p_entry; ! memcpy(&key.val.list.key.portal.ip_addr,&p_portal->ip_addr,sizeof(IP_Address)); key.val.list.key.portal.ip_port = p_portal->ip_port; ! memcpy(&entry.data.list.key.portal,pdata,data_size); } else if (plist->list_id == SCN_LIST) { strcpy (key.val.list.key.node_name.v,"scn_list"); ! memcpy(&entry.data.list.key.node_name.v,pdata,data_size); } else if (plist->list_id == SCN_CALLBACK_LIST) { strcpy (key.val.list.key.node_name.v,"scn_callback_list"); ! memcpy(&entry.data.list.key.node_name.v,pdata,data_size); } --- 449,470 ---- p_ifcp = plist->p_entry; strcpy (key.val.list.key.node_name.v,p_ifcp->node_name.v); ! __ISNS_COPY (&entry.data.list.key.dd, sizeof(entry.data.list.key.dd), pdata, data_size); } else if (plist->list_id == PORTAL_ENTITY_LIST) { p_portal = plist->p_entry; ! __ISNS_COPY (&key.val.list.key.portal.ip_addr, sizeof(key.val.list.key.portal.ip_addr), &p_portal->ip_addr, sizeof(IP_Address)); key.val.list.key.portal.ip_port = p_portal->ip_port; ! __ISNS_COPY (&entry.data.list.key.portal, sizeof(entry.data.list.key.portal), pdata, data_size); } else if (plist->list_id == SCN_LIST) { strcpy (key.val.list.key.node_name.v,"scn_list"); ! __ISNS_COPY (&entry.data.list.key.node_name.v, sizeof(entry.data.list.key.node_name.v), pdata, data_size); } else if (plist->list_id == SCN_CALLBACK_LIST) { strcpy (key.val.list.key.node_name.v,"scn_callback_list"); ! __ISNS_COPY (&entry.data.list.key.node_name.v, sizeof(entry.data.list.key.node_name.v), pdata,data_size); } *************** *** 582,586 **** node->data_size = strlen(entry.data.list.key.node_name.v); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,entry.data.list.key.node_name.v,node->data_size); __DEBUG (isns_list_debug &1, Successfully read list entry); } --- 582,586 ---- node->data_size = strlen(entry.data.list.key.node_name.v); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, entry.data.list.key.node_name.v, node->data_size); __DEBUG (isns_list_debug &1, Successfully read list entry); } *************** *** 594,598 **** node->data_size = strlen(entry.data.list.key.node_name.v); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,entry.data.list.key.node_name.v,node->data_size); } else if (plist->list_id == ENTITY_PORTAL_LIST) --- 594,598 ---- node->data_size = strlen(entry.data.list.key.node_name.v); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, entry.data.list.key.node_name.v,node->data_size); } else if (plist->list_id == ENTITY_PORTAL_LIST) *************** *** 605,609 **** node->data_size = sizeof(entry.data.list.key.portal); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.portal,node->data_size); } else if (plist->list_id == ISCSI_DD_LIST) --- 605,609 ---- node->data_size = sizeof(entry.data.list.key.portal); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size +1, &entry.data.list.key.portal,node->data_size); } else if (plist->list_id == ISCSI_DD_LIST) *************** *** 616,620 **** node->data_size = sizeof(entry.data.list.key.dd); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.dd,node->data_size); } else if (plist->list_id == DDS_DD_LIST) --- 616,620 ---- node->data_size = sizeof(entry.data.list.key.dd); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size + 1, &entry.data.list.key.dd,node->data_size); } else if (plist->list_id == DDS_DD_LIST) *************** *** 627,631 **** node->data_size = sizeof(entry.data.list.key.dd); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.dd,node->data_size); } else if (plist->list_id == DD_DDS_LIST) --- 627,631 ---- node->data_size = sizeof(entry.data.list.key.dd); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size + 1, &entry.data.list.key.dd,node->data_size); } else if (plist->list_id == DD_DDS_LIST) *************** *** 638,642 **** node->data_size = sizeof(entry.data.list.key.dds); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.dds,node->data_size); } else if (plist->list_id == DD_MEMBER_LIST) --- 638,642 ---- node->data_size = sizeof(entry.data.list.key.dds); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, &entry.data.list.key.dds,node->data_size); } else if (plist->list_id == DD_MEMBER_LIST) *************** *** 649,653 **** node->data_size = sizeof(entry.data.list.key.ddmember); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.dd,node->data_size); } else if (plist->list_id == FCP_PORTAL_LIST) --- 649,653 ---- node->data_size = sizeof(entry.data.list.key.ddmember); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, &entry.data.list.key.ddmember,node->data_size); } else if (plist->list_id == FCP_PORTAL_LIST) *************** *** 660,664 **** node->data_size = sizeof(entry.data.list.key.portal); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.portal,node->data_size); } else if (plist->list_id == FCP_DD_LIST) --- 660,664 ---- node->data_size = sizeof(entry.data.list.key.portal); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, &entry.data.list.key.portal,node->data_size); } else if (plist->list_id == FCP_DD_LIST) *************** *** 671,680 **** node->data_size = sizeof(entry.data.list.key.dd); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.dd,node->data_size); } else if (plist->list_id == PORTAL_ENTITY_LIST) { p_portal = plist->p_entry; ! memcpy(&key.val.list.key.portal.ip_addr,&p_portal->ip_addr,sizeof(IP_Address)); key.val.list.key.portal.ip_port = p_portal->ip_port; rval = ISNSdbRead(&key,&entry); --- 671,680 ---- node->data_size = sizeof(entry.data.list.key.dd); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size + 1, &entry.data.list.key.dd,node->data_size); } else if (plist->list_id == PORTAL_ENTITY_LIST) { p_portal = plist->p_entry; ! __ISNS_COPY (&key.val.list.key.portal.ip_addr, sizeof(key.val.list.key.portal.ip_addr), &p_portal->ip_addr,sizeof(IP_Address)); key.val.list.key.portal.ip_port = p_portal->ip_port; rval = ISNSdbRead(&key,&entry); *************** *** 683,687 **** node->data_size = sizeof(entry.data.list.key.portal); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.portal,node->data_size); } else if (plist->list_id == SCN_LIST) --- 683,687 ---- node->data_size = sizeof(entry.data.list.key.portal); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, &entry.data.list.key.portal,node->data_size); } else if (plist->list_id == SCN_LIST) *************** *** 694,698 **** node->data_size = sizeof(SOIP_Scn_Entry); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.entity_id.id,node->data_size); } else if (plist->list_id == SCN_CALLBACK_LIST) --- 694,698 ---- node->data_size = sizeof(SOIP_Scn_Entry); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, &entry.data.list.key.entity_id.id,node->data_size); } else if (plist->list_id == SCN_CALLBACK_LIST) *************** *** 705,709 **** node->data_size = sizeof(SOIP_Scn_Callback_Entry); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! memcpy(node->data,&entry.data.list.key.entity_id.id,node->data_size); } --- 705,709 ---- node->data_size = sizeof(SOIP_Scn_Callback_Entry); node->data = (char *)ISNSAllocBuffer(node->data_size+1); ! __ISNS_COPY (node->data, node->data_size+1, &entry.data.list.key.entity_id.id,node->data_size); } Index: iSNSresponse.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSresponse.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** iSNSresponse.c 15 Dec 2006 01:13:29 -0000 1.6 --- iSNSresponse.c 13 Aug 2007 22:56:45 -0000 1.7 *************** *** 38,41 **** --- 38,42 ---- #include "iSNStypes.h" #include "iSNSmsg.h" + #include "iSNSdebug.h" /********************************************************************* *************** *** 50,54 **** --- 51,58 ---- if (msg == NULL) + { + __LOG_ERROR ("Message is NULL"); return (ERROR); + } /* add room for error code */ *************** *** 68,72 **** if (p_value) { ! memcpy (&attr->val, p_value, attr->len); } else if (attr->len == 8) --- 72,76 ---- if (p_value) { ! __ISNS_COPY (&attr->val, sizeof(attr->val), p_value, attr->len); } else if (attr->len == 8) *************** *** 137,141 **** if (p_value) { ! memcpy (&attr->val, p_value, attr->len); } else if (attr->len == 8) --- 141,145 ---- if (p_value) { ! __ISNS_COPY (&attr->val, sizeof(attr->val), p_value, attr->len); } else if (attr->len == 8) *************** *** 216,220 **** if (p_value) { ! memcpy (&attr->val, p_value, attr->len); } else --- 220,224 ---- if (p_value) { ! __ISNS_COPY (&attr->val, sizeof(attr->val), p_value, attr->len); } else Index: iSNSparse.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSparse.c,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** iSNSparse.c 7 Aug 2007 14:41:47 -0000 1.20 --- iSNSparse.c 13 Aug 2007 22:56:45 -0000 1.21 *************** *** 100,103 **** --- 100,105 ---- parse_status = ISNSProfileKeysAttr (msg, attr_index, &num_attrs, key_index, &num_keys, (ISNS_Attr **)src_attr); + if(parse_status) + __LOG_ERROR ("ISNSParseMSG error for msg->hdr.type=0x%x\n",msg->hdr.type); break; default: *************** *** 106,113 **** parse_status = ERROR; break; } - if(parse_status) - __LOG_ERROR ("ISNSParseMSG error for msg->hdr.type=%d\n",msg->hdr.type); return parse_status; --- 108,114 ---- parse_status = ERROR; + __LOG_ERROR ("ISNSParseMSG error for msg->hdr.type=0x%x\n",msg->hdr.type); break; } return parse_status; *************** *** 132,137 **** case ISNS_DELIMITER: if (len != ISNS_DELIMITER_SIZE) rval = FALSE; ! __DEBUG (isns_parse_debug &1,%sTag:%i (%s),src,tag,isnsTagText(tag)); break; /* Variable Length */ --- 133,141 ---- case ISNS_DELIMITER: if (len != ISNS_DELIMITER_SIZE) + { rval = FALSE; ! __LOG_WARNING ("%sTag:%i (%s) len=%i",src,tag,isnsTagText(tag),len); ! } ! __DEBUG (isns_parse_debug &1,%sTag:%i (%s) len=%i,src,tag,isnsTagText(tag),len); break; /* Variable Length */ *************** *** 156,160 **** --- 160,168 ---- case ISNS_PORTAL_GROUP_IP: if (len != ISNS_IP_SIZE && len != 0) + { rval = FALSE; + __LOG_WARNING ("%sTag:%i (%s) %s",src,tag,isnsTagText(tag), + inet_ntoa(*(struct in_addr *)(ptr+12)) ); + } __DEBUG (isns_parse_debug &1,%sTag:%i (%s) %s,src,tag,isnsTagText(tag), inet_ntoa(*(struct in_addr *)(ptr+12)) ); *************** *** 162,166 **** --- 170,177 ---- case ISNS_TIMESTAMP: if (len != ISNS_TIMESTAMP_SIZE && len != 0 ) + { rval = FALSE; + __LOG_WARNING ("%sTag:%i (%s)",src,tag,isnsTagText(tag)); + } __DEBUG (isns_parse_debug &1,%sTag:%i (%s),src,tag,isnsTagText(tag)); break; *************** *** 169,173 **** case ISNS_PROT_VER: case ISNS_ENTITY_PERIOD: - case ISNS_ENTITY_SCN_BITMAP: case ISNS_ENTITY_IDX: case ISNS_ENTITY_CERT: --- 180,183 ---- *************** *** 195,199 **** --- 205,215 ---- case ISNS_PORTAL_GROUP_PORT: if (len != 4 && len != 0) + { rval = FALSE; + if (len == 0) + __LOG_WARNING ("%sTag:%i (%s)",src,tag,isnsTagText(tag)); + else + __LOG_WARNING ("%sTag:%i (%s) %i",src,tag,isnsTagText(tag),*(uint32_t *)ptr); + } if (len == 0) __DEBUG (isns_parse_debug &1,%sTag:%i (%s),src,tag,isnsTagText(tag)); *************** *** 207,211 **** --- 223,233 ---- case ISNS_DD_IFCP_MEMBER: if (len != 8 && len != 0) + { rval = FALSE; + if (len == 0) + __LOG_WARNING ("%sTag:%i (%s)",src,tag,isnsTagText(tag)); + else + __LOG_WARNING ("%sTag:%i (%s) %s",src,tag,isnsTagText(tag),(char *)ptr); + } if (len == 0) __DEBUG (isns_parse_debug &1,%sTag:%i (%s),src,tag,isnsTagText(tag)); *************** *** 244,248 **** if (!rval) ! __DEBUG (isns_parse_debug &1,(VerifyTag rval)); return (rval); --- 266,270 ---- if (!rval) ! __LOG_WARNING ("VerifyTag rc:%i",rval); return (rval); *************** *** 273,278 **** /* Store Keys */ ! offset = 0; ! ptr = attr = (ISNS_Attr *)(&msg->payload); if (src_attr != NULL) --- 295,306 ---- /* Store Keys */ ! if (msg->hdr.type & 0x8000) // response messages with error code ! offset = 4; ! else ! offset = 0; ! ! __DEBUG (isns_parse_debug &1,"offset:%i",offset); ! ! ptr = attr = (ISNS_Attr *)(&msg->payload+offset); if (src_attr != NULL) *************** *** 433,437 **** case ISNS_PORT_TYPE: case ISNS_DDS_STATUS: - case ISNS_ENTITY_SCN_BITMAP: case ISNS_ISCSI_SCN_BITMAP: case ISNS_IFCP_SCN_BITMAP: --- 461,464 ---- *************** *** 581,585 **** case ISNS_PORT_TYPE: case ISNS_DDS_STATUS: - case ISNS_ENTITY_SCN_BITMAP: case ISNS_ISCSI_SCN_BITMAP: case ISNS_IFCP_SCN_BITMAP: --- 608,611 ---- Index: iSNSdereg.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSdereg.c,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** iSNSdereg.c 7 Aug 2007 14:41:47 -0000 1.25 --- iSNSdereg.c 13 Aug 2007 22:56:45 -0000 1.26 *************** *** 597,600 **** --- 597,602 ---- iSNS_stats.num_entity--; + __DEBUG (isns_dereg_debug &1,(Prepare response for: %s),p_entity_id); + ISNSAppendKey (p_rspmsg, ISNS_ENTITY_ID, PAD4 (strlen (p_entity_id)), p_entity_id, 0); *************** *** 633,637 **** memset (buffer, 0, PORT_NAME_SIZE); ! memcpy (buffer, ifcp_node_key, PORT_NAME_SIZE); ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; --- 635,640 ---- memset (buffer, 0, PORT_NAME_SIZE); ! __ISNS_COPY (buffer, sizeof(buffer), ifcp_node_key, PORT_NAME_SIZE); ! ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; *************** *** 681,685 **** /* FC Node's IFCP Node List */ memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy (db_node_name.v, p_ifcp_node->node_name.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; ISNS_DBKey read_key; --- 684,688 ---- /* FC Node's IFCP Node List */ memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), p_ifcp_node->node_name.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; ISNS_DBKey read_key; *************** *** 746,750 **** ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,GetNodeData(pnode),sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry3); if (rval != SUCCESS) --- 749,753 ---- ISNS_DBKey read_key; read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), GetNodeData(pnode), sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry3); if (rval != SUCCESS) *************** *** 780,783 **** --- 783,788 ---- } + __DEBUG (isns_dereg_debug &1,(Prepare response for: %s),buffer); + ISNSAppendKey (p_rspmsg, ISNS_PORT_NAME, ISNS_IFCP_NODE_NAME_SIZE, buffer, 0); *************** *** 849,853 **** /* Call Remove Entry */ key = (ISNS_Key *)(key_indx[portalIpIndex]); ! memcpy(db_portal.ip_addr.v, &key->val, ISNS_PORTAL_IP_SIZE); key = (ISNS_Key *)(key_indx[portalPortIndex]); --- 854,858 ---- /* Call Remove Entry */ key = (ISNS_Key *)(key_indx[portalIpIndex]); ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), &key->val, ISNS_PORTAL_IP_SIZE); key = (ISNS_Key *)(key_indx[portalPortIndex]); *************** *** 993,997 **** { key = (ISNS_Key *)(key_indx[entityKeyIndex]); ! memcpy (buffer, &key->val, key->len); rval = ISNSdbRemoveAttrEntityEntry (buffer, src_attr, rspmsg); if (rval != ISNS_NO_ERR) --- 998,1002 ---- { key = (ISNS_Key *)(key_indx[entityKeyIndex]); ! __ISNS_COPY (buffer, sizeof(buffer), &key->val, key->len); rval = ISNSdbRemoveAttrEntityEntry (buffer, src_attr, rspmsg); if (rval != ISNS_NO_ERR) *************** *** 1129,1133 **** memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) p_key, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; --- 1134,1138 ---- memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), p_key, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; *************** *** 1155,1159 **** } ! memcpy ((char *) db_node_name.v, (char *) p_key, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; --- 1160,1164 ---- } ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), p_key, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id; *************** *** 1162,1165 **** --- 1167,1172 ---- ISNSdbDelete (&delete_key); + __DEBUG (isns_dereg_debug &1,(Prepare response for: %s),p_key); + ISNSAppendKey (p_rspmsg, ISNS_NODE_NAME, ISNS_NODE_NAME_SIZE, p_key, 0); return (ISNS_NO_ERR); *************** *** 1188,1192 **** read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,portal_key,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) --- 1195,1199 ---- read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), portal_key, sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); if (rval != SUCCESS) *************** *** 1229,1233 **** /* Remove Portals */ ! memcpy(&portalListEntry.portal_ip_port, portal_key, sizeof(portalListEntry.portal_ip_port)); portalListEntry.portal_idx = p_portal->portal_index; --- 1236,1240 ---- /* Remove Portals */ ! __ISNS_COPY (&portalListEntry.portal_ip_port, sizeof(portalListEntry.portal_ip_port), portal_key, sizeof(portalListEntry.portal_ip_port)); portalListEntry.portal_idx = p_portal->portal_index; *************** *** 1331,1336 **** break; case ISNS_DD_IFCP_MEMBER: ! memcpy (member_name, p_member->node_id, ! ISNS_PORT_NAME_SIZE); if (ISNS_NO_ERR != Remove_DD_from_IFCP_Node (p_dd->id, p_member->node_id)) --- 1338,1342 ---- break; case ISNS_DD_IFCP_MEMBER: ! __ISNS_COPY (member_name, sizeof(member_name), p_member->node_id, ISNS_PORT_NAME_SIZE); if (ISNS_NO_ERR != Remove_DD_from_IFCP_Node (p_dd->id, p_member->node_id)) *************** *** 1708,1712 **** /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, (char *) &key->val, key->len); ISNS_DBKey read_key; --- 1714,1718 ---- /* Fetch the node */ memset (&db_node_name, 0, sizeof (db_node_name)); ! __ISNS_COPY (db_node_name.v, sizeof(db_node_name.v), &key->val, key->len); ISNS_DBKey read_key; *************** *** 1734,1738 **** ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! memcpy(&read_key.val,&key->val,PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) --- 1740,1744 ---- ISNS_DBKey read_key; read_key.tag = PORT_NAME_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &key->val, PORT_NAME_SIZE); rval = ISNSdbRead(&read_key,&entry); if (rval != SUCCESS) Index: iSNStbl.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNStbl.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** iSNStbl.c 2 Apr 2002 20:56:54 -0000 1.2 --- iSNStbl.c 13 Aug 2007 22:56:45 -0000 1.3 *************** *** 226,230 **** memset(scnTbl[i], 0, sizeof(SCN_ENTRY)); scnTbl[i]->type=type; ! memcpy(scnTbl[i]->name, p_name, ISNS_PORT_NAME_SIZE); nSCN++; break; --- 226,230 ---- memset(scnTbl[i], 0, sizeof(SCN_ENTRY)); scnTbl[i]->type=type; ! isns_copy (scnTbl[i]->name, sizeof(scnTbl[i]->name, p_name, ISNS_PORT_NAME_SIZE); nSCN++; break; Index: iSNSreg.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSreg.c,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** iSNSreg.c 7 Aug 2007 14:41:47 -0000 1.27 --- iSNSreg.c 13 Aug 2007 22:56:45 -0000 1.28 *************** *** 358,363 **** attr = (ISNS_Attr *) attr_indx[ portalIpIndex ]; ! memcpy ( (char *) db_portal.ip_addr.v, &attr->val, ! ISNS_PORTAL_IP_SIZE ); saveIndex = ii; --- 358,362 ---- attr = (ISNS_Attr *) attr_indx[ portalIpIndex ]; ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), &attr->val, ISNS_PORTAL_IP_SIZE); saveIndex = ii; *************** *** 372,377 **** __DEBUG (isns_reg_debug &1,(Portal ip_addr len:%i),key->len); key = (ISNS_Key *) key_indx[ portalIpIndex ]; ! memcpy ( (char *) db_portal.ip_addr.v, &key->val, ! key->len ); saveIndex = 0; } --- 371,375 ---- __DEBUG (isns_reg_debug &1,(Portal ip_addr len:%i),key->len); key = (ISNS_Key *) key_indx[ portalIpIndex ]; ! __ISNS_COPY (db_portal.ip_addr.v, sizeof(db_portal.ip_addr.v), &key->val, key->len); saveIndex = 0; } *************** *** 379,383 **** __DEBUG (isns_reg_debug &1,(read portal:%s),db_portal.ip_addr.v); read_key.tag = PORTAL_ID_KEY; ! memcpy(&read_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); --- 377,381 ---- __DEBUG (isns_reg_debug &1,(read portal:%s),db_portal.ip_addr.v); read_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbRead(&read_key,&entry2); *************** *** 406,410 **** attr = (ISNS_Attr *) attr_indx[portalIpIndex]; ! memcpy (p_portal->ip_addr.v, attr->val.ip_addr.v, attr->len); attr = (ISNS_Attr *) attr_indx[portalPortIndex]; --- 404,408 ---- attr = (ISNS_Attr *) attr_indx[portalIpIndex]; ! __ISNS_COPY (p_portal->ip_addr.v, sizeof(p_portal->ip_addr.v), attr->val.ip_addr.v, attr->len); attr = (ISNS_Attr *) attr_indx[portalPortIndex]; *************** *** 421,425 **** entry3.data_type = PORTAL_IDX_KEY; p_idx = &entry3.data.portal_idx; ! memcpy(p_idx,&db_portal,sizeof(SOIP_DB_Portal)); rval = ISNSdbWrite(&idx_key,entry3); --- 419,423 ---- entry3.data_type = PORTAL_IDX_KEY; p_idx = &entry3.data.portal_idx; ! __ISNS_COPY (p_idx, sizeof(entry3.data.portal_idx), &db_portal,sizeof(SOIP_DB_Portal)); rval = ISNSdbWrite(&idx_key,entry3); *************** *** 471,475 **** if (!foundFlag) { ! memcpy(&newPortalEntry.portal_ip_port, &db_portal, sizeof(db_portal)); newPortalEntry.portal_idx = p_portal->portal_index; __DEBUG (isns_reg_debug &1, (AddNode - iportal)); --- 469,473 ---- if (!foundFlag) { ! __ISNS_COPY (&newPortalEntry.portal_ip_port, sizeof(newPortalEntry.portal_ip_port), &db_portal, sizeof(db_portal)); newPortalEntry.portal_idx = p_portal->portal_index; __DEBUG (isns_reg_debug &1, (AddNode - iportal)); *************** *** 525,529 **** { /* Portal is not already in entity */ ! memcpy(&newPortalEntry.portal_ip_port, &db_portal, sizeof(db_portal)); newPortalEntry.portal_idx = p_portal->portal_index; AddNode(&p_entity->iportal_list, (char *)&newPortalEntry, sizeof(newPortalEntry)); --- 523,527 ---- { /* Portal is not already in entity */ ! __ISNS_COPY (&newPortalEntry.portal_ip_port, sizeof(newPortalEntry.portal_ip_port), &db_portal, sizeof(db_portal)); newPortalEntry.portal_idx = p_portal->portal_index; AddNode(&p_entity->iportal_list, (char *)&newPortalEntry, sizeof(newPortalEntry)); *************** *** 551,555 **** { memset (p_portal->sym_name, 0, attr->len); ! memcpy (p_portal->sym_name, &attr->val, attr->len); ISNSAppendKey( p_scn_all_msg_buffer, ISNS_PORTAL_SYM_NAME, --- 549,553 ---- { memset (p_portal->sym_name, 0, attr->len); ! __ISNS_COPY (p_portal->sym_name, sizeof(p_portal->sym_name), &attr->val, attr->len); ISNSAppendKey( p_scn_all_msg_buffer, ISNS_PORTAL_SYM_NAME, *************** *** 638,642 **** ISNS_DBKey update_key; update_key.tag = PORTAL_ID_KEY; ! memcpy(&update_key.val,&db_portal,sizeof(SOIP_Portal_Key)); rval = ISNSdbWrite(&update_key,entry2); --- 636,640 ---- ISNS_DBKey update_key; update_key.tag = PORTAL_ID_KEY; ! __ISNS_COPY (&update_key.val, sizeof(update_key.val), &db_portal, sizeof(SOIP_Portal_Key)); rval = ISNSdbWrite(&update_key,entry2); *************** *** 816,825 **** attr = (ISNS_Attr *) attr_indx[ portalIpIndex ]; ! memcpy ( (char *) db_portal_group.ip_addr.v, &attr->val, ! ISNS_PORTAL_IP_SIZE ); __DEBUG (isns_reg_debug &1,(Portal Group ip_addr:%s),db_portal_group.ip_addr.v); attr = (ISNS_Attr *) attr_indx[ iscsiIndex ]; ! memcpy ( (char *) db_portal_group.id.v, &attr->val, attr->len); __DEBUG (isns_reg_debug &1,(Portal Group iscsi_name:%s),db_portal_group.id.v); --- 814,822 ---- attr = (ISNS_Attr *) attr_indx[ portalIpIndex ]; ! __ISNS_COPY (db_portal_group.ip_addr.v, sizeof(db_portal_group.ip_addr.v), &attr->val, ISNS_PORTAL_IP_SIZE); __DEBUG (isns_reg_debug &1,(Portal Group ip_addr:%s),db_portal_group.ip_addr.v); attr = (ISNS_Attr *) attr_indx[ iscsiIndex ]; ! __ISNS_COPY (db_portal_group.id.v, sizeof(db_portal_group.id.v), &attr->val, attr->len); __DEBUG (isns_reg_debug &1,(Portal Group iscsi_name:%s),db_portal_group.id.v); *************** *** 834,842 **** key = (ISNS_Key *) key_indx[ portalIpIndex ]; ! memcpy ( (char *) db_portal_group.ip_addr.v, &key->val, key->len); __DEBUG (isns_reg_debug &1,(Portal ip_addr len:%i),key->len); attr = (ISNS_Attr *) key_indx[ iscsiIndex ]; ! memcpy ( (char *) db_portal_group.id.v, &attr->val, attr->len); __DEBUG (isns_reg_debug &1,(Portal Group iscsi_name:%s),db_portal_group.id.v); --- 831,839 ---- key = (ISNS_Key *) key_indx[ portalIpIndex ]; ! __ISNS_COPY (db_portal_group.ip_addr.v, sizeof(db_portal_group.ip_addr.v), &key->val, key->len); __DEBUG (isns_reg_debug &1,(Portal ip_addr len:%i),key->len); attr = (ISNS_Attr *) key_indx[ iscsiIndex ]; ! __ISNS_COPY (db_portal_group.id.v, sizeof(db_portal_group.id.v), &attr->val, attr->len); __DEBUG (isns_reg_debug &1,(Portal Group iscsi_name:%s),db_portal_group.id.v); *************** *** 868,872 **** read_key.tag = PORTAL_GROUP_ID_KEY; ! memcpy(&read_key.val,&db_portal_group,sizeof(SOIP_Portal_Group_Key)); rval = ISNSdbRead(&read_key,&entry2); __DEBUG (isns_reg_debug & 1, Read PortalGroup for DB status:%i,rval); --- 865,869 ---- read_key.tag = PORTAL_GROUP_ID_KEY; ! __ISNS_COPY (&read_key.val, sizeof(read_key.val), &db_portal_group, sizeof(SOIP_Portal_Group_Key)); rval = ISNSdbRead(&read_key,&entry2); __DEBUG (isns_reg_debug & 1, Read PortalGroup for DB status:%i,rval); *************** *** 890,894 **** attr = (ISNS_Attr *) attr_indx[portalIpIndex]; ! memcpy (p_portal_group->ip_addr.v, attr->val.ip_addr.v, attr->len); attr = (ISNS_Attr *) attr_indx[portalPortIndex]; --- 887,891 ---- attr = (ISNS_Attr *) attr_indx[portalIpIndex]; ! __ISNS_COPY (p_portal_group->ip_addr.v, sizeof(p_portal_group->ip_addr.v), attr->val.ip_addr.v, attr->len); attr = (ISNS_Attr *) attr_indx[portalPortIndex]; *************** *** 896,900 **** attr = (ISNS_Attr *) attr_indx[iscsiIndex]; ! memcpy (p_portal_group->id.v, attr->val.node_name.v, attr->len); newPortalGroupRegFlag = TRUE; --- 893,897 ---- attr = (ISNS_Attr *) attr_indx[iscsiIndex]; ! __ISNS_COPY (p_portal_group->id.v, sizeof(p_portal_group->id.v), attr->val.node_name.v, attr->len); newPortalGroupRegFlag = TRUE; *************** *** 906,910 **** ISNS_DBKey update_key; update_key.tag = PORTAL_GROUP_ID_KEY; ! memcpy(&update_key.val,&db_portal_group,sizeof(SOIP_Portal_Group_Key)); rval = ISNSdbWrite(&update_key,entry2); __DEBUG (isns_reg_debug & 1, Write PortalGroup for DB status:%i,rval); --- 903,907 ---- ISNS_DBKey update_key; update_key.tag = PORTAL_GROUP_ID_KEY; ! __ISNS_COPY (&update_key.val, sizeof(update_key.val), &db_portal_group, sizeof(SOIP_Portal_Group_Key)); rval = ISNSdbWrite(&update_key,entry2); __DEBUG (isns_reg_debug & 1, Write PortalGroup for DB status:%i,rval); *************** *** 1602,1606 **** new_member.type = type; new_member.status = status; ! memcpy (new_member.node_id, p_node_name, strlen(p_node_name)); new_member.node_idx = index_number; --- 1599,1603 ---- new_member.type = type; new_member.status = status; ! __ISNS_COPY (new_member.node_id, sizeof(new_member.node_id), p_node_name, strlen(p_node_name)); new_member.node_idx = index_number; *************** *** 1728,1732 **** entry3.data_type = ENTITY_IDX_KEY; p_idx = &entry3.data.entity_idx; ! memcpy(p_idx,&db_entity_id.id,sizeof(SOIP_Entity_Id)); rval = ISNSdbWrite(&idx_key,entry3); --- 1725,1729 ---- entry3.data_type = ENTITY_IDX_KEY; p_idx = &entry3.data.entity_idx; ! __ISNS_COPY (p_idx, sizeof(entry3.data.entity_idx), &db_entity_id.id, sizeof(SOIP_Entity_Id)); rval = ISNSdbWrite(&idx_key,entry3); *************** *** 1776,1780 **** break; case ISNS_MGMT_IP: ! memcpy ((char *) p_entity->mgmt_ip_addr.v, &attr->val, ISNS_IP_SIZE); updateFlag = TRUE; break; --- 1773,1777 ---- break; case ISNS_MGMT_IP: ! __ISNS_COPY (p_entity->mgmt_ip_addr.v, sizeof(p_entity->mgmt_ip_addr.v), &attr->val, ISNS_IP_SIZE); updateFlag = TRUE; break; *************** *** 1902,1907 **** memset (&db_node_name, 0, sizeof (db_node_name)); ! memcpy ((char *) db_node_name.v, ! (char *) key->val.node_name.v, ISNS_NODE_NAME_SIZE); db_node_name.v[8] = (char)SOIP_DB_Node_Id... [truncated message content] |