lacewing-0.5.4

所属分类:TCP/IP协议栈
开发工具:C/C++
文件大小:368KB
下载次数:2
上传日期:2016-03-28 21:24:30
上 传 者niuniuniuniuniuniu
说明:  liblacewing is a library for writing cross-platform, networked applications in C/C++.

文件列表:
lacewing-0.5.4 (0, 2013-11-10)
lacewing-0.5.4\.travis.yml (209, 2013-11-10)
lacewing-0.5.4\AUTHORS (863, 2013-11-10)
lacewing-0.5.4\LICENSE (4023, 2013-11-10)
lacewing-0.5.4\Makefile.in (13790, 2013-11-10)
lacewing-0.5.4\TODO (711, 2013-11-10)
lacewing-0.5.4\art (0, 2013-11-10)
lacewing-0.5.4\art\logo.svg (32945, 2013-11-10)
lacewing-0.5.4\art\logo_dark.svg (32959, 2013-11-10)
lacewing-0.5.4\build (0, 2013-11-10)
lacewing-0.5.4\config.h.in (3318, 2013-11-10)
lacewing-0.5.4\configure (154002, 2013-11-10)
lacewing-0.5.4\configure.ac (3026, 2013-11-10)
lacewing-0.5.4\deps (0, 2013-11-10)
lacewing-0.5.4\deps\http-parser (0, 2013-11-10)
lacewing-0.5.4\deps\http-parser\AUTHORS (1371, 2013-11-10)
lacewing-0.5.4\deps\http-parser\CONTRIBUTIONS (184, 2013-11-10)
lacewing-0.5.4\deps\http-parser\LICENSE-MIT (1251, 2013-11-10)
lacewing-0.5.4\deps\http-parser\Makefile (1907, 2013-11-10)
lacewing-0.5.4\deps\http-parser\http_parser.c (61182, 2013-11-10)
lacewing-0.5.4\deps\http-parser\http_parser.gyp (2855, 2013-11-10)
lacewing-0.5.4\deps\http-parser\http_parser.h (11282, 2013-11-10)
lacewing-0.5.4\deps\http-parser\test.c (87942, 2013-11-10)
lacewing-0.5.4\deps\http-parser\url_parser.c (1105, 2013-11-10)
lacewing-0.5.4\deps\multipart-parser (0, 2013-11-10)
lacewing-0.5.4\deps\multipart-parser\Makefile (150, 2013-11-10)
lacewing-0.5.4\deps\multipart-parser\multipart_parser.c (8086, 2013-11-10)
lacewing-0.5.4\deps\multipart-parser\multipart_parser.h (1353, 2013-11-10)
lacewing-0.5.4\deps\spdy (0, 2013-11-10)
lacewing-0.5.4\deps\spdy\.tags (12726, 2013-11-10)
lacewing-0.5.4\deps\spdy\AUTHORS (202, 2013-11-10)
lacewing-0.5.4\deps\spdy\Makefile (552, 2013-11-10)
... ...

