Remove sendfile. It does not work for TLS. - geomyidae - A small C-based gopherd.
 (HTM) git clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit a2eaebc870ac0a24f35beef0bf8ffa786d5933a3
 (DIR) parent f1683459ab74d68e6ffb9e92687aab8aa7619c32
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Sun,  7 Jun 2020 21:36:10 +0200
       
       Remove sendfile. It does not work for TLS.
       
       Diffstat:
         M ind.c                               |      48 -------------------------------
       
       1 file changed, 0 insertions(+), 48 deletions(-)
       ---
 (DIR) diff --git a/ind.c b/ind.c
       @@ -19,14 +19,6 @@
        #include <sys/ioctl.h>
        #include <limits.h>
        
       -/* for sendfile(2) */
       -#ifdef __linux__
       -#include <sys/sendfile.h>
       -#elif defined(__FreeBSD__) || defined(__DragonFly__)
       -#include <sys/types.h>
       -#include <sys/uio.h>
       -#endif
       -
        #include "arg.h"
        #include "ind.h"
        #include "handlr.h"
       @@ -121,40 +113,12 @@ xsendfile(int fd, int sock)
        
                USED(optval);
        
       -/* Tell the kernel to not send small packets on every write. */
       -#ifdef TCP_CORK
       -        optval = 1;
       -        setsockopt(sock, IPPROTO_TCP, TCP_CORK, &optval, sizeof(int));
       -#endif
       -
       -/* TCP_CORK for FreeBSD */
       -#ifdef TCP_NOPUSH
       -        optval = 1;
       -        setsockopt(sock, IPPROTO_TCP, TCP_NOPUSH, &optval, sizeof(int));
       -#endif
       -
       -/*
       - * Enforce Nagle algorithm so big packets are sent out, if possible.
       - */
       -#ifdef TCP_NODELAY
       -        optval = 0;
       -        setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &optval, sizeof(int));
       -#endif
       -
                if (fstat(fd, &st) >= 0) {
                        if ((bufsiz = st.st_blksize) < BUFSIZ)
                                bufsiz = BUFSIZ;
                        count = st.st_size;
                }
        
       -/*
       - * If we are on the said operating systems, use some special method for data
       - * transfer.
       - */
       -#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__)
       -        count = 0;
       -#endif
       -
                if (count == 0) {
                        sendb = xmalloc(bufsiz);
                        while ((len = read(fd, sendb, bufsiz)) > 0) {
       @@ -172,18 +136,6 @@ xsendfile(int fd, int sock)
                        return 0;
                }
        
       -/* Different sendfile(2) implementations on different platforms. :/ */
       -#ifdef __linux__
       -        for (sent = 0; count > 0; count -= sent) {
       -                sent = sendfile(sock, fd, 0, count);
       -                if (sent < 0)
       -                        return -1;
       -        }
       -#endif
       -#if defined(__FreeBSD__) || defined(__DragonFly__)
       -        return sendfile(fd, sock, 0, count, NULL, NULL, 0);
       -#endif
       -
                return 0;
        }