replace mode with flags (only a PROXY flag so far)
diff --git a/libtelnet.c b/libtelnet.c
index eb04e0a..1f9e606 100644
--- a/libtelnet.c
+++ b/libtelnet.c
@@ -103,11 +103,11 @@
/* initialize a telnet state tracker */
void libtelnet_init(libtelnet_t *telnet, libtelnet_event_handler_t eh,
- libtelnet_mode_t mode, void *user_data) {
+ unsigned char flags, void *user_data) {
memset(telnet, 0, sizeof(libtelnet_t));
telnet->ud = user_data;
telnet->eh = eh;
- telnet->mode = mode;
+ telnet->flags = flags;
}
/* free up any memory allocated by a state tracker */
@@ -288,8 +288,7 @@
*/
if (telnet->sb_telopt == LIBTELNET_TELOPT_COMPRESS2 &&
telnet->z_inflate == 0 &&
- (telnet->mode == LIBTELNET_MODE_CLIENT ||
- telnet->mode == LIBTELNET_MODE_PROXY)) {
+ telnet->flags & LIBTELNET_FLAG_PROXY) {
if ((telnet->z_inflate = _init_zlib(telnet, 0, 1)) == 0)
break;
@@ -476,7 +475,7 @@
/* if we're a proxy and we just sent the COMPRESS2 marker, we must
* make sure all further data is compressed if not already.
*/
- if (telnet->mode == LIBTELNET_MODE_PROXY &&
+ if (telnet->flags & LIBTELNET_FLAG_PROXY &&
telnet->z_deflate == 0 &&
opt == LIBTELNET_TELOPT_COMPRESS2) {
@@ -499,13 +498,6 @@
"compression already enabled");
return;
}
-
- /* only supported by servers */
- if (telnet->mode != LIBTELNET_MODE_SERVER) {
- _error(telnet, __LINE__, __func__, LIBTELNET_EBADVAL, 0,
- "only supported in SERVER mode");
- return;
- }
/* attempt to create output stream first, bail if we can't */
if ((zlib = _init_zlib(telnet, 1, 0)) == 0)