mirror of
https://github.com/clearml/dropbear
synced 2025-03-09 21:41:07 +00:00
get rid of unused packet_type in encrypted write queue
This commit is contained in:
parent
625b38d7af
commit
7f15910541
@ -346,7 +346,7 @@ void session_cleanup() {
|
|||||||
void send_session_identification() {
|
void send_session_identification() {
|
||||||
buffer *writebuf = buf_new(strlen(LOCAL_IDENT "\r\n") + 1);
|
buffer *writebuf = buf_new(strlen(LOCAL_IDENT "\r\n") + 1);
|
||||||
buf_putbytes(writebuf, (const unsigned char *) LOCAL_IDENT "\r\n", strlen(LOCAL_IDENT "\r\n"));
|
buf_putbytes(writebuf, (const unsigned char *) LOCAL_IDENT "\r\n", strlen(LOCAL_IDENT "\r\n"));
|
||||||
writebuf_enqueue(writebuf, 0);
|
writebuf_enqueue(writebuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void read_session_identification() {
|
static void read_session_identification() {
|
||||||
|
8
netio.c
8
netio.c
@ -306,10 +306,10 @@ void packet_queue_to_iovec(const struct Queue *queue, struct iovec *iov, unsigne
|
|||||||
for (l = queue->head, i = 0; i < *iov_count; l = l->link, i++)
|
for (l = queue->head, i = 0; i < *iov_count; l = l->link, i++)
|
||||||
{
|
{
|
||||||
writebuf = (buffer*)l->item;
|
writebuf = (buffer*)l->item;
|
||||||
len = writebuf->len - 1 - writebuf->pos;
|
len = writebuf->len - writebuf->pos;
|
||||||
dropbear_assert(len > 0);
|
dropbear_assert(len > 0);
|
||||||
TRACE2(("write_packet writev #%d type %d len %d/%d", i, writebuf->data[writebuf->len-1],
|
TRACE2(("write_packet writev #%d len %d/%d", i,
|
||||||
len, writebuf->len-1))
|
len, writebuf->len))
|
||||||
iov[i].iov_base = buf_getptr(writebuf, len);
|
iov[i].iov_base = buf_getptr(writebuf, len);
|
||||||
iov[i].iov_len = len;
|
iov[i].iov_len = len;
|
||||||
}
|
}
|
||||||
@ -320,7 +320,7 @@ void packet_queue_consume(struct Queue *queue, ssize_t written) {
|
|||||||
int len;
|
int len;
|
||||||
while (written > 0) {
|
while (written > 0) {
|
||||||
writebuf = (buffer*)examine(queue);
|
writebuf = (buffer*)examine(queue);
|
||||||
len = writebuf->len - 1 - writebuf->pos;
|
len = writebuf->len - writebuf->pos;
|
||||||
if (len > written) {
|
if (len > written) {
|
||||||
/* partial buffer write */
|
/* partial buffer write */
|
||||||
buf_incrpos(writebuf, written);
|
buf_incrpos(writebuf, written);
|
||||||
|
15
packet.c
15
packet.c
@ -65,7 +65,6 @@ void write_packet() {
|
|||||||
#else
|
#else
|
||||||
int len;
|
int len;
|
||||||
buffer* writebuf;
|
buffer* writebuf;
|
||||||
int packet_type;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TRACE2(("enter write_packet"))
|
TRACE2(("enter write_packet"))
|
||||||
@ -113,10 +112,7 @@ void write_packet() {
|
|||||||
|
|
||||||
/* The last byte of the buffer is not to be transmitted, but is
|
/* The last byte of the buffer is not to be transmitted, but is
|
||||||
* a cleartext packet_type indicator */
|
* a cleartext packet_type indicator */
|
||||||
packet_type = writebuf->data[writebuf->len-1];
|
len = writebuf->len - writebuf->pos;
|
||||||
len = writebuf->len - 1 - writebuf->pos;
|
|
||||||
TRACE2(("write_packet type %d len %d/%d", packet_type,
|
|
||||||
len, writebuf->len-1))
|
|
||||||
dropbear_assert(len > 0);
|
dropbear_assert(len > 0);
|
||||||
/* Try to write as much as possible */
|
/* Try to write as much as possible */
|
||||||
written = write(ses.sock_out, buf_getptr(writebuf, len), len);
|
written = write(ses.sock_out, buf_getptr(writebuf, len), len);
|
||||||
@ -604,7 +600,7 @@ void encrypt_packet() {
|
|||||||
/* Update counts */
|
/* Update counts */
|
||||||
ses.kexstate.datatrans += writebuf->len;
|
ses.kexstate.datatrans += writebuf->len;
|
||||||
|
|
||||||
writebuf_enqueue(writebuf, packet_type);
|
writebuf_enqueue(writebuf);
|
||||||
|
|
||||||
/* Update counts */
|
/* Update counts */
|
||||||
ses.transseq++;
|
ses.transseq++;
|
||||||
@ -624,14 +620,11 @@ void encrypt_packet() {
|
|||||||
TRACE2(("leave encrypt_packet()"))
|
TRACE2(("leave encrypt_packet()"))
|
||||||
}
|
}
|
||||||
|
|
||||||
void writebuf_enqueue(buffer * writebuf, unsigned char packet_type) {
|
void writebuf_enqueue(buffer * writebuf) {
|
||||||
/* The last byte of the buffer stores the cleartext packet_type. It is not
|
|
||||||
* transmitted but is used for transmit timeout purposes */
|
|
||||||
buf_putbyte(writebuf, packet_type);
|
|
||||||
/* enqueue the packet for sending. It will get freed after transmission. */
|
/* enqueue the packet for sending. It will get freed after transmission. */
|
||||||
buf_setpos(writebuf, 0);
|
buf_setpos(writebuf, 0);
|
||||||
enqueue(&ses.writequeue, (void*)writebuf);
|
enqueue(&ses.writequeue, (void*)writebuf);
|
||||||
ses.writequeue_len += writebuf->len-1;
|
ses.writequeue_len += writebuf->len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
2
packet.h
2
packet.h
@ -35,7 +35,7 @@ void read_packet(void);
|
|||||||
void decrypt_packet(void);
|
void decrypt_packet(void);
|
||||||
void encrypt_packet(void);
|
void encrypt_packet(void);
|
||||||
|
|
||||||
void writebuf_enqueue(buffer * writebuf, unsigned char packet_type);
|
void writebuf_enqueue(buffer * writebuf);
|
||||||
|
|
||||||
void process_packet(void);
|
void process_packet(void);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user