Sunday, January 30, 2022

Re: [update] net/usockets-0.8.1, www/uwebsockets-20.8.0, www/purritobin-0.6.7

On 1/26/22 05:12, Omar Polo wrote:
> Aisha Tammy <openbsd.ports@aisha.cc> writes:
>
>> ping
> Hello,
>
> The uwebsockets diff looks fine to me.
>
> The usockets one I think it's missing a `c' for ar when creating the
> libusockets.a archive (otherwise it is still created but it issues a
> warning.) In the test target of files/Makefile CC should be used
> instead of CXX, as hammer_test.c is a C file. Tests fails around 6%
> here with "FAILED TO START CONNECTION, WILL EXIT NOW" but I assume it's
> due to the file descriptor limits. I haven't tried to raise them. It's
> also missing WANTLIB += m (as reported by make port-lib-depends-check.)
>
> The purritobin diff looks fine, just some comments:
>
> - nit: there was a line indented with spaces in the httpd example.
>
> - pkg/README mentions share/purritobin but now it's share/PurritoBin
>
> - it's expected for /var/www/purritobin to be empty? It should be
> mentioned somewhere to copy /usr/local/share/PurritoBin/*.html there?
> It's quite intuitive IMHO, but asking anyway. Otherwise it works,
> i.e. I can upload stuff with purr :D
Hi!
Thanks a lot for the feedback and changes Omar, these changes are fine
with me.

I think it should be fine to not manually put the examples in
/var/www/purritobin.
It is mentioned in the README so it should be fine

> I've not played too much with the web interface, but I think it should
> be mentioned somewhere that /usr/local/share/PurritoBin/index.html uses
> bsd.ca by default and that users that want to deploy their own instance
> need to change PURRITOBIN_URL (diff below doesn't address this.)

Same with the above point, I think as it is an example (and that anyone
who wants to deal with crypto stuff should be paying attention) it
should be
fine. Plus the webpage is kept intentionally simple to let others hack
on it.
> One general nit: I wouldn't move PKGNAME. The previous place was as per
> Makefile.template and (very) slightly reduces the churn.
>
> Here's an updated diff that address most points above.
>
> Cheers,
>
> Omar Polo
>

Thanks a lot again,
Aisha


> Index: net/usockets/Makefile
> ===================================================================
> RCS file: /home/cvs/ports/net/usockets/Makefile,v
> retrieving revision 1.5
> diff -u -p -r1.5 Makefile
> --- net/usockets/Makefile 11 Dec 2020 22:34:51 -0000 1.5
> +++ net/usockets/Makefile 26 Jan 2022 10:44:03 -0000
> @@ -1,40 +1,33 @@
> # $OpenBSD: Makefile,v 1.5 2020/12/11 22:34:51 sthen Exp $
>
> COMMENT = eventing, networking & crypto for async applications
> -CATEGORIES = net
> -
> -VERSION = 0.6.0
> -REVISION = 1
> -
> -DISTNAME = usockets-${VERSION}
> PKGNAME = ${DISTNAME:L}
>
> -SHARED_LIBS = usockets 1.0
> +CATEGORIES = net
> +
> +SHARED_LIBS = usockets 2.0
>
> GH_ACCOUNT = uNetworking
> GH_PROJECT = uSockets
> -#GH_TAGNAME = v0.6.0
> -# cstdlib include error
> -GH_COMMIT = 7683672d87067cd75b854f4e36b9820f4809a4be
> -
> +GH_TAGNAME = v0.8.1
>
> MAINTAINER = Aisha Tammy <openbsd@aisha.cc>
>
> # Apache 2.0
> PERMIT_PACKAGE = Yes
>
> -WANTLIB += ${COMPILER_LIBCXX} crypto ssl uv
> +WANTLIB += ${COMPILER_LIBCXX} crypto m ssl uv
>
> # C11 C++17
> COMPILER = base-clang ports-gcc
>
> LIB_DEPENDS = devel/libuv
>
> -USE_GMAKE = Yes
> -MAKE_FLAGS = CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
> - CC="${CC}" CXX="${CXX}" \
> - LIBusockets_VERSION="${LIBusockets_VERSION}"
> +MAKE_ENV = LIBusockets_VERSION="${LIBusockets_VERSION}"
> +
> +# tests need A LOT of file desrciptors ~5000-6000
>
> -NO_TEST = Yes
> +post-patch:
> + cp "${FILESDIR}"/{Makefile,libusockets.pc.in,localhost.conf} "${WRKSRC}"
>
> .include <bsd.port.mk>
> Index: net/usockets/distinfo
> ===================================================================
> RCS file: /home/cvs/ports/net/usockets/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- net/usockets/distinfo 11 Dec 2020 22:33:22 -0000 1.4
> +++ net/usockets/distinfo 26 Jan 2022 09:37:06 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (usockets-0.6.0-7683672d.tar.gz) = 0OooGCHD8ezNIcaB1zDPK6RQLGGYGZJb24Vemjlat7c=
> -SIZE (usockets-0.6.0-7683672d.tar.gz) = 57634
> +SHA256 (uSockets-0.8.1.tar.gz) = OzO1kkqSV3hU4jJrPi05OEnsAL64ZaEnG/JMDyEMwdY=
> +SIZE (uSockets-0.8.1.tar.gz) = 65470
> Index: net/usockets/files/Makefile
> ===================================================================
> RCS file: net/usockets/files/Makefile
> diff -N net/usockets/files/Makefile
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ net/usockets/files/Makefile 26 Jan 2022 10:14:20 -0000
> @@ -0,0 +1,38 @@
> +# $OpenBSD$
> +
> +PREFIX ?= /usr/local
> +LIBDIR ?= "$(PREFIX)/lib"
> +INCLUDEDIR ?= "$(PREFIX)/include"
> +
> +PKG_CONFIG ?= pkg-config
> +
> +LIBTARGET = libusockets.so.$(LIBusockets_VERSION)
> +
> +REQUIRES = libcrypto libssl libuv
> +COMMON_FLAGS = -Isrc -DLIBUS_USE_OPENSSL -DLIBUS_USE_LIBUV `$(PKG_CONFIG) --cflags $(REQUIRES)`
> +
> +CFLAGS += -std=c11 -fPIC $(COMMON_FLAGS)
> +CXXFLAGS += -std=c++17 -fPIC $(COMMON_FLAGS)
> +LDFLAGS += `$(PKG_CONFIG) --libs $(REQUIRES)`
> +
> +all:
> + $(CC) $(CFLAGS) -c src/*.c src/eventing/*.c src/crypto/*.c
> + $(CXX) $(CXXFLAGS) -c src/crypto/*.cpp
> + $(AR) rcvs libusockets.a *.o
> + $(CXX) $(CXXFLAGS) -shared -o $(LIBTARGET) *.o -Wl,-soname,$(LIBTARGET) $(LDFLAGS)
> + sed -e "s:@PREFIX@:$(PREFIX):" -e "s:@VERSION@:$(LIBusockets_VERSION):" libusockets.pc.in > libusockets.pc
> +
> +install:
> + install -d "$(LIBDIR)/pkgconfig" "$(INCLUDEDIR)"
> + install -m 644 src/libusockets.h "$(INCLUDEDIR)/"
> + install -m 644 $(LIBTARGET) "$(LIBDIR)/"
> + install -m 644 libusockets.a "$(LIBDIR)/"
> + install -m 644 libusockets.pc "$(LIBDIR)/pkgconfig/"
> +
> +test:
> + rm -f localhost.pem localhost.crt
> + openssl req -x509 -out localhost.crt -keyout localhost.pem -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' -extensions EXT -config localhost.conf
> + $(CC) $(CXXFLAGS) libusockets.a examples/hammer_test.c -o hammer_test $(LDFLAGS)
> + ./hammer_test
> +
> +.PHONY: all install test
> Index: net/usockets/files/libusockets.pc.in
> ===================================================================
> RCS file: net/usockets/files/libusockets.pc.in
> diff -N net/usockets/files/libusockets.pc.in
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ net/usockets/files/libusockets.pc.in 26 Jan 2022 09:37:06 -0000
> @@ -0,0 +1,13 @@
> +prefix=@PREFIX@
> +libdir=${prefix}/lib
> +includedir=${prefix}/include
> +
> +Name: uSockets
> +Version: @VERSION@
> +Description: eventing, networking and crypto for async applications.
> +URL: https://github.com/uNetworking/uSockets
> +
> +Cflags: -I${includedir}
> +Libs: -L${libdir} -lusockets
> +Libs.private: -lcrypto -lssl
> +Requires.private: libuv
> Index: net/usockets/files/localhost.conf
> ===================================================================
> RCS file: net/usockets/files/localhost.conf
> diff -N net/usockets/files/localhost.conf
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ net/usockets/files/localhost.conf 26 Jan 2022 09:37:06 -0000
> @@ -0,0 +1,8 @@
> +[dn]
> +CN=localhost
> +[req]
> +distinguished_name = dn
> +[EXT]
> +subjectAltName=DNS:localhost
> +keyUsage=digitalSignature
> +extendedKeyUsage=serverAuth
> Index: net/usockets/patches/patch-Makefile
> ===================================================================
> RCS file: net/usockets/patches/patch-Makefile
> diff -N net/usockets/patches/patch-Makefile
> --- net/usockets/patches/patch-Makefile 11 Dec 2020 22:33:22 -0000 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,98 +0,0 @@
> -$OpenBSD: patch-Makefile,v 1.3 2020/12/11 22:33:22 sthen Exp $
> -
> -add shared + static lib + pkg-config file
> -remove -flto -O3
> -
> -Index: Makefile
> ---- Makefile.orig
> -+++ Makefile
> -@@ -1,60 +1,40 @@
> --# WITH_OPENSSL=1 enables OpenSSL 1.1+ support or BoringSSL
> --# For now we need to link with C++ for OpenSSL support, but should be removed with time
> --ifeq ($(WITH_OPENSSL),1)
> -- override CFLAGS += -DLIBUS_USE_OPENSSL
> -- # With problems on macOS, make sure to pass needed LDFLAGS required to find these
> -- override LDFLAGS += -lssl -lcrypto -lstdc++
> --else
> -- # WITH_WOLFSSL=1 enables WolfSSL 4.2.0 support (mutually exclusive with OpenSSL)
> -- ifeq ($(WITH_WOLFSSL),1)
> -- # todo: change these
> -- override CFLAGS += -DLIBUS_USE_WOLFSSL -I/usr/local/include
> -- override LDFLAGS += -L/usr/local/lib -lwolfssl
> -- else
> -- override CFLAGS += -DLIBUS_NO_SSL
> -- endif
> --endif
> -+DESTDIR ?=
> -
> --# WITH_LIBUV=1 builds with libuv as event-loop
> --ifeq ($(WITH_LIBUV),1)
> -- override CFLAGS += -DLIBUS_USE_LIBUV
> -- override LDFLAGS += -luv
> --endif
> -+PREFIX ?= "/usr/local"
> -+LIBDIR ?= "$(PREFIX)/lib"
> -+INCLUDEDIR ?= "$(PREFIX)/include"
> -
> --# WITH_GCD=1 builds with libdispatch as event-loop
> --ifeq ($(WITH_GCD),1)
> -- override CFLAGS += -DLIBUS_USE_GCD
> -- override LDFLAGS += -framework CoreFoundation
> --endif
> -+# OpenBSD specific library version
> -+LIBTARGET ?= libusockets.so.$(LIBusockets_VERSION)
> -
> --# WITH_ASAN builds with sanitizers
> --ifeq ($(WITH_ASAN),1)
> -- override CFLAGS += -fsanitize=address -g
> -- override LDFLAGS += -lasan
> --endif
> -+PKG_CONFIG ?= pkg-config
> -
> --override CFLAGS += -std=c11 -Isrc
> --override LDFLAGS += uSockets.a
> -+override LDFLAGS += -lstdc++ -lcrypto -lssl `$(PKG_CONFIG) --libs libuv`
> -
> --# By default we build the uSockets.a static library
> --default:
> -- rm -f *.o
> -- $(CC) $(CFLAGS) -flto -O3 -c src/*.c src/eventing/*.c src/crypto/*.c
> --# For now we do rely on C++17 for OpenSSL support but we will be porting this work to C11
> --ifeq ($(WITH_OPENSSL),1)
> -- $(CXX) $(CXXFLAGS) -std=c++17 -flto -O3 -c src/crypto/*.cpp
> --endif
> -- $(AR) rvs uSockets.a *.o
> -+COMMON_FLAGS = -DLIBUS_USE_OPENSSL -DLIBUS_USE_LIBUV -Isrc `$(PKG_CONFIG) --cflags libuv`
> -+override CFLAGS += $(COMMON_FLAGS)
> -+override CXXFLAGS += $(COMMON_FLAGS)
> -
> --# Builds all examples
> --.PHONY: examples
> --examples: default
> -- for f in examples/*.c; do $(CC) -flto -O3 $(CFLAGS) -o $$(basename "$$f" ".c") "$$f" $(LDFLAGS); done
> -+all:
> -+ $(CC) -std=c11 -fPIC $(CFLAGS) -c src/*.c src/eventing/*.c src/crypto/*.c
> -+ $(CXX) -std=c++17 -fPIC $(CXXFLAGS) -c src/crypto/*.cpp
> -+ $(AR) rvs libusockets.a *.o
> -+ $(CC) -shared -o $(LIBTARGET) *.o -Wl,-soname,$(LIBTARGET) $(LDFLAGS)
> -+ sed -e "s:@PREFIX@:$(PREFIX):" -e "s:@VERSION@:$(LIBusockets_VERSION):" \
> -+ libusockets.pc.in > libusockets.pc
> -
> --swift_examples:
> -- swiftc -O -I . examples/swift_http_server/main.swift uSockets.a -o swift_http_server
> -+install:
> -+ install -d "$(LIBDIR)/pkgconfig" "$(INCLUDEDIR)"
> -+ install -m 644 src/libusockets.h "$(INCLUDEDIR)"
> -+ install -m 755 $(LIBTARGET) "$(LIBDIR)"
> -+ install -m 755 libusockets.a "$(LIBDIR)"
> -+ install -m 644 libusockets.pc "$(LIBDIR)/pkgconfig"
> -
> - clean:
> - rm -f *.o
> - rm -f *.a
> -- rm -rf .certs
> -+ rm -f *.so
> -+ rm -f libusockets.pc
> -+
> -+.PHONY: all install clean
> -+
> Index: net/usockets/patches/patch-examples_hammer_test_c
> ===================================================================
> RCS file: net/usockets/patches/patch-examples_hammer_test_c
> diff -N net/usockets/patches/patch-examples_hammer_test_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ net/usockets/patches/patch-examples_hammer_test_c 26 Jan 2022 09:37:06 -0000
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +Index: examples/hammer_test.c
> +--- examples/hammer_test.c.orig
> ++++ examples/hammer_test.c
> +@@ -403,9 +403,8 @@ int main() {
> +
> + // these are ignored for non-SSL
> + struct us_socket_context_options_t options = {};
> +- options.key_file_name = "/home/alexhultman/uWebSockets.js/misc/key.pem";
> +- options.cert_file_name = "/home/alexhultman/uWebSockets.js/misc/cert.pem";
> +- options.passphrase = "1234";
> ++ options.key_file_name = "localhost.pem";
> ++ options.cert_file_name = "localhost.crt";
> +
> + http_context = us_create_socket_context(SSL, loop, sizeof(struct http_context), options);
> +
> Index: net/usockets/patches/patch-libusockets_pc_in
> ===================================================================
> RCS file: net/usockets/patches/patch-libusockets_pc_in
> diff -N net/usockets/patches/patch-libusockets_pc_in
> --- net/usockets/patches/patch-libusockets_pc_in 11 Dec 2020 22:34:51 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,20 +0,0 @@
> -$OpenBSD: patch-libusockets_pc_in,v 1.1 2020/12/11 22:34:51 sthen Exp $
> -
> -Index: libusockets.pc.in
> ---- libusockets.pc.in.orig
> -+++ libusockets.pc.in
> -@@ -0,0 +1,14 @@
> -+prefix=@PREFIX@
> -+libdir=${prefix}/lib
> -+includedir=${prefix}/include
> -+
> -+Name: uSockets
> -+Version: @VERSION@
> -+Description: eventing, networking and crypto for async applications.
> -+URL: https://github.com/uNetworking/uSockets
> -+
> -+Cflags: -I${includedir}
> -+Libs: -L${libdir} -lusockets
> -+Libs.private: -lcrypto -lssl
> -+Requires.private: libuv
> -+
> Index: www/purritobin/Makefile
> ===================================================================
> RCS file: /home/cvs/ports/www/purritobin/Makefile,v
> retrieving revision 1.4
> diff -u -p -r1.4 Makefile
> --- www/purritobin/Makefile 10 Jan 2021 06:08:24 -0000 1.4
> +++ www/purritobin/Makefile 26 Jan 2022 10:40:22 -0000
> @@ -1,12 +1,12 @@
> # $OpenBSD $
>
> COMMENT = minimalistic command line pastebin
> -PKGNAME = ${DISTNAME:L}
> CATEGORIES = www net
>
> GH_ACCOUNT = PurritoBin
> GH_PROJECT = PurritoBin
> -GH_TAGNAME = 0.3.3
> +GH_TAGNAME = 0.6.7
> +PKGNAME = ${DISTNAME:L}
>
> HOMEPAGE = https://bsd.ac/
> MAINTAINER = Aisha Tammy <openbsd@aisha.cc>
> @@ -15,24 +15,28 @@ MAINTAINER = Aisha Tammy <openbsd@aisha.
> PERMIT_PACKAGE = Yes
>
> # uses pledge()
> -WANTLIB += ${COMPILER_LIBCXX} c m usockets
> +WANTLIB += ${COMPILER_LIBCXX} c lmdb usockets
> +
> +# C++17
> +COMPILER = base-clang ports-gcc
>
> -# C++2a
> -COMPILER = base-clang
> +MODULES = devel/meson
>
> -BUILD_DEPENDS = www/uwebsockets
> +CXXFLAGS += -I${LOCALBASE}/include
>
> -LIB_DEPENDS = net/usockets
> +CONFIGURE_ENV = LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
>
> -NO_TEST = Yes
> +# ssl tests fail
> +CONFIGURE_ARGS= -Denable_testing=true \
> + -Dtest_shuf=gshuf \
> + -Dtest_seq=gseq
>
> -post-install:
> - ${INSTALL_DATA_DIR} ${PREFIX}/share/purritobin
> - ${INSTALL_DATA} ${WRKSRC}/frontend/paste.html \
> - ${PREFIX}/share/purritobin
> - ${INSTALL_DATA} ${WRKSRC}/clients/POSIX_shell_client.sh \
> - ${PREFIX}/share/purritobin
> +BUILD_DEPENDS = databases/lmdbxx \
> + net/curl \
> + sysutils/coreutils \
> + www/uwebsockets
>
> -FAKE_FLAGS = PREFIX=${TRUEPREFIX}
> +LIB_DEPENDS = databases/lmdb \
> + net/usockets
>
> .include <bsd.port.mk>
> Index: www/purritobin/distinfo
> ===================================================================
> RCS file: /home/cvs/ports/www/purritobin/distinfo,v
> retrieving revision 1.3
> diff -u -p -r1.3 distinfo
> --- www/purritobin/distinfo 12 Dec 2020 15:02:35 -0000 1.3
> +++ www/purritobin/distinfo 26 Jan 2022 09:37:06 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (PurritoBin-0.3.3.tar.gz) = lmjTCXskzvTd8eCKxlGfClbEfk6COuqh90nqHSeQ1wc=
> -SIZE (PurritoBin-0.3.3.tar.gz) = 13155
> +SHA256 (PurritoBin-0.6.7.tar.gz) = ulpbdPB3lCpfNJRfW/oEqd8yJ0+NNdL4wwGhRuSQWvg=
> +SIZE (PurritoBin-0.6.7.tar.gz) = 20461
> Index: www/purritobin/pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/www/purritobin/pkg/PLIST,v
> retrieving revision 1.2
> diff -u -p -r1.2 PLIST
> --- www/purritobin/pkg/PLIST 12 Dec 2020 15:02:35 -0000 1.2
> +++ www/purritobin/pkg/PLIST 26 Jan 2022 09:37:06 -0000
> @@ -4,12 +4,13 @@
> @rcscript ${RCDIR}/purritobin
> @bin bin/purrito
> @man man/man1/purrito.1
> +share/PurritoBin/
> +share/PurritoBin/POSIX_shell_client.sh
> +share/PurritoBin/about.html
> +share/PurritoBin/index.html
> +share/PurritoBin/paste.html
> share/doc/pkg-readmes/${PKGSTEM}
> @owner _purritobin
> @group _purritobin
> +@sample /var/db/purritobin/
> @sample /var/www/purritobin/
> -@owner
> -@group
> -share/purritobin/
> -share/purritobin/POSIX_shell_client.sh
> -share/purritobin/paste.html
> Index: www/purritobin/pkg/README
> ===================================================================
> RCS file: /home/cvs/ports/www/purritobin/pkg/README,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 README
> --- www/purritobin/pkg/README 11 Aug 2020 21:43:59 -0000 1.1.1.1
> +++ www/purritobin/pkg/README 26 Jan 2022 11:16:13 -0000
> @@ -13,15 +13,18 @@ You need to set at least the following o
>
> rcctl set purritobin flags -d <domain-name>
>
> -To look at all the possible options and descriptions
> +To take a quick look at all the possible options and descriptions
> purrito -h
>
> +For an in-depth explanation
> + man purrito
> +
>
> Exposing a webserver
> ====================
>
> PurritoBin saves all the pastes to a single folder.
> -By default it is the folder /var/www/purritobin.
> +By default it is the folder ${LOCALSTATEDIR}/www/purritobin.
> So it is possible to just expose the folder via httpd(8)
>
> sample httpd(8) configuration
> @@ -30,6 +33,10 @@ http_port=80
> https_port=443
> ext_if=egress
>
> +# so that non suffixed paste files are recognized as
> +# plain text files
> +default type text/plain
> +
> server "bsd.ac" {
> alias "www.bsd.ac"
> listen on $ext_if port $http_port
> @@ -44,29 +51,97 @@ server "bsd.ac" {
>
> server "bsd.ac" {
> alias "www.bsd.ac"
> - listen on egress port $https_port
> + listen on $ext_if port $https_port
> + tls {
> + certificate "/etc/ssl/bsd.ac.crt"
> + key "/etc/ssl/private/bsd.ac.key"
> + }
> root "/purritobin"
> directory index "index.html"
> }
>
>
> +sample nginx(8) configuration
> +-----------------------------
> +user nginx;
> +worker_processes 1;
> +error_log /var/log/nginx/error.log warn;
> +pid /var/run/nginx.pid;
> +
> +events {
> + worker_connections 1024;
> +}
> +
> +http {
> + include /etc/nginx/mime.types;
> + default_type text/plain;
> + charset utf-8;
> + log_format main '$remote_addr - $remote_user [$time_local] "$request" '
> + '$status $body_bytes_sent "$http_referer" '
> + '"$http_user_agent" "$http_x_forwarded_for"';
> + access_log /var/log/nginx/access.log main;
> + sendfile on;
> + keepalive_timeout 65;
> +
> + server {
> + listen 80 default_server;
> + location / {
> + return 301 https://$host$request_uri;
> + }
> + location /.well-known/acme-challenge/ {
> + alias /var/www/acme-challenge/;
> + }
> + }
> +
> + server {
> + listen 443 ssl;
> + server_name bsd.ac www.bsd.ac;
> +
> + ssl_certificate /etc/ssl/bsd.ac.crt;
> + ssl_certificate_key /etc/ssl/private/bsd.ac.key;
> +
> + # to allow online paste submission
> + add_header 'Access-Control-Allow-Origin' 'https://bsd.ac:42069';
> +
> + root /var/www/purritobin;
> + location /.well-known/acme-challenge/ {
> + alias /var/www/acme-challenge/;
> + }
> + }
> +}
> +
> +
> Encrypted pastes
> ================
>
> The default clients of PurritoBin are installed to
> -${PREFIX}/share/purritobin/POSIX_shell_clients.sh
> +${PREFIX}/share/PurritoBin/POSIX_shell_client.sh
>
> To enable server side support for these pastes
> make sure that paste.html file located at
> -${PREFIX}/share/purritobin/paste.html
> +${PREFIX}/share/PurritoBin/paste.html
> is available for viewing, typically possible by just
> -dumping the file into /var/www/purritobin
> +dumping the file into ${LOCALSTATEDIR}/www/purritobin
> +
> +
> +Online pasting through web-portal
> +=================================
> +
> +To paste using the javascript form, the CORS header
> +from both the paste server and the http server need to
> +allow each other in the "Access-Control-Allow-Origin"
> +HTTP header.
> +
> +An example for setting the CORS header in purrito(1)
> +is available in the man page. As httpd(8) does not allow
> +setting HTTP headers, relayd(8) can be used as a workaround,
> +or the above nginx(8) example can be used.
>
>
> PF bruteforce blocking
> ======================
>
> -PurritoBin exposes a port using -p <port> (by default: 42069) for
> +PurritoBin exposes ports using -p <port> (by default: 42069) for
> clients to post their pastes.
> PurritoBin does not enforce any rate limiting for number of pastes
> at a time as this can be done much better using pf(4)
> @@ -83,7 +158,7 @@ pass # establish keep-state
>
> block quick from <bruteforce>
>
> -# no more than one connection every 3 seconds
> +# no more than 1 connection every 3 seconds
> pass in on egress proto tcp from any to any port $purritobin_port \
> flags S/SA keep state \
> (max-src-conn-rate 1/3, \
> @@ -94,20 +169,3 @@ block return in on ! lo0 proto tcp to po
>
> # Port build user does not need network
> block return out log proto {tcp udp} user _pbuild
> -
> -
> -Cron job for cleaning
> -=====================
> -
> -PurritoBin leaves the cleaning upto the webmaster.
> -Fortunately, due to the simple storage mechanism, you can
> -do the cleaning very easily in daily.local
> -
> -sample daily.local for cron cleanup
> ------------------------------------
> -
> -find /var/www/purritobin/ -type f ! -name index.html \
> - ! -name paste.html \
> - -delete
> -
> -This clears all pastes which were done during the day.
> Index: www/uwebsockets/Makefile
> ===================================================================
> RCS file: /home/cvs/ports/www/uwebsockets/Makefile,v
> retrieving revision 1.4
> diff -u -p -r1.4 Makefile
> --- www/uwebsockets/Makefile 11 Dec 2020 22:36:25 -0000 1.4
> +++ www/uwebsockets/Makefile 26 Jan 2022 10:42:24 -0000
> @@ -6,7 +6,7 @@ CATEGORIES = www
>
> GH_ACCOUNT = uNetworking
> GH_PROJECT = uWebSockets
> -GH_TAGNAME = v18.17.0
> +GH_TAGNAME = v20.9.0
>
> MAINTAINER = Aisha Tammy <openbsd@aisha.cc>
>
> @@ -21,9 +21,7 @@ NO_BUILD = Yes
> NO_TEST = Yes
>
> do-install:
> - ${INSTALL_DATA_DIR} ${PREFIX}/include/uWebSockets/f2
> + ${INSTALL_DATA_DIR} ${PREFIX}/include/uWebSockets
> ${INSTALL_DATA} ${WRKSRC}/src/*.h ${PREFIX}/include/uWebSockets
> - ${INSTALL_DATA} ${WRKSRC}/src/f2/*.hpp \
> - ${PREFIX}/include/uWebSockets/f2
>
> .include <bsd.port.mk>
> Index: www/uwebsockets/distinfo
> ===================================================================
> RCS file: /home/cvs/ports/www/uwebsockets/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- www/uwebsockets/distinfo 11 Dec 2020 22:36:25 -0000 1.4
> +++ www/uwebsockets/distinfo 26 Jan 2022 09:37:06 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (uWebSockets-18.17.0.tar.gz) = 4tK9Dlm9a1RCcKo0gAP9SkI5EBW0vw61TgFhrRCPkT8=
> -SIZE (uWebSockets-18.17.0.tar.gz) = 276629
> +SHA256 (uWebSockets-20.9.0.tar.gz) = kYl1aCkaIIH/wa4nw1REbMEwwWiiWJKyKJ8l4YWvhnY=
> +SIZE (uWebSockets-20.9.0.tar.gz) = 749441
> Index: www/uwebsockets/pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/www/uwebsockets/pkg/PLIST,v
> retrieving revision 1.2
> diff -u -p -r1.2 PLIST
> --- www/uwebsockets/pkg/PLIST 11 Dec 2020 22:36:25 -0000 1.2
> +++ www/uwebsockets/pkg/PLIST 26 Jan 2022 09:37:06 -0000
> @@ -13,6 +13,7 @@ include/uWebSockets/HttpRouter.h
> include/uWebSockets/Loop.h
> include/uWebSockets/LoopData.h
> include/uWebSockets/MessageParser.h
> +include/uWebSockets/MoveOnlyFunction.h
> include/uWebSockets/Multipart.h
> include/uWebSockets/PerMessageDeflate.h
> include/uWebSockets/ProxyParser.h
> @@ -26,5 +27,3 @@ include/uWebSockets/WebSocketData.h
> include/uWebSockets/WebSocketExtensions.h
> include/uWebSockets/WebSocketHandshake.h
> include/uWebSockets/WebSocketProtocol.h
> -include/uWebSockets/f2/
> -include/uWebSockets/f2/function2.hpp

No comments:

Post a Comment