Commit Graph

63 Commits

Author SHA1 Message Date
Sean Middleditch 2d5f4bfa9f change behavior of invalid IAC sequence inside subnegotiation to match BSD telnet implementation 2009-03-20 23:32:47 -04:00
Sean Middleditch 330c261562 _negotiate just uses state, simplifies things a bit; not (int) hack in switch to get gcc to shut up 2009-03-20 23:29:17 -04:00
Sean Middleditch 447d3ad9f8 will/wont states before do/wont, just like actual telnet codes and event numbers 2009-03-20 23:22:37 -04:00
Sean Middleditch b43c10c9ee minor cleanups 2009-03-20 23:21:02 -04:00
Sean Middleditch 4f0c37fc1b shorten the output function names to something more reasonable 2009-03-20 23:08:55 -04:00
Sean Middleditch 9b07e92022 gcc/c99 inline for small internal functions 2009-03-19 18:18:44 -04:00
Sean Middleditch 2cb166c889 remove empty case statements in RFC1143 code 2009-03-19 18:08:50 -04:00
Sean Middleditch 7894384d70 fix last commit 2009-03-19 15:22:06 -04:00
Sean Middleditch 90e79da676 remove telnet_send_telopt() as it has no real purpose and using it can have surprising results; added telnet_begin_subnegotiation and telnet_finish_subnegotiation 2009-03-19 15:17:13 -04:00
Sean Middleditch f713302661 send events for option state changes 2009-03-19 14:57:15 -04:00
Sean Middleditch 1688da10e1 fix RFC1143 more 2009-03-19 13:02:09 -04:00
Sean Middleditch 4987f9fbf0 fix RFC1143 to actually work 2009-03-19 12:51:40 -04:00
Sean Middleditch 5dea1f79f6 dont leak 2009-03-19 12:45:34 -04:00
Sean Middleditch f65f27d77d remove the lib/LIB from identifier prefixes; also, swap printf and printf2 so the more common one is the one with the shorter name 2009-03-19 02:32:04 -04:00
Sean Middleditch 340a51b1e0 use size_t where appropriate instead of unsigned int 2009-03-19 02:08:46 -04:00
Sean Middleditch 8daf77446e use char buffers instead of unsigned char to make use of API less of a pain in the butt 2009-03-19 02:05:24 -04:00
Sean Middleditch 80f119bbc7 silence warning 2009-03-16 18:02:35 -04:00
Sean Middleditch e5b4759618 fix compilation when HAVE_ZLIB is not defined 2009-03-16 17:37:43 -04:00
Sean Middleditch 4a15604d10 added libtelnet_printf2 which does CRLF automagic stuff 2009-03-16 17:10:58 -04:00
Sean Middleditch 4a1240e2a7 remove AUTO_CRLF flag, realized it is conceptually broken 2009-03-16 17:01:35 -04:00
Sean Middleditch 97a8cb25b9 make API const-safe 2009-03-16 16:51:41 -04:00
Sean Middleditch c337ba6bca add AUTO_CRLF flag 2009-03-16 16:47:27 -04:00
Sean Middleditch d58f49f03a add printf data sender 2009-03-16 12:49:35 -04:00
Sean Middleditch 2b4bfc4f79 minor cleanup, added libtelnet_send_telopt() 2009-03-16 01:25:52 -04:00
Sean Middleditch 3df17f91d6 fix receiving end of MCCP2 2009-03-16 01:12:16 -04:00
Sean Middleditch ebc96f7660 remove redundant check 2009-03-16 01:09:41 -04:00
Sean Middleditch 823bc00ab9 add fix lost in conflict/merge from master 2009-03-16 01:09:26 -04:00
Sean Middleditch 8b78896ac1 implement request side of RFC1143 2009-03-16 01:06:27 -04:00
Sean Middleditch 59ef42ceed Merge branch 'master' into rfc1143 2009-03-16 00:58:07 -04:00
Sean Middleditch 4611d911d5 rather critical fix 2009-03-16 00:53:57 -04:00
Sean Middleditch 562257e754 compilation fix 2009-03-15 23:56:25 -04:00
Sean Middleditch 35b95beeda Merge branch 'master' into rfc1143
Conflicts:
	libtelnet.c
2009-03-15 23:46:31 -04:00
Sean Middleditch fbe93e36bd save a few bytes and use only a single z_stream, because mccp2 is unidirectional 2009-03-15 23:39:31 -04:00
Sean Middleditch 08bb05f96e replace mode with flags (only a PROXY flag so far) 2009-03-15 23:29:46 -04:00
Sean Middleditch 812358d92a remove need for the struct and enum stuff using typedefs 2009-03-15 23:24:03 -04:00
Sean Middleditch 5b5bc92bc0 partial RFC1143 implementation; only reacts to negotiation, cannot handle initiating it yet 2009-03-15 23:02:10 -04:00
Sean Middleditch 5cf66661e5 actually send error info in error event 2009-03-15 20:02:14 -04:00
Sean Middleditch 1699227c9c separate non-fatal errors into warnings, error events are always fatal 2009-03-15 19:42:03 -04:00
Sean Middleditch 9f79cc5029 pass user_data to libtelnet_init() only instead of having to pass it to every function call 2009-03-15 13:39:24 -04:00
Sean Middleditch da0e695e62 dont require a buffer for subnegotiations with no data; more efficient for apps that dont use more advanced subnegotiation features 2009-03-15 13:28:09 -04:00
Sean Middleditch 124a1c24f2 implement libtelnet_begin_compress2() 2009-03-15 13:20:03 -04:00
Sean Middleditch 637df7f064 scrap the multiple callbacks thing, just use a single event handler callback 2009-03-15 12:57:32 -04:00
Sean Middleditch f66a7ee768 shorten name of error enumerations 2009-03-15 11:54:07 -04:00
Sean Middleditch 72cc9648c0 added proxy mode 2009-03-15 11:50:36 -04:00
Sean Middleditch d922c6f7e0 more informative errors 2009-03-14 22:35:01 -04:00
Sean Middleditch 3032302674 make use of a callback table instead of undefined functions for integration 2009-03-14 21:45:28 -04:00
Sean Middleditch c04224bc3c complete list of telnet commands and options 2009-03-14 18:30:57 -04:00
Sean Middleditch c974b97939 s/type/opt/ for sub-negotiation 2009-03-14 13:23:33 -04:00
Sean Middleditch 6b37288ec1 the proper term is subnegotiation, not subrequest 2009-03-14 13:06:47 -04:00
Sean Middleditch d30fd57bb2 fix buffer bug 2009-03-14 12:55:17 -04:00