@ -1321,23 +1321,21 @@ uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
uint32_t k ;
for ( k = 0 ; k < no_of_entries ; k + + ) {
if ( pids [ k ] & 0xFFFF0000 ) {
if ( SCMemcmp ( pid_pat_list [ pids [ k ] & 0x0000FFFF ] . cs ,
buf + i - pid_pat_list [ pids [ k ] & 0x0000FFFF ] . patlen + 1 ,
pid_pat_list [ pids [ k ] & 0x0000FFFF ] . patlen ) ! = 0 ) {
uint32_t lower_pid = pids [ k ] & 0x0000FFFF ;
if ( SCMemcmp ( pid_pat_list [ lower_pid ] . cs ,
buf + i - pid_pat_list [ lower_pid ] . patlen + 1 ,
pid_pat_list [ lower_pid ] . patlen ) ! = 0 ) {
/* inside loop */
continue ;
}
if ( bitarray [ ( pids[ k ] & 0x0000FFFF ) / 8 ] & ( 1 < < ( ( pids[ k ] & 0x0000FFFF ) % 8 ) ) ) {
if ( bitarray [ ( lower_ pid) / 8 ] & ( 1 < < ( ( lower_ pid) % 8 ) ) ) {
;
} else {
pmq - > pattern_id_bitarray [ ( pids [ k ] & 0x0000FFFF ) / 8 ] | = ( 1 < < ( ( pids [ k ] & 0x0000FFFF ) % 8 ) ) ;
bitarray [ ( pids [ k ] & 0x0000FFFF ) / 8 ] | = ( 1 < < ( ( pids [ k ] & 0x0000FFFF ) % 8 ) ) ;
pmq - > pattern_id_array [ pmq - > pattern_id_array_cnt + + ] = pids [ k ] & 0x0000FFFF ;
uint32_t x ;
for ( x = 0 ; x < pid_pat_list [ pids [ k ] & 0x0000FFFF ] . sids_size ; x + + ) {
pmq - > rule_id_array [ pmq - > rule_id_array_cnt + + ] = pid_pat_list [ pids [ k ] & 0x0000FFFF ] . sids [ x ] ;
}
pmq - > pattern_id_bitarray [ ( lower_pid ) / 8 ] | = ( 1 < < ( ( lower_pid ) % 8 ) ) ;
bitarray [ ( lower_pid ) / 8 ] | = ( 1 < < ( ( lower_pid ) % 8 ) ) ;
pmq - > pattern_id_array [ pmq - > pattern_id_array_cnt + + ] = lower_pid ;
MpmAddSids ( pmq , pid_pat_list [ lower_pid ] . sids , pid_pat_list [ lower_pid ] . sids_size ) ;
}
matches + + ;
} else {
@ -1347,10 +1345,7 @@ uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
pmq - > pattern_id_bitarray [ ( pids [ k ] ) / 8 ] | = ( 1 < < ( ( pids [ k ] ) % 8 ) ) ;
bitarray [ pids [ k ] / 8 ] | = ( 1 < < ( pids [ k ] % 8 ) ) ;
pmq - > pattern_id_array [ pmq - > pattern_id_array_cnt + + ] = pids [ k ] ;
uint32_t x ;
for ( x = 0 ; x < pid_pat_list [ pids [ k ] ] . sids_size ; x + + ) {
pmq - > rule_id_array [ pmq - > rule_id_array_cnt + + ] = pid_pat_list [ pids [ k ] ] . sids [ x ] ;
}
MpmAddSids ( pmq , pid_pat_list [ pids [ k ] ] . sids , pid_pat_list [ pids [ k ] ] . sids_size ) ;
}
matches + + ;
}
@ -1371,23 +1366,21 @@ uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
uint32_t k ;
for ( k = 0 ; k < no_of_entries ; k + + ) {
if ( pids [ k ] & 0xFFFF0000 ) {
if ( SCMemcmp ( pid_pat_list [ pids [ k ] & 0x0000FFFF ] . cs ,
buf + i - pid_pat_list [ pids [ k ] & 0x0000FFFF ] . patlen + 1 ,
pid_pat_list [ pids [ k ] & 0x0000FFFF ] . patlen ) ! = 0 ) {
uint32_t lower_pid = pids [ k ] & 0x0000FFFF ;
if ( SCMemcmp ( pid_pat_list [ lower_pid ] . cs ,
buf + i - pid_pat_list [ lower_pid ] . patlen + 1 ,
pid_pat_list [ lower_pid ] . patlen ) ! = 0 ) {
/* inside loop */
continue ;
}
if ( bitarray [ ( pids[ k ] & 0x0000FFFF ) / 8 ] & ( 1 < < ( ( pids[ k ] & 0x0000FFFF ) % 8 ) ) ) {
if ( bitarray [ ( lower_ pid) / 8 ] & ( 1 < < ( ( lower_ pid) % 8 ) ) ) {
;
} else {
pmq - > pattern_id_bitarray [ ( pids [ k ] & 0x0000FFFF ) / 8 ] | = ( 1 < < ( ( pids [ k ] & 0x0000FFFF ) % 8 ) ) ;
bitarray [ ( pids [ k ] & 0x0000FFFF ) / 8 ] | = ( 1 < < ( ( pids [ k ] & 0x0000FFFF ) % 8 ) ) ;
pmq - > pattern_id_array [ pmq - > pattern_id_array_cnt + + ] = pids [ k ] & 0x0000FFFF ;
uint32_t x ;
for ( x = 0 ; x < pid_pat_list [ pids [ k ] & 0x0000FFFF ] . sids_size ; x + + ) {
pmq - > rule_id_array [ pmq - > rule_id_array_cnt + + ] = pid_pat_list [ pids [ k ] & 0x0000FFFF ] . sids [ x ] ;
}
pmq - > pattern_id_bitarray [ ( lower_pid ) / 8 ] | = ( 1 < < ( ( lower_pid ) % 8 ) ) ;
bitarray [ ( lower_pid ) / 8 ] | = ( 1 < < ( ( lower_pid ) % 8 ) ) ;
pmq - > pattern_id_array [ pmq - > pattern_id_array_cnt + + ] = lower_pid ;
MpmAddSids ( pmq , pid_pat_list [ lower_pid ] . sids , pid_pat_list [ lower_pid ] . sids_size ) ;
}
matches + + ;
} else {
@ -1398,10 +1391,7 @@ uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
bitarray [ pids [ k ] / 8 ] | = ( 1 < < ( pids [ k ] % 8 ) ) ;
pmq - > pattern_id_array [ pmq - > pattern_id_array_cnt + + ] = pids [ k ] ;
uint32_t x ;
for ( x = 0 ; x < pid_pat_list [ pids [ k ] ] . sids_size ; x + + ) {
pmq - > rule_id_array [ pmq - > rule_id_array_cnt + + ] = pid_pat_list [ pids [ k ] ] . sids [ x ] ;
}
MpmAddSids ( pmq , pid_pat_list [ pids [ k ] ] . sids , pid_pat_list [ pids [ k ] ] . sids_size ) ;
}
matches + + ;
}
@ -2067,16 +2057,17 @@ uint32_t SCACCudaPacketResultsProcessing(Packet *p, MpmCtx *mpm_ctx,
* the only change */
for ( k = 0 ; k < no_of_entries ; k + + ) {
if ( pids [ k ] & 0xFFFF0000 ) {
if ( SCMemcmp ( pid_pat_list [ pids [ k ] & 0x0000FFFF ] . cs ,
buf + offset - pid_pat_list [ pids [ k ] & 0x0000FFFF ] . patlen + 1 ,
pid_pat_list [ pids [ k ] & 0x0000FFFF ] . patlen ) ! = 0 ) {
uint32_t lower_pid = pids [ k ] & 0x0000FFFF ;
if ( SCMemcmp ( pid_pat_list [ lower_pid ] . cs ,
buf + offset - pid_pat_list [ lower_pid ] . patlen + 1 ,
pid_pat_list [ lower_pid ] . patlen ) ! = 0 ) {
/* inside loop */
continue ;
}
if ( pmq - > pattern_id_bitarray [ ( pids[ k ] & 0x0000FFFF ) / 8 ] & ( 1 < < ( ( pids[ k ] & 0x0000FFFF ) % 8 ) ) ) {
if ( pmq - > pattern_id_bitarray [ ( lower_ pid) / 8 ] & ( 1 < < ( ( lower_ pid) % 8 ) ) ) {
;
} else {
pmq - > pattern_id_bitarray [ ( pids[ k ] & 0x0000FFFF ) / 8 ] | = ( 1 < < ( ( pids[ k ] & 0x0000FFFF ) % 8 ) ) ;
pmq - > pattern_id_bitarray [ ( lower_ pid) / 8 ] | = ( 1 < < ( ( lower_ pid) % 8 ) ) ;
}
matches + + ;
} else {