Moved setting of length2 to make it always set.

svn path=/trunk/; revision=28777
This commit is contained in:
Stig Bjørlykke 2009-06-19 05:45:40 +00:00
parent ea64b28267
commit b3e10e559a
5 changed files with 3080 additions and 1338 deletions

File diff suppressed because it is too large Load Diff

View File

@ -8,8 +8,6 @@
*
* Added support for Connection Configuration Object
* ryan wamsley * Copyright 2007
* Added Additional Status text in Forward Open Response
* ryan wamsley * Copyright 2008
*
* $Id$
*
@ -53,19 +51,19 @@
#define SC_GET_MEMBER 0x18
#define SC_SET_MEMBER 0x19
/* Class specific services */
#define SC_FWD_CLOSE 0x4E
#define SC_UNCON_SEND 0x52
#define SC_FWD_OPEN 0x54
/* Connection Manager */
#define SC_CM_FWD_CLOSE 0x4E
#define SC_CM_UNCON_SEND 0x52
#define SC_CM_FWD_OPEN 0x54
/* Connection Configuration Object services */
#define SC_KICK_TIMER 0x4B
#define SC_OPEN_CONN 0x4C
#define SC_CLOSE_CONN 0x4D
#define SC_STOP_CONN 0x4E /* collision with SC_FWD_CLOSE */
#define SC_CHANGE_START 0x4F
#define SC_GET_STATUS 0x50
#define SC_CHANGE_COMPLETE 0x51
#define SC_AUDIT_CHANGE 0x52 /* collision with SC_UNCON_SEND */
#define SC_CCO_KICK_TIMER 0x4B
#define SC_CCO_OPEN_CONN 0x4C
#define SC_CCO_CLOSE_CONN 0x4D
#define SC_CCO_STOP_CONN 0x4E
#define SC_CCO_CHANGE_START 0x4F
#define SC_CCO_GET_STATUS 0x50
#define SC_CCO_CHANGE_COMPLETE 0x51
#define SC_CCO_AUDIT_CHANGE 0x52
/* CIP Genral status codes */
#define CI_GRC_SUCCESS 0x00
@ -111,47 +109,6 @@
#define CI_GRC_STILL_PROCESSING 0xFF
/* Extended Status Error Codes */
#define CI_SREC_CONNECTION_IN_USE 0x0100
#define CI_SREC_TCLASS_TRIGGER_ERR 0x0103
#define CI_SREC_OWNERSHIP_CONFLICT 0x0106
#define CI_SREC_CONN_NOT_FOUND 0x0107
#define CI_SREC_INVALID_CONN_TYPE 0x0108
#define CI_SREC_INVALID_CONN_SIZE 0x0109
#define CI_SREC_DEV_NOT_CONFIGURED 0x0110
#define CI_SREC_UNSUPPORTED_RPI 0x0111
#define CI_SREC_NO_MORE_CONNS 0x0113
#define CI_SREC_VEN_OR_PCODE_MISMATCH 0x0114
#define CI_SREC_PRODTYPE_MISMATCH 0x0115
#define CI_SREC_REVISION_MISMATCH 0x0116
#define CI_SREC_BAD_CONN_POINT 0x0117
#define CI_SREC_INVAL_CONFIG_FRMT 0x0118
#define CI_SREC_NO_CONTROL_CONN 0x0119
#define CI_SREC_NO_MORE_CONN_SUPPORT 0x011A
#define CI_SREC_RPI_SMALLERTHAN_PIT 0x011B
#define CI_SREC_CONN_ALREADY_CLOSED 0x0203
#define CI_SREC_UNCONN_SND_TIMEOUT 0x0204
#define CI_SREC_UNCONN_PARM_ERR 0x0205
#define CI_SREC_UCONN_TOO_LARGE 0x0206
#define CI_SREC_UCONN_ACK_NO_REP 0x0207
#define CI_SREC_NO_MEMORY 0x0301
#define CI_SREC_NO_NET_BANDWIDTH 0x0302
#define CI_SREC_NO_SCREENERS 0x0303
#define CI_SREC_NO_REALTIME_CONFIG 0x0304
#define CI_SREC_INVALID_PORT 0x0311
#define CI_SREC_LINKADDR_NOT_AVAIL 0x0312
#define CI_SREC_INVALID_SEGMENT_TYP 0x0315
#define CI_SREC_CLOSE_PATH_ERR 0x0316
#define CI_SREC_NO_SCHED 0x0317
#define CI_SREC_INVALID_LINK_ADDR 0x0318
#define CI_SREC_UNAVAIL_RESOURCE 0x0319
#define CI_SREC_CONN_ALREADY_ESTAB 0x031A
#define CI_SREC_DCONN_ALREADY_ESTAB 0x031B
#define CI_SREC_MISC 0x031C
#define CI_SREC_REDUNDANT_MISMATCH 0x031D
#define CI_SREC_NO_CONSUME_RESRC 0x031E
#define CI_SREC_NO_CONN_RESRC 0x031F
/* IOI Path types */
#define CI_SEGMENT_TYPE_MASK 0xE0
@ -191,7 +148,7 @@
/* Device Profile:s */
#define DP_GEN_DEV 0x00
#define DP_AC_DRIVE 0x02
#define DP_AC_DRIVE 0x02
#define DP_MOTOR_OVERLOAD 0x03
#define DP_LIMIT_SWITCH 0x04
#define DP_IND_PROX_SWITCH 0x05
@ -1005,8 +962,8 @@
{ 899, "Practicon Ltd" }, \
{ 900, "Schunk GmbH & Co. KG" }, \
{ 902, "Defontaine Groupe" }, \
{ 903, "Emerson Process Management Power & Water Solutions" },
{ 903, "Emerson Process Management Power & Water Solutions" }, \
{ 981, "Siempelkamp Maschinen- und Anlagenbau GmbH & Co. KG" },
/*
** Exported variables

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
/* packet-enip.h
* Routines for EtherNet/IP (Industrial Protocol) dissection
* EtherNet/IP Home: www.odva.org
*
* Conversation data support for CIP
* Jan Bartels, Siempelkamp Maschinen- und Anlagenbau GmbH & Co. KG
* Copyright 2007
*
* $Id$
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
typedef struct {
guint32 req_num, rep_num;
nstime_t req_time;
void *cip_info;
} enip_request_info_t;
void enip_open_cip_connection( packet_info *pinfo,
guint16 ConnSerialNumber, guint16 VendorID, guint32 DeviceSerialNumber,
guint32 O2TConnID, guint32 T2OConnID );
void enip_close_cip_connection( packet_info *pinfo,
guint16 ConnSerialNumber, guint16 VendorID, guint32 DeviceSerialNumber );

View File

@ -152,6 +152,8 @@ dissect_glbp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_add_str(pinfo->cinfo, COL_INFO, val_to_str(type2,
glbp_type2_vals, "Type 0x%02x"));
length2 = tvb_get_guint8(tvb, 13);
if (tree) {
ti = proto_tree_add_item(tree, proto_glbp, tvb, 0, -1, FALSE);
glbp_tree = proto_item_add_subtree(ti, ett_glbp);
@ -165,7 +167,6 @@ dissect_glbp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 12;
proto_tree_add_item(glbp_tree, hf_glbp_type2, tvb, 12, 1, FALSE);
proto_tree_add_item(glbp_tree, hf_glbp_length2, tvb, 13, 1, FALSE);
length2 = tvb_get_guint8(tvb, 13);
switch(type2) {
case 1: /* Hello */