aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/acse/acse.cnf
blob: b22d1c6e6a7f9acf1386b2ee5e18cbd9215aeeeb (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
# asce.cnf
# ACSE conformation file

# $Id$

#.MODULE_IMPORT
InformationFramework x509if

#.INCLUDE ../x509if/x509if-exp.cnf

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

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

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

#.FN_BODY EXTERNAL
  gint8 class;
  gboolean pc, ind_field;
  gint32 tag;
  guint32 len1;

  if(!implicit_tag) {
    /* XXX  asn2eth can not yet handle tagged assignment so for the
     * time being  just remove this tag manually inside the EXTERNAL
     * dissector.
     */
     offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
     offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
   }
   offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
                                EXTERNAL_sequence, hf_index, ett_acse_EXTERNAL);

#.FN_PARS Authentication-value-other/other-mechanism-name  
  FN_VARIANT = _str VAL_PTR = &object_identifier_id

#.FN_BODY Authentication-value-other/other-mechanism-value
  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, top_tree);

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

#.FN_BODY AARQ-apdu/aSO-context-name
  offset = dissect_ber_object_identifier_str(FALSE, pinfo, tree, tvb, offset,
                                         hf_index, &object_identifier_id);

#.FN_BODY AARE-apdu/aSO-context-name
  offset = dissect_ber_object_identifier_str(FALSE, pinfo, tree, tvb, offset,
                                         hf_index, &object_identifier_id);

#.FN_BODY ACRQ-apdu/aSO-context-name
  offset = dissect_ber_object_identifier_str(FALSE, pinfo, tree, tvb, offset,
                                         hf_index, &object_identifier_id);

#.FN_BODY ACRP-apdu/aSO-context-name
  offset = dissect_ber_object_identifier_str(FALSE, pinfo, tree, tvb, offset,
                                         hf_index, &object_identifier_id);

#.FN_BODY EXTERNAL/indirect-reference
  char *oid;
  offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset,
                hf_acse_indirect_reference,
                &indir_ref);

  /* look up the indirect reference */
  if((oid = find_oid_by_pres_ctx_id(pinfo, indir_ref)) != NULL) {
    object_identifier_id = ep_strdup(oid);
  }

  if(session)
	session->pres_ctx_id = indir_ref;

#.FN_PARS EXTERNAL/direct-reference
  FN_VARIANT = _str VAL_PTR = &object_identifier_id

#.FN_BODY EXTERNAL/encoding/single-ASN1-type
  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, top_tree ? top_tree : tree);

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

#.FN_BODY Release-request-reason
  int reason = -1;
 
  %(DEFAULT_BODY)s

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


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

#.FN_BODY Release-response-reason
  int reason = -1;
 
  %(DEFAULT_BODY)s

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




#.END