version 1.30, 2002/04/01 22:07:17 |
version 1.31, 2002/04/06 00:30:08 |
|
|
|
|
if (id == startid || len == 0 || |
if (id == startid || len == 0 || |
id - ackid >= conn->num_requests) { |
id - ackid >= conn->num_requests) { |
|
u_int r_id; |
|
|
buffer_clear(&msg); |
buffer_clear(&msg); |
get_msg(conn->fd_in, &msg); |
get_msg(conn->fd_in, &msg); |
type = buffer_get_char(&msg); |
type = buffer_get_char(&msg); |
id = buffer_get_int(&msg); |
r_id = buffer_get_int(&msg); |
|
|
if (type != SSH2_FXP_STATUS) |
if (type != SSH2_FXP_STATUS) |
fatal("Expected SSH2_FXP_STATUS(%d) packet, " |
fatal("Expected SSH2_FXP_STATUS(%d) packet, " |
|
|
|
|
/* Find the request in our queue */ |
/* Find the request in our queue */ |
for(ack = TAILQ_FIRST(&acks); |
for(ack = TAILQ_FIRST(&acks); |
ack != NULL && ack->id != id; |
ack != NULL && ack->id != r_id; |
ack = TAILQ_NEXT(ack, tq)) |
ack = TAILQ_NEXT(ack, tq)) |
; |
; |
if (ack == NULL) |
if (ack == NULL) |
fatal("Can't find request for ID %d", id); |
fatal("Can't find request for ID %d", r_id); |
TAILQ_REMOVE(&acks, ack, tq); |
TAILQ_REMOVE(&acks, ack, tq); |
|
|
if (status != SSH2_FX_OK) { |
if (status != SSH2_FX_OK) { |