2026-04-14  Sergey Poznyakoff  <gray@gnu.org>

        Minor fixes. Version 1.1.


2026-03-23  Sergey Poznyakoff  <gray@gnu.org>

        Version 1.0


2026-03-23  Sergey Poznyakoff  <gray@gnu.org>

        Minor changes.

        * GNUmakefile: Rewrite ChangeLog goal.
        * git2clog.pl: Remove.
        * configure.ac: Use AC_CONFIG_AUX_DIR.

2026-03-23  Sergey Poznyakoff  <gray@gnu.org>

        Update copyright years; include newer wordsplit.


2025-08-30  Sergey Poznyakoff  <gray@gnu.org>

        Minor fix

        * src/fileserv.c (get_file_resp): Unescape path.

2024-08-13  Sergey Poznyakoff  <gray@gnu.org>

        Minor fixes.

        * configure.ac: Use $abs_top_srcdir to locate "missing"
        * src/fileserv.c (fileserv_handler): Change return type to 
        MHD_HANDLER_RETTYPE.
        * src/fileserv.h (MHD_HANDLER_RETTYPE): New define.
        [HAVE_LIBWRAP] (fileserv_acl): Change return type.
        * src/wrapacl.c (fileserv_acl): Change return type.

2024-08-13  Sergey Poznyakoff  <gray@gnu.org>

        Minor change


2024-07-06  Sergey Poznyakoff  <gray@gnu.org>

        Version 0.5


2024-07-06  Sergey Poznyakoff  <gray@gnu.org>

        Update copyright years


2023-03-19  Sergey Poznyakoff  <gray@gnu.org>

        Minor fix

        * src/fileserv.c (http_server): Place MHD_OPTION_EXTERNAL_LOGGER 
        option first, to avoid runtime error on newer libmicrohttpd.

2023-03-11  Sergey Poznyakoff  <gray@gnu.org>

        Fix multiple definitions of mimetypes_error_format


2023-02-10  Sergey Poznyakoff  <gray@gnu.org>

        Update the README file


2023-02-10  Sergey Poznyakoff  <gray@gnu.org>

        Update copyright years


2023-02-10  Sergey Poznyakoff  <gray@gnu.org>

        Minor fix

        * src/fileserv.c (fileserv_handler): Don't reset *con_cls.

2022-01-17  Sergey Poznyakoff  <gray@gnu.org>

        Fix EOF check with flex >= 2.6.1


2020-06-14  Sergey Poznyakoff  <gray@gnu.org>

        Use wordsplit v1.1


2019-07-25  Sergey Poznyakoff  <gray@gnu.org>

        Update manpage


2019-07-25  Sergey Poznyakoff  <gray@gnu.org>

        Version 0.4


2019-07-25  Sergey Poznyakoff  <gray@gnu.org>

        Remove mimetest testsuite placeholder from the build


2019-07-25  Sergey Poznyakoff  <gray@gnu.org>

        Housekeeping changes.

        Remove left-over files; update/add copyright headers.

2019-07-25  Sergey Poznyakoff  <gray@gnu.org>

        Add NEWS and automatically generated ChangeLog file.

        * GNUmakefile: New file.
        * NEWS: New file.
        * git2clog.pl: New file.
        * Makefile.am: Distribute the ChangeLog file
        * README: Update.
        * configure.ac: Raise version number.

2019-07-10  Sergey Poznyakoff  <gray@gnu.org>

        Use wordsplit for a submodule


2018-06-08  Sergey Poznyakoff  <gray@gnu.org>

        Fix typo


2018-06-08  Sergey Poznyakoff  <gray@gnu.org>

        Merge branch 'master' of ssh://git.gnu.org.ua/gitroot/fileserv


2018-04-24  Sergey Poznyakoff  <gray@gnu.org>

        Minor fix

        * fileserv.c (http_log): Avoid dereferencing NULL pointers.

2018-04-23  Sergey Poznyakoff  <gray@gnu.org>

        Fix manpage


2018-04-21  Sergey Poznyakoff  <gray@gnu.org>

        Fix typo


2018-04-21  Sergey Poznyakoff  <gray@gnu.org>

        Minor fixes


2018-04-21  Sergey Poznyakoff  <gray@gnu.org>

        Version 0.3


