LamaHub NMDC protocol server ____________________________ 0.0.6.3 ------- - Fixed windows build 0.0.6.2 ------- - Android port - Fixed iplog command - Fixed bot_to_all () function - Fixed build with Lua build (tested with 5.1.4) - Fixed lualist command - Improved makefile script (ZPIPE, LUA - vars) - Improved initialization process 0.0.6.1 ------- - Fixed some memory overflow bugs - Fixed reglist and iplog commands - Fixed some small bugs - Fixed plugins - Improvements in ZeX/OS build - Rewrited buffering system (user buffers are managed in better way) 0.0.6.0 ------- - Completely rewrited to pure C (faster and lighter) - Added support for ZeX/OS - operating system 0.0.5.5 ------- - Fixed bug in clear plugins.conf and plugin load loop. - Fixed lot of small bugs. - Added command drop for necessary disconnect of user. - Added plugin function botadd. - Added plugin function userclass. - Added plugin event in user quit state. 0.0.5.4 ------- - Fixed bug in plugin loading. - Added plugin events to state EVENT_CHATIN and EVENT_USERCONNECTED. - Added userip plugin function for get user ip. - Added plugin event state function. - Modify plugin functions for easy use. 0.0.5.3 ------- - Added support for $ZalidateNick command. - Fixed crash with chatroom null description. - Added config_register () to nmdc_proto structure available for plugins. - Added check of same config variable. - Added type of data size. You can specify minshare to b, k, m, g (!= minshare.guest 1g). - Added check of max. connection limit in linux (ulimit). - Added full EPoll support. - Fixed multiply ban. 0.0.5.2 ------- - Added command me for third person talking. - Fixed lot of faults in command regclass. - Fixed description in command regclass. - Fixed create of owner account. - Fixed small bug in nmdc command $HubINFO. - Fixed check of default password. - Added gag and ungag command. - Added user flags. - Fixed few bugs in trigger commands. - Added right commands and right control. - Added variables for set max. length of messages. - Fixed bug in compilation of zlib 1.2.3 extension. - Fixed bug, when chatroom has long name. 0.0.5.1 ------- - Modify command linuxinfo to osinfo. - Modify function socket_buf () for less cpu usage. - Fixed stack smashing - kernel close hub on linux build. - Fixed send buffer size. - Fixed compilation on another compilers in win32 build. - Fixed $OpForceMove nmdc command, right click redirect. - Added some functions and small cleanup of code. - Fixed possibility memleak and crash in plugin load. - Added more cpu statistics into command statcpu. - Added password cryption. - Added few informations into command hubinfo. - Added function proto_nmdc_user_redirect () for automaticaly redir with configured address. - Added multiply redirect hosts feature. - Added command whoip for print info about user by ip address. - Added command rebuild for refresh hub data and userlist. 0.0.5.0 ------- - Fixed bug in win32 version, disconnect cause freeze hub. - Added lua event EVENT_CHATIN for prevent mainchat. - Fixed memleak in config_register (). - Added plugin functions for create and delete commands. - Fixed bug with disconnect exist user. - Added destroy function to plugins for close plugin. - Modify unsigned long to bool in command functions. 0.0.4.9 ------- - Fixed crash in ban_load () with unallocated byte. - Added bandwidth statistics command. - Fixed memleak in function user_findbynick (). - Added plugin functions. - Fixed lua kick function. - Added bot_to_all function. - Added Plugins support. - Modify static buffers of command's handler value to dynamic. - Fixed crash with long argument of commands. - Added HubList autoregistration support. - Fixed $HubList response. 0.0.4.8 ------- - Fixed crash in sending $OpList in myinfo parsing on win32. 0.0.4.7 ------- - Modify functions ban_find_bynick () and ban_find_byip () for more usage. - Fixed bug in commands for ban with checking exist of ban. - Fixed bug in command banlist with unexist ban. - Added functions BanDel and BanPerm to lua. - Added command bandel to remove ban of user. - Modify event_lua () in pm messages parsing for possible use of PmLock in lua. - Modify event_lua () in chat messages parsing for possible use of ChatLock in lua. - Fixed possibility crash in myinfo parsing by hack. - Modify ban commands, can be banned user, which is'nt online. - Added socket flag TCP_NODELAY, it disable the Nagle algorithm. - Added permanent ban support. - Added command iplog for display last connected IPs to hub. - Modify ifs in proto_nmdc_state_online () to switch (). 0.0.4.6 ------- - Fixed wrong return value in function lua_close_script (). - Fixed parse_token (), faster parsing of nmdc commands. - Fixed huge cpu usage, when user is disconnected. - Fixed memleak in PROTO_STATE_DISCONNECTED with double free (). - Modify lua event EVENT_GETNICKLIST to send only user struct by event_lua_hub (). - Added few utils to lua, e.g. share_tostring, chatlock, pmlock, etc. - Modify strcmp () to strncmp () for faster verify of strings. - Added new config variables for minimal share depend on class. - Added new config variables for search interval depend on class. - Added output with port on a start. - Added pmlock command for blocking all private messages. - Added chatlock command for blocking mainchat messages. - Added variable nick_len to user structure for faster work with nicks. - Moved variables from config_load () and set command to cache_rebuild () - Added few vars to config structure. 0.0.4.5 ------- - Added automatic disconnect, when user get ban. - Fixed check for min. share. - Modify few things for better performance. - Added checking nick lenght in proto_nmdc_state_waitnick (). - Fixed release without lua support. - Added command regme for autoregistering users as class 1. - Modify commands uptime, myinfo and getinfo. - Added function time_tostring () for converting seconds to acuratte format. - Added function share_tostring () for converting bytes to higher types. 0.0.4.4 ------- - Fixed wrong format of config values. - Added automaticaly disconnect in deflood. - Added check for exists bans. - Modify init string code in proto_nmdc_state_init (). - Added cache_rebuild () for rebuild needed strings. 0.0.4.3 ------- - Fixed memleak in private message function. - Allow zlib in win32. - Fixed crash in start with non-exist hub.conf. - Fixed loop in account.bat. - Fixed autosave timer and interval calculation. - Fixed lua timer calculation. - Fixed format of private message. - Added next event function event_lua_hub () and event_lua_sys (). 0.0.4.2 ------- - Modify TOKEN_TO parse. - Added flood protect. - Added command regclass for change class of user. - Fixed bug in time calculation with select, timeout hang whole loop. - Added Lua commands TimerSet (), TimerStart () and TimerStop (). - Added Lua Event "EventTimer". - Modify sockets, very low cpu usage with Select function. - Added Lua Event "EventOpConnected". - Added Lua Event "EventCommand". - Separated Lua Event "EventChat" with commands. 0.0.4.1 ------- - Added function pm_to_user () for send private message to users. - Added check for commands with same nam. - Modify ban_add () function. - Added function user_findbyip () for searching users by IP address. - Added function user_findbynick () for searching users by nick. - Added support for LUA script language compatibile with 5.0.X version. - Fixed memleak in arguments of commands - Fixed memleak with strdup in init_config (). 0.0.4.0 ------- - Added daemonize function, hubsoft can be run as "ghost. - Added command say for talking with bot nick. - Fixed parsing of name and description hub in command set/=. 0.0.3.9 ------- - Fixed memleak in uninitialized use of char* in proto_nmdc_token_getnicklist (). - Added variable myinfo_len to each context of user for correctly send in gnl. 0.0.3.8 ------- - Fixed memory overwrite with more connected cients in same time. - Fixed memleak in getnicklist. - Fixed memory alloc and wrong calculation of lenght in getnicklist. 0.0.3.7 ------- - Fixed memory overwrite in func proto_nmdc_token_getnicklist (). - Fixed memory overwrite in hello state. - Added chatroom autoloa. 0.0.3.4 ------- - Added argument -a, what create owner account. - Added chatroom support. - Changed login state. 0.0.2.8 ------- Socket Poll function is supported, hub take less cpu. 0.0.2.6 ------- Ban supports. 0.0.2.5 ------- ZPipe compression from zlib supported. Lot of upgrades, meny bugfixes. 0.0.1.0 ------- Socket Select function is supported. 0.0.0.5 ------- Accounts are implemented. 0.0.0.2 ------- Hub is working, has commands and classes. 0.0.0.1 September 2006 -------------- Initial release I start coding send/recv server. Then I add next file proto.cpp/h and I writing simple nmdc protocol for DC++ v1.