summaryrefslogtreecommitdiff
path: root/net-libs/libssh2/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-06-30 17:36:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-06-30 17:36:28 +0100
commit7014a5a3ea0feffab9701fdd6b64cc7667a985af (patch)
treef2cbbaa8bb9209cd15208721103228336149b799 /net-libs/libssh2/files
parent7a86906b67693cc65671d3e1476835d3a7e13092 (diff)
gentoo resync : 30.06.2019
Diffstat (limited to 'net-libs/libssh2/files')
-rw-r--r--net-libs/libssh2/files/libssh2-1.9.0-missing.patch181
1 files changed, 181 insertions, 0 deletions
diff --git a/net-libs/libssh2/files/libssh2-1.9.0-missing.patch b/net-libs/libssh2/files/libssh2-1.9.0-missing.patch
new file mode 100644
index 000000000000..7cc58d239638
--- /dev/null
+++ b/net-libs/libssh2/files/libssh2-1.9.0-missing.patch
@@ -0,0 +1,181 @@
+--- /dev/null
++++ b/tests/test_public_key_auth_succeeds_with_correct_ed25519_key.c
+@@ -0,0 +1,37 @@
++#include "session_fixture.h"
++
++#include <libssh2.h>
++
++#include <stdio.h>
++
++static const char *USERNAME = "libssh2"; /* configured in Dockerfile */
++static const char *KEY_FILE_PRIVATE = "key_ed25519";
++static const char *KEY_FILE_PUBLIC = "key_ed25519.pub"; /* configured in Dockerfile */
++
++int test(LIBSSH2_SESSION *session)
++{
++ int rc;
++ const char *userauth_list = NULL;
++
++ userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME));
++ if(userauth_list == NULL) {
++ print_last_session_error("libssh2_userauth_list");
++ return 1;
++ }
++
++ if(strstr(userauth_list, "publickey") == NULL) {
++ fprintf(stderr, "'publickey' was expected in userauth list: %s\n",
++ userauth_list);
++ return 1;
++ }
++
++ rc = libssh2_userauth_publickey_fromfile_ex(
++ session, USERNAME, strlen(USERNAME), KEY_FILE_PUBLIC, KEY_FILE_PRIVATE,
++ NULL);
++ if(rc != 0) {
++ print_last_session_error("libssh2_userauth_publickey_fromfile_ex");
++ return 1;
++ }
++
++ return 0;
++}
+--- /dev/null
++++ b/tests/test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c
+@@ -0,0 +1,38 @@
++#include "session_fixture.h"
++
++#include <libssh2.h>
++
++#include <stdio.h>
++
++static const char *USERNAME = "libssh2"; /* configured in Dockerfile */
++static const char *PASSWORD = "libssh2";
++static const char *KEY_FILE_PRIVATE = "key_ed25519_encrypted";
++static const char *KEY_FILE_PUBLIC = "key_ed25519_encrypted.pub"; /* configured in Dockerfile */
++
++int test(LIBSSH2_SESSION *session)
++{
++ int rc;
++ const char *userauth_list = NULL;
++
++ userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME));
++ if(userauth_list == NULL) {
++ print_last_session_error("libssh2_userauth_list");
++ return 1;
++ }
++
++ if(strstr(userauth_list, "publickey") == NULL) {
++ fprintf(stderr, "'publickey' was expected in userauth list: %s\n",
++ userauth_list);
++ return 1;
++ }
++
++ rc = libssh2_userauth_publickey_fromfile_ex(
++ session, USERNAME, strlen(USERNAME), KEY_FILE_PUBLIC, KEY_FILE_PRIVATE,
++ PASSWORD);
++ if(rc != 0) {
++ print_last_session_error("libssh2_userauth_publickey_fromfile_ex");
++ return 1;
++ }
++
++ return 0;
++}
+--- /dev/null
++++ b/tests/test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c
+@@ -0,0 +1,97 @@
++#include "session_fixture.h"
++
++#include <libssh2.h>
++
++#include <stdio.h>
++#include <stdlib.h>
++
++static const char *USERNAME = "libssh2"; /* configured in Dockerfile */
++static const char *KEY_FILE_ED25519_PRIVATE = "key_ed25519";
++
++int read_file(const char *path, char **buf, size_t *len);
++
++int test(LIBSSH2_SESSION *session)
++{
++ int rc;
++ FILE *fp = NULL;
++ char *buffer = NULL;
++ size_t len = 0;
++ const char *userauth_list = NULL;
++
++ userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME));
++ if(userauth_list == NULL) {
++ print_last_session_error("libssh2_userauth_list");
++ return 1;
++ }
++
++ if(strstr(userauth_list, "publickey") == NULL) {
++ fprintf(stderr, "'publickey' was expected in userauth list: %s\n",
++ userauth_list);
++ return 1;
++ }
++
++ if(read_file(KEY_FILE_ED25519_PRIVATE, &buffer, &len)) {
++ fprintf(stderr, "Reading key file failed.");
++ return 1;
++ }
++
++ rc = libssh2_userauth_publickey_frommemory(session, USERNAME, strlen(USERNAME),
++ NULL, 0, buffer, len, NULL);
++
++ free(buffer);
++
++ if(rc != 0) {
++ print_last_session_error("libssh2_userauth_publickey_fromfile_ex");
++ return 1;
++ }
++
++ return 0;
++}
++
++int read_file(const char *path, char **out_buffer, size_t *out_len)
++{
++ int rc;
++ FILE *fp = NULL;
++ char *buffer = NULL;
++ size_t len = 0;
++
++ if(out_buffer == NULL || out_len == NULL || path == NULL) {
++ fprintf(stderr, "invalid params.");
++ return 1;
++ }
++
++ *out_buffer = NULL;
++ *out_len = 0;
++
++ fp = fopen(path, "r");
++
++ if(!fp) {
++ fprintf(stderr, "File could not be read.");
++ return 1;
++ }
++
++ fseek(fp, 0L, SEEK_END);
++ len = ftell(fp);
++ rewind(fp);
++
++ buffer = calloc(1, len + 1);
++ if(!buffer) {
++ fclose(fp);
++ fprintf(stderr, "Could not alloc memory.");
++ return 1;
++ }
++
++ if(1 != fread(buffer, len, 1, fp)) {
++ fclose(fp);
++ free(buffer);
++ fprintf(stderr, "Could not read file into memory.");
++ return 1;
++ }
++
++ fclose(fp);
++
++ *out_buffer = buffer;
++ *out_len = len;
++
++ return 0;
++}