2018-04-21  Sergey Poznyakoff  <gray@gnu.org>

        Minor changes

        * src/Makefile.am: Install fileserv to sbin.
        * src/fileserv.8: Update.
        * src/fileserv.c: New option -V

2018-04-21  Sergey Poznyakoff  <gray@gnu.org>

        Update docs


2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Bugfix


2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Restore the -a, -u, and -g options.


2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Bugfix

        * src/fileserv.c (urimap_find): Fix eventual null pointer
        dereference.

2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Update documentation. Minor bugfixes.

        * src/Makefile.am: Install fileserv.conf, unless it already
        exists.
        * src/config.c: Rename pid-file to pidfile, and mime-magic-file
        to mime-types-file. Retain old names for compatibility.
        * src/defidx.html: Minor fix.
        * src/fileserv.8: Rewrite.
        * src/fileserv.conf: New file.
        * src/idx.c (exp_filetype): Remove useless return.

2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Bugfix

        * mimetypes/err.c (mimetypes_err_format): Initialize rc

2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Start a sentinel process by default.

        * src/fileserv.c (http_server)
        (http_sentinel): New functions.
        (main): New command line option -s (single process). Start
        sentinel unless -s is given.

2018-04-20  Sergey Poznyakoff  <gray@gnu.org>

        Handle IPv4 mapped addresses


2018-04-06  Sergey Poznyakoff  <gray@gnu.org>

        Bugfix

        * src/idx.c (directory_index): Fix conditional expression.

2018-02-20  Sergey Poznyakoff  <gray@gnu.org>

        One more spelling fix


2018-02-20  Sergey Poznyakoff  <gray@gnu.org>

        Rewrite HTTP status handling

        Provide built-in description pages for HTTP errors. Custom error 
        pages may be supplied in the directory specified with the new 
        configuration statement "error-dir". Error pages can be either 
        static html files, or files with ".html.var" suffix, providing 
        language-specific versions of the error texts, negotiatable
        using the value of the Accept-Language HTTP header (similar to
        Apache's mod_negotiation).

        * src/httperr.c: New file.
        * src/lang.c: New file.
        * src/Makefile.am: Add new files.
        * src/catfile.c (catfile_suf_n)
        (catfile_suf): New functions.
        * src/config.c: New global configuration statement: error-dir.
        * src/fileserv.c (http_error): Remove. Reimplemented in
        src/httperr.c.
        (fileserv_handler): Return appropriate HTTP status codes.
        * src/fileserv.h: Add include files.
        (error_dir): New extern.
        (n2realloc)
        (catfile_suf_n,catfile_suf)
        (http_error,http_log)
        (lang_var_list_free,select_language): New protos.
        * src/mem.c (nrealloc, n2realloc): New functions.

        * src/icon.c: Reorder includes.
        * src/idx.c: Likewise.
        * src/logger.c: Likewise.
        * src/pidfile.c: Likewise.
        * src/remoteip.c: Likewise.
        * src/runas.c: Likewise.

2018-02-17  Sergey Poznyakoff  <gray@gnu.org>

        Don't bail out on out-of-memory errors in daemon mode.

        * src/catfile.c: Use malloc instead of xmalloc.
        * src/config.c (dirconfig): Change signature. Return FSE_
        constant.
        (config_init): Use calloc instead of xcalloc.
        (set_index_files,set_hidden_files): Use nrealloc instead of 
        xnrealloc.
        (all setters): Use string_copy instead of xstrdup.
        (config_parse): Return meaningful FSE_ constant.
        * src/fileserv.c (fse_to_http_code): New function.
        (find_index_files,get_file_resp): Handle out-of-memory errors.
        * src/fileserv.h (fileserv_error): New enum.
        (alloc_warn,nrealloc): New protos.
        (dirconfig): Change prototype and return value.
        * src/mem.c (alloc_warn)
        (nrealloc): New functions.

2018-02-16  Sergey Poznyakoff  <gray@gnu.org>

        Cleanup

        Move the directory listing code into a separate module. Improve
        error reporting in directory index code. Don't bail out on (most
        of the) out of memory errors.

        * src/dirls.c: New file.
        * src/dirls.h: New file.
        * src/fileserv.c (errno_to_http_code): Increase resolution.
        * src/fileserv.h (parse_template_string)
        (parse_template_file): Change return value.

