aboutsummaryrefslogtreecommitdiff
path: root/samplesshd.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2005-07-06 14:35:03 +0000
committerAris Adamantiadis <aris@0xbadc0de.be>2005-07-06 14:35:03 +0000
commit636432e47593f145675e40e21bb8c8b6eb6ce8be (patch)
treeae21dfd533829c79fc2cad82da3353dae4c5e59c /samplesshd.c
parent55846a4c7b09af2d105c7f7dfd0a43aab2f6e5a5 (diff)
downloadlibssh-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.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/samplesshd.c b/samplesshd.c
index ebe351ee..0775a3b3 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;
}
+*/