Skip to content

Commit d23895d

Browse files
committed
ext/sockets: follow-up on AF_PACKET support.
Back to the drawing board due to UAF with previous version. This reverts commit cc11606.
1 parent 1684c52 commit d23895d

File tree

6 files changed

+745
-20
lines changed

6 files changed

+745
-20
lines changed

ext/sockets/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ PHP_ARG_ENABLE([sockets],
55

66
if test "$PHP_SOCKETS" != "no"; then
77
AC_CHECK_FUNCS([hstrerror if_nametoindex if_indextoname sockatmark])
8-
AC_CHECK_HEADERS([sys/sockio.h linux/filter.h linux/if_packet.h linux/if_ether.h])
8+
AC_CHECK_HEADERS([sys/sockio.h linux/filter.h linux/if_packet.h linux/if_ether.h netinet/ether.h])
99
AC_DEFINE([HAVE_SOCKETS], [1],
1010
[Define to 1 if the PHP extension 'sockets' is available.])
1111

ext/sockets/php_sockets.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ typedef struct {
7777

7878
extern PHP_SOCKETS_API zend_class_entry *socket_ce;
7979

80+
#ifdef AF_PACKET
81+
extern PHP_SOCKETS_API zend_class_entry *packet_ce;
82+
extern PHP_SOCKETS_API zend_class_entry *ethinfopacket_ce;
83+
extern PHP_SOCKETS_API zend_class_entry *tcppacket_ce;
84+
extern PHP_SOCKETS_API zend_class_entry *udppacket_ce;
85+
extern PHP_SOCKETS_API zend_class_entry *ipv4packet_ce;
86+
extern PHP_SOCKETS_API zend_class_entry *ipv6packet_ce;
87+
#endif
88+
8089
static inline php_socket *socket_from_obj(zend_object *obj) {
8190
return (php_socket *)((char *)(obj) - XtOffsetOf(php_socket, std));
8291
}

0 commit comments

Comments
 (0)