1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 15:38:49 +02:00
Commit Graph

797 Commits

Author SHA1 Message Date
Nikita Popov 90d5c40e25 Merge branch 'PHP-8.0'
* PHP-8.0:
  Use ephemeral ports in mcast_ipv*_recv.phpt
2020-11-30 09:50:05 +01:00
Nikita Popov e77ac88a44 Use ephemeral ports in mcast_ipv*_recv.phpt 2020-11-30 09:49:39 +01:00
Nikita Popov 2b7d5eddfc Merge branch 'PHP-8.0'
* PHP-8.0:
  sockets: Fix variable/macro name collision on AIX
2020-11-25 11:55:05 +01:00
Calvin Buckley e074e029ee sockets: Fix variable/macro name collision on AIX
The name "rem_size" is used by a macro in a system header on AIX,
specifically `sys/xmem.h`. Without changing the name, you get the
name mangled like so:

```
In file included from /usr/include/sys/uio.h:92:0,
                 from /QOpenSys/pkgs/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/include-fixed-7.1/sys/socket.h:83,
                 from /usr/include/sys/syslog.h:151,
                 from /usr/include/syslog.h:29,
                 from /home/calvin/rpmbuild/BUILD/php-8.0.0RC5/main/php_syslog.h:27,
                 from /home/calvin/rpmbuild/BUILD/php-8.0.0RC5/main/php.h:318,
                 from /home/calvin/rpmbuild/BUILD/php-8.0.0RC5/ext/sockets/sendrecvmsg.c:17:
/home/calvin/rpmbuild/BUILD/php-8.0.0RC5/ext/sockets/sendrecvmsg.c: In function 'zif_socket_cmsg_space':
/home/calvin/rpmbuild/BUILD/php-8.0.0RC5/ext/sockets/sendrecvmsg.c:298:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
   size_t rem_size = ZEND_LONG_MAX - entry->size;
          ^
/home/calvin/rpmbuild/BUILD/php-8.0.0RC5/ext/sockets/sendrecvmsg.c:298:10: error: expected expression before '.' token
/home/calvin/rpmbuild/BUILD/php-8.0.0RC5/ext/sockets/sendrecvmsg.c:299:18: error: 'u2' undeclared (first use in this function)
   size_t n_max = rem_size / entry->var_el_size;
                  ^
/home/calvin/rpmbuild/BUILD/php-8.0.0RC5/ext/sockets/sendrecvmsg.c:299:18: note: each undeclared identifier is reported only once for each function it appears in
```

...because of the declaration in `sys/xmem.h`:

```
```

This just renames the variable so that it won't trip on this
definition. Tested to fix the build on IBM i PASE.

Closes GH-6453.
2020-11-25 11:54:40 +01:00
Christoph M. Becker 1e0610fe24 Merge branch 'PHP-8.0'
* PHP-8.0:
  Strip trailing line breaks and periods from Windows error messages
2020-11-12 16:43:57 +01:00
Christoph M. Becker a08a2b48b4 Strip trailing line breaks and periods from Windows error messages
PHP error messages should not contain line breaks, so we remove these
from the Windows specific error messages.  We also remove trailing
periods for the same reason.

Closes GH-6423.
2020-11-12 16:42:28 +01:00
Nikita Popov 01de00073f Merge branch 'PHP-8.0'
* PHP-8.0:
  Fix double free when socket_accept fails
2020-11-11 12:48:44 +01:00
Nikita Popov 800cf5a20f Fix double free when socket_accept fails 2020-11-11 12:48:25 +01:00
George Peter Banyard 150ebfdf77 Suppress bogus [-Wlogical-op] warning from GCC
See GCC bug 69602: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69602
which emits the warning for (errno == EWOULDBLOCK || errno == EAGAIN)
which is the correct way of handling errors as the value of EWOULDBLOCK
and EAGAIN is implementation defined.

Therefore introduce a new macro function PHP_IS_TRANSIENT_ERROR()
which handles the case when EWOULDBLOCK and EAGAIN are identical.

Thanks to @twose for the idea.
2020-10-10 14:45:20 +01:00
Nikita Popov 79484b4f8a Update ext/sockets parameter names
Also change $max_length to $length in a number of filesystem APIs,
where our usage was inconsistent.

Closes GH-6276.
2020-10-06 12:12:43 +02:00
George Peter Banyard 189751cbeb Promote notice to ValueError for invalid hint key 2020-09-28 16:24:04 +01:00
Máté Kocsis e950ca13ea Consolidate the usage of "either" and "one of" in error messages
Closes GH-6173
2020-09-20 19:41:47 +02:00
Nikita Popov c5401854fc Run tidy
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
2020-09-18 14:28:32 +02:00
Máté Kocsis c76910cd96 Display types in stubs more uniformly
In preparation for generating method signatures for the manual.

