summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/acse/acse.cnf
blob: 924f0ae4609abd95f21b878d9221f47dc856b274 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# asce.cnf
# ACSE conformation file

#.IMPORT ../x509if/x509if-exp.cnf

#.OMIT_ASSIGNMENT
Application-context-name
#.END

#.NO_EMIT ONLY_VALS
ACSE-apdu

#.EXPORTS
EXTERNALt
AE-title
AP-title
AP-invocation-identifier
AE-qualifier
ASO-qualifier
AE-invocation-identifier

#.TYPE_RENAME
AARQ-apdu/_untag/protocol-version	T_AARQ_protocol_version
AARE-apdu/_untag/protocol-version	T_AARE_protocol_version
AARQ-apdu/_untag/aSO-context-name	T_AARQ_aSO_context_name
AARE-apdu/_untag/aSO-context-name	T_AARE_aSO_context_name
ACRQ-apdu/_untag/aSO-context-name	T_ACRQ_aSO_context_name
ACRP-apdu/_untag/aSO-context-name	T_ACRP_aSO_context_name

#.FIELD_RENAME
AARQ-apdu/_untag/user-information	aARQ_user_information
AARE-apdu/_untag/user-information	aARE_user_information
ABRT-apdu/_untag/user-information	aBRT_user_information
RLRE-apdu/_untag/user-information	rLRE_user_information
RLRQ-apdu/_untag/user-information	rLRQ_user_information
P-context-result-list/_item/result	pcontext_result
RLRE-apdu/_untag/reason		rLRE_reason
RLRQ-apdu/_untag/reason		rLRQ_reason
AARQ-apdu/_untag/protocol-version	aARQ_protocol_version
AARE-apdu/_untag/protocol-version	aARE_protocol_version
AARQ-apdu/_untag/aSO-context-name	aARQ_aSO_context_name
AARE-apdu/_untag/aSO-context-name	aARE_aSO_context_name
ACRQ-apdu/_untag/aSO-context-name	aCRQ_aSO_context_name
PDV-list/presentation-data-values/octet-aligned		pDVList_octet_aligned

#.FN_PARS Authentication-value-other/other-mechanism-name
  FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference

#.FN_BODY Authentication-value-other/other-mechanism-name
%(DEFAULT_BODY)s
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;

#.FN_BODY Authentication-value-other/other-mechanism-value
  if (actx->external.direct_ref_present) {
    offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, actx->subtree.top_tree, actx->private_data);
  }

#.FN_BODY PDV-list/presentation-data-values/simple-ASN1-type
/*XXX not implemented yet */

#.FN_BODY AARQ-apdu/_untag/aSO-context-name
  offset = dissect_ber_object_identifier_str(false, actx, tree, tvb, offset,
                                         hf_index, &actx->external.direct_reference);
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;

#.FN_BODY AARE-apdu/_untag/aSO-context-name
  offset = dissect_ber_object_identifier_str(false, actx, tree, tvb, offset,
                                         hf_index, &actx->external.direct_reference);
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;

#.FN_BODY ACRQ-apdu/_untag/aSO-context-name
  offset = dissect_ber_object_identifier_str(false, actx, tree, tvb, offset,
                                         hf_index, &actx->external.direct_reference);
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;

#.FN_BODY ACRP-apdu/_untag/aSO-context-name
  offset = dissect_ber_object_identifier_str(false, actx, tree, tvb, offset,
                                         hf_index, &actx->external.direct_reference);
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;

#.FN_BODY EXTERNALt/_untag/indirect-reference
  char *oid;
  struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*) actx->private_data;

  offset = dissect_ber_integer(false, actx, tree, tvb, offset,
                hf_acse_indirect_reference,
                &indir_ref);

  /* look up the indirect reference */
  if((oid = find_oid_by_pres_ctx_id(actx->pinfo, indir_ref)) != NULL) {
    actx->external.direct_reference = wmem_strdup(actx->pinfo->pool, oid);
    actx->external.direct_ref_present = true;
  }

  if(session)
	session->pres_ctx_id = indir_ref;

#.FN_PARS EXTERNALt/_untag/direct-reference
  FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference

#.FN_BODY EXTERNALt/_untag/direct-reference
%(DEFAULT_BODY)s
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;

#.FN_BODY EXTERNALt/_untag/encoding/single-ASN1-type
  if (actx->external.direct_ref_present) {
    offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
  }

#.FN_BODY EXTERNALt/_untag/encoding/octet-aligned
  if (actx->external.direct_ref_present) {
    offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
  }

#.FN_BODY AARQ-apdu
  col_append_str(actx->pinfo->cinfo, COL_INFO, "A-Associate-Request");

  %(DEFAULT_BODY)s

#.FN_BODY AARE-apdu
  col_append_str(actx->pinfo->cinfo, COL_INFO, "A-Associate-Response");

  %(DEFAULT_BODY)s

#.FN_BODY RLRQ-apdu
  col_append_str(actx->pinfo->cinfo, COL_INFO, "Release-Request");

  %(DEFAULT_BODY)s

#.FN_PARS Release-request-reason
  VAL_PTR=&reason

#.FN_BODY Release-request-reason
  int reason = -1;

  %(DEFAULT_BODY)s

  if(reason != -1)
   col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, acse_Release_request_reason_vals, "reason(%%d)"));

#.FN_BODY RLRE-apdu
  col_append_str(actx->pinfo->cinfo, COL_INFO, "Release-Response");

  %(DEFAULT_BODY)s

#.FN_PARS Release-response-reason
  VAL_PTR=&reason

#.FN_BODY Release-response-reason
  int reason = -1;

  %(DEFAULT_BODY)s

  if(reason != -1)
   col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, acse_Release_response_reason_vals, "reason(%%d)"));

#.FN_BODY ABRT-apdu
  col_append_str(actx->pinfo->cinfo, COL_INFO, "Abort");

  %(DEFAULT_BODY)s

#.FN_BODY ABRT-source  VAL_PTR=&source
  int source = -1;

  %(DEFAULT_BODY)s

  if(source != -1)
   col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(source, acse_ABRT_source_vals, "source(%%d)"));

#.FIELD_ATTR
Association-data/_item NAME = "Association-data"
P-context-result-list/_item/result ABBREV=pcontext.result
#.END