|
Lines 1065-1074
Link Here
|
| 1065 |
|
1065 |
|
| 1066 |
if (id == startid || len == 0 || |
1066 |
if (id == startid || len == 0 || |
| 1067 |
id - ackid >= conn->num_requests) { |
1067 |
id - ackid >= conn->num_requests) { |
|
|
1068 |
u_int r_id; |
| 1069 |
|
| 1068 |
buffer_clear(&msg); |
1070 |
buffer_clear(&msg); |
| 1069 |
get_msg(conn->fd_in, &msg); |
1071 |
get_msg(conn->fd_in, &msg); |
| 1070 |
type = buffer_get_char(&msg); |
1072 |
type = buffer_get_char(&msg); |
| 1071 |
id = buffer_get_int(&msg); |
1073 |
r_id = buffer_get_int(&msg); |
| 1072 |
|
1074 |
|
| 1073 |
if (type != SSH2_FXP_STATUS) |
1075 |
if (type != SSH2_FXP_STATUS) |
| 1074 |
fatal("Expected SSH2_FXP_STATUS(%d) packet, " |
1076 |
fatal("Expected SSH2_FXP_STATUS(%d) packet, " |
|
Lines 1079-1089
Link Here
|
| 1079 |
|
1081 |
|
| 1080 |
/* Find the request in our queue */ |
1082 |
/* Find the request in our queue */ |
| 1081 |
for(ack = TAILQ_FIRST(&acks); |
1083 |
for(ack = TAILQ_FIRST(&acks); |
| 1082 |
ack != NULL && ack->id != id; |
1084 |
ack != NULL && ack->id != r_id; |
| 1083 |
ack = TAILQ_NEXT(ack, tq)) |
1085 |
ack = TAILQ_NEXT(ack, tq)) |
| 1084 |
; |
1086 |
; |
| 1085 |
if (ack == NULL) |
1087 |
if (ack == NULL) |
| 1086 |
fatal("Can't find request for ID %d", id); |
1088 |
fatal("Can't find request for ID %d", r_id); |
| 1087 |
TAILQ_REMOVE(&acks, ack, tq); |
1089 |
TAILQ_REMOVE(&acks, ack, tq); |
| 1088 |
|
1090 |
|
| 1089 |
if (status != SSH2_FX_OK) { |
1091 |
if (status != SSH2_FX_OK) { |