From b2b01900d672c18f18ae1efb228854982aaec1cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Wed, 2 Sep 1998 21:18:58 +0200 Subject: [PATCH] New files. Rev: src/crypto.c:1.1 Rev: src/crypto.h:1.1 Rev: src/lshd.c:1.1 Rev: src/session.c:1.1 --- src/crypto.c | 18 +++++++++++++ src/crypto.h | 12 +++++++++ src/lshd.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/session.c | 16 ++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 src/crypto.c create mode 100644 src/crypto.h create mode 100644 src/lshd.c create mode 100644 src/session.c diff --git a/src/crypto.c b/src/crypto.c new file mode 100644 index 000000000..ebeb1e0f6 --- /dev/null +++ b/src/crypto.c @@ -0,0 +1,18 @@ +/* crypto.c + * + */ + +#include "crypto.h" + +static void do_crypt_none(struct crypto_instance *ignored, + UINT32 length, UINT8 *dst, UINT8 *src) +{ + if (src != dst) + memcpy(dst, src, length); +} + +struct crypto_instance crypto_none_instance = +{ + 8, + do_crypt_none +}; diff --git a/src/crypto.h b/src/crypto.h new file mode 100644 index 000000000..f679d0eba --- /dev/null +++ b/src/crypto.h @@ -0,0 +1,12 @@ +/* crypto.h + * + */ + +#ifndef LSH_CRYPTO_H_INCLUDED +#define LSH_CRYPTO_H_INCLUDED + +#include "abstract_crypto.h" + +struct crypto_instance crypto_none_instance; + +#endif diff --git a/src/lshd.c b/src/lshd.c new file mode 100644 index 000000000..32bbfba47 --- /dev/null +++ b/src/lshd.c @@ -0,0 +1,71 @@ +/* lshd.c + * + * main server program. + */ + +#include <getopt.h> + +#include "io.h" +#include "werror.h" +#include "server.h" + +/* Global variable */ +struct io_backend backend; + +void usage() NORETURN; + +void usage() +{ + exit(1); +} + +int main(int argc, char **argv) +{ + char *port = "ssh"; + int verbose; + int option; + + /* For filtering messages. Could perhaps also be used when converting + * strings to and from UTF8. */ + setlocale(LC_CTYPE, ""); + + while((option = getopt(argc, argv, "dp:q")) != -1) + switch(option) + { + case 'p': + port = optarg; + break; + case 'q': + quiet_flag = 1; + break; + case 'd': + debug_flag = 1; + break; + default: + usage(); + } + + if ( (argc - optind) != 0) + usage(); + + if (!get_inaddr(&remote, NULL, port, "tcp")) + { + fprintf(stderr, "No such host or service"); + exit(1); + } + + { + struct server_callback connected = { + { (fd_callback_f) server_initiate }, + &backend, + BLOCK_SIZE; + }; + + io_connect(&backend, &remote, NULL, + make_client_callback(backend, BLOCK_SIZE)); + } + + io_run(); + + return 0; +} diff --git a/src/session.c b/src/session.c new file mode 100644 index 000000000..e34ad9888 --- /dev/null +++ b/src/session.c @@ -0,0 +1,16 @@ +/* session.c + * + */ + +#include "session.h" + +struct session *ssh_session_alloc() +{ + struct ssh_session *session = xalloc(sizeof(struct ssh_session)); + + memset(session, 0, sizeof(struct ssh_Session)); + + session->max_packet = 0x8000; + + return session; +} -- GitLab