FIx passive mode (Hopefully)
This commit is contained in:
parent
ea32e5ab03
commit
2a2b9e7dd7
@ -342,7 +342,7 @@ void handle_PASV(struct ftpserver *cfg, struct ftpclient *client) {
|
|||||||
getsockname(client->data_srv_socket, (struct sockaddr*) &file_addr, &file_sock_len);
|
getsockname(client->data_srv_socket, (struct sockaddr*) &file_addr, &file_sock_len);
|
||||||
int port = ntohs(file_addr.sin_port);
|
int port = ntohs(file_addr.sin_port);
|
||||||
|
|
||||||
ipcpy = strdup(client->ip);
|
ipcpy = strdup(client->hostip);
|
||||||
|
|
||||||
ipptr = strtok(ipcpy, ".");
|
ipptr = strtok(ipcpy, ".");
|
||||||
|
|
||||||
@ -687,7 +687,7 @@ int handle_client(struct ftpserver *cfg, struct ftpclient *client, char *buf, in
|
|||||||
|
|
||||||
void init(struct ftpserver *cfg) {
|
void init(struct ftpserver *cfg) {
|
||||||
int server_socket;
|
int server_socket;
|
||||||
struct sockaddr_in server, client;
|
struct sockaddr_in server, client, host_addr;
|
||||||
fd_set master, read_fds;
|
fd_set master, read_fds;
|
||||||
int fdmax = 0;
|
int fdmax = 0;
|
||||||
socklen_t c;
|
socklen_t c;
|
||||||
@ -712,7 +712,6 @@ void init(struct ftpserver *cfg) {
|
|||||||
|
|
||||||
listen(server_socket, 3);
|
listen(server_socket, 3);
|
||||||
|
|
||||||
|
|
||||||
FD_ZERO(&master);
|
FD_ZERO(&master);
|
||||||
FD_SET(server_socket, &master);
|
FD_SET(server_socket, &master);
|
||||||
fdmax = server_socket;
|
fdmax = server_socket;
|
||||||
@ -756,6 +755,9 @@ void init(struct ftpserver *cfg) {
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getsockname(new_fd, (struct sockaddr*) &host_addr, &c);
|
||||||
|
inet_ntop(AF_INET, &(host_addr.sin_addr), client[client_count]->hostip, INET_ADDRSTRLEN);
|
||||||
|
|
||||||
getpeername(new_fd, (struct sockaddr *)&client, &c);
|
getpeername(new_fd, (struct sockaddr *)&client, &c);
|
||||||
inet_ntop(AF_INET, &(client.sin_addr), clients[client_count]->ip, INET_ADDRSTRLEN);
|
inet_ntop(AF_INET, &(client.sin_addr), clients[client_count]->ip, INET_ADDRSTRLEN);
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ struct ftpclient {
|
|||||||
int data_port;
|
int data_port;
|
||||||
int type;
|
int type;
|
||||||
char ip[20];
|
char ip[20];
|
||||||
|
char hostip[20];
|
||||||
char name[16];
|
char name[16];
|
||||||
char password[32];
|
char password[32];
|
||||||
int data_srv_socket;
|
int data_srv_socket;
|
||||||
|
Reference in New Issue
Block a user