@@ -102,90 +102,12 @@ namespace modsecurity {
102
102
* @endcode
103
103
*
104
104
*/
105
- Transaction::Transaction (ModSecurity *ms, RulesSet *rules, void *logCbData)
106
- : m_creationTimeStamp(utils::cpu_seconds()),
107
- m_clientIpAddress (" " ),
108
- m_httpVersion(" " ),
109
- m_serverIpAddress(" " ),
110
- m_requestHostName(" " ),
111
- m_uri(" " ),
112
- m_uri_no_query_string_decoded(" " ),
113
- m_ARGScombinedSizeDouble(0 ),
114
- m_clientPort(0 ),
115
- m_highestSeverityAction(255 ),
116
- m_httpCodeReturned(200 ),
117
- m_serverPort(0 ),
118
- m_ms(ms),
119
- m_requestBodyType(UnknownFormat),
120
- m_requestBodyProcessor(UnknownFormat),
121
- m_rules(rules),
122
- m_ruleRemoveById(),
123
- m_ruleRemoveByIdRange(),
124
- m_ruleRemoveByTag(),
125
- m_ruleRemoveTargetByTag(),
126
- m_ruleRemoveTargetById(),
127
- m_requestBodyAccess(RulesSet::PropertyNotSetConfigBoolean),
128
- m_auditLogModifier(),
129
- m_ctlAuditEngine(AuditLog::AuditLogStatus::NotSetLogStatus),
130
- m_rulesMessages(),
131
- m_requestBody(),
132
- m_responseBody(),
133
- /* m_id(), */
134
- m_skip_next(0 ),
135
- m_allowType(modsecurity::actions::disruptive::NoneAllowType),
136
- m_uri_decoded(" " ),
137
- m_actions(),
138
- m_it(),
139
- m_timeStamp(std::time(NULL )),
140
- m_collections(ms->m_global_collection, ms->m_ip_collection,
141
- ms->m_session_collection, ms->m_user_collection,
142
- ms->m_resource_collection),
143
- m_matched(),
144
- #ifdef WITH_LIBXML2
145
- m_xml (new RequestBodyProcessor::XML(this )),
146
- #else
147
- m_xml (NULL ),
148
- #endif
149
- #ifdef WITH_YAJL
150
- m_json (new RequestBodyProcessor::JSON(this )),
151
- #else
152
- m_json (NULL ),
153
- #endif
154
- m_secRuleEngine (RulesSetProperties::PropertyNotSetRuleEngine),
155
- m_variableDuration(" " ),
156
- m_variableEnvs(),
157
- m_variableHighestSeverityAction(" " ),
158
- m_variableRemoteUser(" " ),
159
- m_variableTime(" " ),
160
- m_variableTimeDay(" " ),
161
- m_variableTimeEpoch(" " ),
162
- m_variableTimeHour(" " ),
163
- m_variableTimeMin(" " ),
164
- m_variableTimeSec(" " ),
165
- m_variableTimeWDay(" " ),
166
- m_variableTimeYear(" " ),
167
- m_logCbData(logCbData),
168
- TransactionAnchoredVariables(this ) {
169
- m_id = std::to_string (m_timeStamp) +
170
- std::to_string (modsecurity::utils::generate_transaction_unique_id ());
171
-
172
- m_variableUrlEncodedError.set (" 0" , 0 );
173
- m_variableMscPcreError.set (" 0" , 0 );
174
- m_variableMscPcreLimitsExceeded.set (" 0" , 0 );
175
-
176
- ms_dbg (4 , " Initializing transaction" );
177
105
178
- intervention::clean (&m_it);
179
- }
106
+ Transaction::Transaction (ModSecurity *ms, RulesSet *rules, void *logCbData)
107
+ : Transaction(ms, rules, nullptr , logCbData) { }
180
108
181
109
Transaction::Transaction (ModSecurity *ms, RulesSet *rules, char *id, void *logCbData)
182
110
: m_creationTimeStamp(utils::cpu_seconds()),
183
- m_clientIpAddress(" " ),
184
- m_httpVersion(" " ),
185
- m_serverIpAddress(" " ),
186
- m_requestHostName(" " ),
187
- m_uri(" " ),
188
- m_uri_no_query_string_decoded(" " ),
189
111
m_ARGScombinedSizeDouble (0 ),
190
112
m_clientPort(0 ),
191
113
m_highestSeverityAction(255 ),
@@ -195,53 +117,33 @@ Transaction::Transaction(ModSecurity *ms, RulesSet *rules, char *id, void *logCb
195
117
m_requestBodyType(UnknownFormat),
196
118
m_requestBodyProcessor(UnknownFormat),
197
119
m_rules(rules),
198
- m_ruleRemoveById(),
199
- m_ruleRemoveByIdRange(),
200
- m_ruleRemoveByTag(),
201
- m_ruleRemoveTargetByTag(),
202
- m_ruleRemoveTargetById(),
203
120
m_requestBodyAccess(RulesSet::PropertyNotSetConfigBoolean),
204
- m_auditLogModifier(),
205
121
m_ctlAuditEngine(AuditLog::AuditLogStatus::NotSetLogStatus),
206
- m_rulesMessages(),
207
- m_requestBody(),
208
- m_responseBody(),
209
- m_id(id),
210
122
m_skip_next(0 ),
211
123
m_allowType(modsecurity::actions::disruptive::NoneAllowType),
212
- m_uri_decoded(" " ),
213
- m_actions(),
214
- m_it(),
215
- m_timeStamp(std::time(NULL )),
124
+ m_timeStamp(std::time(nullptr )),
216
125
m_collections(ms->m_global_collection, ms->m_ip_collection,
217
126
ms->m_session_collection, ms->m_user_collection,
218
127
ms->m_resource_collection),
219
- m_matched(),
220
128
#ifdef WITH_LIBXML2
221
129
m_xml (new RequestBodyProcessor::XML(this )),
222
130
#else
223
- m_xml (NULL ),
131
+ m_xml (nullptr ),
224
132
#endif
225
133
#ifdef WITH_YAJL
226
134
m_json (new RequestBodyProcessor::JSON(this )),
227
135
#else
228
- m_json (NULL ),
136
+ m_json (nullptr ),
229
137
#endif
230
138
m_secRuleEngine (RulesSetProperties::PropertyNotSetRuleEngine),
231
- m_variableDuration(" " ),
232
- m_variableEnvs(),
233
- m_variableHighestSeverityAction(" " ),
234
- m_variableRemoteUser(" " ),
235
- m_variableTime(" " ),
236
- m_variableTimeDay(" " ),
237
- m_variableTimeEpoch(" " ),
238
- m_variableTimeHour(" " ),
239
- m_variableTimeMin(" " ),
240
- m_variableTimeSec(" " ),
241
- m_variableTimeWDay(" " ),
242
- m_variableTimeYear(" " ),
243
139
m_logCbData(logCbData),
244
140
TransactionAnchoredVariables(this ) {
141
+ if (id == nullptr ) {
142
+ m_id = std::to_string (m_timeStamp) +
143
+ std::to_string (modsecurity::utils::generate_transaction_unique_id ());
144
+ } else {
145
+ m_id = id;
146
+ }
245
147
246
148
m_variableUrlEncodedError.set (" 0" , 0 );
247
149
m_variableMscPcreError.set (" 0" , 0 );
0 commit comments