liblacewing is a library for writing cross-platform, networked applications in C/C++. http://lacewing-project.org/ http://github.com/udp/lacewing/ [![Build Status](https://secure.travis-ci.org/udp/lacewing.png?branch=master)](http://travis-ci.org/udp/lacewing) Installing ========== Linux, OS X: ./configure make make install FreeBSD (GNU make required): ./configure gmake gmake install Windows (MinGW/MSYS only): ./configure --disable-spdy make An MSVC project file is available in the `msvc` directory. Documentation ============= The API documentation for liblacewing can be found [here](http://lacewing-project.org/docs). Issues with the documentation can be reported in the [gh-pages branch](https://github.com/udp/lacewing/tree/gh-pages) of the liblacewing GitHub repository. Changes in 0.5.4 (2013-Oct-31) ============================== - `post_eventloop_exit` now works correctly on UNIX - Socket address is now stored and retrievable for server/webserver clients - Suppressed warnings about unused `lwp_release` function when compiling the library - Fix issue with the webserver accessing freed pointers when writing response headers [0.5.4 Release Notes](http://lacewing-project.org/release/0.5.4.html) Changes in 0.5.3 (2013-Aug-02) ============================== - `lw_eventpump_start_sleepy_ticking` is now supported on UNIX - `lw_event` now supports infinite timeouts - C++ wrapper for `pump::add` now returns the `lw_pump_watch` - The makefile now respects autoconf `libdir` and `includedir` - The makefile now produces an unversioned dynamic library, while still installing with the version suffix [0.5.3 Release Notes](http://lacewing-project.org/release/0.5.3.html) Changes in 0.5.2 (2013-Jun-05) ============================== - The library can now build on Unix systems where neither `TCP_CORK` nor `TCP_NOPUSH` are available - The library can now build on systems without `AI_V4MAPPED` and `AI_ADDRCONFIG` - `alloca.h` is no longer required for SPDY support - Tags added to `lw_addr`, `lw_thread`, `lw_filter`, `lw_pump` and `lw_client` - MSVC static builds no longer use `__declspec(dllexport)` - Windows: `shutdown` is now called on sockets before `closesocket` - C++ API: Tag getters/setters added to all classes - C++ API: Server connect and disconnect hooks changed to receive a `server_client` instead of a `client` - Windows: Fixed various 0.5.0 regressions in `lw_client` - Unix: An `EINTR` result from `epoll_wait` or `kqueue` no longer causes `lw_eventpump_start_eventloop` to terminate - 0.5.0 regressions with `lw_server` refcounting fixed, which prevented the client list from functioning - Webserver: Issue with `on_upload_post` hook being fired multiple times fixed [0.5.2 Release Notes](http://lacewing-project.org/release/0.5.2.html) Changes in 0.5.1 (2013-Mar-22) ============================== - Fix `lw_addr_clone` segfault - `outer_size` renamed to `tail_size`, new `lw_stream_from_tail` function added - Tag added to `lw_udp` and `lw_flashpolicy` - Prototype for `lw_filter_clone` was erroneously called `lw_filter_copy` - Various fixes for `lw_udp` - New `lw_addr_type` and `lw_addr_set_type` functions added - `lw_udp_host_addr` now respects address IPv6 setting - Fix problems with the Unix implementation of `lw_timer_stop` - Fix segfault with Windows FDStream when the completion routine fires after deletion - Fix some problems building on ***-bit Windows [0.5.1 Release Notes](http://lacewing-project.org/release/0.5.1.html) Changes in 0.5.0 (2013-Mar-11) ============================== - Library ported to C99 - Lots of API changes for consistency/correctness - C++ API converted to `snake_case` to be consistent with the C API - UNIX `EventPump` will now exit the event loop if epoll or kqueue throws an error - The various types of internal ref counting have been replaced with a more consistent `lwp_retain`/`lwp_release` - Preliminary support for [SWIG](http://swig.org/) - Updated SPDY and [http-parser](https://github.com/joyent/http-parser) snapshots - `write(3)` is now used for non-sockets when `SO_NOSIGPIPE` is not available - Various fixes with webserver sessions - New `ENABLE_SSL` option in Makefile [0.5.0 Release Notes](http://lacewing-project.org/release/0.5.0.html) Changes in 0.4.3 (2012-Oct-28) ============================== - Various issues with the Windows implementation of `FDStream` resolved - Visual Studio projects added for examples - Issues with building under MinGW resolved - `Server::Client::NPN` stub added for Windows - New parameter to `Stream::Close` to allow cancellation of pending writes - Public header file renamed from `Lacewing.h` to `lacewing.h` (lowercase) - C webserver examples updated for the current C API - Updated to the latest version of [multipart-parser-c](https://github.com/iafonov/multipart-parser-c) [0.4.3 Release Notes](http://lacewing-project.org/release/0.4.3.html) Changes in 0.4.2 (2012-Aug-23) ============================== - Fix issue with POST data truncation (0.4.1 regression) - Cookies were not correctly parsed - StreamGraph did not read beyond any filters present in a graph [0.4.2 Release Notes](http://lacewing-project.org/release/0.4.2.html) Changes in 0.4.1 (2012-Aug-22) ============================== - Fix issue with HTTP data not always being completely processed - Fix error with URL decoding function which lead to trailing garbage in decoded strings [0.4.1 Release Notes](http://lacewing-project.org/release/0.4.1.html) Changes in 0.4.0 (2012-Aug-21) ============================== - `Webserver` now supports the SPDY protocol, and much of the HTTP code has been improved - Resolve various issues with the stream system - New option in `FDStream::SetFD` to close the FD on destruction, which is now used by `File` - If `Stream::WriteFile` failed to open a file, the stream would be permanently blocked - `Server` now supports TLS NPN where available - The code for multipart POST data handling has been replaced with [multipart-parser-c](https://github.com/iafonov/multipart-parser-c) - Fixed IPv4 support in `Client` - `File::OpenTemp` used incorrect filenames on Windows [0.4.0 Release Notes](http://lacewing-project.org/release/0.4.0.html) Changes in 0.3.1 (2012-Jun-29) ============================= - New Stream::WritePartial function to opt out of automatic buffering - Fix bad length param in GetSockAddr function (causing problems with `::Port` etc) Changes in 0.3.0 (2012-Jun-20) ============================== - I/O is now separated into classes such as `Stream` and `FDStream` instead of being provided separately by each class. - The Relay* classes have been removed (they may become a separate library later) - HTTP parser switched out for joyent/http-parser - IPv6 is now supported - Lots of miscellaneous fixes/refactoring Changes in 0.2.6 (2011-Dec-18) ============================== - `Webserver::Request::Cookie` now has a parameter allowing you to set attributes for each cookie. By default, both the `Secure` and `HttpOnly` attributes are set. - You can now iterate through the headers, cookies, GET/POST parameters and session data stored in a `Webserver::Request` - Bug when parsing fragmented HTTP requests fixed. This made `Webserver` incompatible with recent fixes for the SSL BEAST attack. - The library now builds as `liblacewing.dylib` on OS X instead of `liblacewing.so` - The source should now build using MinGW (although the included makefile will not work on Windows) Changes in 0.2.5 (2011-Oct-11) ============================== - Resolve various issues with the build system Changes in 0.2.4 (2011-Oct-01) ============================== - Some functions were missing `LacewingFunction` in Lacewing.h, and thus were not correctly exported from the shared object/DLL :- * RelayServer::Channel::Next * RelayServer::Client::Next * RelayServer::ChannelCount * RelayServer::SetChannelListing - The name of a client was set *before* calling the `onNameSet` handler in RelayServer - Client disconnect issues on BSD/OS X fixed in Server - `MSG_NOSIGNAL` or `SO_NOSIGPIPE` are now used everywhere, to prevent the generation of unwanted SIGPIPE signals on Unix - Possible EventPump deadlock fixed (Unix) - New functions introduced: * Client::CheapBuffering * UDP::Hosting - FlashPlayerPolicy class renamed to FlashPolicy - Miscellaneous fixes in the C API Changes in 0.2.3 (2011-Sep-07) ============================== - Fixed an issue with Lacewing::EventPump on Windows, which would cause functions queued with Post() not to execute in some cases. This lead to to a significant issue with client disconnects not being detected properly in Lacewing::Server. - Miscellaneous relay protocol fixes Changes in 0.2.2 (2011-Aug-31) ============================== - Lacewing::Timer now ends the timer thread properly in the destructor. In previous versions it was necessary to call Stop() explicitly to avoid a crash. - Two issues with the EventPump class fixed: * StartEventLoop() could return prematurely in some cases (Unix only) * Possible segmentation fault when a null WriteCallback was specified - Added the RelayClient and RelayServer source files to the Makefile and Android.mk - SHA1_Hex no longer cuts off the last four bytes - Updated relay protocol specification and implementation classes (now revision 3) - Fixed issue with the GuessMimeType function returning application/octet-stream even for known file extensions - Refactored the internals of Lacewing::Webserver for future SPDY support. The HTTP specific code is now separate from the webserver itself. Changes in 0.2.1 (2011-Jul-15) ============================== - Fixed crash in the List utility class introduced by 0.2.0 Changes in 0.2.0 (2011-Jul-14) ============================== - New Javascript liblacewing API for MozJS (SpiderMonkey/TraceMonkey) and V8. Currently only supports the webserver and utility classes. It is also now possible to build liblacewing as a Node.JS module - a wscript for node-waf is provided. - Added support for building for Android (Android.mk is in the 'jni' folder) - The build system has been changed from automake to autoconf with a simple Makefile. This should solve the headaches with building on different platforms (Windows users should still use the MSVC project as normal.) - Removed the dependency on STL, resulting in a much faster build and smaller binaries (particularly on Android.) This also makes it easier to link liblacewing into static Linux binaries. - New global hash functions, implemented via OpenSSL or the Win32 crypt32 API: * Lacewing::MD5 * Lacewing::MD5_Hex * Lacewing::SHA1 * Lacewing::SHA1_Hex - PostEventLoopExit() function added to the EventPump, to cause StartEventLoop() to return (once any pending events have been processed.) - In the Webserver, Request objects are now freed immediately after the connection is closed, after calling the disconnect handler. Previously, the Request object would remain in a disconnected state until Finish() was called. - In Unix, the EventPump class is is now just a default implementation of the Pump class, which can be derived from to use custom methods of watching FDs. A custom pump using libev is provided in the 'ev' folder. - Fixed some issues with Lacewing::Server on Unix: * SendFile didn't always complete in SSL mode * SendFile didn't send the file if open() returned 0 * The Disconnect handler didn't always trigger

近期下载者

相关文件


收藏者