This change gets rid of bogus false|null return types, a few unnecessary trailing backslashes, and settles on using ? when possible for nullable types.
2020-09-16 21:19:36 +02:00
Máté Kocsis 9975986b7e Improve error messages mentioning parameters instead of arguments
Closes GH-5999
2020-09-09 10:47:43 +02:00
Christoph M. Becker 95cf7a0358 Fix Windows build for shared ext/sockets
We can't use `PHPAPI` for extensions which may be built shared.  Thus,
we introduce `PHP_SOCKETS_API`.
2020-09-08 22:54:21 +02:00
Remi Collet 4c43806b61 add socket_ce and socket_import_file_descriptor in public API 2020-09-08 17:26:22 +02:00
Máté Kocsis 628db3f3b5 Fix UNKNOWN default values in various extensions
Closes GH-6075
2020-09-07 19:02:02 +02:00
Nikita Popov eb17f996fb Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid socket path clash in test
2020-08-26 12:12:23 +02:00
Nikita Popov 0487bcfac7 Avoid socket path clash in test 2020-08-26 12:11:22 +02:00
Nikita Popov dad25538f6 Don't check specific message in socket_shutdown.phpt 2020-08-10 15:58:54 +02:00
Nikita Popov e4f5190942 Only test one error in socket_strerror() test
The messages differ by used libc and version, so let's not try to
do exhaustive testing here.
2020-08-10 15:58:38 +02:00
Máté Kocsis 7aacc705d0 Add many missing closing PHP tags to tests
Closes GH-5958
2020-08-09 22:03:36 +02:00
Máté Kocsis af80d8a14e Add more argument types to stubs
Closes GH-5943
2020-08-07 12:35:30 +02:00
Nikita Popov af64001dcb Normalize error message capitalization 2020-08-05 16:44:06 +02:00
Nikita Popov 25d849d40b Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix memory leak on socket_sendmsg() / socket_recvmsg() error
2020-08-05 16:42:55 +02:00
Nikita Popov 3b86be23e6 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix memory leak on socket_sendmsg() / socket_recvmsg() error
2020-08-05 16:42:13 +02:00
Nikita Popov 6a1bd57df5 Fix memory leak on socket_sendmsg() / socket_recvmsg() error 2020-08-05 16:41:40 +02:00
Nikita Popov 002908a5c5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Unset ai_canonname field in dump
2020-08-05 14:59:06 +02:00
Nikita Popov b69a98cfb3 Unset ai_canonname field in dump
Okay, looks like ai_canonname does not get set on macos even if
AI_CANONNAME is specified, so canonicalize this in the other
direction instead and unset ai_canonname if it is present.
2020-08-05 14:58:56 +02:00
Nikita Popov 7575340427 Merge branch 'PHP-7.4'
* PHP-7.4:
  Check ps -p availability in proc_nice test
  Set AI_CANONNAME flag in socket_addrinfo test
  Add ipv6 skipif to test
  Improve privilege check in pcntl_setpriority() test
2020-08-05 12:12:24 +02:00
Nikita Popov 741daa8605 Set AI_CANONNAME flag in socket_addrinfo test
Musl always populates ai_canonname. Set the flag to avoid output
discrepancies.
2020-08-05 12:10:12 +02:00
Nikita Popov 58ab49111e Add ipv6 skipif to test
This was done for the -unix variant, but not the (formerly
windows-only?) main test.
2020-08-05 12:09:54 +02:00
Máté Kocsis ae34a6539f Fix Socket related tests on Windows 2020-08-04 09:25:41 +02:00
Christoph M. Becker bfdbb90d30 Fix Windows build 2020-08-04 00:10:29 +02:00
Máté Kocsis 77172c220a Convert resources to objects in ext/sockets
Closes GH-5900.
2020-08-03 23:26:38 +02:00
Santiago M. Mola 65713aaddd Fix #79923: fix socket_set_option_bindtodevice test
Closes GH-5924.
2020-08-03 15:03:07 +02:00
Nikita Popov 501db98e57 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix bug #79924
2020-08-03 14:56:57 +02:00
Nikita Popov 8b4da1774f Fix bug #79924
Move functions that are only used with ipv6 support under
HAVE_IPV6 checks.
2020-08-03 14:56:27 +02:00
Max Semenik 2b5de6f839 Remove proto comments from C files
Closes GH-5758
2020-07-06 21:13:34 +02:00
Nikita Popov b0dc325bba Merge branch 'PHP-7.4'
* PHP-7.4:
  Handle SO_ options only at SOL_SOCKET level
  Allow different error message for errno 58
2020-07-02 11:44:34 +02:00
Nikita Popov f1bf058d7c Handle SO_ options only at SOL_SOCKET level
These options may have the same value as options at other levels.

This issue showed up on ppc64el.
2020-07-02 11:41:08 +02:00
Nikita Popov 0a216f5edb Allow different error message for errno 58
Apparently this is EDEADLOCK on some systems.
2020-07-02 11:39:22 +02:00
Nikita Popov c9b9f525a9 Include stub hash in generated arginfo files
The hash is used to check whether the arginfo file needs to be
regenerated. PHP-Parser will only be downloaded if this is actually
necessary.

This ensures that release artifacts will never try to regenerate
stubs and thus fetch PHP-Parser, as long as you do not modify any
files.

Closes GH-5739.
2020-06-24 09:55:19 +02:00
Nikita Popov 09532a12a6 Suppress deprecation warning in sockets.c
This one was quite a journey...
2020-06-12 12:35:02 +02:00
Nikita Popov b53f83c0c3 Merge branch 'PHP-7.4'
* PHP-7.4:
  Use automatic port assignment in socket_import/export test
2020-05-28 10:20:12 +02:00
Nikita Popov 490ca05883 Use automatic port assignment in socket_import/export test 2020-05-28 10:18:59 +02:00
George Peter Banyard f91f72607b Drop unnecessary stdint and inttypes header checks
These are always available as of C99.

Closes GH-5323

Co-authored-by: "Christoph M. Becker" <cmbecker69@gmx.de>
2020-04-22 20:18:19 +02:00
George Peter Banyard 0b99017516 Fix error message in ext/socket 2020-04-22 00:50:32 +02:00
George Peter Banyard 7ff8eaa545 Promote warnings to Errors in sockets's extension. 2020-04-21 20:41:26 +02:00