From 19cc7acb24a1bb402ef3260efa2b64b9357b746a Mon Sep 17 00:00:00 2001 From: Andy Green <andy@warmcat.com> Date: Fri, 3 Mar 2017 12:38:10 +0800 Subject: [PATCH] fops-zip --- CMakeLists.txt | 3 +- README.coding.md | 76 +++- lib/context.c | 46 ++- lib/fops-zip.c | 667 ++++++++++++++++++++++++++++++++ lib/junzip.c | 267 ------------- lib/lejp-conf.c | 3 +- lib/libev.c | 2 +- lib/libwebsockets.c | 113 +++++- lib/libwebsockets.h | 153 ++++++-- lib/lws-plat-esp32.c | 18 +- lib/lws-plat-optee.c | 5 +- lib/lws-plat-unix.c | 37 +- lib/lws-plat-win.c | 18 +- lib/output.c | 20 +- lib/private-libwebsockets.h | 61 +-- lib/server.c | 117 ++++-- test-server/candide.zip | Bin 0 -> 211764 bytes test-server/test-server-http.c | 13 +- test-server/test-server-libev.c | 10 +- test-server/test-server-v2.0.c | 26 +- test-server/test-server.c | 15 +- 21 files changed, 1180 insertions(+), 490 deletions(-) create mode 100644 lib/fops-zip.c delete mode 100644 lib/junzip.c create mode 100644 test-server/candide.zip diff --git a/CMakeLists.txt b/CMakeLists.txt index 6429374b..b2d3c03f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -655,7 +655,7 @@ endif() if (LWS_WITH_ZIP_FOPS) list(APPEND SOURCES - lib/junzip.c) + lib/fops-zip.c) endif() # Add helper files for Windows. @@ -1174,6 +1174,7 @@ if (NOT LWS_WITHOUT_TESTAPPS) set(TEST_SERVER_DATA "${PROJECT_SOURCE_DIR}/test-server/favicon.ico" "${PROJECT_SOURCE_DIR}/test-server/leaf.jpg" + "${PROJECT_SOURCE_DIR}/test-server/candide.zip" "${PROJECT_SOURCE_DIR}/test-server/libwebsockets.org-logo.png" "${PROJECT_SOURCE_DIR}/test-server/lws-common.js" "${PROJECT_SOURCE_DIR}/test-server/test.html") diff --git a/README.coding.md b/README.coding.md index 342aa3de..15d4c4a9 100644 --- a/README.coding.md +++ b/README.coding.md @@ -120,6 +120,34 @@ the send pipe on the connection is choked but no ack will ever come, so the dead connection will never become writeable. To cover that, you can use TCP keepalives (see later in this document) or pings. +@section gzip Serving from inside a zip file + +Lws now supports serving gzipped files from inside a zip container. Thanks to +Per Bothner for contributing the code. + +This has the advtantage that if the client can accept GZIP encoding, lws can +simply send the gzip-compressed file from inside the zip file with no further +processing, saving time and bandwidth. + +In the case the client can't understand gzip compression, lws automatically +decompressed the file and sends it normally. + +Clients with limited storage and RAM will find this useful; the memory needed +for the inflate case is constrained so that only one input buffer at a time +is ever in memory. + +To use this feature, ensure LWS_WITH_ZIP_FOPS is enabled at CMake (it is by +default). + +`libwebsockets-test-server-v2.0` includes a mount using this technology +already, run that test server and navigate to http://localhost:7681/ziptest/candide.html + +This will serve the book Candide in html, together with two jpgs, all from +inside a .zip file in /usr/[local/]share-libwebsockets-test-server/candide.zip + +Usage is otherwise automatic, if you arrange a mount that points to the zipfile, +eg, "/ziptest" -> "mypath/test.zip", then URLs like `/ziptest/index.html` will be +servied from `index.html` inside `mypath/test.zip` @section frags Fragmented messages @@ -347,30 +375,51 @@ and then can use helpers to also leverage these platform-independent file handling apis ``` - static inline lws_fop_fd_t + lws_fop_fd_t `lws_plat_file_open`(struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags) - static inline int + lws_fop_flags_t *flags) + int `lws_plat_file_close`(lws_fop_fd_t fop_fd) - static inline unsigned long + unsigned long `lws_plat_file_seek_cur`(lws_fop_fd_t fop_fd, lws_fileofs_t offset) - static inline int + int `lws_plat_file_read`(lws_fop_fd_t fop_fd, lws_filepos_t *amount, uint8_t *buf, lws_filepos_t len) - static inline int + int `lws_plat_file_write`(lws_fop_fd_t fop_fd, lws_filepos_t *amount, uint8_t *buf, lws_filepos_t len ) ``` +Generic helpers are provided which provide access to generic fops information or +call through to the above fops + +``` +lws_filepos_t +lws_vfs_tell(lws_fop_fd_t fop_fd); + +lws_filepos_t +lws_vfs_get_length(lws_fop_fd_t fop_fd); + +uint32_t +lws_vfs_get_mod_time(lws_fop_fd_t fop_fd); + +lws_fileofs_t +lws_vfs_file_seek_set(lws_fop_fd_t fop_fd, lws_fileofs_t offset); + +lws_fileofs_t +lws_vfs_file_seek_end(lws_fop_fd_t fop_fd, lws_fileofs_t offset); +``` + + The user code can also override or subclass the file operations, to either wrap or replace them. An example is shown in test server. ### Changes from v2.1 and before fops -There are three changes: +There are several changes: 1) Pre-2.2 fops directly used platform file descriptors. Current fops returns and accepts a wrapper type lws_fop_fd_t which is a pointer to a malloc'd struct containing information specific to the filesystem implementation. @@ -378,6 +427,19 @@ There are three changes: 3) Everything is wrapped in typedefs. See lws-plat-unix.c for examples of how to implement. +4) Position in the file, File Length, and a copy of Flags left after open are now generically held in the fop_fd. +VFS implementation must set and manage this generic information now. See the implementations in lws-plat-unix.c for +examples. + +5) The file length is no longer set at a pointer provided by the open() fop. The api `lws_vfs_get_length()` is provided to +get the file length after open. + +6) If your file namespace is virtual, ie, is not reachable by platform fops directly, you must set LWS_FOP_FLAG_VIRTUAL +on the flags during open. + +7) There is an optional `mod_time` uint32_t member in the generic fop_fd. If you are able to set it during open, you +should indicate it by setting `LWS_FOP_FLAG_MOD_TIME_VALID` on the flags. + @section ecdh ECDH Support ECDH Certs are now supported. Enable the CMake option diff --git a/lib/context.c b/lib/context.c index 668d16b9..024cc815 100644 --- a/lib/context.c +++ b/lib/context.c @@ -150,7 +150,8 @@ lws_protocol_init(struct lws_context *context) for (n = 0; n < vh->count_protocols; n++) { wsi.protocol = &vh->protocols[n]; - + if (!vh->protocols[n].name) + continue; pvo = lws_vhost_protocol_options(vh, vh->protocols[n].name); if (pvo) { @@ -403,7 +404,11 @@ lws_create_vhost(struct lws_context *context, } #endif - if (info->options & LWS_SERVER_OPTION_EXPLICIT_VHOSTS) + if ( +#ifdef LWS_WITH_PLUGINS + (context->plugin_list) || +#endif + info->options & LWS_SERVER_OPTION_EXPLICIT_VHOSTS) vh->protocols = lwsp; else { vh->protocols = info->protocols; @@ -571,6 +576,7 @@ LWS_VISIBLE struct lws_context * lws_create_context(struct lws_context_creation_info *info) { struct lws_context *context = NULL; + struct lws_plat_file_ops *prev; #ifndef LWS_NO_DAEMONIZE int pid_daemon = get_daemonize_pid(); #endif @@ -621,20 +627,34 @@ lws_create_context(struct lws_context_creation_info *info) /* default to just the platform fops implementation */ - context->fops_default[0].open = _lws_plat_file_open; - context->fops_default[0].close = _lws_plat_file_close; - context->fops_default[0].seek_cur = _lws_plat_file_seek_cur; - context->fops_default[0].read = _lws_plat_file_read; - context->fops_default[0].write = _lws_plat_file_write; - context->fops_default[0].path_prefix = "/"; + context->fops_platform.open = _lws_plat_file_open; + context->fops_platform.close = _lws_plat_file_close; + context->fops_platform.seek_cur = _lws_plat_file_seek_cur; + context->fops_platform.read = _lws_plat_file_read; + context->fops_platform.write = _lws_plat_file_write; + context->fops_platform.fi[0].sig = NULL; + + /* + * arrange a linear linked-list of fops starting from context->fops + * + * platform fops + * [ -> fops_zip (copied into context so .next settable) ] + * [ -> info->fops ] + */ - // context->fops_default[1].open is already NULL from zalloc + context->fops = &context->fops_platform; + prev = (struct lws_plat_file_ops *)context->fops; - /* it can be overridden from context creation info */ +#if defined(LWS_WITH_ZIP_FOPS) + /* make a soft copy so we can set .next */ + context->fops_zip = fops_zip; + prev->next = &context->fops_zip; + prev = (struct lws_plat_file_ops *)prev->next; +#endif + + /* if user provided fops, tack them on the end of the list */ if (info->fops) - context->fops = info->fops; - else - context->fops = &context->fops_default[0]; + prev->next = info->fops; context->reject_service_keywords = info->reject_service_keywords; if (info->external_baggage_free_on_destroy) diff --git a/lib/fops-zip.c b/lib/fops-zip.c new file mode 100644 index 00000000..02f49996 --- /dev/null +++ b/lib/fops-zip.c @@ -0,0 +1,667 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Original code used in this source file: + * + * https://github.com/PerBothner/DomTerm.git @912add15f3d0aec + * + * ./lws-term/io.c + * ./lws-term/junzip.c + * + * Copyright (C) 2017 Per Bothner <per@bothner.com> + * + * MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * ( copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * + * lws rewrite: + * + * Copyright (C) 2017 Andy Green <andy@warmcat.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation: + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include "private-libwebsockets.h" + +#include <zlib.h> + +/* + * This code works with zip format containers which may have files compressed + * with gzip deflate (type 8) or store uncompressed (type 0). + * + * Linux zip produces such zipfiles by default, eg + * + * $ zip ../myzip.zip file1 file2 file3 + */ + +#define ZIP_COMPRESSION_METHOD_STORE 0 +#define ZIP_COMPRESSION_METHOD_DEFLATE 8 + +typedef struct { + lws_filepos_t filename_start; + uint32_t crc32; + uint32_t comp_size; + uint32_t uncomp_size; + uint32_t offset; + uint32_t mod_time; + uint16_t filename_len; + uint16_t extra; + uint16_t method; + uint16_t file_com_len; +} lws_fops_zip_hdr_t; + +typedef struct { + struct lws_fop_fd fop_fd; /* MUST BE FIRST logical fop_fd into + * file inside zip: fops_zip fops */ + lws_fop_fd_t zip_fop_fd; /* logical fop fd on to zip file + * itself: using platform fops */ + lws_fops_zip_hdr_t hdr; + z_stream inflate; + lws_filepos_t content_start; + lws_filepos_t exp_uncomp_pos; + union { + uint8_t trailer8[8]; + uint32_t trailer32[2]; + } u; + uint8_t rbuf[128]; /* decompression chunk size */ + int entry_count; + + unsigned int decompress:1; /* 0 = direct from file */ + unsigned int add_gzip_container:1; +} *lws_fops_zip_t; + +struct lws_plat_file_ops fops_zip; +#define fop_fd_to_priv(FD) ((lws_fops_zip_t)(FD)) + +static const uint8_t hd[] = { 31, 139, 8, 0, 0, 0, 0, 0, 0, 3 }; + +enum { + ZC_SIGNATURE = 0, + ZC_VERSION_MADE_BY = 4, + ZC_VERSION_NEEDED_TO_EXTRACT = 6, + ZC_GENERAL_PURPOSE_BIT_FLAG = 8, + ZC_COMPRESSION_METHOD = 10, + ZC_LAST_MOD_FILE_TIME = 12, + ZC_LAST_MOD_FILE_DATE = 14, + ZC_CRC32 = 16, + ZC_COMPRESSED_SIZE = 20, + ZC_UNCOMPRESSED_SIZE = 24, + ZC_FILE_NAME_LENGTH = 28, + ZC_EXTRA_FIELD_LENGTH = 30, + + ZC_FILE_COMMENT_LENGTH = 32, + ZC_DISK_NUMBER_START = 34, + ZC_INTERNAL_FILE_ATTRIBUTES = 36, + ZC_EXTERNAL_FILE_ATTRIBUTES = 38, + ZC_REL_OFFSET_LOCAL_HEADER = 42, + ZC_DIRECTORY_LENGTH = 46, + + ZE_SIGNATURE_OFFSET = 0, + ZE_DESK_NUMBER = 4, + ZE_CENTRAL_DIRECTORY_DISK_NUMBER = 6, + ZE_NUM_ENTRIES_THIS_DISK = 8, + ZE_NUM_ENTRIES = 10, + ZE_CENTRAL_DIRECTORY_SIZE = 12, + ZE_CENTRAL_DIR_OFFSET = 16, + ZE_ZIP_COMMENT_LENGTH = 20, + ZE_DIRECTORY_LENGTH = 22, + + ZL_REL_OFFSET_CONTENT = 28, + ZL_HEADER_LENGTH = 30, + + LWS_FZ_ERR_SEEK_END_RECORD = 1, + LWS_FZ_ERR_READ_END_RECORD, + LWS_FZ_ERR_END_RECORD_MAGIC, + LWS_FZ_ERR_END_RECORD_SANITY, + LWS_FZ_ERR_CENTRAL_SEEK, + LWS_FZ_ERR_CENTRAL_READ, + LWS_FZ_ERR_CENTRAL_SANITY, + LWS_FZ_ERR_NAME_TOO_LONG, + LWS_FZ_ERR_NAME_READ, + LWS_FZ_ERR_CONTENT_SANITY, + LWS_FZ_ERR_CONTENT_SEEK, + LWS_FZ_ERR_SCAN_SEEK, + LWS_FZ_ERR_NOT_FOUND, + LWS_FZ_ERR_ZLIB_INIT, + LWS_FZ_ERR_READ_CONTENT, + LWS_FZ_ERR_SEEK_COMPRESSED, +}; + +static uint16_t +get_u16(void *p) +{ + const uint8_t *c = (const uint8_t *)p; + + return (uint16_t)((c[0] | (c[1] << 8))); +} + +static uint32_t +get_u32(void *p) +{ + const uint8_t *c = (const uint8_t *)p; + + return (uint32_t)((c[0] | (c[1] << 8) | (c[2] << 16) | (c[3] << 24))); +} + +int +lws_fops_zip_scan(lws_fops_zip_t priv, const char *name, int len) +{ + lws_filepos_t amount; + uint8_t buf[64]; + int i; + + if (lws_vfs_file_seek_end(priv->zip_fop_fd, -ZE_DIRECTORY_LENGTH) < 0) + return LWS_FZ_ERR_SEEK_END_RECORD; + + if (lws_vfs_file_read(priv->zip_fop_fd, &amount, buf, + ZE_DIRECTORY_LENGTH)) + return LWS_FZ_ERR_READ_END_RECORD; + + if (amount != ZE_DIRECTORY_LENGTH) + return LWS_FZ_ERR_READ_END_RECORD; + + /* + * We require the zip to have the last record right at the end + * Linux zip always does this if no zip comment. + */ + if (buf[0] != 'P' || buf[1] != 'K' || buf[2] != 5 || buf[3] != 6) + return LWS_FZ_ERR_END_RECORD_MAGIC; + + i = get_u16(buf + ZE_NUM_ENTRIES); + + if (get_u16(buf + ZE_DESK_NUMBER) || + get_u16(buf + ZE_CENTRAL_DIRECTORY_DISK_NUMBER) || + i != get_u16(buf + ZE_NUM_ENTRIES_THIS_DISK)) + return LWS_FZ_ERR_END_RECORD_SANITY; + + /* end record is OK... look for our file in the central dir */ + + if (lws_vfs_file_seek_set(priv->zip_fop_fd, + get_u32(buf + ZE_CENTRAL_DIR_OFFSET)) < 0) + return LWS_FZ_ERR_CENTRAL_SEEK; + + while (i--) { + priv->content_start = lws_vfs_tell(priv->zip_fop_fd); + + if (lws_vfs_file_read(priv->zip_fop_fd, &amount, buf, + ZC_DIRECTORY_LENGTH)) + return LWS_FZ_ERR_CENTRAL_READ; + + if (amount != ZC_DIRECTORY_LENGTH) + return LWS_FZ_ERR_CENTRAL_READ; + + if (get_u32(buf + ZC_SIGNATURE) != 0x02014B50) + return LWS_FZ_ERR_CENTRAL_SANITY; + + lwsl_debug("cstart 0x%lx\n", priv->content_start); + + priv->hdr.filename_len = get_u16(buf + ZC_FILE_NAME_LENGTH); + priv->hdr.extra = get_u16(buf + ZC_EXTRA_FIELD_LENGTH); + priv->hdr.filename_start = lws_vfs_tell(priv->zip_fop_fd); + + priv->hdr.method = get_u16(buf + ZC_COMPRESSION_METHOD); + priv->hdr.crc32 = get_u32(buf + ZC_CRC32); + priv->hdr.comp_size = get_u32(buf + ZC_COMPRESSED_SIZE); + priv->hdr.uncomp_size = get_u32(buf + ZC_UNCOMPRESSED_SIZE); + priv->hdr.offset = get_u32(buf + ZC_REL_OFFSET_LOCAL_HEADER); + priv->hdr.mod_time = get_u32(buf + ZC_LAST_MOD_FILE_TIME); + priv->hdr.file_com_len = get_u16(buf + ZC_FILE_COMMENT_LENGTH); + + if (priv->hdr.filename_len != len) + goto next; + + if (len >= sizeof(buf) - 1) + return LWS_FZ_ERR_NAME_TOO_LONG; + + if (priv->zip_fop_fd->fops->LWS_FOP_READ(priv->zip_fop_fd, + &amount, buf, len)) + return LWS_FZ_ERR_NAME_READ; + if (amount != len) + return LWS_FZ_ERR_NAME_READ; + + buf[len] = '\0'; + lwsl_debug("check %s vs %s\n", buf, name); + + if (strcmp((const char *)buf, name)) + goto next; + + /* we found a match */ + lws_vfs_file_seek_set(priv->zip_fop_fd, priv->hdr.offset); + if (priv->zip_fop_fd->fops->LWS_FOP_READ(priv->zip_fop_fd, + &amount, buf, + ZL_HEADER_LENGTH)) + return LWS_FZ_ERR_NAME_READ; + if (amount != ZL_HEADER_LENGTH) + return LWS_FZ_ERR_NAME_READ; + + priv->content_start = priv->hdr.offset + + ZL_HEADER_LENGTH + + priv->hdr.filename_len + + get_u16(buf + ZL_REL_OFFSET_CONTENT); + + lwsl_debug("content supposed to start at 0x%lx\n", + priv->content_start); + + if (priv->content_start > priv->zip_fop_fd->len) + return LWS_FZ_ERR_CONTENT_SANITY; + + if (lws_vfs_file_seek_set(priv->zip_fop_fd, + priv->content_start) < 0) + return LWS_FZ_ERR_CONTENT_SEEK; + + /* we are aligned at the start of the content */ + + priv->exp_uncomp_pos = 0; + + return 0; + +next: + if (i && lws_vfs_file_seek_set(priv->zip_fop_fd, + priv->content_start + + ZC_DIRECTORY_LENGTH + + priv->hdr.filename_len + + priv->hdr.extra + + priv->hdr.file_com_len) < 0) + return LWS_FZ_ERR_SCAN_SEEK; + } + + return LWS_FZ_ERR_NOT_FOUND; +} + +static int +lws_fops_zip_reset_inflate(lws_fops_zip_t priv) +{ + if (priv->decompress) + inflateEnd(&priv->inflate); + + priv->inflate.zalloc = Z_NULL; + priv->inflate.zfree = Z_NULL; + priv->inflate.opaque = Z_NULL; + priv->inflate.avail_in = 0; + priv->inflate.next_in = Z_NULL; + + if (inflateInit2(&priv->inflate, -MAX_WBITS) != Z_OK) { + lwsl_err("inflate init failed\n"); + return LWS_FZ_ERR_ZLIB_INIT; + } + + if (lws_vfs_file_seek_set(priv->zip_fop_fd, priv->content_start) < 0) + return LWS_FZ_ERR_CONTENT_SEEK; + + priv->exp_uncomp_pos = 0; + + return 0; +} + +static lws_fop_fd_t +lws_fops_zip_open(const struct lws_plat_file_ops *fops, const char *vfs_path, + const char *vpath, lws_fop_flags_t *flags) +{ + lws_fop_flags_t local_flags = 0; + lws_fops_zip_t priv; + char rp[192]; + int m; + + /* + * vpath points at the / after the fops signature in vfs_path, eg + * with a vfs_path "/var/www/docs/manual.zip/index.html", vpath + * will come pointing at "/index.html" + */ + + priv = lws_zalloc(sizeof(*priv)); + if (!priv) + return NULL; + + priv->fop_fd.fops = &fops_zip; + + m = sizeof(rp) - 1; + if ((vpath - vfs_path - 1) < m) + m = vpath - vfs_path - 1; + strncpy(rp, vfs_path, m); + rp[m] = '\0'; + + /* open the zip file itself using the incoming fops, not fops_zip */ + + priv->zip_fop_fd = fops->LWS_FOP_OPEN(fops, rp, NULL, &local_flags); + if (!priv->zip_fop_fd) { + lwsl_err("unable to open zip %s\n", rp); + goto bail1; + } + + if (*vpath == '/') + vpath++; + + m = lws_fops_zip_scan(priv, vpath, strlen(vpath)); + if (m) { + lwsl_err("unable to find record matching '%s' %d\n", vpath, m); + goto bail2; + } + + /* the directory metadata tells us modification time, so pass it on */ + priv->fop_fd.mod_time = priv->hdr.mod_time; + *flags |= LWS_FOP_FLAG_MOD_TIME_VALID | LWS_FOP_FLAG_VIRTUAL; + priv->fop_fd.flags = *flags; + + /* The zip fop_fd is left pointing at the start of the content. + * + * 1) Content could be uncompressed (STORE), and we can always serve + * that directly + * + * 2) Content could be compressed (GZIP), and the client can handle + * receiving GZIP... we can wrap it in a GZIP header and trailer + * and serve the content part directly. The flag indicating we + * are providing GZIP directly is set so lws will send the right + * headers. + * + * 3) Content could be compressed (GZIP) but the client can't handle + * receiving GZIP... we can decompress it and serve as it is + * inflated piecemeal. + * + * 4) Content may be compressed some unknown way... fail + * + */ + if (priv->hdr.method == ZIP_COMPRESSION_METHOD_STORE) { + /* + * it is stored uncompressed, leave it indicated as + * uncompressed, and just serve it from inside the + * zip with no gzip container; + */ + + lwsl_info("direct zip serving (stored)\n"); + + priv->fop_fd.len = priv->hdr.uncomp_size; + + return &priv->fop_fd; + } + + if ((*flags & LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP) && + priv->hdr.method == ZIP_COMPRESSION_METHOD_DEFLATE) { + + /* + * We can serve the gzipped file contents directly as gzip + * from inside the zip container; client says it is OK. + * + * To convert to standalone gzip, we have to add a 10-byte + * constant header and a variable 8-byte trailer around the + * content. + * + * The 8-byte trailer is prepared now and held in the priv. + */ + + lwsl_info("direct zip serving (gzipped)\n"); + + priv->fop_fd.len = sizeof(hd) + priv->hdr.comp_size + + sizeof(priv->u); + + if (lws_is_be()) { + uint8_t *p = priv->u.trailer8; + + *p++ = (uint8_t)priv->hdr.crc32; + *p++ = (uint8_t)(priv->hdr.crc32 >> 8); + *p++ = (uint8_t)(priv->hdr.crc32 >> 16); + *p++ = (uint8_t)(priv->hdr.crc32 >> 24); + *p++ = (uint8_t)priv->hdr.uncomp_size; + *p++ = (uint8_t)(priv->hdr.uncomp_size >> 8); + *p++ = (uint8_t)(priv->hdr.uncomp_size >> 16); + *p = (uint8_t)(priv->hdr.uncomp_size >> 24); + } else { + priv->u.trailer32[0] = priv->hdr.crc32; + priv->u.trailer32[1] = priv->hdr.uncomp_size; + } + + *flags |= LWS_FOP_FLAG_COMPR_IS_GZIP; + priv->fop_fd.flags = *flags; + priv->add_gzip_container = 1; + + return &priv->fop_fd; + } + + if (priv->hdr.method == ZIP_COMPRESSION_METHOD_DEFLATE) { + + /* we must decompress it to serve it */ + + lwsl_info("decompressed zip serving\n"); + + priv->fop_fd.len = priv->hdr.uncomp_size; + + if (lws_fops_zip_reset_inflate(priv)) { + lwsl_err("inflate init failed\n"); + goto bail2; + } + + priv->decompress = 1; + + return &priv->fop_fd; + } + + /* we can't handle it ... */ + + lwsl_err("zipped file %s compressed in unknown way (%d)\n", vfs_path, + priv->hdr.method); + +bail2: + lws_vfs_file_close(&priv->zip_fop_fd); +bail1: + free(priv); + + return NULL; +} + +/* ie, we are closing the fop_fd for the file inside the gzip */ + +static int +lws_fops_zip_close(lws_fop_fd_t *fd) +{ + lws_fops_zip_t priv = fop_fd_to_priv(*fd); + + if (priv->decompress) + inflateEnd(&priv->inflate); + + lws_vfs_file_close(&priv->zip_fop_fd); /* close the gzip fop_fd */ + + free(priv); + *fd = NULL; + + return 0; +} + +static lws_fileofs_t +lws_fops_zip_seek_cur(lws_fop_fd_t fd, lws_fileofs_t offset_from_cur_pos) +{ + fd->pos += offset_from_cur_pos; + + return fd->pos; +} + +static int +lws_fops_zip_read(lws_fop_fd_t fd, lws_filepos_t *amount, uint8_t *buf, + lws_filepos_t len) +{ + lws_fops_zip_t priv = fop_fd_to_priv(fd); + lws_filepos_t ramount, rlen, cur = lws_vfs_tell(fd); + int ret; + + if (priv->decompress) { + + if (priv->exp_uncomp_pos != fd->pos) { + /* + * there has been a seek in the uncompressed fop_fd + * we have to restart the decompression and loop eating + * the decompressed data up to the seek point + */ + lwsl_info("seek in decompressed\n"); + + lws_fops_zip_reset_inflate(priv); + + while (priv->exp_uncomp_pos != fd->pos) { + rlen = len; + if (rlen > fd->pos - priv->exp_uncomp_pos) + rlen = fd->pos - priv->exp_uncomp_pos; + if (lws_fops_zip_read(fd, amount, buf, rlen)) + return LWS_FZ_ERR_SEEK_COMPRESSED; + } + *amount = 0; + } + + priv->inflate.avail_out = len; + priv->inflate.next_out = buf; + +spin: + if (!priv->inflate.avail_in) { + rlen = sizeof(priv->rbuf); + if (rlen > priv->hdr.comp_size - + (cur - priv->content_start)) + rlen = priv->hdr.comp_size - + (priv->hdr.comp_size - + priv->content_start); + + if (priv->zip_fop_fd->fops->LWS_FOP_READ( + priv->zip_fop_fd, &ramount, priv->rbuf, + rlen)) + return LWS_FZ_ERR_READ_CONTENT; + + cur += ramount; + + priv->inflate.avail_in = ramount; + priv->inflate.next_in = priv->rbuf; + } + + ret = inflate(&priv->inflate, Z_NO_FLUSH); + if (ret == Z_STREAM_ERROR) + return ret; + + switch (ret) { + case Z_NEED_DICT: + ret = Z_DATA_ERROR; + /* and fall through */ + case Z_DATA_ERROR: + case Z_MEM_ERROR: + + return ret; + } + + if (!priv->inflate.avail_in && priv->inflate.avail_out && + cur != priv->content_start + priv->hdr.comp_size) + goto spin; + + *amount = len - priv->inflate.avail_out; + + priv->exp_uncomp_pos += *amount; + fd->pos += *amount; + + return 0; + } + + if (priv->add_gzip_container) { + + lwsl_info("%s: gzip + container\n", __func__); + *amount = 0; + + /* place the canned header at the start */ + + if (len && fd->pos < sizeof(hd)) { + rlen = sizeof(hd) - fd->pos; + if (rlen > len) + rlen = len; + /* provide stuff from canned header */ + memcpy(buf, hd + fd->pos, rlen); + fd->pos += rlen; + buf += rlen; + len -= rlen; + *amount += rlen; + } + + /* serve gzipped data direct from zipfile */ + + if (len && fd->pos >= sizeof(hd) && + fd->pos < priv->hdr.comp_size + sizeof(hd)) { + + rlen = priv->hdr.comp_size - (priv->zip_fop_fd->pos - + priv->content_start); + if (rlen > len) + rlen = len; + + if (rlen && + priv->zip_fop_fd->pos < (priv->hdr.comp_size + + priv->content_start)) { + if (lws_vfs_file_read(priv->zip_fop_fd, + &ramount, buf, rlen)) + return LWS_FZ_ERR_READ_CONTENT; + *amount += ramount; + fd->pos += ramount; // virtual pos + buf += ramount; + len -= ramount; + } + } + + /* place the prepared trailer at the end */ + + if (len && fd->pos >= priv->hdr.comp_size + sizeof(hd) && + fd->pos < priv->hdr.comp_size + sizeof(hd) + + sizeof(priv->u)) { + cur = fd->pos - priv->hdr.comp_size - sizeof(hd); + rlen = sizeof(priv->u) - cur; + if (rlen > len) + rlen = len; + + memcpy(buf, priv->u.trailer8 + cur, rlen); + + *amount += rlen; + fd->pos += rlen; + } + + return 0; + } + + lwsl_info("%s: store\n", __func__); + + if (len > priv->hdr.uncomp_size - (cur - priv->content_start)) + len = priv->hdr.comp_size - (priv->hdr.comp_size - + priv->content_start); + + if (priv->zip_fop_fd->fops->LWS_FOP_READ(priv->zip_fop_fd, + amount, buf, len)) + return LWS_FZ_ERR_READ_CONTENT; + + return 0; +} + +struct lws_plat_file_ops fops_zip = { + lws_fops_zip_open, + lws_fops_zip_close, + lws_fops_zip_seek_cur, + lws_fops_zip_read, + NULL, + { { ".zip/", 5 }, { ".jar/", 5 }, { ".war/", 5 } }, + NULL, +}; diff --git a/lib/junzip.c b/lib/junzip.c deleted file mode 100644 index b20d534e..00000000 --- a/lib/junzip.c +++ /dev/null @@ -1,267 +0,0 @@ -// Unzip library by Per Bothner and Joonas Pihlajamaa. -// See junzip.h for license and details. - -#include <stdlib.h> -#include <string.h> - -#include <zlib.h> - -#include "private-libwebsockets.h" - -enum { - ZC_SIGNATURE = 0, - ZC_VERSION_MADE_BY = 4, - ZC_VERSION_NEEDED_TO_EXTRACT = 6, - ZC_GENERAL_PURPOSE_BIT_FLAG = 8, - ZC_COMPRESSION_METHOD = 10, - ZC_LAST_MOD_FILE_TIME = 12, - ZC_LAST_MOD_FILE_DATE = 14, - ZC_CRC32 = 16, - ZC_COMPRESSED_SIZE = 20, - ZC_UNCOMPRESSED_SIZE = 24, - ZC_FILE_NAME_LENGTH = 28, - ZC_EXTRA_FIELD_LENGTH = 30, - ZC_FILE_COMMENT_LENGTH = 32, - ZC_DISK_NUMBER_START = 34, - ZC_INTERNAL_FILE_ATTRIBUTES = 36, - ZC_EXTERNAL_FILE_ATTRIBUTES = 38, - ZC_RELATIVE_OFFSET_OF_LOCAL_HEADER = 42, - ZC_DIRECTORY_LENGTH = 46, - - ZE_SIGNATURE_OFFSET = 0, - ZE_DESK_NUMBER = 4, - ZE_CENTRAL_DIRECTORY_DISK_NUMBER = 6, - ZE_NUM_ENTRIES_THIS_DISK = 8, - ZE_NUM_ENTRIES = 10, - ZE_CENTRAL_DIRECTORY_SIZE = 12, - ZE_CENTRAL_DIRECTORY_OFFSET = 16, - ZE_ZIP_COMMENT_LENGTH = 20, - ZE_DIRECTORY_LENGTH = 22, -}; - -static uint16_t -get_u16(void *p) -{ - const uint8_t *c = (const uint8_t *)p; - - return (uint16_t)((c[0] | (c[1] << 8))); -} - -static uint32_t -get_u32(void *p) -{ - const uint8_t *c = (const uint8_t *)p; - - return (uint32_t)((c[0] | (c[1] << 8) | (c[2] << 16) | (c[3] << 24))); -} - -static int -zf_seek_set(jzfile_t *zfile, size_t offset) -{ - int new_position = offset; - - if (new_position < 0 || new_position > zfile->length) - return -1; - zfile->position = new_position; - - return 0; -} - -static int -zf_seek_cur(jzfile_t *zfile, size_t offset) -{ - int new_position = zfile->position + offset; - - if (new_position < 0 || new_position > zfile->length) - return -1; - zfile->position = new_position; - - return 0; -} - -static int -zf_seek_end(jzfile_t *zfile, size_t offset) -{ - int new_position = zfile->length + offset; - - if (new_position < 0 || new_position > zfile->length) - return -1; - zfile->position = new_position; - - return 0; -} - -size_t -zf_read(jzfile_t *zfile, void *buf, size_t size) -{ - size_t avail = zfile->length - zfile->position; - - if (size > avail) - size = avail; - memcpy(buf, zfile->start + zfile->position, size); - zfile->position += size; - - return size; -} - -/* Read ZIP file end record. Will move within file. */ -int -jzReadEndRecord(jzfile_t *zip) -{ - unsigned char *ptr = zf_current(zip); - - if (zf_seek_end(zip, -ZE_DIRECTORY_LENGTH)) - return Z_ERRNO; - - while (ptr[0] != 0x50 || ptr[1] != 0x4B || ptr[2] != 5 || ptr[3] != 6) - if (ptr-- == zip->start) - return Z_ERRNO; - - zip->numEntries = get_u16(ptr + ZE_NUM_ENTRIES); - zip->centralDirectoryOffset= get_u32(ptr + ZE_CENTRAL_DIRECTORY_OFFSET); - - if (get_u16(ptr + ZE_DESK_NUMBER) || - get_u16(ptr + ZE_CENTRAL_DIRECTORY_DISK_NUMBER) || - zip->numEntries != get_u16(ptr + ZE_NUM_ENTRIES_THIS_DISK)) - return Z_ERRNO; - - return Z_OK; -} - -/* Read ZIP file global directory. Will move within file. */ -int -jzReadCentralDirectory(jzfile_t *zip, jzcb_t callback) -{ - jzfile_hdr_t h; - int i; - - if (zf_seek_set(zip, zip->centralDirectoryOffset)) - return Z_ERRNO; - - for (i = 0; i < zip->numEntries; i++) { - unsigned char *ptr = zf_current(zip); - - if (zf_available(zip) < ZC_DIRECTORY_LENGTH) - return Z_ERRNO; - - zf_seek_cur(zip, ZC_DIRECTORY_LENGTH); - if (get_u32(ptr + ZC_SIGNATURE) != 0x02014B50) - return Z_ERRNO; - - // Construct jzfile_hdr_t from global file h - h.compressionMethod = get_u16(ptr + ZC_COMPRESSION_METHOD); - h.crc32 = get_u32(ptr + ZC_CRC32); - h.compressedSize = get_u32(ptr + ZC_COMPRESSED_SIZE); - h.uncompressedSize = get_u32(ptr + ZC_UNCOMPRESSED_SIZE); - h.fileNameLength = get_u16(ptr + ZC_FILE_NAME_LENGTH); - h.extraFieldLength = get_u16(ptr + ZC_EXTRA_FIELD_LENGTH); - h.offset = get_u32(ptr + ZC_RELATIVE_OFFSET_OF_LOCAL_HEADER); - - h.fileNameStart = zf_tell(zip); - if (zf_seek_cur(zip, h.fileNameLength + h.extraFieldLength + - get_u16(ptr + ZC_FILE_COMMENT_LENGTH))) - return Z_ERRNO; - - if (!callback(zip, i, &h)) - break; // end if callback returns zero - } - - return Z_OK; -} - -int jzSeekData(jzfile_t *zip, jzfile_hdr_t *entry) -{ - size_t offset = entry->offset; - - offset += ZIP_LOCAL_FILE_HEADER_LENGTH; - offset += entry->fileNameLength + entry->extraFieldLength; - - if (offset < 0 || offset > zip->length) - return Z_STREAM_END; - - zip->position = offset; - - return Z_OK; -} - -/* Read data from file stream, described by h, to preallocated buffer */ -int -jzReadData(jzfile_t *zip, jzfile_hdr_t *h, void *buffer) -{ - unsigned char *bytes = (unsigned char *)buffer; - long compressedLeft, uncompressedLeft; - z_stream strm; - int ret; - - switch (h->compressionMethod) { - case 0: /* Store - just read it */ - if (zf_read(zip, buffer, h->uncompressedSize) < - h->uncompressedSize) - return Z_ERRNO; - break; - case 8: /* Deflate - using zlib */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - - strm.avail_in = 0; - strm.next_in = Z_NULL; - - /* - * Use inflateInit2 with negative window bits to - * indicate raw data - */ - if ((ret = inflateInit2(&strm, -MAX_WBITS)) != Z_OK) - return ret; /* Zlib errors are negative */ - - /* Inflate compressed data */ - for (compressedLeft = h->compressedSize, - uncompressedLeft = h->uncompressedSize; - compressedLeft && uncompressedLeft && ret != Z_STREAM_END; - compressedLeft -= strm.avail_in) { - /* Read next chunk */ - unsigned char *ptr = zf_current(zip); - - strm.avail_in = compressedLeft; - zf_seek_cur(zip, compressedLeft); - if (strm.avail_in == 0) { - inflateEnd(&strm); - - return Z_ERRNO; - } - - strm.next_in = ptr; - strm.avail_out = uncompressedLeft; - strm.next_out = bytes; - - compressedLeft -= strm.avail_in; - /* inflate will change avail_in */ - - ret = inflate(&strm, Z_NO_FLUSH); - - if (ret == Z_STREAM_ERROR) - return ret; - - switch (ret) { - case Z_NEED_DICT: - ret = Z_DATA_ERROR; - /* and fall through */ - case Z_DATA_ERROR: case Z_MEM_ERROR: - (void)inflateEnd(&strm); - - return ret; - } - - /* bytes uncompressed */ - bytes += uncompressedLeft - strm.avail_out; - uncompressedLeft = strm.avail_out; - } - - inflateEnd(&strm); - break; - default: - return Z_ERRNO; - } - - return Z_OK; -} diff --git a/lib/lejp-conf.c b/lib/lejp-conf.c index 6fc358fe..8fb05531 100644 --- a/lib/lejp-conf.c +++ b/lib/lejp-conf.c @@ -455,7 +455,8 @@ lejp_vhosts_cb(struct lejp_ctx *ctx, char reason) "cgi://", ">http://", ">https://", - "callback://" + "callback://", + "gzip://", }; if (!a->fresh_mount) diff --git a/lib/libev.c b/lib/libev.c index 3f882b20..71834a2d 100644 --- a/lib/libev.c +++ b/lib/libev.c @@ -170,7 +170,7 @@ lws_libev_accept(struct lws *new_wsi, lws_sock_file_fd_type desc) if (!LWS_LIBEV_ENABLED(context)) return; - if (wsi->mode == LWSCM_RAW_FILEDESC) + if (new_wsi->mode == LWSCM_RAW_FILEDESC) fd = desc.filefd; else fd = desc.sockfd; diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 43da8fbe..3f9612b5 100755 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -220,9 +220,7 @@ lws_close_free_wsi(struct lws *wsi, enum lws_close_status reason) wsi->protocol->callback(wsi, LWS_CALLBACK_RAW_CLOSE_FILE, wsi->user_space, NULL, 0); - lws_free_wsi(wsi); - - return; + goto async_close; } #ifdef LWS_WITH_CGI @@ -264,8 +262,7 @@ lws_close_free_wsi(struct lws *wsi, enum lws_close_status reason) if (wsi->mode == LWSCM_HTTP_SERVING_ACCEPTED && wsi->u.http.fop_fd != NULL) { - lws_vfs_file_close(wsi->u.http.fop_fd); - wsi->u.http.fop_fd = NULL; + lws_vfs_file_close(&wsi->u.http.fop_fd); wsi->vhost->protocols->callback(wsi, LWS_CALLBACK_CLOSED_HTTP, wsi->user_space, NULL, 0); wsi->told_user_closed = 1; @@ -606,6 +603,7 @@ just_kill_connection: LWS_EXT_CB_DESTROY_ANY_WSI_CLOSING, NULL, 0) < 0) lwsl_warn("ext destroy wsi failed\n"); +async_close: wsi->socket_is_permanently_unusable = 1; #ifdef LWS_USE_LIBUV @@ -971,32 +969,105 @@ lws_callback_vhost_protocols(struct lws *wsi, int reason, void *in, int len) LWS_VISIBLE LWS_EXTERN void lws_set_fops(struct lws_context *context, struct lws_plat_file_ops *fops) { - memcpy(&context->fops_default, fops, sizeof *fops); + memcpy(&context->fops, fops, sizeof *fops); +} + +LWS_VISIBLE LWS_EXTERN lws_filepos_t +lws_vfs_tell(lws_fop_fd_t fop_fd) +{ + return fop_fd->pos; +} + +LWS_VISIBLE LWS_EXTERN lws_filepos_t +lws_vfs_get_length(lws_fop_fd_t fop_fd) +{ + return fop_fd->len; +} + +LWS_VISIBLE LWS_EXTERN uint32_t +lws_vfs_get_mod_time(lws_fop_fd_t fop_fd) +{ + return fop_fd->mod_time; +} + +LWS_VISIBLE lws_fileofs_t +lws_vfs_file_seek_set(lws_fop_fd_t fop_fd, lws_fileofs_t offset) +{ + lws_fileofs_t ofs; + lwsl_debug("%s: seeking to %ld, len %ld\n", __func__, offset, fop_fd->len); + ofs = fop_fd->fops->LWS_FOP_SEEK_CUR(fop_fd, offset - fop_fd->pos); + lwsl_debug("%s: result %ld, fop_fd pos %ld\n", __func__, ofs, fop_fd->pos); + return ofs; +} + + +LWS_VISIBLE lws_fileofs_t +lws_vfs_file_seek_end(lws_fop_fd_t fop_fd, lws_fileofs_t offset) +{ + return fop_fd->fops->LWS_FOP_SEEK_CUR(fop_fd, fop_fd->len + fop_fd->pos + offset); } -LWS_VISIBLE LWS_EXTERN const struct lws_plat_file_ops * -lws_select_fops_by_vfs_path(const struct lws_context *context, const char *vfs_path) + +const struct lws_plat_file_ops * +lws_vfs_select_fops(const struct lws_plat_file_ops *fops, const char *vfs_path, + const char **vpath) { - const struct lws_plat_file_ops *fops = context->fops; - int hit = -1, n = 0, matchlen = 0, len; + const struct lws_plat_file_ops *pf; + const char *p = vfs_path; + int n; + + *vpath = NULL; + + /* no non-platform fops, just use that */ + + if (!fops->next) + return fops; - while (fops->open) { - len = strlen(fops->path_prefix); + /* + * scan the vfs path looking for indications we are to be + * handled by a specific fops + */ + + while (*p) { + if (*p != '/') { + p++; + continue; + } + /* the first one is always platform fops, so skip */ + pf = fops->next; + while (pf) { + n = 0; + while (n < ARRAY_SIZE(pf->fi) && pf->fi[n].sig) { + if (p >= vfs_path + pf->fi[n].len) + if (!strncmp(p - (pf->fi[n].len - 1), + pf->fi[n].sig, + pf->fi[n].len - 1)) { + *vpath = p + 1; + return pf; + } - if (!strncmp(vfs_path, fops->path_prefix, len)) - if (len > matchlen) { - hit = n; - matchlen = len; + n++; } - fops++; + pf = pf->next; + } + p++; } - if (hit < 0) - return context->fops_default; + return fops; +} + +LWS_VISIBLE LWS_EXTERN lws_fop_fd_t LWS_WARN_UNUSED_RESULT +lws_vfs_file_open(const struct lws_plat_file_ops *fops, const char *vfs_path, + lws_fop_flags_t *flags) +{ + const char *vpath; + const struct lws_plat_file_ops *selected = lws_vfs_select_fops( + fops, vfs_path, &vpath); - return &context->fops[hit]; + return selected->LWS_FOP_OPEN(fops, vfs_path, vpath, flags); } + /** * lws_now_secs() - seconds since 1970-1-1 * @@ -1396,7 +1467,7 @@ lws_union_transition(struct lws *wsi, enum connection_mode mode) LWS_VISIBLE struct lws_plat_file_ops * lws_get_fops(struct lws_context *context) { - return &context->fops_default[0]; + return (struct lws_plat_file_ops *)context->fops; } LWS_VISIBLE LWS_EXTERN struct lws_context * diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h index bf7cc642..14682a9b 100644 --- a/lib/libwebsockets.h +++ b/lib/libwebsockets.h @@ -33,6 +33,12 @@ extern "C" { #include <stdarg.h> #endif +static inline int lws_is_be(void) { + const int probe = ~0xff; + + return *(const char *)&probe; +} + #if defined(LWS_WITH_ESP8266) struct sockaddr_in; #define LWS_POSIX 0 @@ -1816,9 +1822,7 @@ struct lws_context_creation_info { * by a sentinel with NULL .open. * * If NULL, lws provides just the platform file operations struct for - * backwards compatibility. If set to point to an array of fops - * structs, lws_select_fops_by_vfs_path() will select the best match - * comparing the left of vfs_path to each fops .path_prefix. + * backwards compatibility. */ /* Add new things just above here ---^ @@ -2559,6 +2563,7 @@ lws_get_mimetype(const char *file, const struct lws_http_mount *m); LWS_VISIBLE LWS_EXTERN int lws_serve_http_file(struct lws *wsi, const char *file, const char *content_type, const char *other_headers, int other_headers_len); + LWS_VISIBLE LWS_EXTERN int lws_serve_http_file_fragment(struct lws *wsi); //@} @@ -4268,29 +4273,27 @@ lws_cgi_kill(struct lws *wsi); #if defined(LWS_WITH_ESP32) /* sdk preprocessor defs? compiler issue? gets confused with member names */ -#define LWS_FOP_OPEN _open -#define LWS_FOP_CLOSE _close -#define LWS_FOP_SEEK_CUR _seek_cur -#define LWS_FOP_READ _read -#define LWS_FOP_WRITE _write +#define LWS_FOP_OPEN _open +#define LWS_FOP_CLOSE _close +#define LWS_FOP_SEEK_CUR _seek_cur +#define LWS_FOP_READ _read +#define LWS_FOP_WRITE _write #else -#define LWS_FOP_OPEN open -#define LWS_FOP_CLOSE close -#define LWS_FOP_SEEK_CUR seek_cur -#define LWS_FOP_READ read -#define LWS_FOP_WRITE write +#define LWS_FOP_OPEN open +#define LWS_FOP_CLOSE close +#define LWS_FOP_SEEK_CUR seek_cur +#define LWS_FOP_READ read +#define LWS_FOP_WRITE write #endif #define LWS_FOP_FLAGS_MASK ((1 << 23) - 1) #define LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP (1 << 24) #define LWS_FOP_FLAG_COMPR_IS_GZIP (1 << 25) +#define LWS_FOP_FLAG_MOD_TIME_VALID (1 << 26) +#define LWS_FOP_FLAG_VIRTUAL (1 << 27) struct lws_plat_file_ops; -struct lws_fop_fd { - lws_filefd_type fd; - const struct lws_plat_file_ops *fops; - void *filesystem_priv; -}; + #if defined(WIN32) || defined(_WIN32) /* ... */ #if !defined(ssize_t) @@ -4313,26 +4316,49 @@ typedef unsigned char uint8_t; #endif #endif -typedef struct lws_fop_fd *lws_fop_fd_t; typedef size_t lws_filepos_t; typedef ssize_t lws_fileofs_t; typedef uint32_t lws_fop_flags_t; +struct lws_fop_fd { + lws_filefd_type fd; + /**< real file descriptor related to the file... */ + const struct lws_plat_file_ops *fops; + /**< fops that apply to this fop_fd */ + void *filesystem_priv; + /**< ignored by lws; owned by the fops handlers */ + lws_filepos_t pos; + /**< generic "position in file" */ + lws_filepos_t len; + /**< generic "length of file" */ + lws_fop_flags_t flags; + /**< copy of the returned flags */ + uint32_t mod_time; + /**< optional "modification time of file", only valid if .open() + * set the LWS_FOP_FLAG_MOD_TIME_VALID flag */ +}; +typedef struct lws_fop_fd *lws_fop_fd_t; + +struct lws_fops_index { + const char *sig; /* NULL or vfs signature, eg, ".zip/" */ + uint8_t len; /* length of above string */ +}; + struct lws_plat_file_ops { lws_fop_fd_t (*LWS_FOP_OPEN)(const struct lws_plat_file_ops *fops, - const char *filename, - lws_filepos_t *filelen, + const char *filename, const char *vpath, lws_fop_flags_t *flags); /**< Open file (always binary access if plat supports it) - * filelen is filled on exit to be the length of the file + * vpath may be NULL, or if the fops understands it, the point at which + * the filename's virtual part starts. * *flags & LWS_FOP_FLAGS_MASK should be set to O_RDONLY or O_RDWR. * If the file may be gzip-compressed, * LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP is set. If it actually is * gzip-compressed, then the open handler should OR * LWS_FOP_FLAG_COMPR_IS_GZIP on to *flags before returning. */ - int (*LWS_FOP_CLOSE)(lws_fop_fd_t fop_fd); - /**< close file */ + int (*LWS_FOP_CLOSE)(lws_fop_fd_t *fop_fd); + /**< close file AND set the pointer to NULL */ lws_fileofs_t (*LWS_FOP_SEEK_CUR)(lws_fop_fd_t fop_fd, lws_fileofs_t offset_from_cur_pos); /**< seek from current position */ @@ -4342,8 +4368,12 @@ struct lws_plat_file_ops { int (*LWS_FOP_WRITE)(lws_fop_fd_t fop_fd, lws_filepos_t *amount, uint8_t *buf, lws_filepos_t len); /**< Write to file, on exit *amount is set to amount actually written */ - const char *path_prefix; - /**< Optional, NULL or filesystem namespace prefix matching this fops */ + + struct lws_fops_index fi[3]; + /**< vfs path signatures implying use of this fops */ + + const struct lws_plat_file_ops *next; + /**< NULL or next fops in list */ /* Add new things just above here ---^ * This is part of the ABI, don't needlessly break compatibility */ @@ -4358,24 +4388,63 @@ LWS_VISIBLE LWS_EXTERN struct lws_plat_file_ops * LWS_WARN_UNUSED_RESULT lws_get_fops(struct lws_context *context); LWS_VISIBLE LWS_EXTERN void lws_set_fops(struct lws_context *context, struct lws_plat_file_ops *fops); -LWS_VISIBLE LWS_EXTERN const struct lws_plat_file_ops * LWS_WARN_UNUSED_RESULT -lws_select_fops_by_vfs_path(const struct lws_context *context, const char *vfs_path); /** - * lws_plat_file_open() - file open operations + * lws_vfs_tell() - get current file position + * + * \param fop_fd: fop_fd we are asking about + */ +LWS_VISIBLE LWS_EXTERN lws_filepos_t LWS_WARN_UNUSED_RESULT +lws_vfs_tell(lws_fop_fd_t fop_fd); +/** + * lws_vfs_get_length() - get current file total length in bytes + * + * \param fop_fd: fop_fd we are asking about + */ +LWS_VISIBLE LWS_EXTERN lws_filepos_t LWS_WARN_UNUSED_RESULT +lws_vfs_get_length(lws_fop_fd_t fop_fd); +/** + * lws_vfs_get_mod_time() - get time file last modified + * + * \param fop_fd: fop_fd we are asking about + */ +LWS_VISIBLE LWS_EXTERN uint32_t LWS_WARN_UNUSED_RESULT +lws_vfs_get_mod_time(lws_fop_fd_t fop_fd); +/** + * lws_vfs_file_seek_set() - seek relative to start of file + * + * \param fop_fd: fop_fd we are seeking in + * \param offset: offset from start of file + */ +LWS_VISIBLE LWS_EXTERN lws_fileofs_t +lws_vfs_file_seek_set(lws_fop_fd_t fop_fd, lws_fileofs_t offset); +/** + * lws_vfs_file_seek_end() - seek relative to end of file + * + * \param fop_fd: fop_fd we are seeking in + * \param offset: offset from start of file + */ +LWS_VISIBLE LWS_EXTERN lws_fileofs_t +lws_vfs_file_seek_end(lws_fop_fd_t fop_fd, lws_fileofs_t offset); + +LWS_VISIBLE LWS_EXTERN struct lws_plat_file_ops fops_zip; + +/** + * lws_plat_file_open() - open vfs filepath * * \param fops: file ops struct that applies to this descriptor - * \param filename: filename to open - * \param filelen: length of file (filled in by call) + * \param vfs_path: filename to open * \param flags: pointer to open flags * + * The vfs_path is scanned for known fops signatures, and the open directed + * to any matching fops open. + * + * User code should use this api to perform vfs opens. + * * returns semi-opaque handle */ -static LWS_INLINE lws_fop_fd_t LWS_WARN_UNUSED_RESULT -lws_vfs_file_open(const struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags) -{ - return fops->LWS_FOP_OPEN(fops, filename, filelen, flags); -} +LWS_VISIBLE LWS_EXTERN lws_fop_fd_t LWS_WARN_UNUSED_RESULT +lws_vfs_file_open(const struct lws_plat_file_ops *fops, const char *vfs_path, + lws_fop_flags_t *flags); /** * lws_plat_file_close() - close file @@ -4383,9 +4452,9 @@ lws_vfs_file_open(const struct lws_plat_file_ops *fops, const char *filename, * \param fop_fd: file handle to close */ static LWS_INLINE int -lws_vfs_file_close(lws_fop_fd_t fop_fd) +lws_vfs_file_close(lws_fop_fd_t *fop_fd) { - return fop_fd->fops->LWS_FOP_CLOSE(fop_fd); + return (*fop_fd)->fops->LWS_FOP_CLOSE(fop_fd); } /** @@ -4429,15 +4498,15 @@ lws_vfs_file_write(lws_fop_fd_t fop_fd, lws_filepos_t *amount, return fop_fd->fops->LWS_FOP_WRITE(fop_fd, amount, buf, len); } -/* these are the flatform file operations implmenetations... they can +/* these are the platform file operations implementations... they can * be called directly and used in fops arrays */ LWS_VISIBLE LWS_EXTERN lws_fop_fd_t _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags); + const char *vpath, lws_fop_flags_t *flags); LWS_VISIBLE LWS_EXTERN int -_lws_plat_file_close(lws_fop_fd_t fop_fd); +_lws_plat_file_close(lws_fop_fd_t *fop_fd); LWS_VISIBLE LWS_EXTERN lws_fileofs_t _lws_plat_file_seek_cur(lws_fop_fd_t fop_fd, lws_fileofs_t offset); LWS_VISIBLE LWS_EXTERN int diff --git a/lib/lws-plat-esp32.c b/lib/lws-plat-esp32.c index 680dc560..e858b5a6 100644 --- a/lib/lws-plat-esp32.c +++ b/lib/lws-plat-esp32.c @@ -397,7 +397,7 @@ lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt) LWS_VISIBLE lws_fop_fd_t _lws_plat_file_open(struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags) + const char *vpath, lws_fop_flags_t *flags) { struct stat stat_buf; lws_fop_fd_t fop_fd; @@ -414,9 +414,10 @@ _lws_plat_file_open(struct lws_plat_file_ops *fops, const char *filename, fop_fd->fops = fops; fop_fd->fd = ret; + fop_fd->flags = *flags; fop_fd->filesystem_priv = NULL; /* we don't use it */ - - *filelen = stat_buf.st_size; + fop_fd->pos = 0; + fop_fd->len = stat_buf.st_size; return fop_fd; @@ -427,11 +428,12 @@ bail: } LWS_VISIBLE int -_lws_plat_file_close(lws_fop_fd_t fops_fd) +_lws_plat_file_close(lws_fop_fd_t *fops_fd) { - int fd = fops_fd->fd; + int fd = (*fops_fd)->fd; - free(fd); + free(*fops_fd); + *fops_fd = NULL; return close(fd); } @@ -453,7 +455,7 @@ _lws_plat_file_read(lws_fop_fd_t fops_fd, lws_filepos_t *amount, *amount = 0; return -1; } - + fop_fd->pos += n; *amount = n; return 0; @@ -470,7 +472,7 @@ _lws_plat_file_write(lws_fop_fd_t fops_fd, lws_filepos_t *amount, *amount = 0; return -1; } - + fop_fd->pos += n; *amount = n; return 0; diff --git a/lib/lws-plat-optee.c b/lib/lws-plat-optee.c index f6051d09..20379bcd 100644 --- a/lib/lws-plat-optee.c +++ b/lib/lws-plat-optee.c @@ -263,14 +263,13 @@ lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt) LWS_VISIBLE lws_fop_fd_t _lws_plat_file_open(lws_plat_file_open(struct lws_plat_file_ops *fops, - const char *filename, lws_filepos_t *filelen, - lws_fop_flags_t *flags) + const char *filename, lws_fop_flags_t *flags) { return NULL; } LWS_VISIBLE int -_lws_plat_file_close(lws_fop_fd_t fop_fd) +_lws_plat_file_close(lws_fop_fd_t *fop_fd) { return 0; } diff --git a/lib/lws-plat-unix.c b/lib/lws-plat-unix.c index 4ab2eea4..49c3d21e 100644 --- a/lib/lws-plat-unix.c +++ b/lib/lws-plat-unix.c @@ -611,7 +611,7 @@ lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt) LWS_VISIBLE lws_fop_fd_t _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags) + const char *vpath, lws_fop_flags_t *flags) { struct stat stat_buf; int ret = open(filename, (*flags) & LWS_FOP_FLAGS_MASK, 0664); @@ -628,9 +628,11 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, goto bail; fop_fd->fops = fops; + fop_fd->flags = *flags; fop_fd->fd = ret; fop_fd->filesystem_priv = NULL; /* we don't use it */ - *filelen = stat_buf.st_size; + fop_fd->len = stat_buf.st_size; + fop_fd->pos = 0; return fop_fd; @@ -640,18 +642,36 @@ bail: } LWS_VISIBLE int -_lws_plat_file_close(lws_fop_fd_t fop_fd) +_lws_plat_file_close(lws_fop_fd_t *fop_fd) { - int fd = fop_fd->fd; + int fd = (*fop_fd)->fd; + + free(*fop_fd); + *fop_fd = NULL; - free(fop_fd); return close(fd); } LWS_VISIBLE lws_fileofs_t _lws_plat_file_seek_cur(lws_fop_fd_t fop_fd, lws_fileofs_t offset) { - return lseek(fop_fd->fd, offset, SEEK_CUR); + lws_fileofs_t r; + + if (offset > 0 && offset > fop_fd->len - fop_fd->pos) + offset = fop_fd->len - fop_fd->pos; + + if ((lws_fileofs_t)fop_fd->pos + offset < 0) + offset = -fop_fd->pos; + + r = lseek(fop_fd->fd, offset, SEEK_CUR); + + if (r >= 0) + fop_fd->pos = r; + else + lwsl_err("error seeking from cur %ld, offset %ld\n", + fop_fd->pos, offset); + + return r; } LWS_VISIBLE int @@ -665,7 +685,9 @@ _lws_plat_file_read(lws_fop_fd_t fop_fd, lws_filepos_t *amount, *amount = 0; return -1; } - + fop_fd->pos += n; + lwsl_debug("%s: read %ld of req %ld, pos %ld, len %ld\n", __func__, n, + (long)len, fop_fd->pos, fop_fd->len); *amount = n; return 0; @@ -683,6 +705,7 @@ _lws_plat_file_write(lws_fop_fd_t fop_fd, lws_filepos_t *amount, return -1; } + fop_fd->pos += n; *amount = n; return 0; diff --git a/lib/lws-plat-win.c b/lib/lws-plat-win.c index 117b69f2..188f1a94 100644 --- a/lib/lws-plat-win.c +++ b/lib/lws-plat-win.c @@ -523,7 +523,7 @@ lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt) LWS_VISIBLE lws_fop_fd_t _lws_plat_file_open(struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags) + const char *vpath, lws_fop_flags_t *flags) { HANDLE ret; WCHAR buf[MAX_PATH]; @@ -548,22 +548,23 @@ _lws_plat_file_open(struct lws_plat_file_ops *fops, const char *filename, fop_fd->fops = fops; fop_fd->fd = ret; fop_fd->filesystem_priv = NULL; /* we don't use it */ - - *filelen = GetFileSize(ret, NULL); + fop_fd->flags = *flags; + fop_fd->len = GetFileSize(ret, NULL); + fop_fd->pos = 0; return fop_fd; bail: - *filelen = 0; return NULL; } LWS_VISIBLE int -_lws_plat_file_close(lws_fop_fd_t fop_fd) +_lws_plat_file_close(lws_fop_fd_t *fop_fd) { - HANDLE fd = fop_fd->fd; + HANDLE fd = (*fop_fd)->fd; - free(fop_fd); + free(*fop_fd); + *fop_fd = NULL; CloseHandle((HANDLE)fd); @@ -588,6 +589,7 @@ _lws_plat_file_read(lws_fop_fd_t fop_fd, lws_filepos_t *amount, return 1; } + fop_fd->pos += _amount; *amount = (unsigned long)_amount; return 0; @@ -602,6 +604,8 @@ _lws_plat_file_write(lws_fop_fd_t fop_fd, lws_filepos_t *amount, (void)buf; (void)len; + fop_fd->pos += len; + lwsl_err("%s: not implemented yet on this platform\n", __func__); return -1; diff --git a/lib/output.c b/lib/output.c index 232246fb..efc9573e 100644 --- a/lib/output.c +++ b/lib/output.c @@ -574,7 +574,7 @@ LWS_VISIBLE int lws_serve_http_file_fragment(struct lws *wsi) wsi->trunc_offset, wsi->trunc_len) < 0) { lwsl_info("%s: closing\n", __func__); - return -1; + goto file_had_it; } continue; } @@ -594,7 +594,7 @@ LWS_VISIBLE int lws_serve_http_file_fragment(struct lws *wsi) if ((long)lws_vfs_file_seek_cur(wsi->u.http.fop_fd, wsi->u.http.range.start - wsi->u.http.filepos) < 0) - return -1; + goto file_had_it; wsi->u.http.filepos = wsi->u.http.range.start; @@ -634,7 +634,7 @@ LWS_VISIBLE int lws_serve_http_file_fragment(struct lws *wsi) } if (lws_vfs_file_read(wsi->u.http.fop_fd, &amount, p, poss) < 0) - return -1; /* caller will close */ + goto file_had_it; /* caller will close */ //lwsl_notice("amount %ld\n", amount); @@ -656,7 +656,7 @@ LWS_VISIBLE int lws_serve_http_file_fragment(struct lws *wsi) wsi->vhost->protocols[(int)wsi->protocol_interpret_idx].callback, wsi, LWS_CALLBACK_PROCESS_HTML, wsi->user_space, &args, 0) < 0) - return -1; + goto file_had_it; n = args.len; p = (unsigned char *)args.p; } else @@ -678,7 +678,7 @@ LWS_VISIBLE int lws_serve_http_file_fragment(struct lws *wsi) LWS_WRITE_HTTP ); if (m < 0) - return -1; + goto file_had_it; wsi->u.http.filepos += amount; @@ -703,7 +703,7 @@ LWS_VISIBLE int lws_serve_http_file_fragment(struct lws *wsi) if (lws_vfs_file_seek_cur(wsi->u.http.fop_fd, m - n) == (unsigned long)-1) - return -1; + goto file_had_it; } } all_sent: @@ -716,8 +716,7 @@ all_sent: { wsi->state = LWSS_HTTP; /* we might be in keepalive, so close it off here */ - lws_vfs_file_close(wsi->u.http.fop_fd); - wsi->u.http.fop_fd = NULL; + lws_vfs_file_close(&wsi->u.http.fop_fd); lwsl_debug("file completed\n"); @@ -736,6 +735,11 @@ all_sent: lws_callback_on_writable(wsi); return 0; /* indicates further processing must be done */ + +file_had_it: + lws_vfs_file_close(&wsi->u.http.fop_fd); + + return -1; } #if LWS_POSIX diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h index 3431c971..80d06368 100644 --- a/lib/private-libwebsockets.h +++ b/lib/private-libwebsockets.h @@ -439,57 +439,6 @@ extern "C" { #define SYSTEM_RANDOM_FILEPATH "/dev/urandom" #endif -/** - * Unzip library by Per Bothner. - * Loosely based on Joonas Pihlajamaa's JUnzip. - * Released into public domain. https://github.com/jokkebk/JUnzip - * -------> - */ - -typedef struct jzfile { - unsigned char *start; - off_t length; - long position; - int numEntries; - uint32_t centralDirectoryOffset; -} jzfile_t; - -#define zf_tell(ZF) ((ZF)->position) -#define zf_available(ZF) ((ZF)->length - (ZF)->position) -#define zf_current(ZF) ((ZF)->start + (ZF)->position) - -#define ZIP_LOCAL_FILE_HEADER_LENGTH 30 - -typedef struct { - uint16_t compressionMethod; - uint32_t crc32; - uint32_t compressedSize; - uint32_t uncompressedSize; - long fileNameStart; - uint16_t fileNameLength; - uint16_t extraFieldLength; // unsupported - uint32_t offset; -} jzfile_hdr_t; - -// Callback prototype for central and local file record reading functions -typedef int (*jzcb_t)(jzfile_t *zip, int index, jzfile_hdr_t *header); - -// Read ZIP file end record. Will move within file. -int jzReadEndRecord(jzfile_t *zip); - -// Read ZIP file global directory. Will move within file. -// Callback is called for each record, until callback returns zero -int jzReadCentralDirectory(jzfile_t *zip, jzcb_t callback); - - // See to the start of the actual data of the given entry. -int jzSeekData(jzfile_t *zip, jzfile_hdr_t *header); - -// Read data from file stream, described by header, to preallocated buffer -// Return value is zlib coded, e.g. Z_OK, or error code -int jzReadData(jzfile_t *zip, jzfile_hdr_t *header, void *buffer); - -/* <------ */ - enum lws_websocket_opcodes_07 { LWSWSOPC_CONTINUATION = 0, LWSWSOPC_TEXT_FRAME = 1, @@ -860,7 +809,10 @@ struct lws_context { time_t last_ws_ping_pong_check_s; time_t time_up; const struct lws_plat_file_ops *fops; - struct lws_plat_file_ops fops_default[2]; + struct lws_plat_file_ops fops_platform; +#if defined(LWS_WITH_ZIP_FOPS) + struct lws_plat_file_ops fops_zip; +#endif struct lws_context_per_thread pt[LWS_MAX_SMP]; struct lws_conn_stats conn_stats; #ifdef _WIN32 @@ -947,6 +899,7 @@ struct lws_context { short server_string_len; unsigned short ws_ping_pong_interval; unsigned short deprecation_pending_listen_close_count; + uint8_t max_fi; }; #define lws_get_context_protocol(ctx, x) ctx->vhost_list->protocols[x] @@ -2005,6 +1958,10 @@ void lws_free(void *p); #define lws_free_set_NULL(P) do { lws_realloc(P, 0); (P) = NULL; } while(0) #endif +const struct lws_plat_file_ops * +lws_vfs_select_fops(const struct lws_plat_file_ops *fops, const char *vfs_path, + const char **vpath); + /* lws_plat_ */ LWS_EXTERN void lws_plat_delete_socket_from_fds(struct lws_context *context, diff --git a/lib/server.c b/lib/server.c index 73be40a2..32d972e4 100644 --- a/lib/server.c +++ b/lib/server.c @@ -312,6 +312,22 @@ lws_get_mimetype(const char *file, const struct lws_http_mount *m) return NULL; } +static lws_fop_flags_t +lws_vfs_prepare_flags(struct lws *wsi) +{ + lws_fop_flags_t f = 0; + + if (!lws_hdr_total_length(wsi, WSI_TOKEN_HTTP_ACCEPT_ENCODING)) + return f; + + if (strstr(lws_hdr_simple_ptr(wsi, WSI_TOKEN_HTTP_ACCEPT_ENCODING), + "gzip")) { + lwsl_info("client indicates GZIP is acceptable\n"); + f |= LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP; + } + + return f; +} static int lws_http_serve(struct lws *wsi, char *uri, const char *origin, @@ -319,8 +335,11 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, { const struct lws_protocol_vhost_options *pvo = m->interpret; struct lws_process_html_args args; - const char *mimetype; -#if !defined(_WIN32_WCE) && !defined(LWS_WITH_ESP8266) && !defined(LWS_WITH_ESP32) + const char *mimetype, *vpath; +#if !defined(_WIN32_WCE) && !defined(LWS_WITH_ESP8266) && \ + !defined(LWS_WITH_ESP32) + const struct lws_plat_file_ops *fops; + lws_fop_flags_t fflags = LWS_O_RDONLY; struct stat st; int spin = 0; #endif @@ -334,15 +353,37 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, lws_snprintf(path, sizeof(path) - 1, "%s/%s", origin, uri); -#if !defined(_WIN32_WCE) && !defined(LWS_WITH_ESP8266) && !defined(LWS_WITH_ESP32) + fflags |= lws_vfs_prepare_flags(wsi); + +#if !defined(_WIN32_WCE) && !defined(LWS_WITH_ESP8266) && \ + !defined(LWS_WITH_ESP32) do { spin++; + fops = lws_vfs_select_fops(wsi->context->fops, path, &vpath); + + if (wsi->u.http.fop_fd) + lws_vfs_file_close(&wsi->u.http.fop_fd); + + wsi->u.http.fop_fd = fops->LWS_FOP_OPEN(wsi->context->fops, + path, vpath, &fflags); + if (!wsi->u.http.fop_fd) { + lwsl_err("Unable to open '%s'\n", path); + + return -1; + } - if (stat(path, &st)) { + /* if it can't be statted, don't try */ + if (fflags & LWS_FOP_FLAG_VIRTUAL) + break; + + if (fstat(wsi->u.http.fop_fd->fd, &st)) { lwsl_info("unable to stat %s\n", path); goto bail; } + wsi->u.http.fop_fd->mod_time = (uint32_t)st.st_mtime; + fflags |= LWS_FOP_FLAG_MOD_TIME_VALID; + lwsl_debug(" %s mode %d\n", path, S_IFMT & st.st_mode); #if !defined(WIN32) && LWS_POSIX if ((S_IFMT & st.st_mode) == S_IFLNK) { @@ -367,8 +408,9 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, if (spin == 5) lwsl_err("symlink loop %s \n", path); - n = sprintf(sym, "%08lX%08lX", (unsigned long)st.st_size, - (unsigned long)st.st_mtime); + n = sprintf(sym, "%08lX%08lX", + (unsigned long)lws_vfs_get_length(wsi->u.http.fop_fd), + (unsigned long)lws_vfs_get_mod_time(wsi->u.http.fop_fd)); /* disable ranges if IF_RANGE token invalid */ @@ -382,7 +424,8 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, * he thinks he has some version of it already, * check if the tag matches */ - if (!strcmp(sym, lws_hdr_simple_ptr(wsi, WSI_TOKEN_HTTP_IF_NONE_MATCH))) { + if (!strcmp(sym, lws_hdr_simple_ptr(wsi, + WSI_TOKEN_HTTP_IF_NONE_MATCH))) { lwsl_debug("%s: ETAG match %s %s\n", __func__, uri, origin); @@ -407,6 +450,8 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, return -1; } + lws_vfs_file_close(&wsi->u.http.fop_fd); + return lws_http_transaction_completed(wsi); } } @@ -2060,7 +2105,7 @@ lws_server_socket_service(struct lws_context *context, struct lws *wsi, len = lws_ssl_capable_read(wsi, pt->serv_buf, context->pt_serv_buf_size); - lwsl_notice("%s: wsi %p read %d\r\n", __func__, wsi, len); +// lwsl_notice("%s: wsi %p read %d\r\n", __func__, wsi, len); switch (len) { case 0: lwsl_info("%s: read 0 len\n", __func__); @@ -2228,39 +2273,33 @@ lws_serve_http_file(struct lws *wsi, const char *file, const char *content_type, unsigned char *end = p + context->pt_serv_buf_size - LWS_PRE; unsigned long computed_total_content_length; int ret = 0, cclen = 8, n = HTTP_STATUS_OK; - lws_fop_flags_t fflags = O_RDONLY; + lws_fop_flags_t fflags = LWS_O_RDONLY; #if defined(LWS_WITH_RANGES) int ranges; #endif + const struct lws_plat_file_ops *fops; + const char *vpath; - if (lws_hdr_total_length(wsi, WSI_TOKEN_HTTP_ACCEPT_ENCODING)) - if (strstr("gzip", lws_hdr_simple_ptr(wsi, WSI_TOKEN_HTTP_ACCEPT_ENCODING)) && - strstr("deflate", lws_hdr_simple_ptr(wsi, WSI_TOKEN_HTTP_ACCEPT_ENCODING))) { - lwsl_debug("client indicates GZIP is acceptable\n"); - fflags |= LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP; - } - - - wsi->u.http.fop_fd = lws_vfs_file_open(lws_select_fops_by_vfs_path( - wsi->context, file), file, - &wsi->u.http.filelen, - &fflags); + /* + * We either call the platform fops .open with first arg platform fops, + * or we call fops_zip .open with first arg platform fops, and fops_zip + * open will decide whether to switch to fops_zip or stay with fops_def. + * + * If wsi->u.http.fop_fd is already set, the caller already opened it + */ if (!wsi->u.http.fop_fd) { - lwsl_err("Unable to open '%s'\n", file); - - return -1; - } - computed_total_content_length = wsi->u.http.filelen; + fops = lws_vfs_select_fops(wsi->context->fops, file, &vpath); + fflags |= lws_vfs_prepare_flags(wsi); + wsi->u.http.fop_fd = fops->LWS_FOP_OPEN(wsi->context->fops, + file, vpath, &fflags); + if (!wsi->u.http.fop_fd) { + lwsl_err("Unable to open '%s'\n", file); - if ((fflags & (LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP | - LWS_FOP_FLAG_COMPR_IS_GZIP)) == - (LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP | LWS_FOP_FLAG_COMPR_IS_GZIP)) { - if (lws_add_http_header_by_token(wsi, - WSI_TOKEN_HTTP_CONTENT_ENCODING, - (unsigned char *)"gzip, deflate", 13, &p, end)) return -1; - lwsl_debug("file is being provided in gzip\n"); + } } + wsi->u.http.filelen = lws_vfs_get_length(wsi->u.http.fop_fd); + computed_total_content_length = wsi->u.http.filelen; #if defined(LWS_WITH_RANGES) ranges = lws_ranges_init(wsi, rp, wsi->u.http.filelen); @@ -2279,6 +2318,8 @@ lws_serve_http_file(struct lws *wsi, const char *file, const char *content_type, if (lws_http_transaction_completed(wsi)) return -1; /* <0 means just hang up */ + lws_vfs_file_close(&wsi->u.http.fop_fd); + return 0; /* == 0 means we dealt with the transaction complete */ } if (ranges) @@ -2288,6 +2329,16 @@ lws_serve_http_file(struct lws *wsi, const char *file, const char *content_type, if (lws_add_http_header_status(wsi, n, &p, end)) return -1; + if ((wsi->u.http.fop_fd->flags & (LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP | + LWS_FOP_FLAG_COMPR_IS_GZIP)) == + (LWS_FOP_FLAG_COMPR_ACCEPTABLE_GZIP | LWS_FOP_FLAG_COMPR_IS_GZIP)) { + if (lws_add_http_header_by_token(wsi, + WSI_TOKEN_HTTP_CONTENT_ENCODING, + (unsigned char *)"gzip", 4, &p, end)) + return -1; + lwsl_info("file is being provided in gzip\n"); + } + #if defined(LWS_WITH_RANGES) if (ranges < 2 && content_type && content_type[0]) if (lws_add_http_header_by_token(wsi, WSI_TOKEN_HTTP_CONTENT_TYPE, diff --git a/test-server/candide.zip b/test-server/candide.zip new file mode 100644 index 0000000000000000000000000000000000000000..82a66199a701657e3b4819f36e9fe18f2379a886 GIT binary patch literal 211764 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%0D9y2Y_Z<ix$z`CXA8cBe((+T*Y)a?biwvwDSo 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�$&# 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 literal 0 HcmV?d00001 diff --git a/test-server/test-server-http.c b/test-server/test-server-http.c index 154674b9..3b3029d8 100644 --- a/test-server/test-server-http.c +++ b/test-server/test-server-http.c @@ -292,13 +292,14 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, p = buffer + LWS_PRE; end = p + sizeof(buffer) - LWS_PRE; - pss->fop_fd = lws_vfs_file_open(lws_get_fops(lws_get_context(wsi)), - leaf_path, &file_len, &flags); - + pss->fop_fd = lws_vfs_file_open( + lws_get_fops(lws_get_context(wsi)), + leaf_path, &flags); if (!pss->fop_fd) { lwsl_err("failed to open file %s\n", leaf_path); return -1; } + file_len = lws_vfs_get_length(pss->fop_fd); /* * we will send a big jpeg file, but it could be @@ -346,7 +347,7 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS); if (n < 0) { - lws_vfs_file_close(pss->fop_fd); + lws_vfs_file_close(&pss->fop_fd); return -1; } /* @@ -588,12 +589,12 @@ later: lws_callback_on_writable(wsi); break; penultimate: - lws_vfs_file_close(pss->fop_fd); + lws_vfs_file_close(&pss->fop_fd); pss->fop_fd = NULL; goto try_to_reuse; bail: - lws_vfs_file_close(pss->fop_fd); + lws_vfs_file_close(&pss->fop_fd); return -1; diff --git a/test-server/test-server-libev.c b/test-server/test-server-libev.c index b27b2ed7..e1424ce2 100644 --- a/test-server/test-server-libev.c +++ b/test-server/test-server-libev.c @@ -150,16 +150,16 @@ static const struct lws_extension exts[] = { * compressed files without decompressing the whole archive) */ static lws_fop_fd_t -test_server_fops_open(struct lws_plat_file_ops *fops, const char *filename, - lws_filepos_t *filelen, lws_fop_flags_t *flags) +test_server_fops_open(const struct lws_plat_file_ops *fops, + const char *vfs_path, const char *vpath, + lws_fop_flags_t *flags) { lws_fop_fd_t n; /* call through to original platform implementation */ - n = fops_plat.open(fops, filename, filelen, flags); + n = fops_plat.open(fops, vfs_path, vpath, flags); - lwsl_notice("%s: opening %s, ret %p, len %lu\n", __func__, filename, - n, *filelen); + lwsl_notice("%s: opening %s, ret %p\n", __func__, vfs_path, n); return n; } diff --git a/test-server/test-server-v2.0.c b/test-server/test-server-v2.0.c index 7e5a559d..96e00a50 100644 --- a/test-server/test-server-v2.0.c +++ b/test-server/test-server-v2.0.c @@ -67,11 +67,33 @@ static const struct lws_extension exts[] = { }; /* - * mount a handler for a section of the URL space + * mount handlers for sections of the URL space */ +static const struct lws_http_mount mount_ziptest = { + NULL, /* linked-list pointer to next*/ + "/ziptest", /* mountpoint in URL namespace on this vhost */ + LOCAL_RESOURCE_PATH"/candide.zip", /* handler */ + NULL, /* default filename if none given */ + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 0, + 0, + LWSMPRO_FILE, /* origin points to a callback */ + 8, /* strlen("/ziptest"), ie length of the mountpoint */ + NULL, + + { NULL, NULL } // sentinel +}; + static const struct lws_http_mount mount_post = { - NULL, /* linked-list pointer to next*/ + (struct lws_http_mount *)&mount_ziptest, /* linked-list pointer to next*/ "/formtest", /* mountpoint in URL namespace on this vhost */ "protocol-post-demo", /* handler */ NULL, /* default filename if none given */ diff --git a/test-server/test-server.c b/test-server/test-server.c index 93fb116d..74c37da2 100644 --- a/test-server/test-server.c +++ b/test-server/test-server.c @@ -122,17 +122,20 @@ static struct lws_protocols protocols[] = { */ static lws_fop_fd_t test_server_fops_open(const struct lws_plat_file_ops *fops, - const char *filename, - lws_filepos_t *filelen, + const char *vfs_path, const char *vpath, lws_fop_flags_t *flags) { lws_fop_fd_t fop_fd; /* call through to original platform implementation */ - fop_fd = fops_plat.open(fops, filename, filelen, flags); - - lwsl_info("%s: opening %s, ret %p, len %lu\n", __func__, filename, - fop_fd, (long)*filelen); + fop_fd = fops_plat.open(fops, vfs_path, vpath, flags); + + if (fop_fd) + lwsl_info("%s: opening %s, ret %p, len %lu\n", __func__, + vfs_path, fop_fd, + (long)lws_vfs_get_length(fop_fd)); + else + lwsl_info("%s: open %s failed\n", __func__, vfs_path); return fop_fd; } -- GitLab