[pecl-networking-ssh2] master: 'Fix' more tests, documentation update

From: Date: Fri, 16 Oct 2026 16:20:27 +0000
Subject: [pecl-networking-ssh2] master: 'Fix' more tests, documentation update
Groups: php.pecl.cvs 
Request: Send a blank email to pecl-cvs+get-28704@lists.php.net to get a copy of this message
Author: Casper Langemeijer (langemeijer) Date: 2026-10-16T18:20:17+02:00 Commit: https://github.com/php/pecl-networking-ssh2/commit/71e0b5c5e727f352cdac25fed217325e16f21351 Raw diff: https://github.com/php/pecl-networking-ssh2/commit/71e0b5c5e727f352cdac25fed217325e16f21351.diff 'Fix' more tests, documentation update Changed paths: D tests/testkey_rsa D tests/testkey_rsa.pub M README.md M tests/ssh2_auth_pubkey.phpt M tests/ssh2_auth_pubkey_file.phpt M tests/ssh2_send_signal.phpt M tests/ssh2_test.inc Diff: diff --git a/README.md b/README.md index 6a79f54..98e9da7 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,60 @@ Documentation For documentation of the functions that this extension provides can be found here: http://www.php.net/ssh2 +Build +===== + +In this directory do: + +``` +phpize; ./configure; make +``` + +Tests +===== + +The tests need a ssh server server to connect to. This can be done by ssh agent, username/password or through ssh2_auth_none(). + +Note that ssh2_auth_pubkey.phpt and ssh2_auth_pubkey_file.phpt require separate configuration. They require TEST_SSH2_PUB_KEY and TEST_SSH2_PRIV_KEY set to a valid public and private key file for the server you are connecting to for the tests. + +ssh agent +--------- + +The testsuite can connect to the local machine using agent forwarding. This works if you have an identity on this system that is allow to connect through ssh on that same machine. + +To get the tests working with ssh agent you need to alter run-tests.php. Normally for security reasons SSH_AUTH_SOCK is not passed to tests, but if you want to use ssh_auth_agent() in your test run this is required. + +``` +sed -i '/SSH_AUTH_SOCK=deleted/d' run-tests.php + +export TEST_SSH2_AUTH=agent +export TEST_SSH2_USER=anyone +export TEST_SSH2_HOSTNAME=127.0.0.1 +export TEST_SSH2_PORT=22 + +make test +``` + +user/password +------------- + +Username/password authentication is also supported for the tests. + +``` +export TEST_SSH2_AUTH=password +export TEST_SSH2_USER=anyone +export TEST_SSH2_PASS=Correct Horse Battery Staple +export TEST_SSH2_HOSTNAME=127.0.0.1 +export TEST_SSH2_PORT=22 + +make test +``` + + +TEST_SSH2_USER defaults to your local username. TEST_SSH2_PORT defaults to 22. + + Contribute ========== -Your contributions and bugreports are highly appreciated. To contribute, fork and create a pull request. To report a -bug use the [PHP Bug Tracking System](https://bugs.php.net/) +Your contributions and bugreports are highly appreciated. To contribute, fork and create a pull request. To report bugs use github issues. diff --git a/tests/ssh2_auth_pubkey.phpt b/tests/ssh2_auth_pubkey.phpt index 611f85e..e543d80 100644 --- a/tests/ssh2_auth_pubkey.phpt +++ b/tests/ssh2_auth_pubkey.phpt @@ -1,7 +1,18 @@ --TEST-- ssh2_auth_pubkey() - Tests authentication with a key --SKIPIF-- -<?php require('ssh2_skip.inc'); ?> +<?php + require('ssh2_skip.inc'); + + if (TEST_SSH2_PUB_KEY === false || TEST_SSH2_PRIV_KEY === false) { + echo "skip "; + + if (TEST_SSH2_PUB_KEY === false) echo "TEST_SSH2_PUB_KEY "; + if (TEST_SSH2_PRIV_KEY === false) echo "TEST_SSH2_PRIV_KEY "; + + echo "not set"; + } +?> --FILE-- <?php require('ssh2_test.inc'); diff --git a/tests/ssh2_auth_pubkey_file.phpt b/tests/ssh2_auth_pubkey_file.phpt index 34b9a2f..3a77132 100644 --- a/tests/ssh2_auth_pubkey_file.phpt +++ b/tests/ssh2_auth_pubkey_file.phpt @@ -1,7 +1,18 @@ --TEST-- ssh2_auth_pubkey_file() - Tests authentication with a key --SKIPIF-- -<?php require('ssh2_skip.inc'); ?> +<?php + require('ssh2_skip.inc'); + + if (TEST_SSH2_PUB_KEY === false || TEST_SSH2_PRIV_KEY === false) { + echo "skip "; + + if (TEST_SSH2_PUB_KEY === false) echo "TEST_SSH2_PUB_KEY "; + if (TEST_SSH2_PRIV_KEY === false) echo "TEST_SSH2_PRIV_KEY "; + + echo "not set"; + } + ?> --FILE-- <?php require('ssh2_test.inc'); diff --git a/tests/ssh2_send_signal.phpt b/tests/ssh2_send_signal.phpt index ccca7ea..da3f029 100644 --- a/tests/ssh2_send_signal.phpt +++ b/tests/ssh2_send_signal.phpt @@ -1,7 +1,9 @@ --TEST-- ssh2_send_signal() - Tests sending signal to process --SKIPIF-- -<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?> +<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); +echo "skip This test is not working"; + ?> --FILE-- <?php require('ssh2_test.inc'); diff --git a/tests/ssh2_test.inc b/tests/ssh2_test.inc index 585d3ad..06252d4 100644 --- a/tests/ssh2_test.inc +++ b/tests/ssh2_test.inc @@ -15,8 +15,8 @@ ssh2t_defenv('TEST_SSH2_USER', getenv('USER')); ssh2t_defenv('TEST_SSH2_PASS'); ssh2t_defenv('TEST_SSH2_TEMPDIR', '/tmp'); ssh2t_defenv('TEST_SSH2_AUTH', TEST_SSH2_PASS ? 'password' : 'none'); -ssh2t_defenv('TEST_SSH2_PUB_KEY', dirname(__FILE__) . "/testkey_rsa.pub"); -ssh2t_defenv('TEST_SSH2_PRIV_KEY', dirname(__FILE__) . "/testkey_rsa"); +ssh2t_defenv('TEST_SSH2_PUB_KEY'); +ssh2t_defenv('TEST_SSH2_PRIV_KEY'); function ssh2t_auth($ssh) { if (!TEST_SSH2_USER) { diff --git a/tests/testkey_rsa b/tests/testkey_rsa deleted file mode 100644 index 12c620d..0000000 --- a/tests/testkey_rsa +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnDqb5K4hF9I2571UizdrwPzbt4p4z2YsWHICxHLb7m8UYGYr -KjZnbb6SjdyPgb4iA5856HHPhOwVpvmhegb0A2BnKM6ZY4yIYmtu5VwQfsZXSXLh -LzyiNQ1GpsMvGcLxlxmgiwuzAW183aiXJ6CKd3ItSUJVDmSfqwjZDCy28BliOOca -95DlM0djG9AdxBFbUWS+EvGb8qXWelpjYSNlp7iaekKGxDzLYtNSei5FkA1cpNjI -/hCPPkbhD30YGDGtpRCOfwWFiF+rhwHW4g3MZsEp+CTrtC6kL6HWsF7eXwPIOyXI -TjIbeEatIWjCOVREVs4qvREbuUoaGN1khYJixwIDAQABAoIBAH9Ysux0GBufygua -ZAjbEyWLt9njsNh2U52AycqySZ4Qw45Umcjd8e8eEb47VGsQvg8vwnc8FkkmW/vw -rfSXKF58PXqg9Z2U1zNKmWmyYuvD5zDCyNXFWf9epAGZRpJ8OovNYvUUg0Sdp9PS -8etmTJhS5KE7xbNmyFQVcT8gT7pj4IEHzEcZZQuO0w8jmKSnn8E4k5leasSR7+U3 -GNRASAmuOPVsG4rp4pl4CIvUlpEPK7yuIAWD6Qwhh4nkqiZflcZ+tNDKUhMIRbez -5URX3dgZnG7fbZZI++LTRM4M09LojbdFOdT95lWJr0Pm+3h51s965F+zwkR2vYMS -6g4WcUkCgYEAyscCArrg1nocKx5ubFJVyxe/YT328Et6GhKRqTyYDMq8eznFE8of -01KiVg1+48YMb2Wc94zjsRBgHsjEz/A/f0hRtLBx3LCaYNwVF5o4DI6LqmAnOlnE -an9yYnhh8Ux4nw9PjszjdpGglIJkf0o9nP6biBgq7TAXzLfSIOxSnFsCgYEAxTvs -sE+PiF3mD4U9bWoBqRyFywDMW9mPueX9TltNqpQksaS1FzP08pCi6fTUIrsxQtXE -78N5uxiRo1OiNsPm8pluPu2Na7yfI1MQJZE8OmEadqdyPWPVYZVkUVIo13iHGovo -2eMHirb3k9y2y4WJJBPA2hOZ8azF7u1epD70DwUCgYBT4kWDqZkvQG58q+cUKm9R -R66k5IRN3XtSY9IcB3QC/q8/7qMHT7sgqXN8U7LlON2WC5wGkCL08YhB094PAxzR -Y7JhJAjGOcxzOzgCfoqnLyS5w3MW4WGuiLBh6djigDb53dSUh0+lkhKyvMokGiso -0e63OwAvBJEj3/suIXT/NwKBgGY+uGZ1+BxjQP5OvhdYWuAGDz27fjUnRaDDH1td -bZe+EH+euNn8b0DHxgyuhMI0dEcHdn4swZBCHk2i73age7rL2yD4GNX/BChVyQsQ -jT5eVE+qYkh81oMt5MFbbBy3OKKEYQOC88fvLc0TIBfFc+Cl9NWYT7e/LyS7HNLc -Z7zZAoGBAKhDfPMvGXeTjha/nBArD8rp9W7R7VrZd/VUIBOmnWhiQCRTv1KVQGKh -OGQ1taWdRt98wbnVkMxFHN4oCrnDv7cpXQNvw9m/WGZxXMgWWX0f1cpJSwewiNBt -Bb4jmKhkeAe8LwTPoxNYXxnzzf0UQox2HhcbKNP17Np/Y22NQPEf ------END RSA PRIVATE KEY----- diff --git a/tests/testkey_rsa.pub b/tests/testkey_rsa.pub deleted file mode 100644 index 8c61e68..0000000 --- a/tests/testkey_rsa.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcOpvkriEX0jbnvVSLN2vA/Nu3injPZixYcgLEctvubxRgZisqNmdtvpKN3I+BviIDnznocc+E7BWm+aF6BvQDYGcozpljjIhia27lXBB+xldJcuEvPKI1DUamwy8ZwvGXGaCLC7MBbXzdqJcnoIp3ci1JQlUOZJ+rCNkMLLbwGWI45xr3kOUzR2Mb0B3EEVtRZL4S8ZvypdZ6WmNhI2WnuJp6QobEPMti01J6LkWQDVyk2Mj+EI8+RuEPfRgYMa2lEI5/BYWIX6uHAdbiDcxmwSn4JOu0LqQvodawXt5fA8g7JchOMht4Rq0haMI5VERWziq9ERu5ShoY3WSFgmLH

« previous php.pecl.cvs (#28704) next »