@@ -1147,14 +1147,22 @@ int32_t scap_fd_read_sockets(scap_t *handle, scap_fdinfo **sockets)
1147
1147
if (SCAP_FAILURE == scap_fd_read_ipv4_sockets_from_proc_fs (handle , "/proc/net/tcp" , SCAP_L4_TCP , sockets ) ||
1148
1148
SCAP_FAILURE == scap_fd_read_ipv4_sockets_from_proc_fs (handle , "/proc/net/udp" , SCAP_L4_UDP , sockets ) ||
1149
1149
SCAP_FAILURE == scap_fd_read_ipv4_sockets_from_proc_fs (handle , "/proc/net/raw" , SCAP_L4_RAW , sockets ) ||
1150
- SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs (handle , "/proc/net/tcp6" , SCAP_L4_TCP , sockets ) ||
1151
- SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs (handle , "/proc/net/udp6" , SCAP_L4_UDP , sockets ) ||
1152
- SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs (handle , "/proc/net/raw6" , SCAP_L4_RAW , sockets ) ||
1153
1150
SCAP_FAILURE == scap_fd_read_unix_sockets_from_proc_fs (handle , sockets ))
1154
1151
{
1155
1152
scap_fd_free_table (handle , sockets );
1156
1153
return SCAP_FAILURE ;
1157
1154
}
1155
+
1156
+ /* We assume if there is /proc/net/tcp6 that ipv6 is avaiable */
1157
+ if (0 == access ("/proc/net/tcp6" , R_OK )) {
1158
+ if (SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs (handle , "/proc/net/tcp6" , SCAP_L4_TCP , sockets ) ||
1159
+ SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs (handle , "/proc/net/udp6" , SCAP_L4_UDP , sockets ) ||
1160
+ SCAP_FAILURE == scap_fd_read_ipv6_sockets_from_proc_fs (handle , "/proc/net/raw6" , SCAP_L4_RAW , sockets ))
1161
+ {
1162
+ scap_fd_free_table (handle , sockets );
1163
+ return SCAP_FAILURE ;
1164
+ }
1165
+ }
1158
1166
return SCAP_SUCCESS ;
1159
1167
}
1160
1168
0 commit comments