Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F159786958
D16310.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
14 KB
Referenced Files
None
Subscribers
None
D16310.diff
View Options
Index: head/www/Makefile
===================================================================
--- head/www/Makefile
+++ head/www/Makefile
@@ -237,6 +237,7 @@
SUBDIR += guile-www
SUBDIR += gurlchecker
SUBDIR += h2o
+ SUBDIR += h2o-devel
SUBDIR += habari
SUBDIR += hastymail2-devel
SUBDIR += havp
Index: head/www/h2o-devel/Makefile
===================================================================
--- head/www/h2o-devel/Makefile
+++ head/www/h2o-devel/Makefile
@@ -0,0 +1,83 @@
+# Created by: Dave Cottlehuber <dch@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= h2o
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.3.0-beta1
+CATEGORIES= www
+PKGNAMESUFFIX= -devel
+
+MAINTAINER= dch@FreeBSD.org
+COMMENT= Optimized HTTP/2 server including support for TLS 1.3 and HTTP/1.x
+
+LICENSE= MIT BSD2CLAUSE
+LICENSE_COMB= multi
+
+BROKEN_armv6= fails to compile: asm_arm.inc:139:36: '.syntax divided' arm assembly not supported
+BROKEN_armv7= fails to compile: asm_arm.inc:139:36: '.syntax divided' arm assembly not supported
+BROKEN_powerpc64= fails to link: unrecognized option '-Wl,-rpath=/usr/local/lib/gcc6'
+
+LIB_DEPENDS= libuv.so:devel/libuv
+
+USES= cmake:noninja compiler:c11 cpe perl5 shebangfix ssl pkgconfig
+CPE_VENDOR= h2o_project
+USE_GITHUB= yes
+USE_PERL5= run
+USE_LDCONFIG= yes
+
+CONFLICTS= h2o-2*
+
+SHEBANG_FILES= share/h2o/start_server
+
+PORTDOCS= README.md
+
+SUB_FILES= ${PORTNAME} ${PORTNAME}.conf.sample
+SUB_LIST+= H2O_USER=${H2O_USER} \
+ H2O_GROUP=${H2O_GROUP} \
+ H2O_LOGDIR=${H2O_LOGDIR}
+
+PLIST_SUB= H2O_USER=${H2O_USER} \
+ H2O_GROUP=${H2O_GROUP} \
+ H2O_LOGDIR=${H2O_LOGDIR}
+
+H2O_USER?= www
+H2O_GROUP?= www
+
+H2O_LOGDIR= /var/log/${PORTNAME}/
+
+USE_RC_SUBR= ${PORTNAME}
+
+OPTIONS_DEFINE= MRUBY DOCS
+OPTIONS_DEFAULT= MRUBY
+OPTIONS_SUB= yes
+MRUBY_DESC= Build with embedded mruby handler support
+
+CMAKE_ARGS+= -DBUILD_SHARED_LIBS=ON -DWITH_BUNDLED_SSL=OFF
+CMAKE_VERBOSE= yes
+
+MRUBY_CMAKE_BOOL= WITH_MRUBY
+MRUBY_USES= bison
+MRUBY_USE= ruby=yes
+MRUBY_VARS= RUBY_NO_RUN_DEPENDS=yes
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|exec perl|exec ${LOCALBASE}/bin/perl|' \
+ ${WRKSRC}/share/h2o/annotate-backtrace-symbols \
+ ${WRKSRC}/share/h2o/fastcgi-cgi \
+ ${WRKSRC}/share/h2o/fetch-ocsp-response \
+ ${WRKSRC}/share/h2o/kill-on-close \
+ ${WRKSRC}/share/h2o/setuidgid \
+ ${WRKSRC}/share/h2o/start_server
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR} \
+ ${STAGEDIR}${H2O_LOGDIR}
+ ${INSTALL_DATA} \
+ ${WRKDIR}/${PORTNAME}.conf.sample \
+ ${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.sample
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
Index: head/www/h2o-devel/distinfo
===================================================================
--- head/www/h2o-devel/distinfo
+++ head/www/h2o-devel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1531832029
+SHA256 (h2o-h2o-v2.3.0-beta1_GH0.tar.gz) = 594869a4d6f1d5b757fca0877d3eec8e1b09521e06170f0296fc398b95789ae8
+SIZE (h2o-h2o-v2.3.0-beta1_GH0.tar.gz) = 29164045
Index: head/www/h2o-devel/files/h2o.conf.sample.in
===================================================================
--- head/www/h2o-devel/files/h2o.conf.sample.in
+++ head/www/h2o-devel/files/h2o.conf.sample.in
@@ -0,0 +1,104 @@
+# this sample config gives you a feel for how h2o can be used
+# and a high-security configuration for TLS and HTTP headers
+# see https://h2o.examp1e.net/ for detailed documentation
+# and h2o --help for command-line options and settings
+user: www
+pid-file: /var/run/h2o.pid
+# log normal access to file
+access-log: /var/log/h2o/access.log
+# send errors to syslog
+error-log: "| logger -i -p daemon.err -t h2o"
+
+# as of 2017-12-01 the following TLS config and headers, with
+# DNS CAA records and custom diffie-hellmann parameters via
+# `openssl dhparam -out %%PREFIX%%/etc/ssl/dhparam.pem 4096`
+# will get you:
+
+# A+ on https://www.ssllabs.com/ssltest/
+listen: 80
+listen:
+ port: 443
+ ssl:
+ # using at least TLS1.2 restricts many older devices
+ minimum-version: TLSv1.1
+ dh-file: %%PREFIX%%/etc/ssl/dhparam.pem
+ # generate your own certificates with security/acme-client
+ certificate-file: %%PREFIX%%/etc/ssl/acme/example.org/fullchain.pem
+ key-file: %%PREFIX%%/etc/ssl/acme/private/example.org/privkey.pem
+ cipher-preference: server
+ cipher-suite: ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
+
+# A+ on https://securityheaders.io/
+header.add: "x-frame-options: deny"
+header.add: "X-XSS-Protection: 1; mode=block"
+header.add: "X-Content-Type-Options: nosniff"
+header.add: "X-UA-Compatible: IE=Edge"
+header.add: "Referrer-Policy: strict-origin"
+header.add: "Cache-Control: no-transform"
+header.add: "Content-Security-Policy: default-src https:"
+# 6 months HSTS pinning
+header.add: "Strict-Transport-Security: max-age=16000000"
+
+# no patience for slow users
+http1-request-timeout: 10
+http2-idle-timeout: 10
+# limit POST bodies
+limit-request-body: 10485760 # 10MiB
+max-connections: 1024
+
+file.mime.addtypes:
+ image/svg+xml: .svg
+ text/plain: .log
+ text/css: .css
+ application/atom+xml: .xml
+ application/zip: .zip
+ application/json: .json
+ "text/html; charset=utf-8": .html
+
+# per-host configurations
+hosts:
+ # a basic fileserver
+ www.example.org:
+ # enable Apache-style directory listings
+ file.dirlisting: on
+ file.send-gzip: on
+ paths:
+ "/":
+ file.dir: "/var/www/www.example.org"
+ # a simple permanent URL redirect
+ "/blog":
+ redirect:
+ status: 301
+ url: https://blog.example.org/
+ # a password-restricted url
+ "/server-status":
+ mruby.handler: |
+ require "htpasswd.rb"
+ Htpasswd.new("%%ETCDIR%%/private/htpasswd", "example.org")
+ status: ON
+ # redireect Lets Encrypt ACME protocol to a specific challenge directory
+ "/.well-known/acme-challenge":
+ file.dir: "/var/www/acme"
+ # virtual directory layout to support serving FreeBSD packages built by poudriere
+ pkg.example.org:
+ paths:
+ "/poudriere":
+ file.dir: "%%PREFIX%%/poudriere/data/logs/bulk"
+ "/FreeBSD:10:amd64":
+ file.dir: "%%PREFIX%%/poudriere/data/packages/10_amd64-default/"
+ "/FreeBSD:11:amd64":
+ file.dir: "%%PREFIX%%/poudriere/data/packages/11_amd64-default/"
+ # a simple ruby-powered embedded JSON API
+ api.example.net:
+ paths:
+ "/ok.json":
+ mruby.handler: |
+ Proc.new do |env|
+ [200, {'content-type' => 'application/json'}, ['{"status":"ok"}']]
+ end
+ # a websockets-aware reverse proxy
+ ws.example.net:
+ paths:
+ "/":
+ proxy.websocket: ON
+ proxy.reverse.url: "http://localhost:1080/"
Index: head/www/h2o-devel/files/h2o.in
===================================================================
--- head/www/h2o-devel/files/h2o.in
+++ head/www/h2o-devel/files/h2o.in
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: h2o
+# REQUIRE: LOGIN DAEMON NETWORKING
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# h2o_enable (bool): Set to NO by default.
+# Set it to YES to enable h2o.
+#
+# h2o_config (string): Optional full path for h2o config file
+# h2o_perl (string): Optional full path to perl executable
+
+. /etc/rc.subr
+
+name=h2o
+rcvar=h2o_enable
+desc="An HTTP/2 high-performance webserver"
+
+load_rc_config $name
+
+# defaults
+: ${h2o_enable:=NO}
+: ${h2o_config:=%%PREFIX%%/etc/${name}/${name}.conf}
+: ${h2o_perl:=%%LOCALBASE%%/bin/perl}
+
+# daemon
+pidfile=`grep pid-file ${h2o_config} | cut -d' ' -f2`
+h2o_env="H2O_PERL=${h2o_perl}"
+command="%%PREFIX%%/bin/${name}"
+command_args="-m daemon -c ${h2o_config}"
+procname="%%LOCALBASE%%/bin/perl"
+
+# support SIGHUP to reload configuration file
+extra_commands=reload
+
+run_rc_command "$1"
Index: head/www/h2o-devel/pkg-descr
===================================================================
--- head/www/h2o-devel/pkg-descr
+++ head/www/h2o-devel/pkg-descr
@@ -0,0 +1,24 @@
+H2O is a very fast HTTP server written in C. It can also be used as a library.
+
+It supports:
+
+- HTTP/1.0, HTTP/1.1
+- HTTP/2
+- persistent connections
+- chunked encoding
+- negotiation methods: NPN, ALPN, Upgrade, direct
+- dependency and weight-based prioritization
+- server push
+- TLS up to 1.3
+- support OpenSSL and LibreSSL
+- forward secrecy
+- AEAD ciphers
+- OCSP stapling (automatically enabled)
+- session resumption (internal memory)
+- conditional GET using last-modified / etag
+- mime-type configuration
+- reverse proxy
+- websocket support
+- embedded mruby interpreter for high speed custom functions
+
+WWW: https://github.com/h2o/h2o
Index: head/www/h2o-devel/pkg-plist
===================================================================
--- head/www/h2o-devel/pkg-plist
+++ head/www/h2o-devel/pkg-plist
@@ -0,0 +1,120 @@
+bin/h2o
+include/h2o.h
+include/h2o/balancer.h
+include/h2o/cache.h
+include/h2o/cache_digests.h
+include/h2o/configurator.h
+include/h2o/file.h
+include/h2o/filecache.h
+include/h2o/hiredis_.h
+include/h2o/hostinfo.h
+include/h2o/http1.h
+include/h2o/http1client.h
+include/h2o/http2.h
+include/h2o/http2_casper.h
+include/h2o/http2_internal.h
+include/h2o/http2_scheduler.h
+include/h2o/linklist.h
+include/h2o/memcached.h
+include/h2o/memory.h
+include/h2o/mruby_.h
+include/h2o/multithread.h
+include/h2o/openssl_backport.h
+include/h2o/rand.h
+include/h2o/redis.h
+include/h2o/serverutil.h
+include/h2o/socket.h
+include/h2o/socket/evloop.h
+include/h2o/socket/uv-binding.h
+include/h2o/socketpool.h
+include/h2o/string_.h
+include/h2o/time_.h
+include/h2o/timeout.h
+include/h2o/token.h
+include/h2o/tunnel.h
+include/h2o/url.h
+include/h2o/version.h
+include/h2o/websocket.h
+lib/libh2o-evloop.so
+lib/libh2o-evloop.so.0.15
+lib/libh2o-evloop.so.0.15.0-beta1
+lib/libh2o.so
+lib/libh2o.so.0.15
+lib/libh2o.so.0.15.0-beta1
+libdata/pkgconfig/libh2o-evloop.pc
+libdata/pkgconfig/libh2o.pc
+man/man5/h2o.conf.5.gz
+man/man8/h2o.8.gz
+%%DATADIR%%/annotate-backtrace-symbols
+%%DATADIR%%/fetch-ocsp-response
+%%DATADIR%%/kill-on-close
+%%DATADIR%%/start_server
+%%DATADIR%%/ca-bundle.crt
+%%DATADIR%%/fastcgi-cgi
+%%DATADIR%%/setuidgid
+%%DATADIR%%/status/index.html
+%%MRUBY%%%%DATADIR%%/mruby/acl.rb
+%%MRUBY%%%%DATADIR%%/mruby/bootstrap.rb
+%%MRUBY%%%%DATADIR%%/mruby/dos_detector.rb
+%%MRUBY%%%%DATADIR%%/mruby/htpasswd.rb
+%%MRUBY%%%%DATADIR%%/mruby/lru_cache.rb
+%%MRUBY%%%%DATADIR%%/mruby/redis.rb
+%%MRUBY%%%%DATADIR%%/mruby/preloads.rb
+%%MRUBY%%%%DATADIR%%/mruby/trie_addr.rb
+%%PORTDOCS%%%%DOCSDIR%%/assets/8mbps100msec-nginx195-h2o150.png
+%%PORTDOCS%%%%DOCSDIR%%/assets/firstpaintbench.png
+%%PORTDOCS%%%%DOCSDIR%%/assets/remotebench.png
+%%PORTDOCS%%%%DOCSDIR%%/assets/searchstyle.css
+%%PORTDOCS%%%%DOCSDIR%%/assets/staticfile612-nginx1910-h2o170.png
+%%PORTDOCS%%%%DOCSDIR%%/assets/style.css
+%%PORTDOCS%%%%DOCSDIR%%/benchmarks.html
+%%PORTDOCS%%%%DOCSDIR%%/configure.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/access_control.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/access_log_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/base_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/basic_auth.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/cgi.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/command_options.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/compress_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/dos_detection.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/errordoc_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/expires_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/fastcgi_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/file_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/headers_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/http1_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/http2_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/mruby.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/mruby_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/proxy_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/quick_start.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/redirect_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/reproxy_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/status_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/syntax_and_structure.html
+%%PORTDOCS%%%%DOCSDIR%%/configure/throttle_response_directives.html
+%%PORTDOCS%%%%DOCSDIR%%/examples/doc_root.alternate/index.txt
+%%PORTDOCS%%%%DOCSDIR%%/examples/doc_root/index.html
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o/alternate.crt
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o/alternate.key
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o/h2o.conf
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o/server.crt
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o/server.key
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o_mruby/h2o.conf
+%%PORTDOCS%%%%DOCSDIR%%/examples/h2o_mruby/hello.rb
+%%PORTDOCS%%%%DOCSDIR%%/examples/libh2o/http1client.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/libh2o/latency-optimization.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/libh2o/redis-client.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/libh2o/simple.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/libh2o/socket-client.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/libh2o/websocket.c
+%%PORTDOCS%%%%DOCSDIR%%/h2o.conf.5
+%%PORTDOCS%%%%DOCSDIR%%/faq.html
+%%PORTDOCS%%%%DOCSDIR%%/index.html
+%%PORTDOCS%%%%DOCSDIR%%/install.html
+%%PORTDOCS%%%%DOCSDIR%%/search/jquery-1.9.1.min.js
+%%PORTDOCS%%%%DOCSDIR%%/search/oktavia-english-search.js
+%%PORTDOCS%%%%DOCSDIR%%/search/oktavia-jquery-ui.js
+%%PORTDOCS%%%%DOCSDIR%%/search/searchindex.js
+@dir(%%H2O_USER%%,%%H2O_GROUP%%,0750) %%H2O_LOGDIR%%
+@sample %%ETCDIR%%/h2o.conf.sample
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jun 19, 6:28 AM (10 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34067741
Default Alt Text
D16310.diff (14 KB)
Attached To
Mode
D16310: www/h2o-devel: new
Attached
Detach File
Event Timeline
Log In to Comment