Mercurial > dropbear
comparison channel.h @ 1859:1d86a58fb52d
Leave non-interactive at default QoS class
Lower class levels are less well defined, and non-interactive
SSH can carry various different types of applications.
This change also sets lowdelay class (AF21) earlier in an an outbound
dbclient session
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 27 Jan 2022 14:34:10 +0800 |
parents | 6022df862942 |
children |
comparison
equal
deleted
inserted
replaced
1857:6022df862942 | 1859:1d86a58fb52d |
---|---|
26 #define DROPBEAR_CHANNEL_H_ | 26 #define DROPBEAR_CHANNEL_H_ |
27 | 27 |
28 #include "includes.h" | 28 #include "includes.h" |
29 #include "buffer.h" | 29 #include "buffer.h" |
30 #include "circbuffer.h" | 30 #include "circbuffer.h" |
31 #include "netio.h" | |
31 | 32 |
32 #define SSH_OPEN_ADMINISTRATIVELY_PROHIBITED 1 | 33 #define SSH_OPEN_ADMINISTRATIVELY_PROHIBITED 1 |
33 #define SSH_OPEN_CONNECT_FAILED 2 | 34 #define SSH_OPEN_CONNECT_FAILED 2 |
34 #define SSH_OPEN_UNKNOWN_CHANNEL_TYPE 3 | 35 #define SSH_OPEN_UNKNOWN_CHANNEL_TYPE 3 |
35 #define SSH_OPEN_RESOURCE_SHORTAGE 4 | 36 #define SSH_OPEN_RESOURCE_SHORTAGE 4 |
38 #define SSH_OPEN_IN_PROGRESS 99 | 39 #define SSH_OPEN_IN_PROGRESS 99 |
39 | 40 |
40 #define CHAN_EXTEND_SIZE 3 /* how many extra slots to add when we need more */ | 41 #define CHAN_EXTEND_SIZE 3 /* how many extra slots to add when we need more */ |
41 | 42 |
42 struct ChanType; | 43 struct ChanType; |
43 | |
44 enum dropbear_channel_prio { | |
45 DROPBEAR_CHANNEL_PRIO_INTERACTIVE, /* pty shell, x11 */ | |
46 DROPBEAR_CHANNEL_PRIO_UNKNOWABLE, /* tcp - can't know what's being forwarded */ | |
47 DROPBEAR_CHANNEL_PRIO_BULK, /* the rest - probably scp, rsync, git, or something */ | |
48 DROPBEAR_CHANNEL_PRIO_EARLY, /* channel is still being set up */ | |
49 }; | |
50 | 44 |
51 struct Channel { | 45 struct Channel { |
52 | 46 |
53 unsigned int index; /* the local channel index */ | 47 unsigned int index; /* the local channel index */ |
54 unsigned int remotechan; | 48 unsigned int remotechan; |
86 /* Used by client chansession to handle ~ escaping, NULL ignored otherwise */ | 80 /* Used by client chansession to handle ~ escaping, NULL ignored otherwise */ |
87 void (*read_mangler)(const struct Channel*, const unsigned char* bytes, int *len); | 81 void (*read_mangler)(const struct Channel*, const unsigned char* bytes, int *len); |
88 | 82 |
89 const struct ChanType* type; | 83 const struct ChanType* type; |
90 | 84 |
91 enum dropbear_channel_prio prio; | 85 enum dropbear_prio prio; |
92 }; | 86 }; |
93 | 87 |
94 struct ChanType { | 88 struct ChanType { |
95 | 89 |
96 const char *name; | 90 const char *name; |