1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-07-29 13:01:13 +03:00

doc: Fix some doxygen latex warnings.

This commit is contained in:
Andreas Schneider
2011-08-28 13:17:39 +02:00
parent 21875bc71e
commit 9379a93c98
4 changed files with 77 additions and 41 deletions

View File

@ -118,7 +118,9 @@ int direct_forwarding(ssh_session session)
} }
nbytes = strlen(http_get); nbytes = strlen(http_get);
nwritten = channel_write(forwarding_channel, http_get, nbytes); nwritten = channel_write(forwarding_channel,
http_get,
nbytes);
if (nbytes != nwritten) if (nbytes != nwritten)
{ {
ssh_channel_free(forwarding_channel); ssh_channel_free(forwarding_channel);
@ -177,14 +179,16 @@ int web_server(ssh_session session)
rc = ssh_channel_forward_listen(session, NULL, 8080, NULL); rc = ssh_channel_forward_listen(session, NULL, 8080, NULL);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Error opening remote port: %s\n", ssh_get_error(session)); fprintf(stderr, "Error opening remote port: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
channel = ssh_channel_forward_accept(session, 60000); channel = ssh_channel_forward_accept(session, 60000);
if (channel == NULL) if (channel == NULL)
{ {
fprintf(stderr, "Error waiting for incoming connection: %s\n", ssh_get_error(session)); fprintf(stderr, "Error waiting for incoming connection: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
@ -193,7 +197,8 @@ int web_server(ssh_session session)
nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0); nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0);
if (nbytes < 0) if (nbytes < 0)
{ {
fprintf(stderr, "Error reading incoming data: %s\n", ssh_get_error(session)); fprintf(stderr, "Error reading incoming data: %s\n",
ssh_get_error(session));
ssh_channel_send_eof(channel); ssh_channel_send_eof(channel);
ssh_channel_free(channel); ssh_channel_free(channel);
return SSH_ERROR; return SSH_ERROR;
@ -204,7 +209,8 @@ int web_server(ssh_session session)
nwritten = ssh_channel_write(channel, helloworld, nbytes); nwritten = ssh_channel_write(channel, helloworld, nbytes);
if (nwritten != nbytes) if (nwritten != nbytes)
{ {
fprintf(stderr, "Error sending answer: %s\n", ssh_get_error(session)); fprintf(stderr, "Error sending answer: %s\n",
ssh_get_error(session));
ssh_channel_send_eof(channel); ssh_channel_send_eof(channel);
ssh_channel_free(channel); ssh_channel_free(channel);
return SSH_ERROR; return SSH_ERROR;

View File

@ -14,9 +14,8 @@ libssh is a Free Software / Open Source project. The libssh library
is distributed under LGPL license. The libssh project has nothing to do with is distributed under LGPL license. The libssh project has nothing to do with
"libssh2", which is a completly different and independant project. "libssh2", which is a completly different and independant project.
libssh can run on top of either libgcrypt (http://directory.fsf.org/project/libgcrypt/) libssh can run on top of either libgcrypt or libcrypto,
or libcrypto (http://www.openssl.org/docs/crypto/crypto.html), two general-purpose two general-purpose cryptographic libraries.
cryptographic libraries.
This tutorial concentrates for its main part on the "client" side of libssh. This tutorial concentrates for its main part on the "client" side of libssh.
To learn how to accept incoming SSH connexions (how to write a SSH server), To learn how to accept incoming SSH connexions (how to write a SSH server),

View File

@ -39,14 +39,16 @@ int scp_write(ssh_session session)
(session, SSH_SCP_WRITE | SSH_SCP_RECURSIVE, "."); (session, SSH_SCP_WRITE | SSH_SCP_RECURSIVE, ".");
if (scp == NULL) if (scp == NULL)
{ {
fprintf(stderr, "Error allocating scp session: %s\n", ssh_get_error(session)); fprintf(stderr, "Error allocating scp session: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
rc = ssh_scp_init(scp); rc = ssh_scp_init(scp);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Error initializing scp session: %s\n", ssh_get_error(session)); fprintf(stderr, "Error initializing scp session: %s\n",
ssh_get_error(session));
ssh_scp_free(scp); ssh_scp_free(scp);
return rc; return rc;
} }
@ -71,14 +73,16 @@ int scp_read(ssh_session session)
(session, SSH_SCP_READ, "helloworld/helloworld.txt"); (session, SSH_SCP_READ, "helloworld/helloworld.txt");
if (scp == NULL) if (scp == NULL)
{ {
fprintf(stderr, "Error allocating scp session: %s\n", ssh_get_error(session)); fprintf(stderr, "Error allocating scp session: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
rc = ssh_scp_init(scp); rc = ssh_scp_init(scp);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Error initializing scp session: %s\n", ssh_get_error(session)); fprintf(stderr, "Error initializing scp session: %s\n",
ssh_get_error(session));
ssh_scp_free(scp); ssh_scp_free(scp);
return rc; return rc;
} }
@ -119,7 +123,8 @@ int scp_helloworld(ssh_session session, ssh_scp scp)
rc = ssh_scp_push_directory(scp, "helloworld", S_IRWXU); rc = ssh_scp_push_directory(scp, "helloworld", S_IRWXU);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't create remote directory: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't create remote directory: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
@ -127,14 +132,16 @@ int scp_helloworld(ssh_session session, ssh_scp scp)
(scp, "helloworld.txt", length, S_IRUSR | S_IWUSR); (scp, "helloworld.txt", length, S_IRUSR | S_IWUSR);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't open remote file: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't open remote file: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
rc = ssh_scp_write(scp, helloworld, length); rc = ssh_scp_write(scp, helloworld, length);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't write to remote file: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't write to remote file: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
@ -195,14 +202,16 @@ int scp_receive(ssh_session session, ssh_scp scp)
rc = ssh_scp_pull_request(scp); rc = ssh_scp_pull_request(scp);
if (rc != SSH_SCP_REQUEST_NEWFILE) if (rc != SSH_SCP_REQUEST_NEWFILE)
{ {
fprintf(stderr, "Error receiving information about file: %s\n", ssh_get_error(session)); fprintf(stderr, "Error receiving information about file: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
size = ssh_scp_request_get_size(scp); size = ssh_scp_request_get_size(scp);
filename = strdup(ssh_scp_request_get_filename(scp)); filename = strdup(ssh_scp_request_get_filename(scp));
mode = ssh_scp_request_get_permissions(scp); mode = ssh_scp_request_get_permissions(scp);
printf("Receiving file %s, size %d, permisssions 0%o\n", filename, size, mode); printf("Receiving file %s, size %d, permisssions 0%o\n",
filename, size, mode);
free(filename); free(filename);
buffer = malloc(size); buffer = malloc(size);
@ -216,7 +225,8 @@ int scp_receive(ssh_session session, ssh_scp scp)
rc = ssh_scp_read(scp, buffer, size); rc = ssh_scp_read(scp, buffer, size);
if (rc == SSH_ERROR) if (rc == SSH_ERROR)
{ {
fprintf(stderr, "Error receiving file data: %s\n", ssh_get_error(session)); fprintf(stderr, "Error receiving file data: %s\n",
ssh_get_error(session));
free(buffer); free(buffer);
return rc; return rc;
} }
@ -228,7 +238,8 @@ int scp_receive(ssh_session session, ssh_scp scp)
rc = ssh_scp_pull_request(scp); rc = ssh_scp_pull_request(scp);
if (rc != SSH_SCP_REQUEST_EOF) if (rc != SSH_SCP_REQUEST_EOF)
{ {
fprintf(stderr, "Unexpected request: %s\n", ssh_get_error(session)); fprintf(stderr, "Unexpected request: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }

View File

@ -53,14 +53,16 @@ int sftp_helloworld(ssh_session session)
sftp = sftp_new(session); sftp = sftp_new(session);
if (sftp == NULL) if (sftp == NULL)
{ {
fprintf(stderr, "Error allocating SFTP session: %s\n", ssh_get_error(session)); fprintf(stderr, "Error allocating SFTP session: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
rc = sftp_init(sftp); rc = sftp_init(sftp);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Error initializing SFTP session: %s.\n", sftp_get_error(sftp)); fprintf(stderr, "Error initializing SFTP session: %s.\n",
sftp_get_error(sftp));
sftp_free(sftp); sftp_free(sftp);
return rc; return rc;
} }
@ -121,7 +123,8 @@ int sftp_helloworld(ssh_session session, sftp_session sftp)
{ {
if (sftp_get_error(sftp) != SSH_FX_FILE_ALREADY_EXISTS) if (sftp_get_error(sftp) != SSH_FX_FILE_ALREADY_EXISTS)
{ {
fprintf(stderr, "Can't create directory: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't create directory: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
} }
@ -167,17 +170,20 @@ int sftp_helloworld(ssh_session session, sftp_session sftp)
... ...
file = sftp_open(sftp, "helloworld/helloworld.txt", access_type, S_IRWXU); file = sftp_open(sftp, "helloworld/helloworld.txt",
access_type, S_IRWXU);
if (file == NULL) if (file == NULL)
{ {
fprintf(stderr, "Can't open file for writing: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't open file for writing: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
nwritten = sftp_write(file, helloworld, length); nwritten = sftp_write(file, helloworld, length);
if (nwritten != length) if (nwritten != length)
{ {
fprintf(stderr, "Can't write data to file: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't write data to file: %s\n",
ssh_get_error(session));
sftp_close(file); sftp_close(file);
return SSH_ERROR; return SSH_ERROR;
} }
@ -185,7 +191,8 @@ int sftp_helloworld(ssh_session session, sftp_session sftp)
rc = sftp_close(file); rc = sftp_close(file);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't close the written file: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't close the written file: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
@ -215,10 +222,12 @@ int sftp_read_sync(ssh_session session, sftp_session sftp)
int nbytes, rc; int nbytes, rc;
access_type = O_RDONLY; access_type = O_RDONLY;
file = sftp_open(sftp, "/etc/profile", access_type, 0); file = sftp_open(sftp, "/etc/profile",
access_type, 0);
if (file == NULL) if (file == NULL)
{ {
fprintf(stderr, "Can't open file for reading: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't open file for reading: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
@ -235,7 +244,8 @@ int sftp_read_sync(ssh_session session, sftp_session sftp)
if (nbytes < 0) if (nbytes < 0)
{ {
fprintf(stderr, "Error while reading file: %s\n", ssh_get_error(session)); fprintf(stderr, "Error while reading file: %s\n",
ssh_get_error(session));
sftp_close(file); sftp_close(file);
return SSH_ERROR; return SSH_ERROR;
} }
@ -243,7 +253,8 @@ int sftp_read_sync(ssh_session session, sftp_session sftp)
rc = sftp_close(file); rc = sftp_close(file);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't close the read file: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't close the read file: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
@ -274,10 +285,12 @@ int sftp_read_async(ssh_session session, sftp_session sftp)
int rc; int rc;
access_type = O_RDONLY; access_type = O_RDONLY;
file = sftp_open(sftp, "some_very_big_file", access_type, 0); file = sftp_open(sftp, "some_very_big_file",
access_type, 0);
if (file == NULL) if (file == NULL)
{ {
fprintf(stderr, "Can't open file for reading: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't open file for reading: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
sftp_file_set_nonblocking(file); sftp_file_set_nonblocking(file);
@ -286,7 +299,8 @@ int sftp_read_async(ssh_session session, sftp_session sftp)
counter = 0L; counter = 0L;
usleep(10000); usleep(10000);
if (async_request >= 0) if (async_request >= 0)
nbytes = sftp_async_read(file, buffer, sizeof(buffer), async_request); nbytes = sftp_async_read(file, buffer, sizeof(buffer),
async_request);
else nbytes = -1; else nbytes = -1;
while (nbytes > 0 || nbytes == SSH_AGAIN) while (nbytes > 0 || nbytes == SSH_AGAIN)
{ {
@ -298,13 +312,15 @@ int sftp_read_async(ssh_session session, sftp_session sftp)
else counter++; else counter++;
usleep(10000); usleep(10000);
if (async_request >= 0) if (async_request >= 0)
nbytes = sftp_async_read(file, buffer, sizeof(buffer), async_request); nbytes = sftp_async_read(file, buffer, sizeof(buffer),
async_request);
else nbytes = -1; else nbytes = -1;
} }
if (nbytes < 0) if (nbytes < 0)
{ {
fprintf(stderr, "Error while reading file: %s\n", ssh_get_error(session)); fprintf(stderr, "Error while reading file: %s\n",
ssh_get_error(session));
sftp_close(file); sftp_close(file);
return SSH_ERROR; return SSH_ERROR;
} }
@ -314,7 +330,8 @@ int sftp_read_async(ssh_session session, sftp_session sftp)
rc = sftp_close(file); rc = sftp_close(file);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't close the read file: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't close the read file: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
@ -356,15 +373,16 @@ int sftp_list_dir(ssh_session session, sftp_session sftp)
dir = sftp_opendir(sftp, "/var/log"); dir = sftp_opendir(sftp, "/var/log");
if (!dir) if (!dir)
{ {
fprintf(stderr, "Directory not opened: %s\n", ssh_get_error(session)); fprintf(stderr, "Directory not opened: %s\n",
ssh_get_error(session));
return SSH_ERROR; return SSH_ERROR;
} }
printf("Name Size Perms Owner\tGroup\n"); printf("Name Size Perms Owner\tGroup\n");
while ((attributes = sftp_readdir(sftp, dir)) != NULL) while ((attributes = sftp_readdir(sftp, dir)) != NULL)
{ {
printf("%-22s %10llu %.8o %s(%d)\t%s(%d)\n", printf("%-20s %10llu %.8o %s(%d)\t%s(%d)\n",
attributes->name, attributes->name,
(long long unsigned int) attributes->size, (long long unsigned int) attributes->size,
attributes->permissions, attributes->permissions,
@ -378,7 +396,8 @@ int sftp_list_dir(ssh_session session, sftp_session sftp)
if (!sftp_dir_eof(dir)) if (!sftp_dir_eof(dir))
{ {
fprintf(stderr, "Can't list directory: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't list directory: %s\n",
ssh_get_error(session));
sftp_closedir(dir); sftp_closedir(dir);
return SSH_ERROR; return SSH_ERROR;
} }
@ -386,7 +405,8 @@ int sftp_list_dir(ssh_session session, sftp_session sftp)
rc = sftp_closedir(dir); rc = sftp_closedir(dir);
if (rc != SSH_OK) if (rc != SSH_OK)
{ {
fprintf(stderr, "Can't close directory: %s\n", ssh_get_error(session)); fprintf(stderr, "Can't close directory: %s\n",
ssh_get_error(session));
return rc; return rc;
} }
} }