2018-02-15  Sergey Poznyakoff  <gray@gnu.org>

        Listen on all available IP addresses if none is explicitly set


2018-02-15  Sergey Poznyakoff  <gray@gnu.org>

        Fix memory leak

        * src/idx.c (next_escape_node): Remove unnecessary memory
        allocation.

2018-02-15  Sergey Poznyakoff  <gray@gnu.org>

        Support for configurable icons in fancy listing mode

        * src/icon.c: New file.
        * src/Makefile.am: Add new sources.
        * src/catfile.c (catfile_n): Compress trailing slashes in dir, 
        and remove such in file. This makes sure that the returned value 
        never ends in slash, which is necessary in particular for lstat 
        to work correctly.
        * src/config.c: New global keywords: name-icon, type-icon and 
        mime-icon.
        * src/defidx.html: Update.
        * src/fileserv.h: Update.
        * src/idx.c: New expansion command: iconlookup. Rename icon to 
        iconsrc, and alt to iconalt.

2018-02-14  Sergey Poznyakoff  <gray@gnu.org>

        Fix the sorting order of the mapping list

        * src/config.c: New global keyword "index-css"
        * src/fileserv.c (urimap_add): Make sure the list is sorted by
        uri_len in descending order.
        (main): Fix the check for empty mapping list.
        * src/fileserv.h (index_css): New extern.

2018-02-14  Sergey Poznyakoff  <gray@gnu.org>

        Rewrite configuration support. Introduce global (system-wide)
        configuration file.

        * src/Makefile.am (AM_CPPFLAGS): Define SYSCONFDIR.
        * src/dirconfig.c: Rename to src/config.c. Implement global
        configuration file.
        * src/fileserv.c: Remove unnecessary options.
        * src/fileserv.h: Rewrite configuration-related prototypes and 
        declarations.

2018-02-14  Sergey Poznyakoff  <gray@gnu.org>

        Move memory and IP address functions to separate files.

        * src/Makefile.am: Add new sources.
        * src/mem.c: New file.
        * src/remoteip.c: New file.

2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Improve index generation

        * mimetypes/eval.c (get_file_type): Return "directory", for
        directories.
        * src/defidx.html: Use $FILETYPE if no icon is available.
        * src/idx.c: New variable $FILETYPE.

2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Bugfixes


2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Bugfixes


2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Additional checks for valid file names.

        * src/dirconfig.c (set_index_files): Bugfix.
        (dirconfig_keyword): New keyword hidden-files.
        (dirconfig_free): Free hidden files regexes.
        (filename_is_valid, filename_is_special)
        (filename_is_hidden): New functions.
        * src/fileserv.c (xnrealloc): New function.
        (get_file_resp): Additional checks for allowed filenames.
        * src/fileserv.h (xnrealloc): new proto.
        (DIRCONFIG): New members: hidden_files_rxv, hidden_files_rxc.
        (filename_is_special, filename_is_hidden,filename_is_valid): New
        protos.
        * src/idx.c: Skip hidden files.

2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Sort produced directory listings.

        * src/defidx.html: Make query arguments configurable.
        * src/fileserv.c (urimap_find_dir): Match exact directory name,
        as well as the one followed by sud-directory components.
        (get_file_resp): Check for symlinks first. Pass sorting
        arguments to directory_index.
        * src/fileserv.h (INDEX_SORT_COL, INDEX_SORT_ORD): New
        datatypes.
        (directory_index)
        (index_sort_col_from_arg)
        (index_sort_col_to_arg)
        (index_sort_ord_from_arg)
        (index_sort_ord_to_arg): New protos.
        * src/idx.c (IDXLIST): Add count member.
        (idxlist_init,idxlist_append): New functions.
        (idxlist_scan): Append '/' to the names of subdirectories.
        (idxlist_qsort): New function.
        (index_sort_col_from_arg)
        (index_sort_col_to_arg)
        (index_sort_ord_from_arg)
        (index_sort_ord_to_arg): New functions.
        (EVAL_ENV): Add sorting order and column members (ord, col).
        (template_command): New commands: updir, sortorder.
        (directory_index): Sort the listing.

2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Minor improvements

        * fileserv.c (get_file_name): Rename to get_file_resp; Determine
        file type and return it in FILE_RESP. Make redirect location
        absolute.

