some changes to resolve bugs reported by webyog
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@192 7dcaeef0-15fb-0310-b436-a5af3365683c
Этот коммит содержится в:
родитель
f7700f2bc2
Коммит
16a3379a61
@ -152,6 +152,7 @@ u32 sftp_async_read_begin(SFTP_FILE *file, int len);
|
|||||||
int sftp_async_read(SFTP_FILE *file, void *data, int len, u32 id);
|
int sftp_async_read(SFTP_FILE *file, void *data, int len, u32 id);
|
||||||
int sftp_write(SFTP_FILE *file, const void *source, int len);
|
int sftp_write(SFTP_FILE *file, const void *source, int len);
|
||||||
void sftp_seek(SFTP_FILE *file, int new_offset);
|
void sftp_seek(SFTP_FILE *file, int new_offset);
|
||||||
|
void sftp_seek64(SFTP_FILE *file, u64 new_offset);
|
||||||
unsigned long sftp_tell(SFTP_FILE *file);
|
unsigned long sftp_tell(SFTP_FILE *file);
|
||||||
void sftp_rewind(SFTP_FILE *file);
|
void sftp_rewind(SFTP_FILE *file);
|
||||||
int sftp_rm(SFTP_SESSION *sftp, char *file);
|
int sftp_rm(SFTP_SESSION *sftp, char *file);
|
||||||
|
@ -143,6 +143,12 @@ int ssh_auth_list(SSH_SESSION *session) {
|
|||||||
return session->auth_methods;
|
return session->auth_methods;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ssh_userauth_list(SSH_SESSION *session, const char *username){
|
||||||
|
if(session->auth_methods==0)
|
||||||
|
ssh_userauth_none(session,username);
|
||||||
|
return ssh_auth_list(session);
|
||||||
|
}
|
||||||
|
|
||||||
/* use the "none" authentication question */
|
/* use the "none" authentication question */
|
||||||
|
|
||||||
/** \brief Try to authenticate through the "none" method
|
/** \brief Try to authenticate through the "none" method
|
||||||
|
@ -29,7 +29,7 @@ MA 02111-1307, USA. */
|
|||||||
#define _WIN32_WINNT 0x0501 //getaddrinfo, freeaddrinfo, getnameinfo
|
#define _WIN32_WINNT 0x0501 //getaddrinfo, freeaddrinfo, getnameinfo
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
//#include "wspiapi.h"
|
#include "wspiapi.h" //workaround for w2k systems
|
||||||
#else
|
#else
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
@ -133,7 +133,6 @@ int sftp_server_init(SFTP_SESSION *sftp){
|
|||||||
void sftp_free(SFTP_SESSION *sftp){
|
void sftp_free(SFTP_SESSION *sftp){
|
||||||
struct request_queue *ptr;
|
struct request_queue *ptr;
|
||||||
channel_send_eof(sftp->channel);
|
channel_send_eof(sftp->channel);
|
||||||
channel_free(sftp->channel);
|
|
||||||
ptr=sftp->queue;
|
ptr=sftp->queue;
|
||||||
while(ptr){
|
while(ptr){
|
||||||
struct request_queue *old;
|
struct request_queue *old;
|
||||||
@ -142,6 +141,7 @@ void sftp_free(SFTP_SESSION *sftp){
|
|||||||
free(ptr);
|
free(ptr);
|
||||||
ptr=old;
|
ptr=old;
|
||||||
}
|
}
|
||||||
|
channel_free(sftp->channel);
|
||||||
memset(sftp,0,sizeof(*sftp));
|
memset(sftp,0,sizeof(*sftp));
|
||||||
free(sftp);
|
free(sftp);
|
||||||
}
|
}
|
||||||
@ -1253,6 +1253,9 @@ void sftp_seek(SFTP_FILE *file, int new_offset){
|
|||||||
file->offset=new_offset;
|
file->offset=new_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sftp_seek64(SFTP_FILE *file, u64 new_offset){
|
||||||
|
file->offset=new_offset;
|
||||||
|
}
|
||||||
unsigned long sftp_tell(SFTP_FILE *file){
|
unsigned long sftp_tell(SFTP_FILE *file){
|
||||||
return file->offset;
|
return file->offset;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user