diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2005-07-06 14:35:03 +0000 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2005-07-06 14:35:03 +0000 |
commit | 636432e47593f145675e40e21bb8c8b6eb6ce8be (patch) | |
tree | ae21dfd533829c79fc2cad82da3353dae4c5e59c /samplesshd.c | |
parent | 55846a4c7b09af2d105c7f7dfd0a43aab2f6e5a5 (diff) | |
download | libssh-636432e47593f145675e40e21bb8c8b6eb6ce8be.tar.gz libssh-636432e47593f145675e40e21bb8c8b6eb6ce8be.tar.xz libssh-636432e47593f145675e40e21bb8c8b6eb6ce8be.zip |
sample sshd server accepts a client and sends a banner.
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@4 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'samplesshd.c')
-rw-r--r-- | samplesshd.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/samplesshd.c b/samplesshd.c index ebe351e..0775a3b 100644 --- a/samplesshd.c +++ b/samplesshd.c @@ -24,13 +24,26 @@ MA 02111-1307, USA. */ #include <libssh/server.h> #include <unistd.h> int main(int argc, char **argv){ -#ifdef WITH_SERVER - SSH_OPTIONS *opts=ssh_getopt(&argc,argv); - SSH_SESSION *server=getserver(opts); - if(!server){ - printf("pwned : %s\n",ssh_get_error(NULL)); - exit(-1); + SSH_OPTIONS *options=ssh_options_new(); + SSH_SESSION *session; + SSH_BIND *ssh_bind; + ssh_options_getopt(options,&argc,argv); + ssh_bind=ssh_bind_new(); + ssh_bind_set_options(ssh_bind,options); + if(ssh_bind_listen(ssh_bind)<0){ + printf("Error listening to socket: %s\n",ssh_get_error(ssh_bind)); + return 1; } + session=ssh_bind_accept(ssh_bind); + if(!session){ + printf("error accepting a connection : %s\n",ssh_get_error(ssh_bind)); + return 1; + } + printf("Socket connecté : %d\n",ssh_get_fd(session)); + return 0; +} + + /* server->clientbanner=ssh_get_banner(server); if(!server->clientbanner){ printf("%s\n",ssh_get_error(NULL)); @@ -45,6 +58,6 @@ int main(int argc, char **argv){ list_kex(&server->client_kex); while(1); -#endif return 0; } +*/ |