2018-02-13  Sergey Poznyakoff  <gray@gnu.org>

        Initial support for auto-generated directory indexes

        * src/Makefile.am: Add new sources. Build defidx.h
        * src/defidx.html: New file.
        * src/dirconfig.c (dirconfig_free): Handle NULL argument.
        * src/fileserv.c (index_css, tmpdir): New globals.
        (get_file_name): Rewrite.
        (fileserv_handler): Rewrite.
        * src/fileserv.h (index_css, tmpdir): New externs.
        * src/ftoc.sed: New file.
        * src/idx.c: New file.
        * src/wordsplit.c (expvar): Gracefully handle NULL values in 
        ENV_KV environment.
        * src/wordsplit.h: Fix typo in a comment.

2018-02-12  Sergey Poznyakoff  <gray@gnu.org>

        Introduce per-directory configuration files.

        * src/fileserv.c: Use sys/queue.h to maintain lists. The header
        (or its like) will in the future be included in the sources.
        (index_file): Remove.
        (get_file_name): Rewrite. Take into account directory
        configuration.
        * src/fileserv.h (DIRCONFIG): New data type.
        (DIRCONFIG_INITIALIZER): New macro.
        (xstrdup)
        (dirconfig, dirconfig_parse)
        (dirconfig_init, dirconfig_free)
        (catfile_n, catfile): New functions.

        * src/Makefile.am: Add new sources.
        * src/catfile.c: New file.
        * src/dirconfig.c: New file.
        * src/wordsplit.c: New file.
        * src/wordsplit.h: New file.

2018-02-09  Sergey Poznyakoff  <gray@gnu.org.ua>

        Return correct response code if the file cannot be opened or a
        directory is requested

        * src/fileserv.c (fileserv_handler): Derive the response code
        from the system errno.

2018-01-13  Sergey Poznyakoff  <gray@gnu.org.ua>

        Bugfixes

        * mimetypes/err.c (print_locus_range): Fix output length.
        * mimetypes/grammar.y (rule_line): Initialize locus range.
        * mimetypes/prloc.c (locus_range_format): Fix memory overrun; 
        terminate output with null byte.
        * src/fileserv.c: New option -i (index page).

2018-01-13  Sergey Poznyakoff  <gray@gnu.org.ua>

        libmimetypes: Uniformly prefix debug envvars with
        MIMETYPES_DEBUG_

         MIMETYPES_DEBUG_LEX  - produce lexer traces
        MIMETYPES_DEBUG_GRAM - produce grammar traces
        MIMETYPES_DEBUG_EVAL - produce evaluator traces

2018-01-13  Sergey Poznyakoff  <gray@gnu.org.ua>

        Various fixes in libmimetypes

        * mimetypes/Makefile.am: Rename yy prefix in grammar and lexer.
        * mimetypes/grammar.y (yyerror, yylex): Provide extern
        declarations.
        * mimetypes/lexer.l (yylval, yylloc, yyerror): Provide defines
        to compensate for --name-prefix in bison (see notes in
        Makefile.am). Fix improper usage of yyerror.

2018-01-07  Sergey Poznyakoff  <gray@gnu.org.ua>

        Uniformly handle out of memory conditions


2018-01-07  Sergey Poznyakoff  <gray@gnu.org.ua>

        Avoid calling perror in libmimetypes


2018-01-06  Sergey Poznyakoff  <gray@gnu.org.ua>

        Switch to the deep directory structure.


2018-01-03  Sergey Poznyakoff  <gray@gnu.org>

        Add mimetypes library.

        Ported from GNU Mailutils.

2017-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

        Fix typo


2017-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

        Version 0.2


2017-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

        Improve logging

        * fileserv.c (open_node): Free result once no longer needed.
        (http_log): Determine remote IP from X-Forwarded-For, or another 
        header given with the -x option.
        * fileserv.8: Document X-Forwarded-For processing and the
        supporting options.

2017-09-15  Sergey Poznyakoff  <gray@gnu.org.ua>

        Add documentation.


2017-09-11  Sergey Poznyakoff  <gray@gnu.org.ua>

        Bugfixes

        * fileserv.c (urimap_add): Fix size calculation.
        * runas.c (runas): Fix size argument to setgroups.

2017-09-08  Sergey Poznyakoff  <gray@gnu.org.ua>

        Initial commit


Local Variables:
mode: change-log
version-control: never
buffer-read-only: t
End:
