├── nginx-base
├── rootfs
│ └── etc
│ │ ├── group
│ │ ├── hosts
│ │ ├── pwd.db
│ │ ├── spwd.db
│ │ ├── master.passwd
│ │ ├── resolv.conf
│ │ ├── nsswitch.conf
│ │ ├── services
│ │ └── protocols
├── data
│ ├── www
│ │ ├── logo150.png
│ │ └── index.html
│ └── conf
│ │ ├── scgi_params
│ │ ├── uwsgi_params
│ │ ├── nginx.conf
│ │ ├── fastcgi_params
│ │ ├── fastcgi.conf
│ │ └── mime.types
├── Dockerfile
└── Makefile
├── python3-base
├── rootfs
│ └── etc
│ │ ├── group
│ │ ├── hosts
│ │ ├── pwd.db
│ │ ├── spwd.db
│ │ ├── master.passwd
│ │ ├── resolv.conf
│ │ ├── nsswitch.conf
│ │ ├── services
│ │ └── protocols
├── Dockerfile
└── Makefile
├── postmark-base
├── .gitignore
├── benchmark.pmrc
├── Dockerfile
├── postmark_nabla_test.bash
└── Makefile
├── node-base
├── Dockerfile
└── Makefile
├── tests
├── gotest
│ ├── helloworld.go
│ ├── _gorump_main.c
│ ├── gomaincaller.go
│ └── Makefile
├── Makefile
├── integration
│ ├── README.md
│ ├── helpers.bash
│ └── run.bats
├── curl
│ ├── Makefile
│ ├── test-http-server.py
│ ├── test_curl.c
│ └── setup-tests.sh
└── bats-core
│ ├── bats-exec-suite
│ ├── bats-preprocess
│ ├── LICENSE.md
│ ├── bats-format-tap-stream
│ ├── bats
│ └── bats-exec-test
├── .gitignore
├── redis-base
├── Dockerfile
├── Makefile
└── redis.conf
├── AUTHORS
├── go-base
├── _gorump_main.c
├── gomaincaller.go
├── Makefile.goapp
├── Dockerfile
└── Makefile
├── .gitmodules
├── LICENSE
├── README.md
├── .travis.yml
├── Makefile
├── CONTRIBUTING.md
├── travis_wait.sh
└── Makefile.inc
/nginx-base/rootfs/etc/group:
--------------------------------------------------------------------------------
1 | daemon:x:1:
2 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/group:
--------------------------------------------------------------------------------
1 | daemon:x:1:
2 |
--------------------------------------------------------------------------------
/postmark-base/.gitignore:
--------------------------------------------------------------------------------
1 | data.lfs
2 | postmark.nabla
3 |
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/hosts:
--------------------------------------------------------------------------------
1 | 127.0.0.1 localhost localhost.
2 | :1 localhost localhost.
3 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/hosts:
--------------------------------------------------------------------------------
1 | 127.0.0.1 localhost localhost.
2 | :1 localhost localhost.
3 |
--------------------------------------------------------------------------------
/node-base/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM scratch
2 |
3 | COPY node.nabla /node.nabla
4 |
5 | ENTRYPOINT ["/node.nabla"]
6 |
--------------------------------------------------------------------------------
/postmark-base/benchmark.pmrc:
--------------------------------------------------------------------------------
1 | set transactions 2500
2 | set size 5120 524288
3 | set number 500
4 | run
5 | quit
6 |
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/pwd.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nabla-containers/nabla-base-build/HEAD/nginx-base/rootfs/etc/pwd.db
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/spwd.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nabla-containers/nabla-base-build/HEAD/nginx-base/rootfs/etc/spwd.db
--------------------------------------------------------------------------------
/nginx-base/data/www/logo150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nabla-containers/nabla-base-build/HEAD/nginx-base/data/www/logo150.png
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/pwd.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nabla-containers/nabla-base-build/HEAD/python3-base/rootfs/etc/pwd.db
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/spwd.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nabla-containers/nabla-base-build/HEAD/python3-base/rootfs/etc/spwd.db
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/master.passwd:
--------------------------------------------------------------------------------
1 | root:*:0:0::0:0:Charlie &:/:/thereisnoshell
2 | daemon:*:1:1::0:0:The devil himself:/:/thereisnoshell
3 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/master.passwd:
--------------------------------------------------------------------------------
1 | root:*:0:0::0:0:Charlie &:/:/thereisnoshell
2 | daemon:*:1:1::0:0:The devil himself:/:/thereisnoshell
3 |
--------------------------------------------------------------------------------
/tests/gotest/helloworld.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import "fmt"
4 |
5 | func main() {
6 | fmt.Println("Hello, Rumprun. This is Go.")
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | nginx-base/nginx.nabla
2 | node-base/dev/
3 | node-base/node.nabla
4 | python3-base/dev/
5 | python3-base/python3.nabla
6 | redis-base/redis.nabla
7 |
--------------------------------------------------------------------------------
/nginx-base/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM scratch
2 |
3 | COPY rootfs/etc /etc
4 | COPY nginx.nabla /nginx.nabla
5 | COPY data /data
6 |
7 | ENTRYPOINT ["/nginx.nabla"]
8 |
--------------------------------------------------------------------------------
/postmark-base/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM scratch
2 |
3 | COPY postmark.nabla /postmark.nabla
4 | COPY benchmark.pmrc /benchmark.pmrc
5 |
6 | ENTRYPOINT ["/postmark.nabla"]
7 |
--------------------------------------------------------------------------------
/redis-base/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM scratch
2 |
3 | COPY redis.nabla /redis.nabla
4 | COPY redisaof.conf /data/conf/redisaof.conf
5 | COPY redis.conf /data/conf/redis.conf
6 |
7 | ENTRYPOINT ["/redis.nabla"]
8 |
--------------------------------------------------------------------------------
/AUTHORS:
--------------------------------------------------------------------------------
1 | Corporate Contributors
2 | ======================
3 |
4 | Copyright (c) 2018 IBM
5 |
6 | Individual Contributors
7 | =======================
8 |
9 | Brandon Lum (IBM)
10 | Dan Williams (IBM)
11 | Ricardo Koller (IBM)
12 |
--------------------------------------------------------------------------------
/tests/Makefile:
--------------------------------------------------------------------------------
1 | all: gotest/goapp.nabla curl/test_curl.nabla
2 |
3 | gotest/goapp.nabla:
4 | make -C gotest
5 |
6 | curl/test_curl.nabla:
7 | make -C curl
8 |
9 | clean:
10 | make -C gotest clean
11 | make -C curl clean
12 |
--------------------------------------------------------------------------------
/go-base/_gorump_main.c:
--------------------------------------------------------------------------------
1 | int kludge_argc = 1;
2 | char *kludge_argv[] = { "kludge", "argv" };
3 | char *kludge_env = "";
4 |
5 | int
6 | main(int argc, char** argv)
7 | {
8 | rump_pub_lwproc_releaselwp();
9 | gomaincaller(argc, argv);
10 | }
11 |
--------------------------------------------------------------------------------
/tests/gotest/_gorump_main.c:
--------------------------------------------------------------------------------
1 | int kludge_argc = 1;
2 | char *kludge_argv[] = { "kludge", "argv" };
3 | char *kludge_env = "";
4 |
5 | int
6 | main(int argc, char** argv)
7 | {
8 | rump_pub_lwproc_releaselwp();
9 | gomaincaller(argc, argv);
10 | }
11 |
--------------------------------------------------------------------------------
/nginx-base/data/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Served to you by nginx, running on a
5 | rump kernel...
6 |
7 |
8 |
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/resolv.conf:
--------------------------------------------------------------------------------
1 | # Edit resolver info below.
2 | #
3 | # NOTE: the Rumprun DHCP client does not currently generate
4 | # this file, so if you want DNS to work, you even in DHCP scenarios
5 | # you *MUST* include the nameserver here.
6 | # (yes, the DHCP client should be fixed, but that's another story)
7 |
8 | # nameserver 1.2.3.4
9 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/resolv.conf:
--------------------------------------------------------------------------------
1 | # Edit resolver info below.
2 | #
3 | # NOTE: the Rumprun DHCP client does not currently generate
4 | # this file, so if you want DNS to work, you even in DHCP scenarios
5 | # you *MUST* include the nameserver here.
6 | # (yes, the DHCP client should be fixed, but that's another story)
7 |
8 | # nameserver 1.2.3.4
9 |
--------------------------------------------------------------------------------
/python3-base/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM python:3.5.2-alpine
2 |
3 | # The first stage is just for the second one to get /usr/local/lib/python in it,
4 | # which is needed by python.
5 |
6 | FROM scratch
7 | COPY python3.nabla /python3.nabla
8 |
9 | COPY rootfs /
10 | COPY --from=0 /usr/local/lib /usr/local/lib
11 | ENV PYTHONHOME=/usr/local
12 | ENTRYPOINT ["/python3.nabla"]
13 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "rumprun"]
2 | path = rumprun
3 | url = https://github.com/nabla-containers/rumprun
4 | branch = solo5
5 | [submodule "rumprun-packages"]
6 | path = rumprun-packages
7 | url = https://github.com/nabla-containers/rumprun-packages
8 | branch = solo5
9 | [submodule "gorump"]
10 | path = gorump
11 | url = https://github.com/nabla-containers/gorump
12 |
--------------------------------------------------------------------------------
/go-base/gomaincaller.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import "C"
4 | import "os"
5 | import "unsafe"
6 |
7 | //export gomaincaller
8 | func gomaincaller(argc C.int, argv unsafe.Pointer){
9 | os.Args = nil
10 | argcint := int(argc)
11 | argvarr := ((*[1 << 30]*C.char)(argv))
12 | for i := 0; i < argcint; i += 1 {
13 | os.Args = append(os.Args, C.GoString(argvarr[i]))
14 | }
15 | main()
16 | }
17 |
--------------------------------------------------------------------------------
/tests/gotest/gomaincaller.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import "C"
4 | import "os"
5 | import "unsafe"
6 |
7 | //export gomaincaller
8 | func gomaincaller(argc C.int, argv unsafe.Pointer){
9 | os.Args = nil
10 | argcint := int(argc)
11 | argvarr := ((*[1 << 30]*C.char)(argv))
12 | for i := 0; i < argcint; i += 1 {
13 | os.Args = append(os.Args, C.GoString(argvarr[i]))
14 | }
15 | main()
16 | }
17 |
--------------------------------------------------------------------------------
/tests/integration/README.md:
--------------------------------------------------------------------------------
1 | bats-core is a git subtree of `bats-core/bats-core:/libexec`. The commands used to create this subtree were (getting the latest changes from bats-core should be done using the same commands):
2 |
3 | ```
4 | git checkout bats-core/master
5 | git subtree split -P libexec -b temporary-bats-branch
6 | git checkout tests-in-bats
7 | git subtree add --squash -P tests/bats-core temporary-bats-branch
8 | ```
9 |
--------------------------------------------------------------------------------
/go-base/Makefile.goapp:
--------------------------------------------------------------------------------
1 | spt: goapp.spt
2 |
3 | goapp.a: $(wildcard *.go)
4 | go build -buildmode=c-archive -v -a -x
5 |
6 | goapp.pseudo: goapp.a
7 | RUMPRUN_STUBLINK=succeed x86_64-rumprun-netbsd-gcc -g -o goapp.pseudo _gorump_main.c goapp.a
8 |
9 | goapp.spt: goapp.pseudo
10 | rumprun-bake solo5_spt goapp.spt goapp.pseudo
11 |
12 | %.bin: %.pseudo
13 | rumprun-bake hw_virtio $@ $<
14 |
15 | clean:
16 | rm -f goapp.a goapp.h goapp.spt goapp.pseudo _gorump_main.c gomaincaller.go
17 |
--------------------------------------------------------------------------------
/nginx-base/data/conf/scgi_params:
--------------------------------------------------------------------------------
1 |
2 | scgi_param REQUEST_METHOD $request_method;
3 | scgi_param REQUEST_URI $request_uri;
4 | scgi_param QUERY_STRING $query_string;
5 | scgi_param CONTENT_TYPE $content_type;
6 |
7 | scgi_param DOCUMENT_URI $document_uri;
8 | scgi_param DOCUMENT_ROOT $document_root;
9 | scgi_param SCGI 1;
10 | scgi_param SERVER_PROTOCOL $server_protocol;
11 | scgi_param HTTPS $https if_not_empty;
12 |
13 | scgi_param REMOTE_ADDR $remote_addr;
14 | scgi_param REMOTE_PORT $remote_port;
15 | scgi_param SERVER_PORT $server_port;
16 | scgi_param SERVER_NAME $server_name;
17 |
--------------------------------------------------------------------------------
/nginx-base/data/conf/uwsgi_params:
--------------------------------------------------------------------------------
1 |
2 | uwsgi_param QUERY_STRING $query_string;
3 | uwsgi_param REQUEST_METHOD $request_method;
4 | uwsgi_param CONTENT_TYPE $content_type;
5 | uwsgi_param CONTENT_LENGTH $content_length;
6 |
7 | uwsgi_param REQUEST_URI $request_uri;
8 | uwsgi_param PATH_INFO $document_uri;
9 | uwsgi_param DOCUMENT_ROOT $document_root;
10 | uwsgi_param SERVER_PROTOCOL $server_protocol;
11 | uwsgi_param HTTPS $https if_not_empty;
12 |
13 | uwsgi_param REMOTE_ADDR $remote_addr;
14 | uwsgi_param REMOTE_PORT $remote_port;
15 | uwsgi_param SERVER_PORT $server_port;
16 | uwsgi_param SERVER_NAME $server_name;
17 |
--------------------------------------------------------------------------------
/tests/curl/Makefile:
--------------------------------------------------------------------------------
1 | SHELL := /bin/bash
2 | export TOP=$(abspath ../..)
3 | GOBASE=$(TOP)/go-base
4 | RUMPRUN=$(TOP)/rumprun
5 |
6 | nabla: test_curl.nabla
7 |
8 | .PHONY: setup
9 | setup:
10 | sudo bash setup-tests.sh
11 |
12 | test_curl: test_curl.c
13 | source $(RUMPRUN)/obj/config-PATH.sh && x86_64-rumprun-netbsd-gcc -g -o $@ $<
14 |
15 | test_curl.nabla: test_curl
16 | source $(RUMPRUN)/obj/config-PATH.sh && rumprun-bake solo5_spt $@ $<
17 |
18 | run_spt: test_curl.nabla
19 | $(SOLO5SRC)/tenders/spt/solo5-spt --net=tap100 $< '{"cmdline":"$< 10.0.0.4","net":{"if":"ukvmif0","cloner":"True","type":"inet","method":"static","addr":"10.0.0.2","mask":"16"}}'
20 |
21 | .PHONY: clean
22 | clean:
23 | rm -f test_curl test_curl.nabla
24 |
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/nsswitch.conf:
--------------------------------------------------------------------------------
1 | # $NetBSD: nsswitch.conf,v 1.6 2009/10/25 00:17:06 tsarna Exp $
2 | #
3 | # nsswitch.conf(5) -
4 | # name service switch configuration file
5 | #
6 |
7 |
8 | # These are the defaults in libc
9 | #
10 | group: compat
11 | group_compat: nis
12 | hosts: files dns
13 | netgroup: files [notfound=return] nis
14 | networks: files
15 | passwd: compat
16 | passwd_compat: nis
17 | shells: files
18 |
19 |
20 | # List of supported sources for each database
21 | #
22 | # group: compat, dns, files, nis
23 | # group_compat: dns, nis
24 | # hosts: dns, files, nis, mdnsd, multicast_dns
25 | # netgroup: files, nis
26 | # networks: dns, files, nis
27 | # passwd: compat, dns, files, nis
28 | # passwd_compat: dns, nis
29 | # shells: dns, files, nis
30 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/nsswitch.conf:
--------------------------------------------------------------------------------
1 | # $NetBSD: nsswitch.conf,v 1.6 2009/10/25 00:17:06 tsarna Exp $
2 | #
3 | # nsswitch.conf(5) -
4 | # name service switch configuration file
5 | #
6 |
7 |
8 | # These are the defaults in libc
9 | #
10 | group: compat
11 | group_compat: nis
12 | hosts: files dns
13 | netgroup: files [notfound=return] nis
14 | networks: files
15 | passwd: compat
16 | passwd_compat: nis
17 | shells: files
18 |
19 |
20 | # List of supported sources for each database
21 | #
22 | # group: compat, dns, files, nis
23 | # group_compat: dns, nis
24 | # hosts: dns, files, nis, mdnsd, multicast_dns
25 | # netgroup: files, nis
26 | # networks: dns, files, nis
27 | # passwd: compat, dns, files, nis
28 | # passwd_compat: dns, nis
29 | # shells: dns, files, nis
30 |
--------------------------------------------------------------------------------
/nginx-base/data/conf/nginx.conf:
--------------------------------------------------------------------------------
1 | worker_processes 1;
2 | error_log stderr;
3 | pid /tmp/nginx.pid;
4 | user daemon daemon;
5 | daemon off;
6 | master_process off;
7 |
8 | events {
9 | worker_connections 128;
10 | }
11 |
12 | http {
13 | include mime.types;
14 | default_type application/octet-stream;
15 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
16 | '$status $body_bytes_sent "$http_referer" '
17 | '"$http_user_agent" "$http_x_forwarded_for"';
18 | access_log /tmp/log;
19 |
20 | server {
21 | listen 80;
22 | server_name localhost;
23 |
24 | location / {
25 | root /data/www;
26 | index index.html;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | ISC License
2 |
3 | Copyright (c) 2018 Contributors as noted in the AUTHORS file
4 |
5 | Permission to use, copy, modify, and/or distribute this software
6 | for any purpose with or without fee is hereby granted, provided
7 | that the above copyright notice and this permission notice appear
8 | in all copies.
9 |
10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11 | WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12 | WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13 | AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
14 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
15 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
16 | NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
17 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 |
--------------------------------------------------------------------------------
/tests/gotest/Makefile:
--------------------------------------------------------------------------------
1 | SHELL := /bin/bash
2 | export TOP=$(abspath ../..)
3 | GOBASE=$(TOP)/go-base
4 | RUMPRUN=$(TOP)/rumprun
5 |
6 | nabla: goapp.nabla
7 |
8 | goapp.a: $(wildcard *.go)
9 | source $(RUMPRUN)/obj/config-PATH.sh && unset GOROOT && CC=x86_64-rumprun-netbsd-gcc CGO_ENABLED=1 GOOS=rumprun $(GOBASE)/go build -buildmode=c-archive -v -a -x -o goapp.a
10 |
11 | goapp.pseudo: goapp.a
12 | source $(RUMPRUN)/obj/config-PATH.sh && RUMPRUN_STUBLINK=succeed x86_64-rumprun-netbsd-gcc -g -o goapp.pseudo _gorump_main.c goapp.a
13 |
14 | goapp.nabla: goapp.pseudo
15 | source $(RUMPRUN)/obj/config-PATH.sh && rumprun-bake solo5_spt $@ $<
16 |
17 | run_spt: goapp.nabla
18 | $(SOLO5SRC)/tenders/spt/solo5-spt --net=tap100 $< '{"cmdline":"$<"}'
19 |
20 | %.bin: %.pseudo
21 | (source $(RUMPRUN)/obj/config && $(RUMPRUN_BAKE) hw_virtio $@ $<)
22 |
23 | clean:
24 | rm -f goapp.a goapp.h goapp.nabla goapp.pseudo
25 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | This repository builds base Docker images for Rumprun-based nabla
3 | containers. So far we provide the following:
4 |
5 | nginx-base
6 | node-base
7 | python3-base
8 | redis-base
9 | go-base
10 |
11 | ### Building the bases
12 |
13 | First fetch the submodules (solo5, rumprun, and rumprun-packages):
14 | ```
15 | git submodule update --init --recursive
16 | ```
17 |
18 | Ensure you have the following prerequisites on your system for
19 | building the bases:
20 | ```
21 | apt-get install zlib1g-dev libseccomp-dev
22 | ```
23 |
24 | Finally build all of the base images:
25 | ```
26 | make
27 | ```
28 | or just one:
29 | ```
30 | make nginx-base
31 | ```
32 |
33 |
34 | ### Using the bases
35 |
36 | To see how to use these bases in practice for your own applications,
37 | see the
38 | [nabla-containers/nabla-demo-apps](https://github.com/nabla-containers/nabla-demo-apps)
39 | repository.
40 |
--------------------------------------------------------------------------------
/nginx-base/data/conf/fastcgi_params:
--------------------------------------------------------------------------------
1 |
2 | fastcgi_param QUERY_STRING $query_string;
3 | fastcgi_param REQUEST_METHOD $request_method;
4 | fastcgi_param CONTENT_TYPE $content_type;
5 | fastcgi_param CONTENT_LENGTH $content_length;
6 |
7 | fastcgi_param SCRIPT_NAME $fastcgi_script_name;
8 | fastcgi_param REQUEST_URI $request_uri;
9 | fastcgi_param DOCUMENT_URI $document_uri;
10 | fastcgi_param DOCUMENT_ROOT $document_root;
11 | fastcgi_param SERVER_PROTOCOL $server_protocol;
12 | fastcgi_param HTTPS $https if_not_empty;
13 |
14 | fastcgi_param GATEWAY_INTERFACE CGI/1.1;
15 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
16 |
17 | fastcgi_param REMOTE_ADDR $remote_addr;
18 | fastcgi_param REMOTE_PORT $remote_port;
19 | fastcgi_param SERVER_ADDR $server_addr;
20 | fastcgi_param SERVER_PORT $server_port;
21 | fastcgi_param SERVER_NAME $server_name;
22 |
23 | # PHP only, required if PHP was built with --enable-force-cgi-redirect
24 | fastcgi_param REDIRECT_STATUS 200;
25 |
--------------------------------------------------------------------------------
/postmark-base/postmark_nabla_test.bash:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # runnc can't run programs that write to the disk yet because it
4 | # places files in a temporary filesystem. As a result, postmark (this
5 | # fs benchmark) will not work using runnc. This script is a
6 | # workaround to directly run the process (not as a Docker container).
7 |
8 | # Usage: bash ./postmark_nabla_test.bash ./benchmark.pmrc
9 | PMRC=$1
10 |
11 | ### If you don't have tap100, do this:
12 | # sudo ip tuntap add tap100 mode tap
13 | # sudo ip addr add 10.0.0.1/24 dev tap100
14 | # sudo ip link set dev tap100 up
15 |
16 | mkdir /tmp/data
17 | cp $PMRC /tmp/data/benchmark.pmrc
18 |
19 | ### If you don't have genlfs, get it from https://github.com/ricarkol/genlfs
20 | genlfs /tmp/data/ data.lfs
21 |
22 | ### If you don't have nabla-run, get it from https://github.com/nabla-containers/runnc
23 | nabla-run --disk=data.lfs --net=tap100 postmark.nabla '{"cmdline":"bin/postmark.nabla /data/benchmark.pmrc","net":{"if":"ukvmif0","cloner":"True","type":"inet","method":"static","addr":"10.0.0.2","mask":"16"},"blk":{"source":"etfs","path":"/dev/ld0a","fstype":"blk","mountpoint":"/data"}}'
24 |
--------------------------------------------------------------------------------
/nginx-base/data/conf/fastcgi.conf:
--------------------------------------------------------------------------------
1 |
2 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
3 | fastcgi_param QUERY_STRING $query_string;
4 | fastcgi_param REQUEST_METHOD $request_method;
5 | fastcgi_param CONTENT_TYPE $content_type;
6 | fastcgi_param CONTENT_LENGTH $content_length;
7 |
8 | fastcgi_param SCRIPT_NAME $fastcgi_script_name;
9 | fastcgi_param REQUEST_URI $request_uri;
10 | fastcgi_param DOCUMENT_URI $document_uri;
11 | fastcgi_param DOCUMENT_ROOT $document_root;
12 | fastcgi_param SERVER_PROTOCOL $server_protocol;
13 | fastcgi_param HTTPS $https if_not_empty;
14 |
15 | fastcgi_param GATEWAY_INTERFACE CGI/1.1;
16 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
17 |
18 | fastcgi_param REMOTE_ADDR $remote_addr;
19 | fastcgi_param REMOTE_PORT $remote_port;
20 | fastcgi_param SERVER_ADDR $server_addr;
21 | fastcgi_param SERVER_PORT $server_port;
22 | fastcgi_param SERVER_NAME $server_name;
23 |
24 | # PHP only, required if PHP was built with --enable-force-cgi-redirect
25 | fastcgi_param REDIRECT_STATUS 200;
26 |
--------------------------------------------------------------------------------
/tests/curl/test-http-server.py:
--------------------------------------------------------------------------------
1 | from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
2 | from SocketServer import ThreadingMixIn
3 | import threading
4 |
5 | MOD = 3
6 |
7 | class Handler(BaseHTTPRequestHandler):
8 |
9 | n = 0
10 |
11 | def do_GET(self):
12 | self.send_response(200)
13 | self.end_headers()
14 | Handler.n = (Handler.n + 1) % MOD
15 | #message = '%d' % (Handler.n)
16 | message = 'X'* 100
17 | self.wfile.write(message)
18 | return
19 |
20 | def do_POST(self):
21 | content_len = int(self.headers.getheader('content-length', 0))
22 | post_body = self.rfile.read(content_len)
23 | self.send_response(200)
24 | self.end_headers()
25 | message = threading.currentThread().getName()
26 | self.wfile.write('%s got: %s' % (message, post_body))
27 | return
28 |
29 |
30 | class ThreadedHTTPServer(ThreadingMixIn, HTTPServer):
31 | """Handle requests in a separate thread."""
32 |
33 | if __name__ == '__main__':
34 | server = ThreadedHTTPServer(('10.0.0.4', 5000), Handler)
35 | print 'Starting server, use to stop'
36 | server.serve_forever()
37 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018, IBM
2 | # Copyright 2012-2015 Docker, Inc.
3 | #
4 | # SPDX-License-Identifier: Apache-2.0
5 | #
6 | # Based on the opencontainers/runc .travis.yml file.
7 |
8 | dist: xenial
9 | sudo: required
10 | services:
11 | - docker
12 | language: c
13 | cache: ccache
14 | compiler:
15 | - gcc
16 | git:
17 | submodules: true
18 | addons:
19 | apt:
20 | sources:
21 | - ubuntu-toolchain-r-test
22 | packages:
23 | - gcc-6
24 | - g++-6
25 |
26 | before_script:
27 | - sudo apt-get update -y
28 | - sudo apt-get install qemu-kvm libxen-dev libseccomp-dev bats genisoimage sudo iproute2 wget -y
29 | - sudo apt-get install --only-upgrade binutils gcc -y
30 | - export CC=gcc-6
31 | - export CXX=g++-6
32 |
33 | env:
34 | - PLATFORM=solo5 MACHINE=x86_64
35 |
36 | script:
37 | - export CC=gcc-6
38 | - export CXX=g++-6
39 | - (cd rumprun && NOGCCERROR=1 ./build-rr.sh -o obj -j16 -qq ${PLATFORM})
40 | - bash travis_wait.sh 60 make --quiet -C go-base gorump
41 | - bash travis_wait.sh 60 make --quiet -C nginx-base
42 | - bash travis_wait.sh 60 make --quiet -C node-base
43 | - make integration
44 | #- make --quiet -C go-base build_docker
45 |
--------------------------------------------------------------------------------
/tests/curl/test_curl.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include //inet_addr
4 |
5 | #define BUFFER_SIZE 1024
6 |
7 | int main(int argc , char *argv[])
8 | {
9 | int sockfd;
10 | struct sockaddr_in server;
11 | char buffer[BUFFER_SIZE];
12 | int ret;
13 |
14 | //Create socket
15 | sockfd = socket(AF_INET , SOCK_STREAM , 0);
16 | if (sockfd == -1)
17 | {
18 | printf("Could not create socket");
19 | }
20 |
21 | if (argc != 2) {
22 | puts("USAGE: ./tcp ");
23 | return 1;
24 | }
25 |
26 | server.sin_addr.s_addr = inet_addr(argv[1]);
27 | server.sin_family = AF_INET;
28 | server.sin_port = htons( 5000 );
29 |
30 | //Connect to remote server
31 | if (connect(sockfd , (struct sockaddr *)&server , sizeof(server)) < 0)
32 | {
33 | puts("connect error");
34 | return 1;
35 | }
36 |
37 | write(sockfd, "GET /\r\n", strlen("GET /\r\n")); // write(fd, char[]*, len);
38 | write(sockfd, "Accept: */*\r\n", strlen("Accept: */*\r\n")); // write(fd, char[]*, len);
39 | write(sockfd, "\r\n", strlen("\r\n")); // write(fd, char[]*, len);
40 |
41 | while(read(sockfd, buffer, BUFFER_SIZE - 1) != 0){
42 | printf("%s", buffer);
43 | bzero(buffer, BUFFER_SIZE);
44 | }
45 | close(sockfd);
46 | return 0;
47 | }
48 |
--------------------------------------------------------------------------------
/tests/integration/helpers.bash:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Copyright (c) 2018, IBM
3 | # Author(s): Brandon Lum, Ricardo Koller
4 | #
5 | # Permission to use, copy, modify, and/or distribute this software for
6 | # any purpose with or without fee is hereby granted, provided that the
7 | # above copyright notice and this permission notice appear in all
8 | # copies.
9 | #
10 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | # DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
15 | # OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16 | # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 | # PERFORMANCE OF THIS SOFTWARE.
18 |
19 | TOPLEVEL=$( dirname "${BASH_SOURCE[0]}" )/../../
20 |
21 | function setup() {
22 | cd ${TOPLEVEL}/tests/integration
23 | }
24 |
25 | function local-test () {
26 | if [ ! -z ${INCONTAINER} ]; then
27 | skip "Test cannot be run in container"
28 | fi
29 | }
30 |
31 | function container-test () {
32 | if [ -z ${INCONTAINER} ]; then
33 | skip "Test must be run in container"
34 | fi
35 | }
36 |
--------------------------------------------------------------------------------
/tests/bats-core/bats-exec-suite:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 |
4 | count_only_flag=""
5 | if [ "$1" = "-c" ]; then
6 | count_only_flag=1
7 | shift
8 | fi
9 |
10 | extended_syntax_flag=""
11 | if [ "$1" = "-x" ]; then
12 | extended_syntax_flag="-x"
13 | shift
14 | fi
15 |
16 | trap "kill 0; exit 1" int
17 |
18 | count=0
19 | for filename in "$@"; do
20 | while IFS= read -r line; do
21 | if [[ "$line" =~ $BATS_TEST_PATTERN ]]; then
22 | let count+=1
23 | fi
24 | done <"$filename"
25 | done
26 |
27 | if [ -n "$count_only_flag" ]; then
28 | echo "$count"
29 | exit
30 | fi
31 |
32 | echo "1..$count"
33 | status=0
34 | offset=0
35 | for filename in "$@"; do
36 | index=0
37 | {
38 | IFS= read -r # 1..n
39 | while IFS= read -r line; do
40 | case "$line" in
41 | "begin "* )
42 | let index+=1
43 | echo "${line/ $index / $(($offset + $index)) }"
44 | ;;
45 | "ok "* | "not ok "* )
46 | [ -n "$extended_syntax_flag" ] || let index+=1
47 | echo "${line/ $index / $(($offset + $index)) }"
48 | [ "${line:0:6}" != "not ok" ] || status=1
49 | ;;
50 | * )
51 | echo "$line"
52 | ;;
53 | esac
54 | done
55 | } < <( bats-exec-test $extended_syntax_flag "$filename" )
56 | offset=$(($offset + $index))
57 | done
58 |
59 | exit "$status"
60 |
--------------------------------------------------------------------------------
/tests/bats-core/bats-preprocess:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 |
4 | encode_name() {
5 | local name="$1"
6 | local result="test_"
7 | local hex_code
8 |
9 | if [[ ! "$name" =~ [^[:alnum:]\ _-] ]]; then
10 | name="${name//_/-5f}"
11 | name="${name//-/-2d}"
12 | name="${name// /_}"
13 | result+="$name"
14 | else
15 | local length="${#name}"
16 | local char i
17 |
18 | for ((i=0; i&2
28 | exit 1
29 | fi
30 |
31 | case `uname -s` in
32 | Linux)
33 | ip tuntap add tap100 mode tap
34 | ip addr add 10.0.0.1/24 dev tap100
35 | ip link set dev tap100 up
36 | modprobe dummy
37 | ip link set name eth10 dev dummy0
38 | ip addr add 10.0.0.4/16 dev eth10
39 | ip link set eth10 up
40 | ;;
41 | *)
42 | exit 1
43 | ;;
44 | esac
45 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | We require all contributions to be signed off on, indicating that the
2 | contributor agrees to the Developer's Certificate of Origin 1.1
3 | [used by Linux][1] and reproduced below:
4 |
5 | > Developer's Certificate of Origin 1.1
6 | >
7 | > By making a contribution to this project, I certify that:
8 | >
9 | > 1. The contribution was created in whole or in part by me and I have
10 | > the right to submit it under the open source license indicated in
11 | > the file; or
12 | >
13 | > 2. The contribution is based upon previous work that, to the best of
14 | > my knowledge, is covered under an appropriate open source license
15 | > and I have the right under that license to submit that work with
16 | > modifications, whether created in whole or in part by me, under
17 | > the same open source license (unless I am permitted to submit
18 | > under a different license), as indicated in the file; or
19 | >
20 | > 3. The contribution was provided directly to me by some other person
21 | > who certified (a), (b) or (c) and I have not modified it.
22 | >
23 | > 4. I understand and agree that this project and the contribution are
24 | > public and that a record of the contribution (including all
25 | > personal information I submit with it, including my sign-off) is
26 | > maintained indefinitely and may be redistributed consistent with
27 | > this project or the open source license(s) involved.
28 |
29 |
30 | [1]: https://github.com/torvalds/linux/blob/master/Documentation/process/submitting-patches.rst
31 |
--------------------------------------------------------------------------------
/travis_wait.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright (c) 2016 Travis CI GmbH
4 | #
5 | # SPDX-License-Identifier: MIT
6 | #
7 | # Based on the travis-ci/travis-build
8 |
9 | travis_jigger() {
10 | # helper method for travis_wait()
11 | local cmd_pid=$1
12 | shift
13 | local timeout=$1 # in minutes
14 | shift
15 | local count=0
16 |
17 | # clear the line
18 | echo -e "\n"
19 |
20 | while [ $count -lt $timeout ]; do
21 | count=$(($count + 1))
22 | echo -ne "Still running ($count of $timeout): $@\r"
23 | sleep 60
24 | done
25 |
26 | echo -e "\n${ANSI_RED}Timeout (${timeout} minutes) reached. Terminating \"$@\"${ANSI_RESET}\n"
27 | kill -9 $cmd_pid
28 | }
29 |
30 | travis_wait() {
31 | local timeout=$1
32 |
33 | if [[ $timeout =~ ^[0-9]+$ ]]; then
34 | # looks like an integer, so we assume it's a timeout
35 | shift
36 | else
37 | # default value
38 | timeout=20
39 | fi
40 |
41 | local cmd="$@"
42 | local log_file=travis_wait_$$.log
43 |
44 | $cmd &>$log_file &
45 | local cmd_pid=$!
46 |
47 | travis_jigger $! $timeout $cmd &
48 | local jigger_pid=$!
49 | local result
50 |
51 | {
52 | wait $cmd_pid 2>/dev/null
53 | result=$?
54 | ps -p$jigger_pid &>/dev/null && kill $jigger_pid
55 | } || return 1
56 |
57 | if [ $result -eq 0 ]; then
58 | echo -e "\n${ANSI_GREEN}The command \"$TRAVIS_CMD\" exited with $result.${ANSI_RESET}"
59 | else
60 | echo -e "\n${ANSI_RED}The command \"$TRAVIS_CMD\" exited with $result.${ANSI_RESET}"
61 | fi
62 |
63 | echo -e "\n${ANSI_GREEN}Log:${ANSI_RESET}\n"
64 | tail -n 200 $log_file
65 |
66 | return $result
67 | }
68 |
69 | travis_wait $@
70 |
--------------------------------------------------------------------------------
/postmark-base/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | export TOP=$(abspath ..)
18 | all: build_docker
19 |
20 | RUMPPKGS=$(TOP)/rumprun-packages
21 | RUMPRUN=$(TOP)/rumprun
22 | include ../Makefile.inc
23 |
24 | FILES=\
25 | benchmark.pmrc \
26 | Dockerfile \
27 | Makefile \
28 |
29 | .PHONY: rumprun-packages-postmark
30 | rumprun-packages-postmark: rumprun FORCE
31 | install -m 664 -D $(RUMPPKGS)/config.mk.dist $(RUMPPKGS)/config.mk
32 | source $(RUMPRUN)/obj/config-PATH.sh && make -C $(RUMPPKGS)/postmark all bin/postmark.spt
33 | install -m 775 -D $(RUMPPKGS)/postmark/bin/postmark.spt postmark.nabla
34 |
35 | rumprun-packages-postmark-clean:
36 | make -C $(RUMPPKGS)/postmark clean
37 |
38 | build_docker: submodule_warning $(FILES) rumprun-packages-postmark
39 | sudo docker build -f Dockerfile -t nabla-postmark-base .
40 | sudo docker tag nabla-postmark-base nablact/nabla-postmark-base
41 |
42 | clean:
43 | rm -rf postmark.nabla
44 |
45 | distclean: clean rumprun-packages-postmark-clean rumprun-clean
46 |
--------------------------------------------------------------------------------
/redis-base/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | export TOP=$(abspath ..)
18 | all: build_docker
19 |
20 | RUMPPKGS=$(TOP)/rumprun-packages
21 | RUMPRUN=$(TOP)/rumprun
22 | include ../Makefile.inc
23 |
24 | FILES=\
25 | redisaof.conf \
26 | redis.conf \
27 | Dockerfile \
28 | Makefile \
29 |
30 | .PHONY: rumprun-packages-redis
31 | rumprun-packages-redis: rumprun FORCE
32 | install -m 664 -D $(RUMPPKGS)/config.mk.dist $(RUMPPKGS)/config.mk
33 | source $(RUMPRUN)/obj/config && source $(RUMPRUN)/obj/config-PATH.sh && \
34 | make -C $(RUMPPKGS)/redis bin/redis-server.spt
35 | install -m 775 -D $(RUMPPKGS)/redis/bin/redis-server.spt redis.nabla
36 |
37 | rumprun-packages-redis-clean:
38 | make -C $(RUMPPKGS)/redis clean
39 |
40 | build_docker: submodule_warning $(FILES) rumprun-packages-redis
41 | sudo docker build -f Dockerfile -t nabla-redis-base .
42 | sudo docker tag nabla-redis-base nablact/nabla-redis-base
43 |
44 | clean:
45 | rm -rf redis.nabla
46 |
47 | distclean: clean rumprun-packages-redis-clean rumprun-clean
48 |
--------------------------------------------------------------------------------
/node-base/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | export TOP=$(abspath ..)
18 | all: build_docker
19 |
20 | RUMPPKGS=$(TOP)/rumprun-packages
21 | RUMPRUN=$(TOP)/rumprun
22 | include ../Makefile.inc
23 |
24 | FILES=\
25 | Dockerfile \
26 | Makefile \
27 |
28 | include $(RUMPPKGS)/nodejs/Makefile.inc
29 |
30 | .PHONY: rumprun-packages-nodejs
31 | rumprun-packages-nodejs: rumprun FORCE
32 | install -m 664 -D $(RUMPPKGS)/config.mk.dist $(RUMPPKGS)/config.mk
33 | source $(RUMPRUN)/obj/config && source $(RUMPRUN)/obj/config-PATH.sh && \
34 | make -C $(RUMPPKGS)/nodejs all $(BUILD_DIR)/node.spt
35 | install -m 775 -D $(RUMPPKGS)/nodejs/$(BUILD_DIR)/node.spt node.nabla
36 |
37 | rumprun-packages-nodejs-clean:
38 | make -C $(RUMPPKGS)/nodejs clean
39 |
40 | build_docker: submodule_warning $(FILES) rumprun-packages-nodejs
41 | sudo docker build -f Dockerfile -t nabla-node-base .
42 | sudo docker tag nabla-node-base nablact/nabla-node-base
43 |
44 | clean:
45 | rm -rf node.nabla
46 |
47 | distclean: clean rumprun-packages-nodejs-clean rumprun-clean
48 |
--------------------------------------------------------------------------------
/Makefile.inc:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | # These build targets are used by all rumprun-based nabla bases; their
18 | # Makefiles include this one.
19 |
20 | SHELL := /bin/bash
21 |
22 | SUBMOD_NEEDS_UPDATE=$(shell [ -z "`git submodule | grep -v "^ "`" ] && echo 0 || echo 1)
23 |
24 | ifeq ($(SUBMOD_NEEDS_UPDATE), 1)
25 | submodule_warning:
26 | $(info #################################################################)
27 | $(info # Warning: git submodule out of date!!!! #)
28 | $(info # Please run `git submodule sync --recursive` #)
29 | $(info # Please run `git submodule update --init --recursive` #)
30 | $(info #################################################################)
31 | $(info )
32 | $(info Continuing in 5 seconds...)
33 | $(shell sleep 5)
34 | else
35 | submodule_warning:
36 |
37 | endif
38 |
39 | .PHONY: rumprun
40 | rumprun: rumprun_stamp
41 |
42 | rumprun_stamp: submodule_warning
43 | make -C $(TOP)/rumprun build
44 | touch $@
45 |
46 | rumprun-clean:
47 | make -C $(TOP)/rumprun clean
48 | rm rumprun_stamp
49 |
50 | .PHONY: FORCE
51 |
52 |
--------------------------------------------------------------------------------
/nginx-base/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | export TOP=$(abspath ..)
18 | all: build_docker
19 |
20 | RUMPPKGS=$(TOP)/rumprun-packages
21 | RUMPRUN=$(TOP)/rumprun
22 | include ../Makefile.inc
23 |
24 | FILES=\
25 | data/www/logo150.png \
26 | data/www/index.html \
27 | data/conf/mime.types \
28 | data/conf/scgi_params \
29 | data/conf/fastcgi_params \
30 | data/conf/fastcgi.conf \
31 | data/conf/uwsgi_params \
32 | data/conf/nginx.conf \
33 | Dockerfile \
34 | Makefile \
35 |
36 | .PHONY: rumprun-packages-nginx
37 | rumprun-packages-nginx: rumprun FORCE
38 | install -m 664 -D $(RUMPPKGS)/config.mk.dist $(RUMPPKGS)/config.mk
39 | source $(RUMPRUN)/obj/config && source $(RUMPRUN)/obj/config-PATH.sh && \
40 | make -C $(RUMPPKGS)/nginx all bin/nginx.spt
41 | install -m 775 -D $(RUMPPKGS)/nginx/bin/nginx.spt nginx.nabla
42 |
43 | rumprun-packages-nginx-clean:
44 | make -C $(RUMPPKGS)/nginx clean
45 |
46 | build_docker: submodule_warning $(FILES) rumprun-packages-nginx
47 | sudo docker build -f Dockerfile -t nabla-nginx-base .
48 | sudo docker tag nabla-nginx-base nablact/nabla-nginx-base
49 |
50 | clean:
51 | rm -rf nginx.nabla
52 |
53 | distclean: clean rumprun-packages-nginx-clean rumprun-clean
54 |
--------------------------------------------------------------------------------
/python3-base/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | export TOP=$(abspath ..)
18 | all: build_docker
19 |
20 | RUMPPKGS=$(TOP)/rumprun-packages
21 | RUMPRUN=$(TOP)/rumprun
22 | include ../Makefile.inc
23 |
24 | FILES=\
25 | rootfs/etc/services \
26 | rootfs/etc/pwd.db \
27 | rootfs/etc/group \
28 | rootfs/etc/nsswitch.conf \
29 | rootfs/etc/spwd.db \
30 | rootfs/etc/hosts \
31 | rootfs/etc/master.passwd \
32 | rootfs/etc/protocols \
33 | rootfs/etc/resolv.conf \
34 | Dockerfile \
35 | Makefile \
36 |
37 | .PHONY: rumprun-packages-python3
38 | rumprun-packages-python3: rumprun FORCE
39 | install -m 664 -D $(RUMPPKGS)/config.mk.dist $(RUMPPKGS)/config.mk
40 | source $(RUMPRUN)/obj/config && source $(RUMPRUN)/obj/config-PATH.sh && \
41 | make -C $(RUMPPKGS)/python3 all bin/python.spt
42 | install -m 775 -D $(RUMPPKGS)/python3/bin/python.spt python3.nabla
43 |
44 | rumprun-packages-python3-clean:
45 | make -C $(RUMPPKGS)/python3 clean
46 |
47 | build_docker: submodule_warning $(FILES) rumprun-packages-python3
48 | sudo docker build -f Dockerfile -t nabla-python3-base .
49 | sudo docker tag nabla-python3-base nablact/nabla-python3-base
50 |
51 | clean:
52 | rm -rf python3.nabla
53 |
54 | distclean: clean rumprun-packages-python3-clean rumprun-clean
55 |
--------------------------------------------------------------------------------
/go-base/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Contributors as noted in the AUTHORS file
2 | #
3 | # Permission to use, copy, modify, and/or distribute this software
4 | # for any purpose with or without fee is hereby granted, provided
5 | # that the above copyright notice and this permission notice appear
6 | # in all copies.
7 | #
8 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
12 | # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13 | # OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 | # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 |
17 | export TOP=$(abspath ..)
18 | all: build_docker
19 |
20 | RUMPPKGS=$(TOP)/rumprun-packages
21 | RUMPRUN=$(TOP)/rumprun
22 | GORUMP=$(TOP)/gorump
23 | GOBASE=$(TOP)/go-base
24 | GOBOOTSTRAP=$(TOP)/gobootstrap
25 | export GOROOT=$(GOBOOTSTRAP)
26 | unexport GOPATH
27 | unexport GOBIN
28 |
29 | include ../Makefile.inc
30 |
31 | FILES=\
32 | Dockerfile \
33 | Makefile \
34 |
35 | .PHONY: gobootstrap
36 | gobootstrap: FORCE
37 | rm -rf $(GOBOOTSTRAP)
38 | mkdir $(GOBOOTSTRAP)
39 | curl -L https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz | tar xz -C $(GOBOOTSTRAP) --strip-components=1
40 |
41 | .PHONY: gorump
42 | gorump: gorump_stamp
43 |
44 | gorump_stamp: gobootstrap rumprun
45 | source $(RUMPRUN)/obj/config && source $(RUMPRUN)/obj/config-PATH.sh && \
46 | cd $(GORUMP)/go/src && CGO_ENABLED=0 GOROOT_BOOTSTRAP=$(GOBOOTSTRAP) GOOS=rumprun GOARCH=amd64 ./make.bash && cd $(GOBASE)
47 | cp -r $(GORUMP)/go1.5 gorump
48 | cp $(GORUMP)/go1.5/bin/go go
49 | touch $@
50 |
51 | build_docker: submodule_warning $(FILES) gorump
52 | cp -r $(RUMPRUN) rumprun-solo5
53 | sudo docker build --build-arg host_rumproot=$(realpath ../rumprun) -f Dockerfile -t nabla-go-base .
54 | sudo docker tag nabla-go-base nablact/nabla-go-base
55 | rm -rf gobootstrap gorump rumprun-solo5
56 |
57 | clean:
58 | rm -rf gobootstrap gorump rumprun-solo5 *_stamp
59 |
60 | distclean: clean rumprun-clean
61 |
--------------------------------------------------------------------------------
/tests/bats-core/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2017 bats-core contributors
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
22 | ---
23 |
24 | * [bats-core] is a continuation of [bats]. Copyright for portions of the
25 | bats-core project are held by Sam Stephenson, 2014 as part of the project
26 | [bats], licensed under MIT:
27 |
28 | Copyright (c) 2014 Sam Stephenson
29 |
30 | Permission is hereby granted, free of charge, to any person obtaining
31 | a copy of this software and associated documentation files (the
32 | "Software"), to deal in the Software without restriction, including
33 | without limitation the rights to use, copy, modify, merge, publish,
34 | distribute, sublicense, and/or sell copies of the Software, and to
35 | permit persons to whom the Software is furnished to do so, subject to
36 | the following conditions:
37 |
38 | The above copyright notice and this permission notice shall be
39 | included in all copies or substantial portions of the Software.
40 |
41 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
44 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
45 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
46 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
47 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
48 |
49 | For details, please see the [version control history][commits].
50 |
51 | [bats-core]: https://github.com/bats-core/bats-core
52 | [bats]:https://github.com/sstephenson/bats
53 | [commits]:https://github.com/bats-core/bats-core/commits/master
54 |
--------------------------------------------------------------------------------
/tests/integration/run.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | ## Copyright (c) 2018, IBM
3 | # Author(s): Brandon Lum, Ricardo Koller
4 | #
5 | # Permission to use, copy, modify, and/or distribute this software for
6 | # any purpose with or without fee is hereby granted, provided that the
7 | # above copyright notice and this permission notice appear in all
8 | # copies.
9 | #
10 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 | # DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
15 | # OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16 | # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 | # PERFORMANCE OF THIS SOFTWARE.
18 |
19 | load helpers
20 |
21 | function setup() {
22 | cd ${TOPLEVEL}/tests/integration
23 | sudo ip tuntap add tap_nabla_test mode tap
24 | sudo ip addr add 21.0.0.1/24 dev tap_nabla_test
25 | sudo ip link set dev tap_nabla_test up
26 | }
27 |
28 | function teardown() {
29 | sudo ip link delete tap_nabla_test
30 | }
31 |
32 | function nabla_run() {
33 | run ${TOPLEVEL}/rumprun/solo5/tenders/spt/solo5-spt --net=tap_nabla_test "$@"
34 |
35 | echo "nabla-run $@ (status=$status):" >&2
36 | echo "$output" >&2
37 | }
38 |
39 | @test "test raw node version" {
40 | nabla_run --x-exec-heap ${TOPLEVEL}/node-base/node.nabla -- '{"cmdline":"node --version"}'
41 | [[ "$output" == *"v4.3.0"* ]]
42 | [ "$status" -eq 0 ]
43 | }
44 |
45 |
46 | @test "test raw node (hello)" {
47 | nabla_run --x-exec-heap ${TOPLEVEL}/node-base/node.nabla
48 | # node with no args prints "Hello, Rump!!"
49 | [[ "$output" == *"Hello, Rump!!"* ]]
50 | [ "$status" -eq 0 ]
51 | }
52 |
53 | @test "test raw python version" {
54 | skip "Not building python in travis (too slow)"
55 | nabla_run ${TOPLEVEL}/python3-base/python3.nabla -- '{"cmdline":"python --version"}'
56 | [[ "$output" == *"Python 3.5.2"* ]]
57 | [ "$status" -eq 0 ]
58 | }
59 |
60 | @test "test raw redis version" {
61 | skip "Not building redis in travis (too slow)"
62 | nabla_run ${TOPLEVEL}/redis-base/redis.nabla -- '{"cmdline":"redis --version"}'
63 | [[ "$output" == *"Redis server v=3.0.6"* ]]
64 | [ "$status" -eq 0 ]
65 | }
66 |
67 | @test "test raw nginx version" {
68 | nabla_run ${TOPLEVEL}/nginx-base/nginx.nabla -- '{"cmdline":"nginx -v"}'
69 | [[ "$output" == *"nginx version: nginx/1.8.0"* ]]
70 | [ "$status" -eq 0 ]
71 | }
72 |
73 | @test "test raw go hello" {
74 | nabla_run ${TOPLEVEL}/tests/gotest/goapp.nabla
75 | [[ "$output" == *"Hello, Rumprun. This is Go."* ]]
76 | [ "$status" -eq 0 ]
77 | }
78 |
--------------------------------------------------------------------------------
/tests/bats-core/bats-format-tap-stream:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 |
4 | # Just stream the TAP output (sans extended syntax) if tput is missing
5 | command -v tput >/dev/null || exec grep -v "^begin "
6 |
7 | header_pattern='[0-9]+\.\.[0-9]+'
8 | IFS= read -r header
9 |
10 | if [[ "$header" =~ $header_pattern ]]; then
11 | count="${header:3}"
12 | index=0
13 | failures=0
14 | skipped=0
15 | name=""
16 | count_column_width=$(( ${#count} * 2 + 2 ))
17 | else
18 | # If the first line isn't a TAP plan, print it and pass the rest through
19 | printf "%s\n" "$header"
20 | exec cat
21 | fi
22 |
23 | update_screen_width() {
24 | screen_width="$(tput cols)"
25 | count_column_left=$(( $screen_width - $count_column_width ))
26 | }
27 |
28 | trap update_screen_width WINCH
29 | update_screen_width
30 |
31 | begin() {
32 | go_to_column 0
33 | printf_with_truncation $(( $count_column_left - 1 )) " %s" "$name"
34 | clear_to_end_of_line
35 | go_to_column $count_column_left
36 | printf "%${#count}s/${count}" "$index"
37 | go_to_column 1
38 | }
39 |
40 | pass() {
41 | go_to_column 0
42 | printf " ✓ %s" "$name"
43 | advance
44 | }
45 |
46 | skip() {
47 | local reason="$1"
48 | [ -z "$reason" ] || reason=": $reason"
49 | go_to_column 0
50 | printf " - %s (skipped%s)" "$name" "$reason"
51 | advance
52 | }
53 |
54 | fail() {
55 | go_to_column 0
56 | set_color 1 bold
57 | printf " ✗ %s" "$name"
58 | advance
59 | }
60 |
61 | log() {
62 | set_color 1
63 | printf " %s\n" "$1"
64 | clear_color
65 | }
66 |
67 | summary() {
68 | printf "\n%d test" "$count"
69 | if [[ "$count" -ne '1' ]]; then
70 | printf 's'
71 | fi
72 |
73 | printf ", %d failure" "$failures"
74 | if [[ "$failures" -ne '1' ]]; then
75 | printf 's'
76 | fi
77 |
78 | if [ "$skipped" -gt 0 ]; then
79 | printf ", %d skipped" "$skipped"
80 | fi
81 |
82 | printf "\n"
83 | }
84 |
85 | printf_with_truncation() {
86 | local width="$1"
87 | shift
88 | local string
89 |
90 | printf -v 'string' -- "$@"
91 |
92 | if [ "${#string}" -gt "$width" ]; then
93 | printf "%s..." "${string:0:$(( $width - 4 ))}"
94 | else
95 | printf "%s" "$string"
96 | fi
97 | }
98 |
99 | go_to_column() {
100 | local column="$1"
101 | printf "\x1B[%dG" $(( $column + 1 ))
102 | }
103 |
104 | clear_to_end_of_line() {
105 | printf "\x1B[K"
106 | }
107 |
108 | advance() {
109 | clear_to_end_of_line
110 | echo
111 | clear_color
112 | }
113 |
114 | set_color() {
115 | local color="$1"
116 | local weight='22'
117 |
118 | if [[ "$2" == 'bold' ]]; then
119 | weight='1'
120 | fi
121 | printf "\x1B[%d;%dm" $(( 30 + $color )) "$weight"
122 | }
123 |
124 | clear_color() {
125 | printf "\x1B[0m"
126 | }
127 |
128 | _buffer=""
129 |
130 | buffer() {
131 | _buffer="${_buffer}$("$@")"
132 | }
133 |
134 | flush() {
135 | printf "%s" "$_buffer"
136 | _buffer=""
137 | }
138 |
139 | finish() {
140 | flush
141 | printf "\n"
142 | }
143 |
144 | trap finish EXIT
145 |
146 | while IFS= read -r line; do
147 | case "$line" in
148 | "begin "* )
149 | let index+=1
150 | name="${line#* $index }"
151 | buffer begin
152 | flush
153 | ;;
154 | "ok "* )
155 | skip_expr="ok $index (.*) # skip ?(([^)]*))?"
156 | if [[ "$line" =~ $skip_expr ]]; then
157 | let skipped+=1
158 | buffer skip "${BASH_REMATCH[2]}"
159 | else
160 | buffer pass
161 | fi
162 | ;;
163 | "not ok "* )
164 | let failures+=1
165 | buffer fail
166 | ;;
167 | "# "* )
168 | buffer log "${line:2}"
169 | ;;
170 | esac
171 | done
172 |
173 | buffer summary
174 |
--------------------------------------------------------------------------------
/nginx-base/data/conf/mime.types:
--------------------------------------------------------------------------------
1 |
2 | types {
3 | text/html html htm shtml;
4 | text/css css;
5 | text/xml xml;
6 | image/gif gif;
7 | image/jpeg jpeg jpg;
8 | application/javascript js;
9 | application/atom+xml atom;
10 | application/rss+xml rss;
11 |
12 | text/mathml mml;
13 | text/plain txt;
14 | text/vnd.sun.j2me.app-descriptor jad;
15 | text/vnd.wap.wml wml;
16 | text/x-component htc;
17 |
18 | image/png png;
19 | image/tiff tif tiff;
20 | image/vnd.wap.wbmp wbmp;
21 | image/x-icon ico;
22 | image/x-jng jng;
23 | image/x-ms-bmp bmp;
24 | image/svg+xml svg svgz;
25 | image/webp webp;
26 |
27 | application/font-woff woff;
28 | application/java-archive jar war ear;
29 | application/json json;
30 | application/mac-binhex40 hqx;
31 | application/msword doc;
32 | application/pdf pdf;
33 | application/postscript ps eps ai;
34 | application/rtf rtf;
35 | application/vnd.apple.mpegurl m3u8;
36 | application/vnd.ms-excel xls;
37 | application/vnd.ms-fontobject eot;
38 | application/vnd.ms-powerpoint ppt;
39 | application/vnd.wap.wmlc wmlc;
40 | application/vnd.google-earth.kml+xml kml;
41 | application/vnd.google-earth.kmz kmz;
42 | application/x-7z-compressed 7z;
43 | application/x-cocoa cco;
44 | application/x-java-archive-diff jardiff;
45 | application/x-java-jnlp-file jnlp;
46 | application/x-makeself run;
47 | application/x-perl pl pm;
48 | application/x-pilot prc pdb;
49 | application/x-rar-compressed rar;
50 | application/x-redhat-package-manager rpm;
51 | application/x-sea sea;
52 | application/x-shockwave-flash swf;
53 | application/x-stuffit sit;
54 | application/x-tcl tcl tk;
55 | application/x-x509-ca-cert der pem crt;
56 | application/x-xpinstall xpi;
57 | application/xhtml+xml xhtml;
58 | application/xspf+xml xspf;
59 | application/zip zip;
60 |
61 | application/octet-stream bin exe dll;
62 | application/octet-stream deb;
63 | application/octet-stream dmg;
64 | application/octet-stream iso img;
65 | application/octet-stream msi msp msm;
66 |
67 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
68 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
69 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
70 |
71 | audio/midi mid midi kar;
72 | audio/mpeg mp3;
73 | audio/ogg ogg;
74 | audio/x-m4a m4a;
75 | audio/x-realaudio ra;
76 |
77 | video/3gpp 3gpp 3gp;
78 | video/mp2t ts;
79 | video/mp4 mp4;
80 | video/mpeg mpeg mpg;
81 | video/quicktime mov;
82 | video/webm webm;
83 | video/x-flv flv;
84 | video/x-m4v m4v;
85 | video/x-mng mng;
86 | video/x-ms-asf asx asf;
87 | video/x-ms-wmv wmv;
88 | video/x-msvideo avi;
89 | }
90 |
--------------------------------------------------------------------------------
/tests/bats-core/bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 |
4 | version() {
5 | echo "Bats 0.4.0"
6 | }
7 |
8 | usage() {
9 | version
10 | echo "Usage: bats [-c] [-p | -t] [ ...]"
11 | }
12 |
13 | help() {
14 | usage
15 | echo
16 | echo " is the path to a Bats test file, or the path to a directory"
17 | echo " containing Bats test files."
18 | echo
19 | echo " -c, --count Count the number of test cases without running any tests"
20 | echo " -h, --help Display this help message"
21 | echo " -p, --pretty Show results in pretty format (default for terminals)"
22 | echo " -t, --tap Show results in TAP format"
23 | echo " -v, --version Display the version number"
24 | echo
25 | echo " For more information, see https://github.com/bats-core/bats-core"
26 | echo
27 | }
28 |
29 | BATS_READLINK=
30 |
31 | resolve_link() {
32 | if [[ -z "$BATS_READLINK" ]]; then
33 | if command -v 'greadlink' >/dev/null; then
34 | BATS_READLINK='greadlink'
35 | elif command -v 'readlink' >/dev/null; then
36 | BATS_READLINK='readlink'
37 | else
38 | BATS_READLINK='true'
39 | fi
40 | fi
41 | "$BATS_READLINK" "$1" || return 0
42 | }
43 |
44 | abs_dirname() {
45 | local cwd="$PWD"
46 | local path="$1"
47 |
48 | while [ -n "$path" ]; do
49 | cd "${path%/*}"
50 | local name="${path##*/}"
51 | path="$(resolve_link "$name")"
52 | done
53 |
54 | printf -v "$2" -- '%s' "$PWD"
55 | cd "$cwd"
56 | }
57 |
58 | expand_path() {
59 | local path="${1%/}"
60 | local dirname="${path%/*}"
61 |
62 | if [[ "$dirname" == "$path" ]]; then
63 | dirname="$PWD"
64 | elif cd "$dirname" 2>/dev/null; then
65 | dirname="$PWD"
66 | cd "$OLDPWD"
67 | else
68 | printf '%s' "$path"
69 | return
70 | fi
71 | printf -v "$2" '%s/%s' "$dirname" "${path##*/}"
72 | }
73 |
74 | abs_dirname "$0" 'BATS_LIBEXEC'
75 | abs_dirname "$BATS_LIBEXEC" 'BATS_PREFIX'
76 | abs_dirname '.' 'BATS_CWD'
77 |
78 | export BATS_PREFIX
79 | export BATS_CWD
80 | export BATS_TEST_PATTERN="^[[:blank:]]*@test[[:blank:]]+(.*[^[:blank:]])[[:blank:]]+\{(.*)\$"
81 | export PATH="$BATS_LIBEXEC:$PATH"
82 |
83 | options=()
84 | arguments=()
85 | for arg in "$@"; do
86 | if [ "${arg:0:1}" = "-" ]; then
87 | if [ "${arg:1:1}" = "-" ]; then
88 | options[${#options[*]}]="${arg:2}"
89 | else
90 | index=1
91 | while option="${arg:$index:1}"; do
92 | [ -n "$option" ] || break
93 | options[${#options[*]}]="$option"
94 | let index+=1
95 | done
96 | fi
97 | else
98 | arguments[${#arguments[*]}]="$arg"
99 | fi
100 | done
101 |
102 | unset count_flag pretty
103 | count_flag=''
104 | pretty=''
105 | [ -t 0 ] && [ -t 1 ] && pretty="1"
106 | [ -n "${CI:-}" ] && pretty=""
107 |
108 | if [[ "${#options[@]}" -ne '0' ]]; then
109 | for option in "${options[@]}"; do
110 | case "$option" in
111 | "h" | "help" )
112 | help
113 | exit 0
114 | ;;
115 | "v" | "version" )
116 | version
117 | exit 0
118 | ;;
119 | "c" | "count" )
120 | count_flag="-c"
121 | ;;
122 | "t" | "tap" )
123 | pretty=""
124 | ;;
125 | "p" | "pretty" )
126 | pretty="1"
127 | ;;
128 | * )
129 | usage >&2
130 | exit 1
131 | ;;
132 | esac
133 | done
134 | fi
135 |
136 | if [ "${#arguments[@]}" -eq 0 ]; then
137 | usage >&2
138 | exit 1
139 | fi
140 |
141 | filenames=()
142 | for filename in "${arguments[@]}"; do
143 | expand_path "$filename" 'filename'
144 |
145 | if [ -d "$filename" ]; then
146 | shopt -s nullglob
147 | for suite_filename in "$filename"/*.bats; do
148 | filenames["${#filenames[@]}"]="$suite_filename"
149 | done
150 | shopt -u nullglob
151 | else
152 | filenames["${#filenames[@]}"]="$filename"
153 | fi
154 | done
155 |
156 | if [ "${#filenames[@]}" -eq 1 ]; then
157 | command="bats-exec-test"
158 | else
159 | command="bats-exec-suite"
160 | fi
161 |
162 | set -o pipefail execfail
163 | if [ -z "$pretty" ]; then
164 | exec "$command" $count_flag "${filenames[@]}"
165 | else
166 | extended_syntax_flag="-x"
167 | formatter="bats-format-tap-stream"
168 | exec "$command" $count_flag $extended_syntax_flag "${filenames[@]}" | "$formatter"
169 | fi
170 |
--------------------------------------------------------------------------------
/tests/bats-core/bats-exec-test:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 | set -E
4 | set -T
5 |
6 | BATS_COUNT_ONLY=""
7 | if [ "$1" = "-c" ]; then
8 | BATS_COUNT_ONLY=1
9 | shift
10 | fi
11 |
12 | BATS_EXTENDED_SYNTAX=""
13 | if [ "$1" = "-x" ]; then
14 | BATS_EXTENDED_SYNTAX="$1"
15 | shift
16 | fi
17 |
18 | BATS_TEST_FILENAME="$1"
19 | if [ -z "$BATS_TEST_FILENAME" ]; then
20 | echo "usage: bats-exec " >&2
21 | exit 1
22 | elif [ ! -f "$BATS_TEST_FILENAME" ]; then
23 | echo "bats: $BATS_TEST_FILENAME does not exist" >&2
24 | exit 1
25 | else
26 | shift
27 | fi
28 |
29 | BATS_TEST_DIRNAME="${BATS_TEST_FILENAME%/*}"
30 | BATS_TEST_NAMES=()
31 |
32 | load() {
33 | local name="$1"
34 | local filename
35 |
36 | if [ "${name:0:1}" = "/" ]; then
37 | filename="${name}"
38 | else
39 | filename="$BATS_TEST_DIRNAME/${name}.bash"
40 | fi
41 |
42 | if [[ ! -f "$filename" ]]; then
43 | echo "bats: $filename does not exist" >&2
44 | exit 1
45 | fi
46 |
47 | source "${filename}"
48 | }
49 |
50 | run() {
51 | local e E T oldIFS
52 | [[ ! "$-" =~ e ]] || e=1
53 | [[ ! "$-" =~ E ]] || E=1
54 | [[ ! "$-" =~ T ]] || T=1
55 | set +e
56 | set +E
57 | set +T
58 | output="$("$@" 2>&1)"
59 | status="$?"
60 | oldIFS=$IFS
61 | IFS=$'\n' lines=($output)
62 | [ -z "$e" ] || set -e
63 | [ -z "$E" ] || set -E
64 | [ -z "$T" ] || set -T
65 | IFS=$oldIFS
66 | }
67 |
68 | setup() {
69 | true
70 | }
71 |
72 | teardown() {
73 | true
74 | }
75 |
76 | BATS_TEST_SKIPPED=''
77 | skip() {
78 | BATS_TEST_SKIPPED=${1:-1}
79 | BATS_TEST_COMPLETED=1
80 | exit 0
81 | }
82 |
83 | bats_test_begin() {
84 | BATS_TEST_DESCRIPTION="$1"
85 | if [ -n "$BATS_EXTENDED_SYNTAX" ]; then
86 | echo "begin $BATS_TEST_NUMBER $BATS_TEST_DESCRIPTION" >&3
87 | fi
88 | setup
89 | }
90 |
91 | bats_test_function() {
92 | local test_name="$1"
93 | BATS_TEST_NAMES+=("$test_name")
94 | }
95 |
96 | BATS_CURRENT_STACK_TRACE=()
97 | BATS_PREVIOUS_STACK_TRACE=()
98 |
99 | bats_capture_stack_trace() {
100 | if [[ "${#BATS_CURRENT_STACK_TRACE[@]}" -ne '0' ]]; then
101 | BATS_PREVIOUS_STACK_TRACE=("${BATS_CURRENT_STACK_TRACE[@]}")
102 | fi
103 | BATS_CURRENT_STACK_TRACE=()
104 |
105 | local test_pattern=" $BATS_TEST_NAME $BATS_TEST_SOURCE"
106 | local setup_pattern=" setup $BATS_TEST_SOURCE"
107 | local teardown_pattern=" teardown $BATS_TEST_SOURCE"
108 |
109 | local frame
110 | local i
111 |
112 | for ((i=2; i != ${#FUNCNAME[@]}; ++i)); do
113 | frame="${BASH_LINENO[$((i-1))]} ${FUNCNAME[$i]} ${BASH_SOURCE[$i]}"
114 | BATS_CURRENT_STACK_TRACE["${#BATS_CURRENT_STACK_TRACE[@]}"]="$frame"
115 | if [[ "$frame" = *"$test_pattern" || \
116 | "$frame" = *"$setup_pattern" || \
117 | "$frame" = *"$teardown_pattern" ]]; then
118 | break
119 | fi
120 | done
121 |
122 | bats_frame_filename "${BATS_CURRENT_STACK_TRACE[0]}" 'BATS_SOURCE'
123 | bats_frame_lineno "${BATS_CURRENT_STACK_TRACE[0]}" 'BATS_LINENO'
124 | }
125 |
126 | bats_print_stack_trace() {
127 | local frame
128 | local index=1
129 | local count="${#@}"
130 | local filename
131 | local lineno
132 |
133 | for frame in "$@"; do
134 | bats_frame_filename "$frame" 'filename'
135 | bats_trim_filename "$filename" 'filename'
136 | bats_frame_lineno "$frame" 'lineno'
137 |
138 | if [ $index -eq 1 ]; then
139 | echo -n "# ("
140 | else
141 | echo -n "# "
142 | fi
143 |
144 | local fn
145 | bats_frame_function "$frame" 'fn'
146 | if [ "$fn" != "$BATS_TEST_NAME" ]; then
147 | echo -n "from function \`$fn' "
148 | fi
149 |
150 | if [ $index -eq $count ]; then
151 | echo "in test file $filename, line $lineno)"
152 | else
153 | echo "in file $filename, line $lineno,"
154 | fi
155 |
156 | let index+=1
157 | done
158 | }
159 |
160 | bats_print_failed_command() {
161 | local frame="$1"
162 | local status="$2"
163 | local filename
164 | local lineno
165 | local failed_line
166 | local failed_command
167 |
168 | bats_frame_filename "$frame" 'filename'
169 | bats_frame_lineno "$frame" 'lineno'
170 | bats_extract_line "$filename" "$lineno" 'failed_line'
171 | bats_strip_string "$failed_line" 'failed_command'
172 | printf '%s' "# \`${failed_command}' "
173 |
174 | if [ $status -eq 1 ]; then
175 | echo "failed"
176 | else
177 | echo "failed with status $status"
178 | fi
179 | }
180 |
181 | bats_frame_lineno() {
182 | printf -v "$2" '%s' "${1%% *}"
183 | }
184 |
185 | bats_frame_function() {
186 | local __bff_function="${1#* }"
187 | printf -v "$2" '%s' "${__bff_function%% *}"
188 | }
189 |
190 | bats_frame_filename() {
191 | local __bff_filename="${1#* }"
192 | __bff_filename="${__bff_filename#* }"
193 |
194 | if [ "$__bff_filename" = "$BATS_TEST_SOURCE" ]; then
195 | __bff_filename="$BATS_TEST_FILENAME"
196 | fi
197 | printf -v "$2" '%s' "$__bff_filename"
198 | }
199 |
200 | bats_extract_line() {
201 | local __bats_extract_line_line
202 | local __bats_extract_line_index='0'
203 |
204 | while IFS= read -r __bats_extract_line_line; do
205 | if [[ "$((++__bats_extract_line_index))" -eq "$2" ]]; then
206 | printf -v "$3" '%s' "${__bats_extract_line_line%$'\r'}"
207 | break
208 | fi
209 | done <"$1"
210 | }
211 |
212 | bats_strip_string() {
213 | [[ "$1" =~ ^[[:space:]]*(.*)[[:space:]]*$ ]]
214 | printf -v "$2" '%s' "${BASH_REMATCH[1]}"
215 | }
216 |
217 | bats_trim_filename() {
218 | if [[ "$1" =~ ^${BATS_CWD}/ ]]; then
219 | printf -v "$2" '%s' "${1#$BATS_CWD/}"
220 | else
221 | printf -v "$2" '%s' "$1"
222 | fi
223 | }
224 |
225 | bats_debug_trap() {
226 | if [ "$BASH_SOURCE" != "$1" ]; then
227 | bats_capture_stack_trace
228 | fi
229 | }
230 |
231 | # When running under Bash 3.2.57(1)-release on macOS, the `ERR` trap may not
232 | # always fire, but the `EXIT` trap will. For this reason we call it at the very
233 | # beginning of `bats_teardown_trap` (the `DEBUG` trap for the call will move
234 | # `BATS_CURRENT_STACK_TRACE` to `BATS_PREVIOUS_STACK_TRACE`) and check the value
235 | # of `$?` before taking other actions.
236 | bats_error_trap() {
237 | local status="$?"
238 | if [[ "$status" -ne '0' ]]; then
239 | BATS_ERROR_STATUS="$status"
240 | BATS_ERROR_STACK_TRACE=( "${BATS_PREVIOUS_STACK_TRACE[@]}" )
241 | trap - debug
242 | fi
243 | }
244 |
245 | bats_teardown_trap() {
246 | bats_error_trap
247 | trap "bats_exit_trap" exit
248 | local status=0
249 | teardown >>"$BATS_OUT" 2>&1 || status="$?"
250 |
251 | if [ $status -eq 0 ]; then
252 | BATS_TEARDOWN_COMPLETED=1
253 | elif [ -n "$BATS_TEST_COMPLETED" ]; then
254 | BATS_ERROR_STATUS="$status"
255 | BATS_ERROR_STACK_TRACE=( "${BATS_CURRENT_STACK_TRACE[@]}" )
256 | fi
257 |
258 | bats_exit_trap
259 | }
260 |
261 | bats_exit_trap() {
262 | local status
263 | local skipped=''
264 | trap - err exit
265 |
266 | if [ -n "$BATS_TEST_SKIPPED" ]; then
267 | skipped=" # skip"
268 | if [ "1" != "$BATS_TEST_SKIPPED" ]; then
269 | skipped+=" $BATS_TEST_SKIPPED"
270 | fi
271 | fi
272 |
273 | if [ -z "$BATS_TEST_COMPLETED" ] || [ -z "$BATS_TEARDOWN_COMPLETED" ]; then
274 | echo "not ok $BATS_TEST_NUMBER $BATS_TEST_DESCRIPTION" >&3
275 | bats_print_stack_trace "${BATS_ERROR_STACK_TRACE[@]}" >&3
276 | bats_print_failed_command "${BATS_ERROR_STACK_TRACE[${#BATS_ERROR_STACK_TRACE[@]}-1]}" "$BATS_ERROR_STATUS" >&3
277 | sed -e "s/^/# /" < "$BATS_OUT" >&3
278 | status=1
279 | else
280 | echo "ok ${BATS_TEST_NUMBER} ${BATS_TEST_DESCRIPTION}${skipped}" >&3
281 | status=0
282 | fi
283 |
284 | rm -f "$BATS_OUT"
285 | exit "$status"
286 | }
287 |
288 | bats_perform_tests() {
289 | echo "1..$#"
290 | test_number=1
291 | status=0
292 | for test_name in "$@"; do
293 | "$0" $BATS_EXTENDED_SYNTAX "$BATS_TEST_FILENAME" "$test_name" "$test_number" || status=1
294 | let test_number+=1
295 | done
296 | exit "$status"
297 | }
298 |
299 | bats_perform_test() {
300 | BATS_TEST_NAME="$1"
301 | if declare -F "$BATS_TEST_NAME" >/dev/null; then
302 | BATS_TEST_NUMBER="$2"
303 | if [ -z "$BATS_TEST_NUMBER" ]; then
304 | echo "1..1"
305 | BATS_TEST_NUMBER="1"
306 | fi
307 |
308 | BATS_TEST_COMPLETED=""
309 | BATS_TEARDOWN_COMPLETED=""
310 | trap "bats_debug_trap \"\$BASH_SOURCE\"" debug
311 | trap "bats_error_trap" err
312 | trap "bats_teardown_trap" exit
313 | "$BATS_TEST_NAME" >>"$BATS_OUT" 2>&1
314 | BATS_TEST_COMPLETED=1
315 |
316 | else
317 | echo "bats: unknown test name \`$BATS_TEST_NAME'" >&2
318 | exit 1
319 | fi
320 | }
321 |
322 | if [ -z "$TMPDIR" ]; then
323 | BATS_TMPDIR="/tmp"
324 | else
325 | BATS_TMPDIR="${TMPDIR%/}"
326 | fi
327 |
328 | BATS_TMPNAME="$BATS_TMPDIR/bats.$$"
329 | BATS_PARENT_TMPNAME="$BATS_TMPDIR/bats.$PPID"
330 | BATS_OUT="${BATS_TMPNAME}.out"
331 |
332 | bats_preprocess_source() {
333 | BATS_TEST_SOURCE="${BATS_TMPNAME}.src"
334 | . bats-preprocess <<< "$(< "$BATS_TEST_FILENAME")"$'\n' > "$BATS_TEST_SOURCE"
335 | trap "bats_cleanup_preprocessed_source" err exit
336 | trap "bats_cleanup_preprocessed_source; exit 1" int
337 | }
338 |
339 | bats_cleanup_preprocessed_source() {
340 | rm -f "$BATS_TEST_SOURCE"
341 | }
342 |
343 | bats_evaluate_preprocessed_source() {
344 | if [ -z "$BATS_TEST_SOURCE" ]; then
345 | BATS_TEST_SOURCE="${BATS_PARENT_TMPNAME}.src"
346 | fi
347 | source "$BATS_TEST_SOURCE"
348 | }
349 |
350 | exec 3<&1
351 |
352 | if [ "$#" -eq 0 ]; then
353 | bats_preprocess_source
354 | bats_evaluate_preprocessed_source
355 |
356 | if [ -n "$BATS_COUNT_ONLY" ]; then
357 | echo "${#BATS_TEST_NAMES[@]}"
358 | else
359 | bats_perform_tests "${BATS_TEST_NAMES[@]}"
360 | fi
361 | else
362 | bats_evaluate_preprocessed_source
363 | bats_perform_test "$@"
364 | fi
365 |
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/services:
--------------------------------------------------------------------------------
1 | #
2 | # NOTE: this is last revision of /etc/services in NetBSD which isn't
3 | # the full IANA list (which is megabytes in size)
4 | #
5 |
6 | # $NetBSD: services,v 1.85 2007/04/20 16:18:02 pooka Exp $
7 | #
8 | # Network services, Internet style
9 | #
10 | # Note that it is presently the policy of IANA to assign a single well-known
11 | # port number for both TCP and UDP; hence, most entries here have two entries
12 | # even if the protocol doesn't support UDP operations.
13 | # Updated from RFC 1340, ``Assigned Numbers'' (July 1992). Not all ports
14 | # are included, only the more common ones.
15 | # The latest IANA list is available from:
16 | # http://www.iana.org/assignments/port-numbers
17 | #
18 | # from: @(#)services 8.2 (Berkeley) 3/26/95
19 | #
20 | tcpmux 1/tcp # TCP port multiplexer (RFC1078)
21 | echo 7/tcp
22 | echo 7/udp
23 | discard 9/tcp sink null
24 | discard 9/udp sink null
25 | systat 11/tcp users
26 | daytime 13/tcp
27 | daytime 13/udp
28 | netstat 15/tcp
29 | qotd 17/tcp quote
30 | msp 18/tcp # message send protocol
31 | msp 18/udp
32 | chargen 19/tcp ttytst source
33 | chargen 19/udp ttytst source
34 | ftp-data 20/tcp # default ftp data port
35 | ftp 21/tcp # File Transfer Protocol
36 | ssh 22/tcp # Secure Shell
37 | ssh 22/udp
38 | telnet 23/tcp
39 | # 24 - private
40 | smtp 25/tcp mail
41 | # 26 - unassigned
42 | time 37/tcp timserver
43 | time 37/udp timserver
44 | rlp 39/udp resource # resource location
45 | nameserver 42/tcp name # IEN 116
46 | whois 43/tcp nicname
47 | tacacs 49/tcp # Login Host Protocol (TACACS)
48 | tacacs 49/udp # Login Host Protocol (TACACS)
49 | domain 53/tcp # name-domain server
50 | domain 53/udp
51 | mtp 57/tcp # deprecated
52 | bootps 67/tcp # BOOTP server
53 | bootps 67/udp
54 | bootpc 68/tcp # BOOTP client
55 | bootpc 68/udp
56 | tftp 69/udp # Trivial File Transfer Protocol
57 | gopher 70/tcp # Internet Gopher
58 | gopher 70/udp
59 | rje 77/tcp netrjs
60 | finger 79/tcp
61 | http 80/tcp www www-http # WorldWideWeb HTTP
62 | http 80/udp www www-http # HyperText Transfer Protocol
63 | link 87/tcp ttylink
64 | kerberos 88/tcp krb5 # Kerberos v5
65 | kerberos 88/udp
66 | supdup 95/tcp
67 | # 100 - reserved
68 | hostnames 101/tcp hostname # usually from sri-nic
69 | iso-tsap 102/tcp tsap # part of ISODE.
70 | csnet-ns 105/tcp cso-ns # also used by CSO name server
71 | csnet-ns 105/udp cso-ns
72 | poppass 106/tcp poppassd
73 | rtelnet 107/tcp # Remote Telnet
74 | rtelnet 107/udp
75 | pop2 109/tcp postoffice # POP version 2
76 | pop2 109/udp
77 | pop3 110/tcp # POP version 3
78 | pop3 110/udp
79 | sunrpc 111/tcp rpcbind # Remote Procedure Call
80 | sunrpc 111/udp rpcbind
81 | auth 113/tcp authentication tap ident
82 | sftp 115/tcp
83 | uucp-path 117/tcp
84 | sqlserv 118/tcp # SQL Services
85 | nntp 119/tcp readnews untp # USENET News Transfer Protocol
86 | erpc 121/udp # Encore Expedited Remote Pro.Call
87 | ntp 123/tcp
88 | ntp 123/udp # Network Time Protocol
89 | netbios-ns 137/tcp # NETBIOS Name Service
90 | netbios-ns 137/udp
91 | netbios-dgm 138/tcp # NETBIOS Datagram Service
92 | netbios-dgm 138/udp
93 | netbios-ssn 139/tcp # NETBIOS session service
94 | netbios-ssn 139/udp
95 | imap 143/tcp imap2 imap4 # Internet Message Access Protocol
96 | imap 143/udp imap2 imap4
97 | snmp 161/udp # Simple Net Mgmt Proto
98 | snmp-trap 162/udp snmptrap # Traps for SNMP
99 | cmip-man 163/tcp # ISO mgmt over IP (CMOT)
100 | cmip-man 163/udp
101 | cmip-agent 164/tcp
102 | cmip-agent 164/udp
103 | mailq 174/tcp # zmailer MTA
104 | xdmcp 177/tcp # X Display Mgr. Control Proto
105 | xdmcp 177/udp
106 | nextstep 178/tcp NeXTStep NextStep # NeXTStep window
107 | nextstep 178/udp NeXTStep NextStep # server
108 | bgp 179/tcp # Border Gateway Proto.
109 | bgp 179/udp
110 | prospero 191/tcp # Cliff Neuman's Prospero
111 | prospero 191/udp
112 | irc 194/tcp # Internet Relay Chat
113 | irc 194/udp
114 | smux 199/tcp # SNMP Unix Multiplexer
115 | smux 199/udp
116 | at-rtmp 201/tcp # AppleTalk routing
117 | at-rtmp 201/udp
118 | at-nbp 202/tcp # AppleTalk name binding
119 | at-nbp 202/udp
120 | at-echo 204/tcp # AppleTalk echo
121 | at-echo 204/udp
122 | at-zis 206/tcp # AppleTalk zone information
123 | at-zis 206/udp
124 | z3950 210/tcp wais # NISO Z39.50 database
125 | z3950 210/udp wais
126 | ipx 213/tcp # IPX
127 | ipx 213/udp
128 | imap3 220/tcp # Interactive Mail Access
129 | imap3 220/udp # Protocol v3
130 | rsh-spx 222/tcp # Berkeley rshd with SPX auth
131 | ulistserv 372/tcp # UNIX Listserv
132 | ulistserv 372/udp
133 | nip 376/tcp # Amiga Envoy Net Inquiry Prot.
134 | nip 376/udp # Amiga Envoy Net Inquiry Prot.
135 | ldap 389/tcp # Lightweight Directory Access Protocol
136 | ldap 389/udp # Lightweight Directory Access Protocol
137 | imsp 406/tcp # Interactive Mail Support Protocol
138 | imsp 406/udp # Interactive Mail Support Protocol
139 | microsoft-ds 445/tcp # Microsoft-DS
140 | microsoft-ds 445/udp # Microsoft-DS
141 | isakmp 500/tcp # IPsec Key Management (ISAKMP/Oakley)
142 | isakmp 500/udp # IPsec Key Management (ISAKMP/Oakley)
143 | ripng 521/tcp # RIP for IPv6
144 | ripng 521/udp # RIP for IPv6
145 | submission 587/tcp # Message Submission
146 | submission 587/udp # Message Submission
147 | acap 674/tcp # Application Configuration Access Protocol
148 | acap 674/udp # Application Configuration Access Protocol
149 | silc 706/tcp # Secure Internet Live Conferencing
150 | silc 706/udp # Secure Internet Live Conferencing
151 | iscsi-rfc 860/tcp # RFC port used by iSCSI targets
152 |
153 | #
154 | # UNIX specific services
155 | #
156 | exec 512/tcp # Remote execution
157 | biff 512/udp comsat # Biff the dog
158 | login 513/tcp # Remote login
159 | who 513/udp whod # Remote who
160 | shell 514/tcp cmd # Remote command shell
161 | syslog 514/udp # System logger
162 | printer 515/tcp spooler # line printer spooler
163 | talk 517/udp # Talk protocols
164 | ntalk 518/udp
165 | route 520/udp router routed # RIP
166 | timed 525/udp timeserver
167 | tempo 526/tcp newdate
168 | courier 530/tcp rpc
169 | conference 531/tcp chat
170 | netnews 532/tcp
171 | netwall 533/udp # -for emergency broadcasts
172 | uucp 540/tcp uucpd # uucp daemon
173 | rdist 541/tcp rdistd # rdist daemon
174 | afpovertcp 548/tcp # AppleshareIP protocol
175 | afpovertcp 548/udp # AppleshareIP protocol
176 | remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
177 | #
178 | webster 765/tcp # Network dictionary
179 | webster 765/udp
180 | rsync 873/tcp # rsync
181 | rsync 873/udp # rsync
182 |
183 | #
184 | # Various SSL services
185 | #
186 | https 443/tcp # http protocol over TLS/SSL
187 | https 443/udp # http protocol over TLS/SSL
188 | smtps 465/tcp # smtp protocol over TLS/SSL
189 | smtps 465/udp # smtp protocol over TLS/SSL
190 | nntps 563/tcp # nntp protocol over TLS/SSL (was snntp)
191 | nntps 563/udp # nntp protocol over TLS/SSL (was snntp)
192 | ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap)
193 | ldaps 636/udp # ldap protocol over TLS/SSL (was sldap)
194 | ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
195 | ftps-data 989/udp # ftp protocol, data, over TLS/SSL
196 | ftps 990/tcp # ftp protocol, control, over TLS/SSL
197 | ftps 990/udp # ftp protocol, control, over TLS/SSL
198 | telnets 992/tcp # telnet protocol over TLS/SSL
199 | telnets 992/udp # telnet protocol over TLS/SSL
200 | imaps 993/tcp # imap4 protocol over TLS/SSL
201 | imaps 993/udp # imap4 protocol over TLS/SSL
202 | ircs 994/tcp # irc protocol over TLS/SSL
203 | ircs 994/udp # irc protocol over TLS/SSL
204 | pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3)
205 | pop3s 995/udp # pop3 protocol over TLS/SSL (was spop3)
206 |
207 | #
208 | # From ``Assigned Numbers'':
209 | #
210 | #> The Registered Ports are not controlled by the IANA and on most systems
211 | #> can be used by ordinary user processes or programs executed by ordinary
212 | #> users.
213 | #
214 | #> Ports are used in the TCP [45,106] to name the ends of logical
215 | #> connections which carry long term conversations. For the purpose of
216 | #> providing services to unknown callers, a service contact port is
217 | #> defined. This list specifies the port used by the server process as its
218 | #> contact port. While the IANA can not control uses of these ports it
219 | #> does register or list uses of these ports as a convenience to the
220 | #> community.
221 | #
222 | ingreslock 1524/tcp
223 | ingreslock 1524/udp
224 | prospero-np 1525/tcp # Prospero non-privileged
225 | prospero-np 1525/udp
226 | radius 1812/tcp
227 | radius 1812/udp
228 | radius-acct 1813/tcp radacct
229 | radius-acct 1813/udp radacct
230 | cvspserver 2401/tcp
231 | cvspserver 2401/udp
232 | isns 3205/tcp # iSNS server port
233 | isns 3205/udp # iSNS server port
234 | iscsi 3260/tcp # Draft port used by iSCSI targets
235 | # Will be moved to 860 after RFC
236 | # is published
237 | iscsi-target 3260/tcp # Draft port used by iSCSI targets
238 | mysql 3306/tcp # MySQL
239 | mysql 3306/udp # MySQL
240 | svn 3690/tcp # Subversion
241 | svn 3690/udp # Subversion
242 | rfe 5002/tcp # Radio Free Ethernet
243 | rfe 5002/udp # Actually uses UDP only
244 | sip 5060/tcp # SIP
245 | sip 5060/udp # SIP
246 | postgresql 5432/tcp # PostgreSQL Database
247 | postgresql 5432/udp # PostgreSQL Database
248 |
249 | #
250 | # Kerberos (Project Athena/MIT) services
251 | # (note that kerberos @ port 88 is sorted in the list above)
252 | #
253 | kpasswd 464/udp # Kerberos password changing protocol
254 | kpasswd 464/tcp # Kerberos password changing protocol
255 | klogin 543/tcp # Kerberos `rlogin'
256 | kshell 544/tcp krcmd # Kerberos `rsh'
257 | ekshell 545/tcp # Encrypted kshell
258 | kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
259 | kerberos-iv 750/udp kdc kerberos4 # Kerberos (server) udp
260 | kerberos-iv 750/tcp kdc kerberos4 # Kerberos (server) tcp
261 | kerberos-master 751/udp # Kerberos admin server udp
262 | kerberos-master 751/tcp # Kerberos admin server tcp
263 | hprop 754/tcp # Heimdal KDC database propagation
264 | krbupdate 760/tcp kreg # BSD Kerberos registration
265 | kpwd 761/tcp # old BSD Kerberos `passwd'
266 | # (formerly `kpasswd')
267 | kpop 1109/tcp # Kerberos POP server
268 | eklogin 2105/tcp # Kerberos encrypted `rlogin'
269 | ekshell2 2106/tcp # Encrypted kshell - UColorado, Boulder
270 | krb524 4444/udp # krb5 -> krb4 ticket conversion
271 |
272 | #
273 | # AFS services
274 | #
275 | # IANA has these registered as both UDP and TCP, but only the UDP
276 | # ports are used by the protocol
277 | #
278 | afs3-fileserver 7000/tcp # file server itself
279 | afs3-fileserver 7000/udp # file server itself
280 | afs3-callback 7001/tcp # callbacks to cache managers
281 | afs3-callback 7001/udp # callbacks to cache managers
282 | afs3-prserver 7002/tcp # users & groups database
283 | afs3-prserver 7002/udp # users & groups database
284 | afs3-vlserver 7003/tcp # volume location database
285 | afs3-vlserver 7003/udp # volume location database
286 | afs3-kaserver 7004/tcp # AFS/Kerberos authentication service
287 | afs3-kaserver 7004/udp # AFS/Kerberos authentication service
288 | afs3-volser 7005/tcp # volume management server
289 | afs3-volser 7005/udp # volume management server
290 | afs3-errors 7006/tcp # error interpretation service
291 | afs3-errors 7006/udp # error interpretation service
292 | afs3-bos 7007/tcp # basic overseer process
293 | afs3-bos 7007/udp # basic overseer process
294 | afs3-update 7008/tcp # server-to-server updater
295 | afs3-update 7008/udp # server-to-server updater
296 | afs3-rmtsys 7009/tcp # remote cache manager service
297 | afs3-rmtsys 7009/udp # remote cache manager service
298 | afs3-resserver 7010/tcp # MR-AFS residence server
299 | afs3-resserver 7010/udp # MR-AFS residence server
300 | afs3-remio 7011/tcp # MR-AFS remote IO server
301 | afs3-remio 7011/udp # MR-AFS remote IO server
302 |
303 | #
304 | # Unofficial but necessary (for NetBSD) services
305 | #
306 | supfilesrv 871/tcp # SUP server
307 | supfiledbg 1127/tcp # SUP debugging
308 |
309 | #
310 | # other common ports
311 | #
312 | swat 901/tcp # Samba Web Administration Tool
313 | sieve 2000/tcp # RFC3028
314 | lmtp 2003/tcp # Local Mail Transfer Protocol
315 | nfs 2049/udp nfsd # Sun NFS
316 | nfs 2049/tcp nfsd # Sun NFS
317 | suucp 4031/tcp # UUCP over SSL
318 | suucp 4031/udp # UUCP over SSL
319 | fud 4201/udp # Cyrus IMAP finger-like service
320 | X11 6000/tcp # X Window System
321 | ircd 6667/tcp # Often used IRC port (also see 194)
322 | sstp-2 9801/tcp # Sakura Script Transfer Protocol-2
323 | sstp-2 9801/udp # Sakura Script Transfer Protocol-2
324 | amanda 10080/udp # Amanda
325 | kamanda 10081/udp # Amanda with Kerberos
326 | amandaidx 10082/tcp # Amanda index server
327 | amidxtape 10083/tcp # Amanda dump image server
328 | italk 12345/tcp # Italk Chat System
329 | italk 12345/udp # Italk Chat System
330 | hunt 26740/udp # multi-player/multi-host maze-wars
331 |
332 | #
333 | # Netatalk (in-kernel Appletalk) services
334 | # Note: The running kernel must be configured with "options NETATALK"
335 | # and software not included in NetBSD, such as Netatalk version 1.4b2
336 | # or later, must be used to take advantage of these services.
337 | #
338 | rtmp 1/ddp # Routing Table Maintenance Protocol
339 | nbp 2/ddp # Name Binding Protocol
340 | echo 4/ddp # AppleTalk Echo Protocol
341 | zip 6/ddp # Zone Information Protocol
342 |
343 | # Iana registered Coda filesystem port numbers
344 | rpc2portmap 369/tcp
345 | rpc2portmap 369/udp # Coda portmapper
346 | codaauth2 370/tcp
347 | codaauth2 370/udp # Coda authentication server
348 |
349 | # Iana registered dict port numbers
350 | dict 2628/tcp # DICT
351 | dict 2628/udp
352 |
353 | venus 2430/tcp # codacon port
354 | venus 2430/udp # Venus callback/wbc interface
355 | venus-se 2431/tcp # tcp side effects
356 | venus-se 2431/udp # udp sftp side effect
357 | codasrv 2432/tcp # not used
358 | codasrv 2432/udp # server port
359 | codasrv-se 2433/tcp # tcp side effects
360 | codasrv-se 2433/udp # udp sftp side effect
361 |
362 | # 9P file and resource sharing protocol
363 | 9pfs 564/tcp
364 | 9pfs 564/udp
365 |
366 | # Iana registered ports commonly found in security logs
367 | epmap 135/tcp # DCE endpoint resolution
368 | epmap 135/udp # DCE endpoint resolution
369 | rtsp 554/tcp # Real Time Stream Control Protocol
370 | rtsp 554/udp # Real Time Stream Control Protocol
371 | socks 1080/tcp # Socks
372 | socks 1080/udp # Socks
373 | kazaa 1214/tcp # KAZAA
374 | kazaa 1214/udp # KAZAA
375 | ms-sql-s 1433/tcp # Microsoft-SQL-Server
376 | ms-sql-s 1433/udp # Microsoft-SQL-Server
377 | ms-sql-m 1434/tcp # Microsoft-SQL-Monitor
378 | ms-sql-m 1434/udp # Microsoft-SQL-Monitor
379 | ms-wbt-server 3389/tcp # MS WBT Server
380 | ms-wbt-server 3389/udp # MS WBT Server
381 | terabase 4000/tcp icq # used for both Terabase and ICQ
382 | terabase 4000/udp icq # used for both Terabase and ICQ
383 | radmin-port 4899/tcp # RAdmin Port
384 | radmin-port 4899/udp # RAdmin Port
385 | mdns 5353/tcp # Multicast DNS
386 | mdns 5353/udp # Multicast DNS
387 | http-alt 8080/tcp # HTTP Alternate (see port 80)
388 | http-alt 8080/udp # HTTP Alternate (see port 80)
389 |
390 | # Zephyr services
391 | zephyr-clt 2103/udp # Zephyr serv-hm connection
392 | zephyr-hm 2104/udp # Zephyr hostmanager
393 | zephyr-hm-srv 2105/udp # Zephyr hm-serv connection
394 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/services:
--------------------------------------------------------------------------------
1 | #
2 | # NOTE: this is last revision of /etc/services in NetBSD which isn't
3 | # the full IANA list (which is megabytes in size)
4 | #
5 |
6 | # $NetBSD: services,v 1.85 2007/04/20 16:18:02 pooka Exp $
7 | #
8 | # Network services, Internet style
9 | #
10 | # Note that it is presently the policy of IANA to assign a single well-known
11 | # port number for both TCP and UDP; hence, most entries here have two entries
12 | # even if the protocol doesn't support UDP operations.
13 | # Updated from RFC 1340, ``Assigned Numbers'' (July 1992). Not all ports
14 | # are included, only the more common ones.
15 | # The latest IANA list is available from:
16 | # http://www.iana.org/assignments/port-numbers
17 | #
18 | # from: @(#)services 8.2 (Berkeley) 3/26/95
19 | #
20 | tcpmux 1/tcp # TCP port multiplexer (RFC1078)
21 | echo 7/tcp
22 | echo 7/udp
23 | discard 9/tcp sink null
24 | discard 9/udp sink null
25 | systat 11/tcp users
26 | daytime 13/tcp
27 | daytime 13/udp
28 | netstat 15/tcp
29 | qotd 17/tcp quote
30 | msp 18/tcp # message send protocol
31 | msp 18/udp
32 | chargen 19/tcp ttytst source
33 | chargen 19/udp ttytst source
34 | ftp-data 20/tcp # default ftp data port
35 | ftp 21/tcp # File Transfer Protocol
36 | ssh 22/tcp # Secure Shell
37 | ssh 22/udp
38 | telnet 23/tcp
39 | # 24 - private
40 | smtp 25/tcp mail
41 | # 26 - unassigned
42 | time 37/tcp timserver
43 | time 37/udp timserver
44 | rlp 39/udp resource # resource location
45 | nameserver 42/tcp name # IEN 116
46 | whois 43/tcp nicname
47 | tacacs 49/tcp # Login Host Protocol (TACACS)
48 | tacacs 49/udp # Login Host Protocol (TACACS)
49 | domain 53/tcp # name-domain server
50 | domain 53/udp
51 | mtp 57/tcp # deprecated
52 | bootps 67/tcp # BOOTP server
53 | bootps 67/udp
54 | bootpc 68/tcp # BOOTP client
55 | bootpc 68/udp
56 | tftp 69/udp # Trivial File Transfer Protocol
57 | gopher 70/tcp # Internet Gopher
58 | gopher 70/udp
59 | rje 77/tcp netrjs
60 | finger 79/tcp
61 | http 80/tcp www www-http # WorldWideWeb HTTP
62 | http 80/udp www www-http # HyperText Transfer Protocol
63 | link 87/tcp ttylink
64 | kerberos 88/tcp krb5 # Kerberos v5
65 | kerberos 88/udp
66 | supdup 95/tcp
67 | # 100 - reserved
68 | hostnames 101/tcp hostname # usually from sri-nic
69 | iso-tsap 102/tcp tsap # part of ISODE.
70 | csnet-ns 105/tcp cso-ns # also used by CSO name server
71 | csnet-ns 105/udp cso-ns
72 | poppass 106/tcp poppassd
73 | rtelnet 107/tcp # Remote Telnet
74 | rtelnet 107/udp
75 | pop2 109/tcp postoffice # POP version 2
76 | pop2 109/udp
77 | pop3 110/tcp # POP version 3
78 | pop3 110/udp
79 | sunrpc 111/tcp rpcbind # Remote Procedure Call
80 | sunrpc 111/udp rpcbind
81 | auth 113/tcp authentication tap ident
82 | sftp 115/tcp
83 | uucp-path 117/tcp
84 | sqlserv 118/tcp # SQL Services
85 | nntp 119/tcp readnews untp # USENET News Transfer Protocol
86 | erpc 121/udp # Encore Expedited Remote Pro.Call
87 | ntp 123/tcp
88 | ntp 123/udp # Network Time Protocol
89 | netbios-ns 137/tcp # NETBIOS Name Service
90 | netbios-ns 137/udp
91 | netbios-dgm 138/tcp # NETBIOS Datagram Service
92 | netbios-dgm 138/udp
93 | netbios-ssn 139/tcp # NETBIOS session service
94 | netbios-ssn 139/udp
95 | imap 143/tcp imap2 imap4 # Internet Message Access Protocol
96 | imap 143/udp imap2 imap4
97 | snmp 161/udp # Simple Net Mgmt Proto
98 | snmp-trap 162/udp snmptrap # Traps for SNMP
99 | cmip-man 163/tcp # ISO mgmt over IP (CMOT)
100 | cmip-man 163/udp
101 | cmip-agent 164/tcp
102 | cmip-agent 164/udp
103 | mailq 174/tcp # zmailer MTA
104 | xdmcp 177/tcp # X Display Mgr. Control Proto
105 | xdmcp 177/udp
106 | nextstep 178/tcp NeXTStep NextStep # NeXTStep window
107 | nextstep 178/udp NeXTStep NextStep # server
108 | bgp 179/tcp # Border Gateway Proto.
109 | bgp 179/udp
110 | prospero 191/tcp # Cliff Neuman's Prospero
111 | prospero 191/udp
112 | irc 194/tcp # Internet Relay Chat
113 | irc 194/udp
114 | smux 199/tcp # SNMP Unix Multiplexer
115 | smux 199/udp
116 | at-rtmp 201/tcp # AppleTalk routing
117 | at-rtmp 201/udp
118 | at-nbp 202/tcp # AppleTalk name binding
119 | at-nbp 202/udp
120 | at-echo 204/tcp # AppleTalk echo
121 | at-echo 204/udp
122 | at-zis 206/tcp # AppleTalk zone information
123 | at-zis 206/udp
124 | z3950 210/tcp wais # NISO Z39.50 database
125 | z3950 210/udp wais
126 | ipx 213/tcp # IPX
127 | ipx 213/udp
128 | imap3 220/tcp # Interactive Mail Access
129 | imap3 220/udp # Protocol v3
130 | rsh-spx 222/tcp # Berkeley rshd with SPX auth
131 | ulistserv 372/tcp # UNIX Listserv
132 | ulistserv 372/udp
133 | nip 376/tcp # Amiga Envoy Net Inquiry Prot.
134 | nip 376/udp # Amiga Envoy Net Inquiry Prot.
135 | ldap 389/tcp # Lightweight Directory Access Protocol
136 | ldap 389/udp # Lightweight Directory Access Protocol
137 | imsp 406/tcp # Interactive Mail Support Protocol
138 | imsp 406/udp # Interactive Mail Support Protocol
139 | microsoft-ds 445/tcp # Microsoft-DS
140 | microsoft-ds 445/udp # Microsoft-DS
141 | isakmp 500/tcp # IPsec Key Management (ISAKMP/Oakley)
142 | isakmp 500/udp # IPsec Key Management (ISAKMP/Oakley)
143 | ripng 521/tcp # RIP for IPv6
144 | ripng 521/udp # RIP for IPv6
145 | submission 587/tcp # Message Submission
146 | submission 587/udp # Message Submission
147 | acap 674/tcp # Application Configuration Access Protocol
148 | acap 674/udp # Application Configuration Access Protocol
149 | silc 706/tcp # Secure Internet Live Conferencing
150 | silc 706/udp # Secure Internet Live Conferencing
151 | iscsi-rfc 860/tcp # RFC port used by iSCSI targets
152 |
153 | #
154 | # UNIX specific services
155 | #
156 | exec 512/tcp # Remote execution
157 | biff 512/udp comsat # Biff the dog
158 | login 513/tcp # Remote login
159 | who 513/udp whod # Remote who
160 | shell 514/tcp cmd # Remote command shell
161 | syslog 514/udp # System logger
162 | printer 515/tcp spooler # line printer spooler
163 | talk 517/udp # Talk protocols
164 | ntalk 518/udp
165 | route 520/udp router routed # RIP
166 | timed 525/udp timeserver
167 | tempo 526/tcp newdate
168 | courier 530/tcp rpc
169 | conference 531/tcp chat
170 | netnews 532/tcp
171 | netwall 533/udp # -for emergency broadcasts
172 | uucp 540/tcp uucpd # uucp daemon
173 | rdist 541/tcp rdistd # rdist daemon
174 | afpovertcp 548/tcp # AppleshareIP protocol
175 | afpovertcp 548/udp # AppleshareIP protocol
176 | remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
177 | #
178 | webster 765/tcp # Network dictionary
179 | webster 765/udp
180 | rsync 873/tcp # rsync
181 | rsync 873/udp # rsync
182 |
183 | #
184 | # Various SSL services
185 | #
186 | https 443/tcp # http protocol over TLS/SSL
187 | https 443/udp # http protocol over TLS/SSL
188 | smtps 465/tcp # smtp protocol over TLS/SSL
189 | smtps 465/udp # smtp protocol over TLS/SSL
190 | nntps 563/tcp # nntp protocol over TLS/SSL (was snntp)
191 | nntps 563/udp # nntp protocol over TLS/SSL (was snntp)
192 | ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap)
193 | ldaps 636/udp # ldap protocol over TLS/SSL (was sldap)
194 | ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
195 | ftps-data 989/udp # ftp protocol, data, over TLS/SSL
196 | ftps 990/tcp # ftp protocol, control, over TLS/SSL
197 | ftps 990/udp # ftp protocol, control, over TLS/SSL
198 | telnets 992/tcp # telnet protocol over TLS/SSL
199 | telnets 992/udp # telnet protocol over TLS/SSL
200 | imaps 993/tcp # imap4 protocol over TLS/SSL
201 | imaps 993/udp # imap4 protocol over TLS/SSL
202 | ircs 994/tcp # irc protocol over TLS/SSL
203 | ircs 994/udp # irc protocol over TLS/SSL
204 | pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3)
205 | pop3s 995/udp # pop3 protocol over TLS/SSL (was spop3)
206 |
207 | #
208 | # From ``Assigned Numbers'':
209 | #
210 | #> The Registered Ports are not controlled by the IANA and on most systems
211 | #> can be used by ordinary user processes or programs executed by ordinary
212 | #> users.
213 | #
214 | #> Ports are used in the TCP [45,106] to name the ends of logical
215 | #> connections which carry long term conversations. For the purpose of
216 | #> providing services to unknown callers, a service contact port is
217 | #> defined. This list specifies the port used by the server process as its
218 | #> contact port. While the IANA can not control uses of these ports it
219 | #> does register or list uses of these ports as a convenience to the
220 | #> community.
221 | #
222 | ingreslock 1524/tcp
223 | ingreslock 1524/udp
224 | prospero-np 1525/tcp # Prospero non-privileged
225 | prospero-np 1525/udp
226 | radius 1812/tcp
227 | radius 1812/udp
228 | radius-acct 1813/tcp radacct
229 | radius-acct 1813/udp radacct
230 | cvspserver 2401/tcp
231 | cvspserver 2401/udp
232 | isns 3205/tcp # iSNS server port
233 | isns 3205/udp # iSNS server port
234 | iscsi 3260/tcp # Draft port used by iSCSI targets
235 | # Will be moved to 860 after RFC
236 | # is published
237 | iscsi-target 3260/tcp # Draft port used by iSCSI targets
238 | mysql 3306/tcp # MySQL
239 | mysql 3306/udp # MySQL
240 | svn 3690/tcp # Subversion
241 | svn 3690/udp # Subversion
242 | rfe 5002/tcp # Radio Free Ethernet
243 | rfe 5002/udp # Actually uses UDP only
244 | sip 5060/tcp # SIP
245 | sip 5060/udp # SIP
246 | postgresql 5432/tcp # PostgreSQL Database
247 | postgresql 5432/udp # PostgreSQL Database
248 |
249 | #
250 | # Kerberos (Project Athena/MIT) services
251 | # (note that kerberos @ port 88 is sorted in the list above)
252 | #
253 | kpasswd 464/udp # Kerberos password changing protocol
254 | kpasswd 464/tcp # Kerberos password changing protocol
255 | klogin 543/tcp # Kerberos `rlogin'
256 | kshell 544/tcp krcmd # Kerberos `rsh'
257 | ekshell 545/tcp # Encrypted kshell
258 | kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
259 | kerberos-iv 750/udp kdc kerberos4 # Kerberos (server) udp
260 | kerberos-iv 750/tcp kdc kerberos4 # Kerberos (server) tcp
261 | kerberos-master 751/udp # Kerberos admin server udp
262 | kerberos-master 751/tcp # Kerberos admin server tcp
263 | hprop 754/tcp # Heimdal KDC database propagation
264 | krbupdate 760/tcp kreg # BSD Kerberos registration
265 | kpwd 761/tcp # old BSD Kerberos `passwd'
266 | # (formerly `kpasswd')
267 | kpop 1109/tcp # Kerberos POP server
268 | eklogin 2105/tcp # Kerberos encrypted `rlogin'
269 | ekshell2 2106/tcp # Encrypted kshell - UColorado, Boulder
270 | krb524 4444/udp # krb5 -> krb4 ticket conversion
271 |
272 | #
273 | # AFS services
274 | #
275 | # IANA has these registered as both UDP and TCP, but only the UDP
276 | # ports are used by the protocol
277 | #
278 | afs3-fileserver 7000/tcp # file server itself
279 | afs3-fileserver 7000/udp # file server itself
280 | afs3-callback 7001/tcp # callbacks to cache managers
281 | afs3-callback 7001/udp # callbacks to cache managers
282 | afs3-prserver 7002/tcp # users & groups database
283 | afs3-prserver 7002/udp # users & groups database
284 | afs3-vlserver 7003/tcp # volume location database
285 | afs3-vlserver 7003/udp # volume location database
286 | afs3-kaserver 7004/tcp # AFS/Kerberos authentication service
287 | afs3-kaserver 7004/udp # AFS/Kerberos authentication service
288 | afs3-volser 7005/tcp # volume management server
289 | afs3-volser 7005/udp # volume management server
290 | afs3-errors 7006/tcp # error interpretation service
291 | afs3-errors 7006/udp # error interpretation service
292 | afs3-bos 7007/tcp # basic overseer process
293 | afs3-bos 7007/udp # basic overseer process
294 | afs3-update 7008/tcp # server-to-server updater
295 | afs3-update 7008/udp # server-to-server updater
296 | afs3-rmtsys 7009/tcp # remote cache manager service
297 | afs3-rmtsys 7009/udp # remote cache manager service
298 | afs3-resserver 7010/tcp # MR-AFS residence server
299 | afs3-resserver 7010/udp # MR-AFS residence server
300 | afs3-remio 7011/tcp # MR-AFS remote IO server
301 | afs3-remio 7011/udp # MR-AFS remote IO server
302 |
303 | #
304 | # Unofficial but necessary (for NetBSD) services
305 | #
306 | supfilesrv 871/tcp # SUP server
307 | supfiledbg 1127/tcp # SUP debugging
308 |
309 | #
310 | # other common ports
311 | #
312 | swat 901/tcp # Samba Web Administration Tool
313 | sieve 2000/tcp # RFC3028
314 | lmtp 2003/tcp # Local Mail Transfer Protocol
315 | nfs 2049/udp nfsd # Sun NFS
316 | nfs 2049/tcp nfsd # Sun NFS
317 | suucp 4031/tcp # UUCP over SSL
318 | suucp 4031/udp # UUCP over SSL
319 | fud 4201/udp # Cyrus IMAP finger-like service
320 | X11 6000/tcp # X Window System
321 | ircd 6667/tcp # Often used IRC port (also see 194)
322 | sstp-2 9801/tcp # Sakura Script Transfer Protocol-2
323 | sstp-2 9801/udp # Sakura Script Transfer Protocol-2
324 | amanda 10080/udp # Amanda
325 | kamanda 10081/udp # Amanda with Kerberos
326 | amandaidx 10082/tcp # Amanda index server
327 | amidxtape 10083/tcp # Amanda dump image server
328 | italk 12345/tcp # Italk Chat System
329 | italk 12345/udp # Italk Chat System
330 | hunt 26740/udp # multi-player/multi-host maze-wars
331 |
332 | #
333 | # Netatalk (in-kernel Appletalk) services
334 | # Note: The running kernel must be configured with "options NETATALK"
335 | # and software not included in NetBSD, such as Netatalk version 1.4b2
336 | # or later, must be used to take advantage of these services.
337 | #
338 | rtmp 1/ddp # Routing Table Maintenance Protocol
339 | nbp 2/ddp # Name Binding Protocol
340 | echo 4/ddp # AppleTalk Echo Protocol
341 | zip 6/ddp # Zone Information Protocol
342 |
343 | # Iana registered Coda filesystem port numbers
344 | rpc2portmap 369/tcp
345 | rpc2portmap 369/udp # Coda portmapper
346 | codaauth2 370/tcp
347 | codaauth2 370/udp # Coda authentication server
348 |
349 | # Iana registered dict port numbers
350 | dict 2628/tcp # DICT
351 | dict 2628/udp
352 |
353 | venus 2430/tcp # codacon port
354 | venus 2430/udp # Venus callback/wbc interface
355 | venus-se 2431/tcp # tcp side effects
356 | venus-se 2431/udp # udp sftp side effect
357 | codasrv 2432/tcp # not used
358 | codasrv 2432/udp # server port
359 | codasrv-se 2433/tcp # tcp side effects
360 | codasrv-se 2433/udp # udp sftp side effect
361 |
362 | # 9P file and resource sharing protocol
363 | 9pfs 564/tcp
364 | 9pfs 564/udp
365 |
366 | # Iana registered ports commonly found in security logs
367 | epmap 135/tcp # DCE endpoint resolution
368 | epmap 135/udp # DCE endpoint resolution
369 | rtsp 554/tcp # Real Time Stream Control Protocol
370 | rtsp 554/udp # Real Time Stream Control Protocol
371 | socks 1080/tcp # Socks
372 | socks 1080/udp # Socks
373 | kazaa 1214/tcp # KAZAA
374 | kazaa 1214/udp # KAZAA
375 | ms-sql-s 1433/tcp # Microsoft-SQL-Server
376 | ms-sql-s 1433/udp # Microsoft-SQL-Server
377 | ms-sql-m 1434/tcp # Microsoft-SQL-Monitor
378 | ms-sql-m 1434/udp # Microsoft-SQL-Monitor
379 | ms-wbt-server 3389/tcp # MS WBT Server
380 | ms-wbt-server 3389/udp # MS WBT Server
381 | terabase 4000/tcp icq # used for both Terabase and ICQ
382 | terabase 4000/udp icq # used for both Terabase and ICQ
383 | radmin-port 4899/tcp # RAdmin Port
384 | radmin-port 4899/udp # RAdmin Port
385 | mdns 5353/tcp # Multicast DNS
386 | mdns 5353/udp # Multicast DNS
387 | http-alt 8080/tcp # HTTP Alternate (see port 80)
388 | http-alt 8080/udp # HTTP Alternate (see port 80)
389 |
390 | # Zephyr services
391 | zephyr-clt 2103/udp # Zephyr serv-hm connection
392 | zephyr-hm 2104/udp # Zephyr hostmanager
393 | zephyr-hm-srv 2105/udp # Zephyr hm-serv connection
394 |
--------------------------------------------------------------------------------
/nginx-base/rootfs/etc/protocols:
--------------------------------------------------------------------------------
1 | # $NetBSD: protocols,v 1.28 2015/11/18 16:16:36 christos Exp $
2 | # See also: protocols(5), http://www.sethwklein.net/projects/iana-etc/
3 | #
4 | # Last Updated
5 | # 2015-10-06
6 | #
7 | # Available Formats
8 | # [IMG]
9 | # XML [IMG]
10 | # HTML [IMG]
11 | # Plain text
12 | #
13 | # Registry included below
14 | #
15 | # * Assigned Internet Protocol Numbers
16 | #
17 | # Assigned Internet Protocol Numbers
18 | #
19 | # Registration Procedure(s)
20 | #
21 | # IESG Approval or Standards Action
22 | #
23 | # Reference
24 | # [RFC5237][RFC7045]
25 | #
26 | # Note
27 | #
28 | # In the Internet Protocol version 4 (IPv4) [RFC791] there is a field
29 | # called "Protocol" to identify the next level protocol. This is an 8
30 | # bit field. In Internet Protocol version 6 (IPv6) [RFC2460], this field
31 | # is called the "Next Header" field.
32 | #
33 | # Note
34 | #
35 | # Values that are also IPv6 Extension Header Types should be listed in the
36 | # IPv6 Extension Header Types registry at [IANA registry ipv6-parameters].
37 | #
38 | # Available Formats
39 | # [IMG]
40 | # CSV
41 | #
42 | # Decimal Keyword Protocol IPv6 Extension Reference
43 | # Header
44 | # protocol num aliases # comments
45 | hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option Y [RFC2460]
46 | icmp 1 ICMP # Internet Control Message [RFC792]
47 | igmp 2 IGMP # Internet Group Management [RFC1112]
48 | ggp 3 GGP # Gateway-to-Gateway [RFC823]
49 | ipv4 4 IPv4 # IPv4 encapsulation [RFC2003]
50 | st 5 ST # Stream [RFC1190][RFC1819]
51 | tcp 6 TCP # Transmission Control [RFC793]
52 | cbt 7 CBT # CBT [Tony_Ballardie]
53 | egp 8 EGP # Exterior Gateway Protocol [RFC888][David_Mills]
54 | # any private interior gateway
55 | igp 9 IGP # (used by Cisco for their [Internet_Assigned_Numbers_Authority]
56 | # IGRP)
57 | bbn-rcc-mon 10 BBN-RCC-MON # BBN RCC Monitoring [Steve_Chipman]
58 | nvp-ii 11 NVP-II # Network Voice Protocol [RFC741][Steve_Casner]
59 | # [Boggs, D., J. Shoch, E. Taft, and R. Metcalfe, "PUP: An Internetwork
60 | pup 12 PUP # PUP Architecture", XEROX Palo Alto Research Center, CSL-79-10, July 1979;
61 | # also in IEEE Transactions on Communication, Volume COM-28, Number 4,
62 | # April 1980.][[XEROX]]
63 | argus 13 ARGUS # (deprecated) ARGUS [Robert_W_Scheifler]
64 | emcon 14 EMCON # EMCON []
65 | xnet 15 XNET # Cross Net Debugger [Haverty, J., "XNET Formats for Internet Protocol Version 4", IEN 158,
66 | # October 1980.][Jack_Haverty]
67 | chaos 16 CHAOS # Chaos [J_Noel_Chiappa]
68 | udp 17 UDP # User Datagram [RFC768][Jon_Postel]
69 | mux 18 MUX # Multiplexing [Cohen, D. and J. Postel, "Multiplexing Protocol", IEN 90,
70 | # USC/Information Sciences Institute, May 1979.][Jon_Postel]
71 | dcn-meas 19 DCN-MEAS # DCN Measurement Subsystems [David_Mills]
72 | hmp 20 HMP # Host Monitoring [RFC869][Bob_Hinden]
73 | prm 21 PRM # Packet Radio Measurement [Zaw_Sing_Su]
74 | # ["The Ethernet, A Local Area Network: Data Link Layer and Physical Layer
75 | # Specification", AA-K759B-TK, Digital Equipment Corporation, Maynard, MA.
76 | # Also as: "The Ethernet - A Local Area Network", Version 1.0, Digital
77 | # Equipment Corporation, Intel Corporation, Xerox Corporation, September
78 | xns-idp 22 XNS-IDP # XEROX NS IDP 1980. And: "The Ethernet, A Local Area Network: Data Link Layer and
79 | # Physical Layer Specifications", Digital, Intel and Xerox, November 1982.
80 | # And: XEROX, "The Ethernet, A Local Area Network: Data Link Layer and
81 | # Physical Layer Specification", X3T51/80-50, Xerox Corporation, Stamford,
82 | # CT., October 1980.][[XEROX]]
83 | trunk-1 23 TRUNK-1 # Trunk-1 [Barry_Boehm]
84 | trunk-2 24 TRUNK-2 # Trunk-2 [Barry_Boehm]
85 | leaf-1 25 LEAF-1 # Leaf-1 [Barry_Boehm]
86 | leaf-2 26 LEAF-2 # Leaf-2 [Barry_Boehm]
87 | rdp 27 RDP # Reliable Data Protocol [RFC908][Bob_Hinden]
88 | irtp 28 IRTP # Internet Reliable [RFC938][Trudy_Miller]
89 | # Transaction
90 | iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class [RFC905][]
91 | # 4
92 | netblt 30 NETBLT # Bulk Data Transfer Protocol [RFC969][David_Clark]
93 | # MFE Network Services [Shuttleworth, B., "A Documentary of MFENet, a National Computer
94 | mfe-nsp 31 MFE-NSP # Protocol Network", UCRL-52317, Lawrence Livermore Labs, Livermore, California,
95 | # June 1977.][Barry_Howard]
96 | merit-inp 32 MERIT-INP # MERIT Internodal Protocol [Hans_Werner_Braun]
97 | dccp 33 DCCP # Datagram Congestion Control [RFC4340]
98 | # Protocol
99 | 3pc 34 3PC # Third Party Connect Protocol [Stuart_A_Friedberg]
100 | idpr 35 IDPR # Inter-Domain Policy Routing [Martha_Steenstrup]
101 | # Protocol
102 | xtp 36 XTP # XTP [Greg_Chesson]
103 | ddp 37 DDP # Datagram Delivery Protocol [Wesley_Craig]
104 | idpr-cmtp 38 IDPR-CMTP # IDPR Control Message [Martha_Steenstrup]
105 | # Transport Proto
106 | tp++ 39 TP++ # TP++ Transport Protocol [Dirk_Fromhein]
107 | il 40 IL # IL Transport Protocol [Dave_Presotto]
108 | ipv6 41 IPv6 # IPv6 encapsulation [RFC2473]
109 | sdrp 42 SDRP # Source Demand Routing [Deborah_Estrin]
110 | # Protocol
111 | ipv6-route 43 IPv6-Route # Routing Header for IPv6 Y [Steve_Deering]
112 | ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 Y [Steve_Deering]
113 | idrp 45 IDRP # Inter-Domain Routing [Sue_Hares]
114 | # Protocol
115 | rsvp 46 RSVP # Reservation Protocol [RFC2205][RFC3209][Bob_Braden]
116 | gre 47 GRE # Generic Routing [RFC2784][Tony_Li]
117 | # Encapsulation
118 | dsr 48 DSR # Dynamic Source Routing [RFC4728]
119 | # Protocol
120 | bna 49 BNA # BNA [Gary Salamon]
121 | esp 50 ESP # Encap Security Payload Y [RFC4303]
122 | ah 51 AH # Authentication Header Y [RFC4302]
123 | i-nlsp 52 I-NLSP # Integrated Net Layer [K_Robert_Glenn]
124 | # Security TUBA
125 | swipe 53 SWIPE # (deprecated) IP with Encryption [John_Ioannidis]
126 | narp 54 NARP # NBMA Address Resolution [RFC1735]
127 | # Protocol
128 | mobile 55 MOBILE # IP Mobility [Charlie_Perkins]
129 | # Transport Layer Security
130 | tlsp 56 TLSP # Protocol using Kryptonet key [Christer_Oberg]
131 | # management
132 | skip 57 SKIP # SKIP [Tom_Markson]
133 | ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 [RFC2460]
134 | ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 [RFC2460]
135 | ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 Y [RFC2460]
136 | # 61 any host internal protocol [Internet_Assigned_Numbers_Authority]
137 | cftp 62 CFTP # CFTP [Forsdick, H., "CFTP", Network Message, Bolt Beranek and Newman, January
138 | # 1982.][Harry_Forsdick]
139 | # 63 any local network [Internet_Assigned_Numbers_Authority]
140 | sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK [Steven_Blumenthal]
141 | kryptolan 65 KRYPTOLAN # Kryptolan [Paul Liu]
142 | rvd 66 RVD # MIT Remote Virtual Disk [Michael_Greenwald]
143 | # Protocol
144 | ippc 67 IPPC # Internet Pluribus Packet [Steven_Blumenthal]
145 | # Core
146 | # 68 any distributed file system [Internet_Assigned_Numbers_Authority]
147 | sat-mon 69 SAT-MON # SATNET Monitoring [Steven_Blumenthal]
148 | visa 70 VISA # VISA Protocol [Gene_Tsudik]
149 | ipcv 71 IPCV # Internet Packet Core Utility [Steven_Blumenthal]
150 | cpnx 72 CPNX # Computer Protocol Network [David Mittnacht]
151 | # Executive
152 | cphb 73 CPHB # Computer Protocol Heart Beat [David Mittnacht]
153 | wsn 74 WSN # Wang Span Network [Victor Dafoulas]
154 | pvp 75 PVP # Packet Video Protocol [Steve_Casner]
155 | br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring [Steven_Blumenthal]
156 | sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary [William_Melohn]
157 | wb-mon 78 WB-MON # WIDEBAND Monitoring [Steven_Blumenthal]
158 | wb-expak 79 WB-EXPAK # WIDEBAND EXPAK [Steven_Blumenthal]
159 | iso-ip 80 ISO-IP # ISO Internet Protocol [Marshall_T_Rose]
160 | vmtp 81 VMTP # VMTP [Dave_Cheriton]
161 | secure-vmtp 82 SECURE-VMTP # SECURE-VMTP [Dave_Cheriton]
162 | vines 83 VINES # VINES [Brian Horn]
163 | ttp 84 TTP iptm IPTM # Transaction Transport [Jim_Stevens]
164 | # Protocol
165 | #iptm 84 IPTM # Internet Protocol Traffic [Jim_Stevens]
166 | # Manager
167 | nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP [Hans_Werner_Braun]
168 | dgp 86 DGP # Dissimilar Gateway Protocol [M/A-COM Government Systems, "Dissimilar Gateway Protocol Specification,
169 | # Draft Version", Contract no. CS901145, November 16, 1987.][Mike_Little]
170 | tcf 87 TCF # TCF [Guillermo_A_Loyola]
171 | eigrp 88 EIGRP # EIGRP [Cisco Systems, "Gateway Server Reference Manual", Manual Revision B,
172 | # January 10, 1988.][Guenther_Schreiner]
173 | ospfigp 89 OSPFIGP # OSPFIGP [RFC1583][RFC2328][RFC5340][John_Moy]
174 | # [Welch, B., "The Sprite Remote Procedure Call System", Technical Report,
175 | sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol UCB/Computer Science Dept., 86/302, University of California at Berkeley,
176 | # June 1986.][Bruce Willins]
177 | larp 91 LARP # Locus Address Resolution [Brian Horn]
178 | # Protocol
179 | mtp 92 MTP # Multicast Transport Protocol [Susie_Armstrong]
180 | ax.25 93 AX.25 # AX.25 Frames [Brian_Kantor]
181 | ipip 94 IPIP # IP-within-IP Encapsulation [John_Ioannidis]
182 | # Protocol
183 | micp 95 MICP # (deprecated) Mobile Internetworking [John_Ioannidis]
184 | # Control Pro.
185 | scc-sp 96 SCC-SP # Semaphore Communications [Howard_Hart]
186 | # Sec. Pro.
187 | etherip 97 ETHERIP # Ethernet-within-IP [RFC3378]
188 | # Encapsulation
189 | encap 98 ENCAP # Encapsulation Header [RFC1241][Robert_Woodburn]
190 | # 99 any private encryption [Internet_Assigned_Numbers_Authority]
191 | # scheme
192 | gmtp 100 GMTP # GMTP [[RXB5]]
193 | ifmp 101 IFMP # Ipsilon Flow Management [Bob_Hinden][November 1995, 1997.]
194 | # Protocol
195 | pnni 102 PNNI # PNNI over IP [Ross_Callon]
196 | pim 103 PIM # Protocol Independent [RFC-ietf-pim-rfc4601bis-06][Dino_Farinacci]
197 | # Multicast
198 | aris 104 ARIS # ARIS [Nancy_Feldman]
199 | scps 105 SCPS # SCPS [Robert_Durst]
200 | qnx 106 QNX # QNX [Michael_Hunter]
201 | a/n 107 A/N # Active Networks [Bob_Braden]
202 | ipcomp 108 IPComp # IP Payload Compression [RFC2393]
203 | # Protocol
204 | snp 109 SNP # Sitara Networks Protocol [Manickam_R_Sridhar]
205 | compaq-peer 110 Compaq-Peer # Compaq Peer Protocol [Victor_Volpe]
206 | ipx-in-ip 111 IPX-in-IP # IPX in IP [CJ_Lee]
207 | vrrp 112 VRRP # Virtual Router Redundancy [RFC5798]
208 | # Protocol
209 | pgm 113 PGM # PGM Reliable Transport [Tony_Speakman]
210 | # Protocol
211 | # 114 any 0-hop protocol [Internet_Assigned_Numbers_Authority]
212 | l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC3931][Bernard_Aboba]
213 | ddx 116 DDX # D-II Data Exchange (DDX) [John_Worley]
214 | iatp 117 IATP # Interactive Agent Transfer [John_Murphy]
215 | # Protocol
216 | stp 118 STP # Schedule Transfer Protocol [Jean_Michel_Pittet]
217 | srp 119 SRP # SpectraLink Radio Protocol [Mark_Hamilton]
218 | uti 120 UTI # UTI [Peter_Lothberg]
219 | smp 121 SMP # Simple Message Protocol [Leif_Ekblad]
220 | sm 122 SM # (deprecated) Simple Multicast Protocol [Jon_Crowcroft][draft-perlman-simple-multicast]
221 | ptp 123 PTP # Performance Transparency [Michael_Welzl]
222 | # Protocol
223 | isis 124 ISIS # over IPv4 [Tony_Przygienda]
224 | fire 125 FIRE # [Criag_Partridge]
225 | crtp 126 CRTP # Combat Radio Transport [Robert_Sautter]
226 | # Protocol
227 | crudp 127 CRUDP # Combat Radio User Datagram [Robert_Sautter]
228 | sscopmce 128 SSCOPMCE # [Kurt_Waber]
229 | iplt 129 IPLT # [[Hollbach]]
230 | sps 130 SPS # Secure Packet Shield [Bill_McIntosh]
231 | pipe 131 PIPE # Private IP Encapsulation [Bernhard_Petri]
232 | # within IP
233 | sctp 132 SCTP # Stream Control Transmission [Randall_R_Stewart]
234 | # Protocol
235 | fc 133 FC # Fibre Channel [Murali_Rajagopal][RFC6172]
236 | rsvp-e2e-ignore 134 RSVP-E2E-IGNORE # [RFC3175]
237 | mobility 135 Mobility # Header Y [RFC6275]
238 | udplite 136 UDPLite # [RFC3828]
239 | mpls-in-ip 137 MPLS-in-IP # [RFC4023]
240 | manet 138 MANET # MANET Protocols [RFC5498]
241 | hip 139 HIP # Host Identity Protocol Y [RFC7401]
242 | shim6 140 Shim6 # Shim6 Protocol Y [RFC5533]
243 | wesp 141 WESP # Wrapped Encapsulating [RFC5840]
244 | # Security Payload
245 | rohc 142 ROHC # Robust Header Compression [RFC5858]
246 | # 143-252 Unassigned [Internet_Assigned_Numbers_Authority]
247 | # 253 Use for experimentation and Y [RFC3692]
248 | # testing
249 | # 254 Use for experimentation and Y [RFC3692]
250 | # testing
251 | reserved 255 Reserved # [Internet_Assigned_Numbers_Authority]
252 | #
253 | # People
254 | #
255 | # ID Name Contact URI Last Updated
256 | # [Barry_Boehm] Barry Boehm mailto:boehm&arpa.mil
257 | # [Barry_Howard] Barry Howard mailto:Howard&nmfecc.llnl.gov
258 | # [Bernard_Aboba] Bernard Aboba mailto:bernardaµsoft.com 1998-04
259 | # [Bernhard_Petri] Bernhard Petri mailto:bernhard.petri&siemens.com 2012-07-09
260 | # [Bill_McIntosh] Bill McIntosh mailto:BMcIntosh&fortresstech.com
261 | # [Bob_Braden] Bob Braden mailto:braden&isi.edu 1997-07
262 | # [Bob_Hinden] Bob Hinden mailto:bob.hinden&gmail.com 2013-02-17
263 | # [Brian_Kantor] Brian Kantor mailto:brian&ucsd.edu
264 | # [CJ_Lee] CJ Lee mailto:cj_lee&novell.com 1997-10
265 | # [Charlie_Perkins] Charlie Perkins mailto:perk&watson.ibm.com 1994-10
266 | # [Christer_Oberg] Christer Oberg mailto:chg&bull.se 1994-10
267 | # [Criag_Partridge] Criag Partridge mailto:craig&bbn.com 1999-08
268 | # [Dave_Cheriton] Dave Cheriton mailto:cheriton&pescadero.stanford.edu
269 | # [Dave_Presotto] Dave Presotto mailto:presotto&plan9.att.com 1995-07
270 | # [David_Clark] David Clark mailto:ddc&lcs.mit.edu
271 | # [David_Mills] David Mills mailto:Mills&huey.udel.edu
272 | # [Deborah_Estrin] Deborah Estrin mailto:estrin&usc.edu
273 | # [Dino_Farinacci] Dino Farinacci mailto:dino&cisco.com 1996-03
274 | # [Dirk_Fromhein] Dirk Fromhein mailto:df&watershed.com
275 | # [Gene_Tsudik] Gene Tsudik mailto:tsudik&usc.edu
276 | # [Greg_Chesson] Greg Chesson mailto:Greg&sgi.com
277 | # [Guenther_Schreiner] Guenther Schreiner mailto:snmp-admin&ira.uka.de
278 | # [Guillermo_A_Loyola] Guillermo A. Loyola mailto:LOYOLA&ibm.com
279 | # [Hans_Werner_Braun] Hans-Werner Braun mailto:HWB&mcr.umich.edu
280 | # [Harry_Forsdick] Harry Forsdick mailto:Forsdick&bbn.com
281 | # [Howard_Hart] Howard Hart mailto:hch&hybrid.com
282 | # [Internet_Assigned_Numbers_Authority] Internet Assigned Numbers Authority mailto:iana&iana.org 1995-06
283 | # [J_Noel_Chiappa] J. Noel Chiappa mailto:JNC&xx.lcs.mit.edu
284 | # [Jack_Haverty] Jack Haverty mailto:jhaverty&oracle.com
285 | # [Jean_Michel_Pittet] Jean-Michel Pittet mailto:jmp&gandalf.engr.sgi.com 1998-11
286 | # [Jim_Stevens] Jim Stevens mailto:jasteven&rockwellcollins.com 2011-01-26
287 | # [John_Ioannidis] John Ioannidis mailto:ji&tla.org 2015-01-06
288 | # [John_Moy] John Moy mailto:jmoy&proteon.com
289 | # [John_Murphy] John Murphy mailto:john.m.murphy&mci.com 1998-10
290 | # [John_Worley] John Worley mailto:worley&milehigh.net 1998-06
291 | # [Jon_Crowcroft] Jon Crowcroft mailto:jon&cs.ucl.ac.uk 1999-06
292 | # [Jon_Postel] Jon Postel mailto:postel&isi.edu
293 | # [K_Robert_Glenn] K. Robert Glenn mailto:glenn&osi.ncsl.nist.gov
294 | # [Kurt_Waber] Kurt Waber mailto:kurt.waber&swisscom.com 1999-08
295 | # [Leif_Ekblad] Leif Ekblad mailto:leif&rdos.net 2012-08-21
296 | # [Manickam_R_Sridhar] Manickam R. Sridhar mailto:msridhar&sitaranetworks.com 1997-09
297 | # [Mark_Hamilton] Mark Hamilton mailto:mah&spectralink.com 1998-11
298 | # [Marshall_T_Rose] Marshall T. Rose mailto:mrose&dbc.mtview.ca.us
299 | # [Martha_Steenstrup] Martha Steenstrup mailto:MSteenst&bbn.com
300 | # [Michael_Greenwald] Michael Greenwald mailto:Greenwald&scrc-stony-brook.symbolics.com
301 | # [Michael_Hunter] Michael Hunter mailto:mphunter&qnx.com 1997-07
302 | # [Michael_Welzl] Michael Welzl mailto:michael&tk.uni-linz.ac.at 1999-08
303 | # [Mike_Little] Mike Little mailto:little&macom4.arpa
304 | # [Murali_Rajagopal] Murali Rajagopal mailto:murali&gadzoox.com 2000-05
305 | # [Nancy_Feldman] Nancy Feldman mailto:nkf&vnet.ibm.com 1997-01
306 | # [Peter_Lothberg] Peter Lothberg mailto:roll&stupi.se 1999-03
307 | # [Randall_R_Stewart] Randall R. Stewart mailto:rrs&lakerest.net 2000-04
308 | # [Robert_Durst] Robert Durst mailto:durst&mitre.org 1997-03
309 | # [Robert_Sautter] Robert Sautter mailto:rsautter&acdnj.itt.com 1999-08
310 | # [Robert_W_Scheifler] Robert W. Scheifler mailto:rscheifler&comcast.net 2015-10-06
311 | # [Robert_Woodburn] Robert Woodburn mailto:woody&cseic.saic.com
312 | # [Ross_Callon] Ross Callon mailto:rcallon&baynetworks.com 1995-12
313 | # [Steve_Casner] Steve Casner mailto:casner&isi.edu
314 | # [Steve_Chipman] Steve Chipman mailto:Chipman&f.bbn.com
315 | # [Steve_Deering] Steve Deering mailto:deering&parc.xerox.com 1995-03
316 | # [Steven_Blumenthal] Steven Blumenthal mailto:BLUMENTHAL&vax.bbn.com
317 | # [Stuart_A_Friedberg] Stuart A. Friedberg mailto:stuart&cs.wisc.edu
318 | # [Sue_Hares] Sue Hares mailto:skh&merit.edu
319 | # [Susie_Armstrong] Susie Armstrong mailto:Armstrong.wbst128&xerox.com
320 | # [Tom_Markson] Tom Markson mailto:markson&osmosys.ingog.com 1995-09
321 | # [Tony_Ballardie] Tony Ballardie mailto:A.Ballardie&cs.ucl.ac.uk
322 | # [Tony_Li] Tony Li mailto:tony.li&tony.li 2012-10-17
323 | # [Tony_Przygienda] Tony Przygienda mailto:prz&siara.com 1999-08
324 | # [Tony_Speakman] Tony Speakman mailto:speakman&cisco.com 1998-01
325 | # [Trudy_Miller] Trudy Miller mailto:Trudy&acc.com
326 | # [Victor_Volpe] Victor Volpe mailto:vvolpe&smtp.microcom.com 1997-10
327 | # [Wesley_Craig] Wesley Craig mailto:Wesley.Craig&terminator.cc.umich.edu
328 | # [William_Melohn] William Melohn mailto:Melohn&sun.com
329 | # [Zaw_Sing_Su] Zaw-Sing Su mailto:ZSu&tsca.istc.sri.
330 |
--------------------------------------------------------------------------------
/python3-base/rootfs/etc/protocols:
--------------------------------------------------------------------------------
1 | # $NetBSD: protocols,v 1.28 2015/11/18 16:16:36 christos Exp $
2 | # See also: protocols(5), http://www.sethwklein.net/projects/iana-etc/
3 | #
4 | # Last Updated
5 | # 2015-10-06
6 | #
7 | # Available Formats
8 | # [IMG]
9 | # XML [IMG]
10 | # HTML [IMG]
11 | # Plain text
12 | #
13 | # Registry included below
14 | #
15 | # * Assigned Internet Protocol Numbers
16 | #
17 | # Assigned Internet Protocol Numbers
18 | #
19 | # Registration Procedure(s)
20 | #
21 | # IESG Approval or Standards Action
22 | #
23 | # Reference
24 | # [RFC5237][RFC7045]
25 | #
26 | # Note
27 | #
28 | # In the Internet Protocol version 4 (IPv4) [RFC791] there is a field
29 | # called "Protocol" to identify the next level protocol. This is an 8
30 | # bit field. In Internet Protocol version 6 (IPv6) [RFC2460], this field
31 | # is called the "Next Header" field.
32 | #
33 | # Note
34 | #
35 | # Values that are also IPv6 Extension Header Types should be listed in the
36 | # IPv6 Extension Header Types registry at [IANA registry ipv6-parameters].
37 | #
38 | # Available Formats
39 | # [IMG]
40 | # CSV
41 | #
42 | # Decimal Keyword Protocol IPv6 Extension Reference
43 | # Header
44 | # protocol num aliases # comments
45 | hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option Y [RFC2460]
46 | icmp 1 ICMP # Internet Control Message [RFC792]
47 | igmp 2 IGMP # Internet Group Management [RFC1112]
48 | ggp 3 GGP # Gateway-to-Gateway [RFC823]
49 | ipv4 4 IPv4 # IPv4 encapsulation [RFC2003]
50 | st 5 ST # Stream [RFC1190][RFC1819]
51 | tcp 6 TCP # Transmission Control [RFC793]
52 | cbt 7 CBT # CBT [Tony_Ballardie]
53 | egp 8 EGP # Exterior Gateway Protocol [RFC888][David_Mills]
54 | # any private interior gateway
55 | igp 9 IGP # (used by Cisco for their [Internet_Assigned_Numbers_Authority]
56 | # IGRP)
57 | bbn-rcc-mon 10 BBN-RCC-MON # BBN RCC Monitoring [Steve_Chipman]
58 | nvp-ii 11 NVP-II # Network Voice Protocol [RFC741][Steve_Casner]
59 | # [Boggs, D., J. Shoch, E. Taft, and R. Metcalfe, "PUP: An Internetwork
60 | pup 12 PUP # PUP Architecture", XEROX Palo Alto Research Center, CSL-79-10, July 1979;
61 | # also in IEEE Transactions on Communication, Volume COM-28, Number 4,
62 | # April 1980.][[XEROX]]
63 | argus 13 ARGUS # (deprecated) ARGUS [Robert_W_Scheifler]
64 | emcon 14 EMCON # EMCON []
65 | xnet 15 XNET # Cross Net Debugger [Haverty, J., "XNET Formats for Internet Protocol Version 4", IEN 158,
66 | # October 1980.][Jack_Haverty]
67 | chaos 16 CHAOS # Chaos [J_Noel_Chiappa]
68 | udp 17 UDP # User Datagram [RFC768][Jon_Postel]
69 | mux 18 MUX # Multiplexing [Cohen, D. and J. Postel, "Multiplexing Protocol", IEN 90,
70 | # USC/Information Sciences Institute, May 1979.][Jon_Postel]
71 | dcn-meas 19 DCN-MEAS # DCN Measurement Subsystems [David_Mills]
72 | hmp 20 HMP # Host Monitoring [RFC869][Bob_Hinden]
73 | prm 21 PRM # Packet Radio Measurement [Zaw_Sing_Su]
74 | # ["The Ethernet, A Local Area Network: Data Link Layer and Physical Layer
75 | # Specification", AA-K759B-TK, Digital Equipment Corporation, Maynard, MA.
76 | # Also as: "The Ethernet - A Local Area Network", Version 1.0, Digital
77 | # Equipment Corporation, Intel Corporation, Xerox Corporation, September
78 | xns-idp 22 XNS-IDP # XEROX NS IDP 1980. And: "The Ethernet, A Local Area Network: Data Link Layer and
79 | # Physical Layer Specifications", Digital, Intel and Xerox, November 1982.
80 | # And: XEROX, "The Ethernet, A Local Area Network: Data Link Layer and
81 | # Physical Layer Specification", X3T51/80-50, Xerox Corporation, Stamford,
82 | # CT., October 1980.][[XEROX]]
83 | trunk-1 23 TRUNK-1 # Trunk-1 [Barry_Boehm]
84 | trunk-2 24 TRUNK-2 # Trunk-2 [Barry_Boehm]
85 | leaf-1 25 LEAF-1 # Leaf-1 [Barry_Boehm]
86 | leaf-2 26 LEAF-2 # Leaf-2 [Barry_Boehm]
87 | rdp 27 RDP # Reliable Data Protocol [RFC908][Bob_Hinden]
88 | irtp 28 IRTP # Internet Reliable [RFC938][Trudy_Miller]
89 | # Transaction
90 | iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class [RFC905][]
91 | # 4
92 | netblt 30 NETBLT # Bulk Data Transfer Protocol [RFC969][David_Clark]
93 | # MFE Network Services [Shuttleworth, B., "A Documentary of MFENet, a National Computer
94 | mfe-nsp 31 MFE-NSP # Protocol Network", UCRL-52317, Lawrence Livermore Labs, Livermore, California,
95 | # June 1977.][Barry_Howard]
96 | merit-inp 32 MERIT-INP # MERIT Internodal Protocol [Hans_Werner_Braun]
97 | dccp 33 DCCP # Datagram Congestion Control [RFC4340]
98 | # Protocol
99 | 3pc 34 3PC # Third Party Connect Protocol [Stuart_A_Friedberg]
100 | idpr 35 IDPR # Inter-Domain Policy Routing [Martha_Steenstrup]
101 | # Protocol
102 | xtp 36 XTP # XTP [Greg_Chesson]
103 | ddp 37 DDP # Datagram Delivery Protocol [Wesley_Craig]
104 | idpr-cmtp 38 IDPR-CMTP # IDPR Control Message [Martha_Steenstrup]
105 | # Transport Proto
106 | tp++ 39 TP++ # TP++ Transport Protocol [Dirk_Fromhein]
107 | il 40 IL # IL Transport Protocol [Dave_Presotto]
108 | ipv6 41 IPv6 # IPv6 encapsulation [RFC2473]
109 | sdrp 42 SDRP # Source Demand Routing [Deborah_Estrin]
110 | # Protocol
111 | ipv6-route 43 IPv6-Route # Routing Header for IPv6 Y [Steve_Deering]
112 | ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 Y [Steve_Deering]
113 | idrp 45 IDRP # Inter-Domain Routing [Sue_Hares]
114 | # Protocol
115 | rsvp 46 RSVP # Reservation Protocol [RFC2205][RFC3209][Bob_Braden]
116 | gre 47 GRE # Generic Routing [RFC2784][Tony_Li]
117 | # Encapsulation
118 | dsr 48 DSR # Dynamic Source Routing [RFC4728]
119 | # Protocol
120 | bna 49 BNA # BNA [Gary Salamon]
121 | esp 50 ESP # Encap Security Payload Y [RFC4303]
122 | ah 51 AH # Authentication Header Y [RFC4302]
123 | i-nlsp 52 I-NLSP # Integrated Net Layer [K_Robert_Glenn]
124 | # Security TUBA
125 | swipe 53 SWIPE # (deprecated) IP with Encryption [John_Ioannidis]
126 | narp 54 NARP # NBMA Address Resolution [RFC1735]
127 | # Protocol
128 | mobile 55 MOBILE # IP Mobility [Charlie_Perkins]
129 | # Transport Layer Security
130 | tlsp 56 TLSP # Protocol using Kryptonet key [Christer_Oberg]
131 | # management
132 | skip 57 SKIP # SKIP [Tom_Markson]
133 | ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 [RFC2460]
134 | ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 [RFC2460]
135 | ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 Y [RFC2460]
136 | # 61 any host internal protocol [Internet_Assigned_Numbers_Authority]
137 | cftp 62 CFTP # CFTP [Forsdick, H., "CFTP", Network Message, Bolt Beranek and Newman, January
138 | # 1982.][Harry_Forsdick]
139 | # 63 any local network [Internet_Assigned_Numbers_Authority]
140 | sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK [Steven_Blumenthal]
141 | kryptolan 65 KRYPTOLAN # Kryptolan [Paul Liu]
142 | rvd 66 RVD # MIT Remote Virtual Disk [Michael_Greenwald]
143 | # Protocol
144 | ippc 67 IPPC # Internet Pluribus Packet [Steven_Blumenthal]
145 | # Core
146 | # 68 any distributed file system [Internet_Assigned_Numbers_Authority]
147 | sat-mon 69 SAT-MON # SATNET Monitoring [Steven_Blumenthal]
148 | visa 70 VISA # VISA Protocol [Gene_Tsudik]
149 | ipcv 71 IPCV # Internet Packet Core Utility [Steven_Blumenthal]
150 | cpnx 72 CPNX # Computer Protocol Network [David Mittnacht]
151 | # Executive
152 | cphb 73 CPHB # Computer Protocol Heart Beat [David Mittnacht]
153 | wsn 74 WSN # Wang Span Network [Victor Dafoulas]
154 | pvp 75 PVP # Packet Video Protocol [Steve_Casner]
155 | br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring [Steven_Blumenthal]
156 | sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary [William_Melohn]
157 | wb-mon 78 WB-MON # WIDEBAND Monitoring [Steven_Blumenthal]
158 | wb-expak 79 WB-EXPAK # WIDEBAND EXPAK [Steven_Blumenthal]
159 | iso-ip 80 ISO-IP # ISO Internet Protocol [Marshall_T_Rose]
160 | vmtp 81 VMTP # VMTP [Dave_Cheriton]
161 | secure-vmtp 82 SECURE-VMTP # SECURE-VMTP [Dave_Cheriton]
162 | vines 83 VINES # VINES [Brian Horn]
163 | ttp 84 TTP iptm IPTM # Transaction Transport [Jim_Stevens]
164 | # Protocol
165 | #iptm 84 IPTM # Internet Protocol Traffic [Jim_Stevens]
166 | # Manager
167 | nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP [Hans_Werner_Braun]
168 | dgp 86 DGP # Dissimilar Gateway Protocol [M/A-COM Government Systems, "Dissimilar Gateway Protocol Specification,
169 | # Draft Version", Contract no. CS901145, November 16, 1987.][Mike_Little]
170 | tcf 87 TCF # TCF [Guillermo_A_Loyola]
171 | eigrp 88 EIGRP # EIGRP [Cisco Systems, "Gateway Server Reference Manual", Manual Revision B,
172 | # January 10, 1988.][Guenther_Schreiner]
173 | ospfigp 89 OSPFIGP # OSPFIGP [RFC1583][RFC2328][RFC5340][John_Moy]
174 | # [Welch, B., "The Sprite Remote Procedure Call System", Technical Report,
175 | sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol UCB/Computer Science Dept., 86/302, University of California at Berkeley,
176 | # June 1986.][Bruce Willins]
177 | larp 91 LARP # Locus Address Resolution [Brian Horn]
178 | # Protocol
179 | mtp 92 MTP # Multicast Transport Protocol [Susie_Armstrong]
180 | ax.25 93 AX.25 # AX.25 Frames [Brian_Kantor]
181 | ipip 94 IPIP # IP-within-IP Encapsulation [John_Ioannidis]
182 | # Protocol
183 | micp 95 MICP # (deprecated) Mobile Internetworking [John_Ioannidis]
184 | # Control Pro.
185 | scc-sp 96 SCC-SP # Semaphore Communications [Howard_Hart]
186 | # Sec. Pro.
187 | etherip 97 ETHERIP # Ethernet-within-IP [RFC3378]
188 | # Encapsulation
189 | encap 98 ENCAP # Encapsulation Header [RFC1241][Robert_Woodburn]
190 | # 99 any private encryption [Internet_Assigned_Numbers_Authority]
191 | # scheme
192 | gmtp 100 GMTP # GMTP [[RXB5]]
193 | ifmp 101 IFMP # Ipsilon Flow Management [Bob_Hinden][November 1995, 1997.]
194 | # Protocol
195 | pnni 102 PNNI # PNNI over IP [Ross_Callon]
196 | pim 103 PIM # Protocol Independent [RFC-ietf-pim-rfc4601bis-06][Dino_Farinacci]
197 | # Multicast
198 | aris 104 ARIS # ARIS [Nancy_Feldman]
199 | scps 105 SCPS # SCPS [Robert_Durst]
200 | qnx 106 QNX # QNX [Michael_Hunter]
201 | a/n 107 A/N # Active Networks [Bob_Braden]
202 | ipcomp 108 IPComp # IP Payload Compression [RFC2393]
203 | # Protocol
204 | snp 109 SNP # Sitara Networks Protocol [Manickam_R_Sridhar]
205 | compaq-peer 110 Compaq-Peer # Compaq Peer Protocol [Victor_Volpe]
206 | ipx-in-ip 111 IPX-in-IP # IPX in IP [CJ_Lee]
207 | vrrp 112 VRRP # Virtual Router Redundancy [RFC5798]
208 | # Protocol
209 | pgm 113 PGM # PGM Reliable Transport [Tony_Speakman]
210 | # Protocol
211 | # 114 any 0-hop protocol [Internet_Assigned_Numbers_Authority]
212 | l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC3931][Bernard_Aboba]
213 | ddx 116 DDX # D-II Data Exchange (DDX) [John_Worley]
214 | iatp 117 IATP # Interactive Agent Transfer [John_Murphy]
215 | # Protocol
216 | stp 118 STP # Schedule Transfer Protocol [Jean_Michel_Pittet]
217 | srp 119 SRP # SpectraLink Radio Protocol [Mark_Hamilton]
218 | uti 120 UTI # UTI [Peter_Lothberg]
219 | smp 121 SMP # Simple Message Protocol [Leif_Ekblad]
220 | sm 122 SM # (deprecated) Simple Multicast Protocol [Jon_Crowcroft][draft-perlman-simple-multicast]
221 | ptp 123 PTP # Performance Transparency [Michael_Welzl]
222 | # Protocol
223 | isis 124 ISIS # over IPv4 [Tony_Przygienda]
224 | fire 125 FIRE # [Criag_Partridge]
225 | crtp 126 CRTP # Combat Radio Transport [Robert_Sautter]
226 | # Protocol
227 | crudp 127 CRUDP # Combat Radio User Datagram [Robert_Sautter]
228 | sscopmce 128 SSCOPMCE # [Kurt_Waber]
229 | iplt 129 IPLT # [[Hollbach]]
230 | sps 130 SPS # Secure Packet Shield [Bill_McIntosh]
231 | pipe 131 PIPE # Private IP Encapsulation [Bernhard_Petri]
232 | # within IP
233 | sctp 132 SCTP # Stream Control Transmission [Randall_R_Stewart]
234 | # Protocol
235 | fc 133 FC # Fibre Channel [Murali_Rajagopal][RFC6172]
236 | rsvp-e2e-ignore 134 RSVP-E2E-IGNORE # [RFC3175]
237 | mobility 135 Mobility # Header Y [RFC6275]
238 | udplite 136 UDPLite # [RFC3828]
239 | mpls-in-ip 137 MPLS-in-IP # [RFC4023]
240 | manet 138 MANET # MANET Protocols [RFC5498]
241 | hip 139 HIP # Host Identity Protocol Y [RFC7401]
242 | shim6 140 Shim6 # Shim6 Protocol Y [RFC5533]
243 | wesp 141 WESP # Wrapped Encapsulating [RFC5840]
244 | # Security Payload
245 | rohc 142 ROHC # Robust Header Compression [RFC5858]
246 | # 143-252 Unassigned [Internet_Assigned_Numbers_Authority]
247 | # 253 Use for experimentation and Y [RFC3692]
248 | # testing
249 | # 254 Use for experimentation and Y [RFC3692]
250 | # testing
251 | reserved 255 Reserved # [Internet_Assigned_Numbers_Authority]
252 | #
253 | # People
254 | #
255 | # ID Name Contact URI Last Updated
256 | # [Barry_Boehm] Barry Boehm mailto:boehm&arpa.mil
257 | # [Barry_Howard] Barry Howard mailto:Howard&nmfecc.llnl.gov
258 | # [Bernard_Aboba] Bernard Aboba mailto:bernardaµsoft.com 1998-04
259 | # [Bernhard_Petri] Bernhard Petri mailto:bernhard.petri&siemens.com 2012-07-09
260 | # [Bill_McIntosh] Bill McIntosh mailto:BMcIntosh&fortresstech.com
261 | # [Bob_Braden] Bob Braden mailto:braden&isi.edu 1997-07
262 | # [Bob_Hinden] Bob Hinden mailto:bob.hinden&gmail.com 2013-02-17
263 | # [Brian_Kantor] Brian Kantor mailto:brian&ucsd.edu
264 | # [CJ_Lee] CJ Lee mailto:cj_lee&novell.com 1997-10
265 | # [Charlie_Perkins] Charlie Perkins mailto:perk&watson.ibm.com 1994-10
266 | # [Christer_Oberg] Christer Oberg mailto:chg&bull.se 1994-10
267 | # [Criag_Partridge] Criag Partridge mailto:craig&bbn.com 1999-08
268 | # [Dave_Cheriton] Dave Cheriton mailto:cheriton&pescadero.stanford.edu
269 | # [Dave_Presotto] Dave Presotto mailto:presotto&plan9.att.com 1995-07
270 | # [David_Clark] David Clark mailto:ddc&lcs.mit.edu
271 | # [David_Mills] David Mills mailto:Mills&huey.udel.edu
272 | # [Deborah_Estrin] Deborah Estrin mailto:estrin&usc.edu
273 | # [Dino_Farinacci] Dino Farinacci mailto:dino&cisco.com 1996-03
274 | # [Dirk_Fromhein] Dirk Fromhein mailto:df&watershed.com
275 | # [Gene_Tsudik] Gene Tsudik mailto:tsudik&usc.edu
276 | # [Greg_Chesson] Greg Chesson mailto:Greg&sgi.com
277 | # [Guenther_Schreiner] Guenther Schreiner mailto:snmp-admin&ira.uka.de
278 | # [Guillermo_A_Loyola] Guillermo A. Loyola mailto:LOYOLA&ibm.com
279 | # [Hans_Werner_Braun] Hans-Werner Braun mailto:HWB&mcr.umich.edu
280 | # [Harry_Forsdick] Harry Forsdick mailto:Forsdick&bbn.com
281 | # [Howard_Hart] Howard Hart mailto:hch&hybrid.com
282 | # [Internet_Assigned_Numbers_Authority] Internet Assigned Numbers Authority mailto:iana&iana.org 1995-06
283 | # [J_Noel_Chiappa] J. Noel Chiappa mailto:JNC&xx.lcs.mit.edu
284 | # [Jack_Haverty] Jack Haverty mailto:jhaverty&oracle.com
285 | # [Jean_Michel_Pittet] Jean-Michel Pittet mailto:jmp&gandalf.engr.sgi.com 1998-11
286 | # [Jim_Stevens] Jim Stevens mailto:jasteven&rockwellcollins.com 2011-01-26
287 | # [John_Ioannidis] John Ioannidis mailto:ji&tla.org 2015-01-06
288 | # [John_Moy] John Moy mailto:jmoy&proteon.com
289 | # [John_Murphy] John Murphy mailto:john.m.murphy&mci.com 1998-10
290 | # [John_Worley] John Worley mailto:worley&milehigh.net 1998-06
291 | # [Jon_Crowcroft] Jon Crowcroft mailto:jon&cs.ucl.ac.uk 1999-06
292 | # [Jon_Postel] Jon Postel mailto:postel&isi.edu
293 | # [K_Robert_Glenn] K. Robert Glenn mailto:glenn&osi.ncsl.nist.gov
294 | # [Kurt_Waber] Kurt Waber mailto:kurt.waber&swisscom.com 1999-08
295 | # [Leif_Ekblad] Leif Ekblad mailto:leif&rdos.net 2012-08-21
296 | # [Manickam_R_Sridhar] Manickam R. Sridhar mailto:msridhar&sitaranetworks.com 1997-09
297 | # [Mark_Hamilton] Mark Hamilton mailto:mah&spectralink.com 1998-11
298 | # [Marshall_T_Rose] Marshall T. Rose mailto:mrose&dbc.mtview.ca.us
299 | # [Martha_Steenstrup] Martha Steenstrup mailto:MSteenst&bbn.com
300 | # [Michael_Greenwald] Michael Greenwald mailto:Greenwald&scrc-stony-brook.symbolics.com
301 | # [Michael_Hunter] Michael Hunter mailto:mphunter&qnx.com 1997-07
302 | # [Michael_Welzl] Michael Welzl mailto:michael&tk.uni-linz.ac.at 1999-08
303 | # [Mike_Little] Mike Little mailto:little&macom4.arpa
304 | # [Murali_Rajagopal] Murali Rajagopal mailto:murali&gadzoox.com 2000-05
305 | # [Nancy_Feldman] Nancy Feldman mailto:nkf&vnet.ibm.com 1997-01
306 | # [Peter_Lothberg] Peter Lothberg mailto:roll&stupi.se 1999-03
307 | # [Randall_R_Stewart] Randall R. Stewart mailto:rrs&lakerest.net 2000-04
308 | # [Robert_Durst] Robert Durst mailto:durst&mitre.org 1997-03
309 | # [Robert_Sautter] Robert Sautter mailto:rsautter&acdnj.itt.com 1999-08
310 | # [Robert_W_Scheifler] Robert W. Scheifler mailto:rscheifler&comcast.net 2015-10-06
311 | # [Robert_Woodburn] Robert Woodburn mailto:woody&cseic.saic.com
312 | # [Ross_Callon] Ross Callon mailto:rcallon&baynetworks.com 1995-12
313 | # [Steve_Casner] Steve Casner mailto:casner&isi.edu
314 | # [Steve_Chipman] Steve Chipman mailto:Chipman&f.bbn.com
315 | # [Steve_Deering] Steve Deering mailto:deering&parc.xerox.com 1995-03
316 | # [Steven_Blumenthal] Steven Blumenthal mailto:BLUMENTHAL&vax.bbn.com
317 | # [Stuart_A_Friedberg] Stuart A. Friedberg mailto:stuart&cs.wisc.edu
318 | # [Sue_Hares] Sue Hares mailto:skh&merit.edu
319 | # [Susie_Armstrong] Susie Armstrong mailto:Armstrong.wbst128&xerox.com
320 | # [Tom_Markson] Tom Markson mailto:markson&osmosys.ingog.com 1995-09
321 | # [Tony_Ballardie] Tony Ballardie mailto:A.Ballardie&cs.ucl.ac.uk
322 | # [Tony_Li] Tony Li mailto:tony.li&tony.li 2012-10-17
323 | # [Tony_Przygienda] Tony Przygienda mailto:prz&siara.com 1999-08
324 | # [Tony_Speakman] Tony Speakman mailto:speakman&cisco.com 1998-01
325 | # [Trudy_Miller] Trudy Miller mailto:Trudy&acc.com
326 | # [Victor_Volpe] Victor Volpe mailto:vvolpe&smtp.microcom.com 1997-10
327 | # [Wesley_Craig] Wesley Craig mailto:Wesley.Craig&terminator.cc.umich.edu
328 | # [William_Melohn] William Melohn mailto:Melohn&sun.com
329 | # [Zaw_Sing_Su] Zaw-Sing Su mailto:ZSu&tsca.istc.sri.
330 |
--------------------------------------------------------------------------------
/redis-base/redis.conf:
--------------------------------------------------------------------------------
1 | # Redis configuration file example
2 |
3 | # Note on units: when memory size is needed, it is possible to specify
4 | # it in the usual form of 1k 5GB 4M and so forth:
5 | #
6 | # 1k => 1000 bytes
7 | # 1kb => 1024 bytes
8 | # 1m => 1000000 bytes
9 | # 1mb => 1024*1024 bytes
10 | # 1g => 1000000000 bytes
11 | # 1gb => 1024*1024*1024 bytes
12 | #
13 | # units are case insensitive so 1GB 1Gb 1gB are all the same.
14 |
15 | ################################## INCLUDES ###################################
16 |
17 | # Include one or more other config files here. This is useful if you
18 | # have a standard template that goes to all Redis servers but also need
19 | # to customize a few per-server settings. Include files can include
20 | # other files, so use this wisely.
21 | #
22 | # Notice option "include" won't be rewritten by command "CONFIG REWRITE"
23 | # from admin or Redis Sentinel. Since Redis always uses the last processed
24 | # line as value of a configuration directive, you'd better put includes
25 | # at the beginning of this file to avoid overwriting config change at runtime.
26 | #
27 | # If instead you are interested in using includes to override configuration
28 | # options, it is better to use include as the last line.
29 | #
30 | # include /path/to/local.conf
31 | # include /path/to/other.conf
32 |
33 | ################################ GENERAL #####################################
34 |
35 | # By default Redis does not run as a daemon. Use 'yes' if you need it.
36 | # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
37 | daemonize no
38 |
39 | # When running daemonized, Redis writes a pid file in /var/run/redis.pid by
40 | # default. You can specify a custom pid file location here.
41 | pidfile /var/run/redis.pid
42 |
43 | # Accept connections on the specified port, default is 6379.
44 | # If port 0 is specified Redis will not listen on a TCP socket.
45 | port 6379
46 |
47 | # TCP listen() backlog.
48 | #
49 | # In high requests-per-second environments you need an high backlog in order
50 | # to avoid slow clients connections issues. Note that the Linux kernel
51 | # will silently truncate it to the value of /proc/sys/net/core/somaxconn so
52 | # make sure to raise both the value of somaxconn and tcp_max_syn_backlog
53 | # in order to get the desired effect.
54 | tcp-backlog 511
55 |
56 | # By default Redis listens for connections from all the network interfaces
57 | # available on the server. It is possible to listen to just one or multiple
58 | # interfaces using the "bind" configuration directive, followed by one or
59 | # more IP addresses.
60 | #
61 | # Examples:
62 | #
63 | # bind 192.168.1.100 10.0.0.1
64 | # bind 127.0.0.1
65 |
66 | # Specify the path for the Unix socket that will be used to listen for
67 | # incoming connections. There is no default, so Redis will not listen
68 | # on a unix socket when not specified.
69 | #
70 | # unixsocket /tmp/redis.sock
71 | # unixsocketperm 700
72 |
73 | # Close the connection after a client is idle for N seconds (0 to disable)
74 | timeout 0
75 |
76 | # TCP keepalive.
77 | #
78 | # If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
79 | # of communication. This is useful for two reasons:
80 | #
81 | # 1) Detect dead peers.
82 | # 2) Take the connection alive from the point of view of network
83 | # equipment in the middle.
84 | #
85 | # On Linux, the specified value (in seconds) is the period used to send ACKs.
86 | # Note that to close the connection the double of the time is needed.
87 | # On other kernels the period depends on the kernel configuration.
88 | #
89 | # A reasonable value for this option is 60 seconds.
90 | tcp-keepalive 60
91 |
92 | # Specify the server verbosity level.
93 | # This can be one of:
94 | # debug (a lot of information, useful for development/testing)
95 | # verbose (many rarely useful info, but not a mess like the debug level)
96 | # notice (moderately verbose, what you want in production probably)
97 | # warning (only very important / critical messages are logged)
98 | loglevel notice
99 |
100 | # Specify the log file name. Also the empty string can be used to force
101 | # Redis to log on the standard output. Note that if you use standard
102 | # output for logging but daemonize, logs will be sent to /dev/null
103 | logfile ""
104 |
105 | # To enable logging to the system logger, just set 'syslog-enabled' to yes,
106 | # and optionally update the other syslog parameters to suit your needs.
107 | # syslog-enabled no
108 |
109 | # Specify the syslog identity.
110 | # syslog-ident redis
111 |
112 | # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
113 | # syslog-facility local0
114 |
115 | # Set the number of databases. The default database is DB 0, you can select
116 | # a different one on a per-connection basis using SELECT where
117 | # dbid is a number between 0 and 'databases'-1
118 | databases 16
119 |
120 | ################################ SNAPSHOTTING ################################
121 | #
122 | # Save the DB on disk:
123 | #
124 | # save
125 | #
126 | # Will save the DB if both the given number of seconds and the given
127 | # number of write operations against the DB occurred.
128 | #
129 | # In the example below the behaviour will be to save:
130 | # after 900 sec (15 min) if at least 1 key changed
131 | # after 300 sec (5 min) if at least 10 keys changed
132 | # after 60 sec if at least 10000 keys changed
133 | #
134 | # Note: you can disable saving completely by commenting out all "save" lines.
135 | #
136 | # It is also possible to remove all the previously configured save
137 | # points by adding a save directive with a single empty string argument
138 | # like in the following example:
139 | #
140 | # save ""
141 |
142 | #save 900 1
143 | #save 300 10
144 | #save 60 10000
145 |
146 | # By default Redis will stop accepting writes if RDB snapshots are enabled
147 | # (at least one save point) and the latest background save failed.
148 | # This will make the user aware (in a hard way) that data is not persisting
149 | # on disk properly, otherwise chances are that no one will notice and some
150 | # disaster will happen.
151 | #
152 | # If the background saving process will start working again Redis will
153 | # automatically allow writes again.
154 | #
155 | # However if you have setup your proper monitoring of the Redis server
156 | # and persistence, you may want to disable this feature so that Redis will
157 | # continue to work as usual even if there are problems with disk,
158 | # permissions, and so forth.
159 | stop-writes-on-bgsave-error yes
160 |
161 | # Compress string objects using LZF when dump .rdb databases?
162 | # For default that's set to 'yes' as it's almost always a win.
163 | # If you want to save some CPU in the saving child set it to 'no' but
164 | # the dataset will likely be bigger if you have compressible values or keys.
165 | rdbcompression yes
166 |
167 | # Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
168 | # This makes the format more resistant to corruption but there is a performance
169 | # hit to pay (around 10%) when saving and loading RDB files, so you can disable it
170 | # for maximum performances.
171 | #
172 | # RDB files created with checksum disabled have a checksum of zero that will
173 | # tell the loading code to skip the check.
174 | rdbchecksum yes
175 |
176 | # The filename where to dump the DB
177 | dbfilename dump.rdb
178 |
179 | # The working directory.
180 | #
181 | # The DB will be written inside this directory, with the filename specified
182 | # above using the 'dbfilename' configuration directive.
183 | #
184 | # The Append Only File will also be created inside this directory.
185 | #
186 | # Note that you must specify a directory here, not a file name.
187 | dir ./
188 |
189 | ################################# REPLICATION #################################
190 |
191 | # Master-Slave replication. Use slaveof to make a Redis instance a copy of
192 | # another Redis server. A few things to understand ASAP about Redis replication.
193 | #
194 | # 1) Redis replication is asynchronous, but you can configure a master to
195 | # stop accepting writes if it appears to be not connected with at least
196 | # a given number of slaves.
197 | # 2) Redis slaves are able to perform a partial resynchronization with the
198 | # master if the replication link is lost for a relatively small amount of
199 | # time. You may want to configure the replication backlog size (see the next
200 | # sections of this file) with a sensible value depending on your needs.
201 | # 3) Replication is automatic and does not need user intervention. After a
202 | # network partition slaves automatically try to reconnect to masters
203 | # and resynchronize with them.
204 | #
205 | # slaveof
206 |
207 | # If the master is password protected (using the "requirepass" configuration
208 | # directive below) it is possible to tell the slave to authenticate before
209 | # starting the replication synchronization process, otherwise the master will
210 | # refuse the slave request.
211 | #
212 | # masterauth
213 |
214 | # When a slave loses its connection with the master, or when the replication
215 | # is still in progress, the slave can act in two different ways:
216 | #
217 | # 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
218 | # still reply to client requests, possibly with out of date data, or the
219 | # data set may just be empty if this is the first synchronization.
220 | #
221 | # 2) if slave-serve-stale-data is set to 'no' the slave will reply with
222 | # an error "SYNC with master in progress" to all the kind of commands
223 | # but to INFO and SLAVEOF.
224 | #
225 | slave-serve-stale-data yes
226 |
227 | # You can configure a slave instance to accept writes or not. Writing against
228 | # a slave instance may be useful to store some ephemeral data (because data
229 | # written on a slave will be easily deleted after resync with the master) but
230 | # may also cause problems if clients are writing to it because of a
231 | # misconfiguration.
232 | #
233 | # Since Redis 2.6 by default slaves are read-only.
234 | #
235 | # Note: read only slaves are not designed to be exposed to untrusted clients
236 | # on the internet. It's just a protection layer against misuse of the instance.
237 | # Still a read only slave exports by default all the administrative commands
238 | # such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
239 | # security of read only slaves using 'rename-command' to shadow all the
240 | # administrative / dangerous commands.
241 | slave-read-only yes
242 |
243 | # Replication SYNC strategy: disk or socket.
244 | #
245 | # -------------------------------------------------------
246 | # WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY
247 | # -------------------------------------------------------
248 | #
249 | # New slaves and reconnecting slaves that are not able to continue the replication
250 | # process just receiving differences, need to do what is called a "full
251 | # synchronization". An RDB file is transmitted from the master to the slaves.
252 | # The transmission can happen in two different ways:
253 | #
254 | # 1) Disk-backed: The Redis master creates a new process that writes the RDB
255 | # file on disk. Later the file is transferred by the parent
256 | # process to the slaves incrementally.
257 | # 2) Diskless: The Redis master creates a new process that directly writes the
258 | # RDB file to slave sockets, without touching the disk at all.
259 | #
260 | # With disk-backed replication, while the RDB file is generated, more slaves
261 | # can be queued and served with the RDB file as soon as the current child producing
262 | # the RDB file finishes its work. With diskless replication instead once
263 | # the transfer starts, new slaves arriving will be queued and a new transfer
264 | # will start when the current one terminates.
265 | #
266 | # When diskless replication is used, the master waits a configurable amount of
267 | # time (in seconds) before starting the transfer in the hope that multiple slaves
268 | # will arrive and the transfer can be parallelized.
269 | #
270 | # With slow disks and fast (large bandwidth) networks, diskless replication
271 | # works better.
272 | repl-diskless-sync no
273 |
274 | # When diskless replication is enabled, it is possible to configure the delay
275 | # the server waits in order to spawn the child that transfers the RDB via socket
276 | # to the slaves.
277 | #
278 | # This is important since once the transfer starts, it is not possible to serve
279 | # new slaves arriving, that will be queued for the next RDB transfer, so the server
280 | # waits a delay in order to let more slaves arrive.
281 | #
282 | # The delay is specified in seconds, and by default is 5 seconds. To disable
283 | # it entirely just set it to 0 seconds and the transfer will start ASAP.
284 | repl-diskless-sync-delay 5
285 |
286 | # Slaves send PINGs to server in a predefined interval. It's possible to change
287 | # this interval with the repl_ping_slave_period option. The default value is 10
288 | # seconds.
289 | #
290 | # repl-ping-slave-period 10
291 |
292 | # The following option sets the replication timeout for:
293 | #
294 | # 1) Bulk transfer I/O during SYNC, from the point of view of slave.
295 | # 2) Master timeout from the point of view of slaves (data, pings).
296 | # 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
297 | #
298 | # It is important to make sure that this value is greater than the value
299 | # specified for repl-ping-slave-period otherwise a timeout will be detected
300 | # every time there is low traffic between the master and the slave.
301 | #
302 | # repl-timeout 60
303 |
304 | # Disable TCP_NODELAY on the slave socket after SYNC?
305 | #
306 | # If you select "yes" Redis will use a smaller number of TCP packets and
307 | # less bandwidth to send data to slaves. But this can add a delay for
308 | # the data to appear on the slave side, up to 40 milliseconds with
309 | # Linux kernels using a default configuration.
310 | #
311 | # If you select "no" the delay for data to appear on the slave side will
312 | # be reduced but more bandwidth will be used for replication.
313 | #
314 | # By default we optimize for low latency, but in very high traffic conditions
315 | # or when the master and slaves are many hops away, turning this to "yes" may
316 | # be a good idea.
317 | repl-disable-tcp-nodelay no
318 |
319 | # Set the replication backlog size. The backlog is a buffer that accumulates
320 | # slave data when slaves are disconnected for some time, so that when a slave
321 | # wants to reconnect again, often a full resync is not needed, but a partial
322 | # resync is enough, just passing the portion of data the slave missed while
323 | # disconnected.
324 | #
325 | # The bigger the replication backlog, the longer the time the slave can be
326 | # disconnected and later be able to perform a partial resynchronization.
327 | #
328 | # The backlog is only allocated once there is at least a slave connected.
329 | #
330 | # repl-backlog-size 1mb
331 |
332 | # After a master has no longer connected slaves for some time, the backlog
333 | # will be freed. The following option configures the amount of seconds that
334 | # need to elapse, starting from the time the last slave disconnected, for
335 | # the backlog buffer to be freed.
336 | #
337 | # A value of 0 means to never release the backlog.
338 | #
339 | # repl-backlog-ttl 3600
340 |
341 | # The slave priority is an integer number published by Redis in the INFO output.
342 | # It is used by Redis Sentinel in order to select a slave to promote into a
343 | # master if the master is no longer working correctly.
344 | #
345 | # A slave with a low priority number is considered better for promotion, so
346 | # for instance if there are three slaves with priority 10, 100, 25 Sentinel will
347 | # pick the one with priority 10, that is the lowest.
348 | #
349 | # However a special priority of 0 marks the slave as not able to perform the
350 | # role of master, so a slave with priority of 0 will never be selected by
351 | # Redis Sentinel for promotion.
352 | #
353 | # By default the priority is 100.
354 | slave-priority 100
355 |
356 | # It is possible for a master to stop accepting writes if there are less than
357 | # N slaves connected, having a lag less or equal than M seconds.
358 | #
359 | # The N slaves need to be in "online" state.
360 | #
361 | # The lag in seconds, that must be <= the specified value, is calculated from
362 | # the last ping received from the slave, that is usually sent every second.
363 | #
364 | # This option does not GUARANTEE that N replicas will accept the write, but
365 | # will limit the window of exposure for lost writes in case not enough slaves
366 | # are available, to the specified number of seconds.
367 | #
368 | # For example to require at least 3 slaves with a lag <= 10 seconds use:
369 | #
370 | # min-slaves-to-write 3
371 | # min-slaves-max-lag 10
372 | #
373 | # Setting one or the other to 0 disables the feature.
374 | #
375 | # By default min-slaves-to-write is set to 0 (feature disabled) and
376 | # min-slaves-max-lag is set to 10.
377 |
378 | ################################## SECURITY ###################################
379 |
380 | # Require clients to issue AUTH before processing any other
381 | # commands. This might be useful in environments in which you do not trust
382 | # others with access to the host running redis-server.
383 | #
384 | # This should stay commented out for backward compatibility and because most
385 | # people do not need auth (e.g. they run their own servers).
386 | #
387 | # Warning: since Redis is pretty fast an outside user can try up to
388 | # 150k passwords per second against a good box. This means that you should
389 | # use a very strong password otherwise it will be very easy to break.
390 | #
391 | # requirepass foobared
392 |
393 | # Command renaming.
394 | #
395 | # It is possible to change the name of dangerous commands in a shared
396 | # environment. For instance the CONFIG command may be renamed into something
397 | # hard to guess so that it will still be available for internal-use tools
398 | # but not available for general clients.
399 | #
400 | # Example:
401 | #
402 | # rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
403 | #
404 | # It is also possible to completely kill a command by renaming it into
405 | # an empty string:
406 | #
407 | # rename-command CONFIG ""
408 | #
409 | # Please note that changing the name of commands that are logged into the
410 | # AOF file or transmitted to slaves may cause problems.
411 |
412 | ################################### LIMITS ####################################
413 |
414 | # Set the max number of connected clients at the same time. By default
415 | # this limit is set to 10000 clients, however if the Redis server is not
416 | # able to configure the process file limit to allow for the specified limit
417 | # the max number of allowed clients is set to the current file limit
418 | # minus 32 (as Redis reserves a few file descriptors for internal uses).
419 | #
420 | # Once the limit is reached Redis will close all the new connections sending
421 | # an error 'max number of clients reached'.
422 | #
423 | # maxclients 10000
424 |
425 | # Don't use more memory than the specified amount of bytes.
426 | # When the memory limit is reached Redis will try to remove keys
427 | # according to the eviction policy selected (see maxmemory-policy).
428 | #
429 | # If Redis can't remove keys according to the policy, or if the policy is
430 | # set to 'noeviction', Redis will start to reply with errors to commands
431 | # that would use more memory, like SET, LPUSH, and so on, and will continue
432 | # to reply to read-only commands like GET.
433 | #
434 | # This option is usually useful when using Redis as an LRU cache, or to set
435 | # a hard memory limit for an instance (using the 'noeviction' policy).
436 | #
437 | # WARNING: If you have slaves attached to an instance with maxmemory on,
438 | # the size of the output buffers needed to feed the slaves are subtracted
439 | # from the used memory count, so that network problems / resyncs will
440 | # not trigger a loop where keys are evicted, and in turn the output
441 | # buffer of slaves is full with DELs of keys evicted triggering the deletion
442 | # of more keys, and so forth until the database is completely emptied.
443 | #
444 | # In short... if you have slaves attached it is suggested that you set a lower
445 | # limit for maxmemory so that there is some free RAM on the system for slave
446 | # output buffers (but this is not needed if the policy is 'noeviction').
447 | #
448 | # maxmemory
449 |
450 | # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
451 | # is reached. You can select among five behaviors:
452 | #
453 | # volatile-lru -> remove the key with an expire set using an LRU algorithm
454 | # allkeys-lru -> remove any key according to the LRU algorithm
455 | # volatile-random -> remove a random key with an expire set
456 | # allkeys-random -> remove a random key, any key
457 | # volatile-ttl -> remove the key with the nearest expire time (minor TTL)
458 | # noeviction -> don't expire at all, just return an error on write operations
459 | #
460 | # Note: with any of the above policies, Redis will return an error on write
461 | # operations, when there are no suitable keys for eviction.
462 | #
463 | # At the date of writing these commands are: set setnx setex append
464 | # incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
465 | # sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
466 | # zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
467 | # getset mset msetnx exec sort
468 | #
469 | # The default is:
470 | #
471 | # maxmemory-policy noeviction
472 |
473 | # LRU and minimal TTL algorithms are not precise algorithms but approximated
474 | # algorithms (in order to save memory), so you can tune it for speed or
475 | # accuracy. For default Redis will check five keys and pick the one that was
476 | # used less recently, you can change the sample size using the following
477 | # configuration directive.
478 | #
479 | # The default of 5 produces good enough results. 10 Approximates very closely
480 | # true LRU but costs a bit more CPU. 3 is very fast but not very accurate.
481 | #
482 | # maxmemory-samples 5
483 |
484 | ############################## APPEND ONLY MODE ###############################
485 |
486 | # By default Redis asynchronously dumps the dataset on disk. This mode is
487 | # good enough in many applications, but an issue with the Redis process or
488 | # a power outage may result into a few minutes of writes lost (depending on
489 | # the configured save points).
490 | #
491 | # The Append Only File is an alternative persistence mode that provides
492 | # much better durability. For instance using the default data fsync policy
493 | # (see later in the config file) Redis can lose just one second of writes in a
494 | # dramatic event like a server power outage, or a single write if something
495 | # wrong with the Redis process itself happens, but the operating system is
496 | # still running correctly.
497 | #
498 | # AOF and RDB persistence can be enabled at the same time without problems.
499 | # If the AOF is enabled on startup Redis will load the AOF, that is the file
500 | # with the better durability guarantees.
501 | #
502 | # Please check http://redis.io/topics/persistence for more information.
503 |
504 | appendonly no
505 |
506 | # The name of the append only file (default: "appendonly.aof")
507 |
508 | appendfilename "appendonly.aof"
509 |
510 | # The fsync() call tells the Operating System to actually write data on disk
511 | # instead of waiting for more data in the output buffer. Some OS will really flush
512 | # data on disk, some other OS will just try to do it ASAP.
513 | #
514 | # Redis supports three different modes:
515 | #
516 | # no: don't fsync, just let the OS flush the data when it wants. Faster.
517 | # always: fsync after every write to the append only log. Slow, Safest.
518 | # everysec: fsync only one time every second. Compromise.
519 | #
520 | # The default is "everysec", as that's usually the right compromise between
521 | # speed and data safety. It's up to you to understand if you can relax this to
522 | # "no" that will let the operating system flush the output buffer when
523 | # it wants, for better performances (but if you can live with the idea of
524 | # some data loss consider the default persistence mode that's snapshotting),
525 | # or on the contrary, use "always" that's very slow but a bit safer than
526 | # everysec.
527 | #
528 | # More details please check the following article:
529 | # http://antirez.com/post/redis-persistence-demystified.html
530 | #
531 | # If unsure, use "everysec".
532 |
533 | # appendfsync always
534 | appendfsync everysec
535 | # appendfsync no
536 |
537 | # When the AOF fsync policy is set to always or everysec, and a background
538 | # saving process (a background save or AOF log background rewriting) is
539 | # performing a lot of I/O against the disk, in some Linux configurations
540 | # Redis may block too long on the fsync() call. Note that there is no fix for
541 | # this currently, as even performing fsync in a different thread will block
542 | # our synchronous write(2) call.
543 | #
544 | # In order to mitigate this problem it's possible to use the following option
545 | # that will prevent fsync() from being called in the main process while a
546 | # BGSAVE or BGREWRITEAOF is in progress.
547 | #
548 | # This means that while another child is saving, the durability of Redis is
549 | # the same as "appendfsync none". In practical terms, this means that it is
550 | # possible to lose up to 30 seconds of log in the worst scenario (with the
551 | # default Linux settings).
552 | #
553 | # If you have latency problems turn this to "yes". Otherwise leave it as
554 | # "no" that is the safest pick from the point of view of durability.
555 |
556 | no-appendfsync-on-rewrite no
557 |
558 | # Automatic rewrite of the append only file.
559 | # Redis is able to automatically rewrite the log file implicitly calling
560 | # BGREWRITEAOF when the AOF log size grows by the specified percentage.
561 | #
562 | # This is how it works: Redis remembers the size of the AOF file after the
563 | # latest rewrite (if no rewrite has happened since the restart, the size of
564 | # the AOF at startup is used).
565 | #
566 | # This base size is compared to the current size. If the current size is
567 | # bigger than the specified percentage, the rewrite is triggered. Also
568 | # you need to specify a minimal size for the AOF file to be rewritten, this
569 | # is useful to avoid rewriting the AOF file even if the percentage increase
570 | # is reached but it is still pretty small.
571 | #
572 | # Specify a percentage of zero in order to disable the automatic AOF
573 | # rewrite feature.
574 |
575 | auto-aof-rewrite-percentage 100
576 | auto-aof-rewrite-min-size 64mb
577 |
578 | # An AOF file may be found to be truncated at the end during the Redis
579 | # startup process, when the AOF data gets loaded back into memory.
580 | # This may happen when the system where Redis is running
581 | # crashes, especially when an ext4 filesystem is mounted without the
582 | # data=ordered option (however this can't happen when Redis itself
583 | # crashes or aborts but the operating system still works correctly).
584 | #
585 | # Redis can either exit with an error when this happens, or load as much
586 | # data as possible (the default now) and start if the AOF file is found
587 | # to be truncated at the end. The following option controls this behavior.
588 | #
589 | # If aof-load-truncated is set to yes, a truncated AOF file is loaded and
590 | # the Redis server starts emitting a log to inform the user of the event.
591 | # Otherwise if the option is set to no, the server aborts with an error
592 | # and refuses to start. When the option is set to no, the user requires
593 | # to fix the AOF file using the "redis-check-aof" utility before to restart
594 | # the server.
595 | #
596 | # Note that if the AOF file will be found to be corrupted in the middle
597 | # the server will still exit with an error. This option only applies when
598 | # Redis will try to read more data from the AOF file but not enough bytes
599 | # will be found.
600 | aof-load-truncated yes
601 |
602 | ################################ LUA SCRIPTING ###############################
603 |
604 | # Max execution time of a Lua script in milliseconds.
605 | #
606 | # If the maximum execution time is reached Redis will log that a script is
607 | # still in execution after the maximum allowed time and will start to
608 | # reply to queries with an error.
609 | #
610 | # When a long running script exceeds the maximum execution time only the
611 | # SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
612 | # used to stop a script that did not yet called write commands. The second
613 | # is the only way to shut down the server in the case a write command was
614 | # already issued by the script but the user doesn't want to wait for the natural
615 | # termination of the script.
616 | #
617 | # Set it to 0 or a negative value for unlimited execution without warnings.
618 | lua-time-limit 5000
619 |
620 | ################################ REDIS CLUSTER ###############################
621 | #
622 | # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
623 | # WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however
624 | # in order to mark it as "mature" we need to wait for a non trivial percentage
625 | # of users to deploy it in production.
626 | # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
627 | #
628 | # Normal Redis instances can't be part of a Redis Cluster; only nodes that are
629 | # started as cluster nodes can. In order to start a Redis instance as a
630 | # cluster node enable the cluster support uncommenting the following:
631 | #
632 | # cluster-enabled yes
633 |
634 | # Every cluster node has a cluster configuration file. This file is not
635 | # intended to be edited by hand. It is created and updated by Redis nodes.
636 | # Every Redis Cluster node requires a different cluster configuration file.
637 | # Make sure that instances running in the same system do not have
638 | # overlapping cluster configuration file names.
639 | #
640 | # cluster-config-file nodes-6379.conf
641 |
642 | # Cluster node timeout is the amount of milliseconds a node must be unreachable
643 | # for it to be considered in failure state.
644 | # Most other internal time limits are multiple of the node timeout.
645 | #
646 | # cluster-node-timeout 15000
647 |
648 | # A slave of a failing master will avoid to start a failover if its data
649 | # looks too old.
650 | #
651 | # There is no simple way for a slave to actually have a exact measure of
652 | # its "data age", so the following two checks are performed:
653 | #
654 | # 1) If there are multiple slaves able to failover, they exchange messages
655 | # in order to try to give an advantage to the slave with the best
656 | # replication offset (more data from the master processed).
657 | # Slaves will try to get their rank by offset, and apply to the start
658 | # of the failover a delay proportional to their rank.
659 | #
660 | # 2) Every single slave computes the time of the last interaction with
661 | # its master. This can be the last ping or command received (if the master
662 | # is still in the "connected" state), or the time that elapsed since the
663 | # disconnection with the master (if the replication link is currently down).
664 | # If the last interaction is too old, the slave will not try to failover
665 | # at all.
666 | #
667 | # The point "2" can be tuned by user. Specifically a slave will not perform
668 | # the failover if, since the last interaction with the master, the time
669 | # elapsed is greater than:
670 | #
671 | # (node-timeout * slave-validity-factor) + repl-ping-slave-period
672 | #
673 | # So for example if node-timeout is 30 seconds, and the slave-validity-factor
674 | # is 10, and assuming a default repl-ping-slave-period of 10 seconds, the
675 | # slave will not try to failover if it was not able to talk with the master
676 | # for longer than 310 seconds.
677 | #
678 | # A large slave-validity-factor may allow slaves with too old data to failover
679 | # a master, while a too small value may prevent the cluster from being able to
680 | # elect a slave at all.
681 | #
682 | # For maximum availability, it is possible to set the slave-validity-factor
683 | # to a value of 0, which means, that slaves will always try to failover the
684 | # master regardless of the last time they interacted with the master.
685 | # (However they'll always try to apply a delay proportional to their
686 | # offset rank).
687 | #
688 | # Zero is the only value able to guarantee that when all the partitions heal
689 | # the cluster will always be able to continue.
690 | #
691 | # cluster-slave-validity-factor 10
692 |
693 | # Cluster slaves are able to migrate to orphaned masters, that are masters
694 | # that are left without working slaves. This improves the cluster ability
695 | # to resist to failures as otherwise an orphaned master can't be failed over
696 | # in case of failure if it has no working slaves.
697 | #
698 | # Slaves migrate to orphaned masters only if there are still at least a
699 | # given number of other working slaves for their old master. This number
700 | # is the "migration barrier". A migration barrier of 1 means that a slave
701 | # will migrate only if there is at least 1 other working slave for its master
702 | # and so forth. It usually reflects the number of slaves you want for every
703 | # master in your cluster.
704 | #
705 | # Default is 1 (slaves migrate only if their masters remain with at least
706 | # one slave). To disable migration just set it to a very large value.
707 | # A value of 0 can be set but is useful only for debugging and dangerous
708 | # in production.
709 | #
710 | # cluster-migration-barrier 1
711 |
712 | # By default Redis Cluster nodes stop accepting queries if they detect there
713 | # is at least an hash slot uncovered (no available node is serving it).
714 | # This way if the cluster is partially down (for example a range of hash slots
715 | # are no longer covered) all the cluster becomes, eventually, unavailable.
716 | # It automatically returns available as soon as all the slots are covered again.
717 | #
718 | # However sometimes you want the subset of the cluster which is working,
719 | # to continue to accept queries for the part of the key space that is still
720 | # covered. In order to do so, just set the cluster-require-full-coverage
721 | # option to no.
722 | #
723 | # cluster-require-full-coverage yes
724 |
725 | # In order to setup your cluster make sure to read the documentation
726 | # available at http://redis.io web site.
727 |
728 | ################################## SLOW LOG ###################################
729 |
730 | # The Redis Slow Log is a system to log queries that exceeded a specified
731 | # execution time. The execution time does not include the I/O operations
732 | # like talking with the client, sending the reply and so forth,
733 | # but just the time needed to actually execute the command (this is the only
734 | # stage of command execution where the thread is blocked and can not serve
735 | # other requests in the meantime).
736 | #
737 | # You can configure the slow log with two parameters: one tells Redis
738 | # what is the execution time, in microseconds, to exceed in order for the
739 | # command to get logged, and the other parameter is the length of the
740 | # slow log. When a new command is logged the oldest one is removed from the
741 | # queue of logged commands.
742 |
743 | # The following time is expressed in microseconds, so 1000000 is equivalent
744 | # to one second. Note that a negative number disables the slow log, while
745 | # a value of zero forces the logging of every command.
746 | slowlog-log-slower-than 10000
747 |
748 | # There is no limit to this length. Just be aware that it will consume memory.
749 | # You can reclaim memory used by the slow log with SLOWLOG RESET.
750 | slowlog-max-len 128
751 |
752 | ################################ LATENCY MONITOR ##############################
753 |
754 | # The Redis latency monitoring subsystem samples different operations
755 | # at runtime in order to collect data related to possible sources of
756 | # latency of a Redis instance.
757 | #
758 | # Via the LATENCY command this information is available to the user that can
759 | # print graphs and obtain reports.
760 | #
761 | # The system only logs operations that were performed in a time equal or
762 | # greater than the amount of milliseconds specified via the
763 | # latency-monitor-threshold configuration directive. When its value is set
764 | # to zero, the latency monitor is turned off.
765 | #
766 | # By default latency monitoring is disabled since it is mostly not needed
767 | # if you don't have latency issues, and collecting data has a performance
768 | # impact, that while very small, can be measured under big load. Latency
769 | # monitoring can easily be enabled at runtime using the command
770 | # "CONFIG SET latency-monitor-threshold " if needed.
771 | latency-monitor-threshold 0
772 |
773 | ############################# EVENT NOTIFICATION ##############################
774 |
775 | # Redis can notify Pub/Sub clients about events happening in the key space.
776 | # This feature is documented at http://redis.io/topics/notifications
777 | #
778 | # For instance if keyspace events notification is enabled, and a client
779 | # performs a DEL operation on key "foo" stored in the Database 0, two
780 | # messages will be published via Pub/Sub:
781 | #
782 | # PUBLISH __keyspace@0__:foo del
783 | # PUBLISH __keyevent@0__:del foo
784 | #
785 | # It is possible to select the events that Redis will notify among a set
786 | # of classes. Every class is identified by a single character:
787 | #
788 | # K Keyspace events, published with __keyspace@__ prefix.
789 | # E Keyevent events, published with __keyevent@__ prefix.
790 | # g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...
791 | # $ String commands
792 | # l List commands
793 | # s Set commands
794 | # h Hash commands
795 | # z Sorted set commands
796 | # x Expired events (events generated every time a key expires)
797 | # e Evicted events (events generated when a key is evicted for maxmemory)
798 | # A Alias for g$lshzxe, so that the "AKE" string means all the events.
799 | #
800 | # The "notify-keyspace-events" takes as argument a string that is composed
801 | # of zero or multiple characters. The empty string means that notifications
802 | # are disabled.
803 | #
804 | # Example: to enable list and generic events, from the point of view of the
805 | # event name, use:
806 | #
807 | # notify-keyspace-events Elg
808 | #
809 | # Example 2: to get the stream of the expired keys subscribing to channel
810 | # name __keyevent@0__:expired use:
811 | #
812 | # notify-keyspace-events Ex
813 | #
814 | # By default all notifications are disabled because most users don't need
815 | # this feature and the feature has some overhead. Note that if you don't
816 | # specify at least one of K or E, no events will be delivered.
817 | notify-keyspace-events ""
818 |
819 | ############################### ADVANCED CONFIG ###############################
820 |
821 | # Hashes are encoded using a memory efficient data structure when they have a
822 | # small number of entries, and the biggest entry does not exceed a given
823 | # threshold. These thresholds can be configured using the following directives.
824 | hash-max-ziplist-entries 512
825 | hash-max-ziplist-value 64
826 |
827 | # Similarly to hashes, small lists are also encoded in a special way in order
828 | # to save a lot of space. The special representation is only used when
829 | # you are under the following limits:
830 | list-max-ziplist-entries 512
831 | list-max-ziplist-value 64
832 |
833 | # Sets have a special encoding in just one case: when a set is composed
834 | # of just strings that happen to be integers in radix 10 in the range
835 | # of 64 bit signed integers.
836 | # The following configuration setting sets the limit in the size of the
837 | # set in order to use this special memory saving encoding.
838 | set-max-intset-entries 512
839 |
840 | # Similarly to hashes and lists, sorted sets are also specially encoded in
841 | # order to save a lot of space. This encoding is only used when the length and
842 | # elements of a sorted set are below the following limits:
843 | zset-max-ziplist-entries 128
844 | zset-max-ziplist-value 64
845 |
846 | # HyperLogLog sparse representation bytes limit. The limit includes the
847 | # 16 bytes header. When an HyperLogLog using the sparse representation crosses
848 | # this limit, it is converted into the dense representation.
849 | #
850 | # A value greater than 16000 is totally useless, since at that point the
851 | # dense representation is more memory efficient.
852 | #
853 | # The suggested value is ~ 3000 in order to have the benefits of
854 | # the space efficient encoding without slowing down too much PFADD,
855 | # which is O(N) with the sparse encoding. The value can be raised to
856 | # ~ 10000 when CPU is not a concern, but space is, and the data set is
857 | # composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
858 | hll-sparse-max-bytes 3000
859 |
860 | # Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
861 | # order to help rehashing the main Redis hash table (the one mapping top-level
862 | # keys to values). The hash table implementation Redis uses (see dict.c)
863 | # performs a lazy rehashing: the more operation you run into a hash table
864 | # that is rehashing, the more rehashing "steps" are performed, so if the
865 | # server is idle the rehashing is never complete and some more memory is used
866 | # by the hash table.
867 | #
868 | # The default is to use this millisecond 10 times every second in order to
869 | # actively rehash the main dictionaries, freeing memory when possible.
870 | #
871 | # If unsure:
872 | # use "activerehashing no" if you have hard latency requirements and it is
873 | # not a good thing in your environment that Redis can reply from time to time
874 | # to queries with 2 milliseconds delay.
875 | #
876 | # use "activerehashing yes" if you don't have such hard requirements but
877 | # want to free memory asap when possible.
878 | activerehashing yes
879 |
880 | # The client output buffer limits can be used to force disconnection of clients
881 | # that are not reading data from the server fast enough for some reason (a
882 | # common reason is that a Pub/Sub client can't consume messages as fast as the
883 | # publisher can produce them).
884 | #
885 | # The limit can be set differently for the three different classes of clients:
886 | #
887 | # normal -> normal clients including MONITOR clients
888 | # slave -> slave clients
889 | # pubsub -> clients subscribed to at least one pubsub channel or pattern
890 | #
891 | # The syntax of every client-output-buffer-limit directive is the following:
892 | #
893 | # client-output-buffer-limit
894 | #
895 | # A client is immediately disconnected once the hard limit is reached, or if
896 | # the soft limit is reached and remains reached for the specified number of
897 | # seconds (continuously).
898 | # So for instance if the hard limit is 32 megabytes and the soft limit is
899 | # 16 megabytes / 10 seconds, the client will get disconnected immediately
900 | # if the size of the output buffers reach 32 megabytes, but will also get
901 | # disconnected if the client reaches 16 megabytes and continuously overcomes
902 | # the limit for 10 seconds.
903 | #
904 | # By default normal clients are not limited because they don't receive data
905 | # without asking (in a push way), but just after a request, so only
906 | # asynchronous clients may create a scenario where data is requested faster
907 | # than it can read.
908 | #
909 | # Instead there is a default limit for pubsub and slave clients, since
910 | # subscribers and slaves receive data in a push fashion.
911 | #
912 | # Both the hard or the soft limit can be disabled by setting them to zero.
913 | client-output-buffer-limit normal 0 0 0
914 | client-output-buffer-limit slave 256mb 64mb 60
915 | client-output-buffer-limit pubsub 32mb 8mb 60
916 |
917 | # Redis calls an internal function to perform many background tasks, like
918 | # closing connections of clients in timeout, purging expired keys that are
919 | # never requested, and so forth.
920 | #
921 | # Not all tasks are performed with the same frequency, but Redis checks for
922 | # tasks to perform according to the specified "hz" value.
923 | #
924 | # By default "hz" is set to 10. Raising the value will use more CPU when
925 | # Redis is idle, but at the same time will make Redis more responsive when
926 | # there are many keys expiring at the same time, and timeouts may be
927 | # handled with more precision.
928 | #
929 | # The range is between 1 and 500, however a value over 100 is usually not
930 | # a good idea. Most users should use the default of 10 and raise this up to
931 | # 100 only in environments where very low latency is required.
932 | hz 10
933 |
934 | # When a child rewrites the AOF file, if the following option is enabled
935 | # the file will be fsync-ed every 32 MB of data generated. This is useful
936 | # in order to commit the file to the disk more incrementally and avoid
937 | # big latency spikes.
938 | aof-rewrite-incremental-fsync yes
939 |
--------------------------------------------------------------------------------