├── .github
└── workflows
│ ├── docker-build.yml
│ └── rails-docker-build.yml
├── LICENSE
├── README.md
├── apt-mirror
├── .gitignore
├── Dockerfile
├── docker-compose.yml.example
└── resources
│ ├── apt
│ ├── mirror.list.template
│ └── post-mirror.sh
│ ├── docker-entrypoint.sh
│ └── nginx
│ └── sites-enabled
│ └── apt-mirror.conf.example
├── bind
├── .gitignore
├── Dockerfile
├── entrypoint.sh
└── etc
│ └── bind
│ ├── bind.keys
│ ├── db.0
│ ├── db.127
│ ├── db.255
│ ├── db.empty
│ ├── db.local
│ ├── db.root
│ ├── named.conf
│ ├── named.conf.default-zones
│ ├── named.conf.local
│ ├── named.conf.options
│ └── zones.rfc1918
├── build.sh
├── consul
├── .gitignore
├── Dockerfile
└── docker-compose.yml.example
├── docker-bake.hcl
├── goaccess
└── Dockerfile
├── grunt
├── Dockerfile
└── runtime
│ └── Dockerfile
├── haproxy
├── Dockerfile
└── haproxy.ctmpl
├── icecast
├── .gitignore
├── Dockerfile
├── README.md
├── docker-entrypoint.sh
└── etc
│ ├── icecast.xml
│ └── mime.types
├── jq
└── Dockerfile
├── liquidsoap
├── Dockerfile
├── install.sh
└── start-liquidsoap.sh
├── memcached
├── Dockerfile
├── README.md
└── start
├── nginx-geoip2
├── Dockerfile
├── nginx-1.15.12
│ ├── CHANGES
│ ├── CHANGES.ru
│ ├── LICENSE
│ ├── README
│ ├── auto
│ │ ├── cc
│ │ │ ├── acc
│ │ │ ├── bcc
│ │ │ ├── ccc
│ │ │ ├── clang
│ │ │ ├── conf
│ │ │ ├── gcc
│ │ │ ├── icc
│ │ │ ├── msvc
│ │ │ ├── name
│ │ │ ├── owc
│ │ │ └── sunc
│ │ ├── define
│ │ ├── endianness
│ │ ├── feature
│ │ ├── have
│ │ ├── have_headers
│ │ ├── headers
│ │ ├── include
│ │ ├── init
│ │ ├── install
│ │ ├── lib
│ │ │ ├── conf
│ │ │ ├── geoip
│ │ │ │ └── conf
│ │ │ ├── google-perftools
│ │ │ │ └── conf
│ │ │ ├── libatomic
│ │ │ │ ├── conf
│ │ │ │ └── make
│ │ │ ├── libgd
│ │ │ │ └── conf
│ │ │ ├── libxslt
│ │ │ │ └── conf
│ │ │ ├── make
│ │ │ ├── openssl
│ │ │ │ ├── conf
│ │ │ │ ├── make
│ │ │ │ ├── makefile.bcc
│ │ │ │ └── makefile.msvc
│ │ │ ├── pcre
│ │ │ │ ├── conf
│ │ │ │ ├── make
│ │ │ │ ├── makefile.bcc
│ │ │ │ ├── makefile.msvc
│ │ │ │ └── makefile.owc
│ │ │ ├── perl
│ │ │ │ ├── conf
│ │ │ │ └── make
│ │ │ └── zlib
│ │ │ │ ├── conf
│ │ │ │ ├── make
│ │ │ │ ├── makefile.bcc
│ │ │ │ ├── makefile.msvc
│ │ │ │ └── makefile.owc
│ │ ├── make
│ │ ├── module
│ │ ├── modules
│ │ ├── nohave
│ │ ├── options
│ │ ├── os
│ │ │ ├── conf
│ │ │ ├── darwin
│ │ │ ├── freebsd
│ │ │ ├── linux
│ │ │ ├── solaris
│ │ │ └── win32
│ │ ├── sources
│ │ ├── stubs
│ │ ├── summary
│ │ ├── threads
│ │ ├── types
│ │ │ ├── sizeof
│ │ │ ├── typedef
│ │ │ ├── uintptr_t
│ │ │ └── value
│ │ └── unix
│ ├── conf
│ │ ├── fastcgi.conf
│ │ ├── fastcgi_params
│ │ ├── koi-utf
│ │ ├── koi-win
│ │ ├── mime.types
│ │ ├── nginx.conf
│ │ ├── scgi_params
│ │ ├── uwsgi_params
│ │ └── win-utf
│ ├── configure
│ ├── contrib
│ │ ├── README
│ │ ├── geo2nginx.pl
│ │ ├── unicode2nginx
│ │ │ ├── koi-utf
│ │ │ ├── unicode-to-nginx.pl
│ │ │ └── win-utf
│ │ └── vim
│ │ │ ├── ftdetect
│ │ │ └── nginx.vim
│ │ │ ├── ftplugin
│ │ │ └── nginx.vim
│ │ │ ├── indent
│ │ │ └── nginx.vim
│ │ │ └── syntax
│ │ │ └── nginx.vim
│ ├── html
│ │ ├── 50x.html
│ │ └── index.html
│ ├── man
│ │ └── nginx.8
│ └── src
│ │ ├── core
│ │ ├── nginx.c
│ │ ├── nginx.h
│ │ ├── ngx_array.c
│ │ ├── ngx_array.h
│ │ ├── ngx_buf.c
│ │ ├── ngx_buf.h
│ │ ├── ngx_conf_file.c
│ │ ├── ngx_conf_file.h
│ │ ├── ngx_config.h
│ │ ├── ngx_connection.c
│ │ ├── ngx_connection.h
│ │ ├── ngx_core.h
│ │ ├── ngx_cpuinfo.c
│ │ ├── ngx_crc.h
│ │ ├── ngx_crc32.c
│ │ ├── ngx_crc32.h
│ │ ├── ngx_crypt.c
│ │ ├── ngx_crypt.h
│ │ ├── ngx_cycle.c
│ │ ├── ngx_cycle.h
│ │ ├── ngx_file.c
│ │ ├── ngx_file.h
│ │ ├── ngx_hash.c
│ │ ├── ngx_hash.h
│ │ ├── ngx_inet.c
│ │ ├── ngx_inet.h
│ │ ├── ngx_list.c
│ │ ├── ngx_list.h
│ │ ├── ngx_log.c
│ │ ├── ngx_log.h
│ │ ├── ngx_md5.c
│ │ ├── ngx_md5.h
│ │ ├── ngx_module.c
│ │ ├── ngx_module.h
│ │ ├── ngx_murmurhash.c
│ │ ├── ngx_murmurhash.h
│ │ ├── ngx_open_file_cache.c
│ │ ├── ngx_open_file_cache.h
│ │ ├── ngx_output_chain.c
│ │ ├── ngx_palloc.c
│ │ ├── ngx_palloc.h
│ │ ├── ngx_parse.c
│ │ ├── ngx_parse.h
│ │ ├── ngx_parse_time.c
│ │ ├── ngx_parse_time.h
│ │ ├── ngx_proxy_protocol.c
│ │ ├── ngx_proxy_protocol.h
│ │ ├── ngx_queue.c
│ │ ├── ngx_queue.h
│ │ ├── ngx_radix_tree.c
│ │ ├── ngx_radix_tree.h
│ │ ├── ngx_rbtree.c
│ │ ├── ngx_rbtree.h
│ │ ├── ngx_regex.c
│ │ ├── ngx_regex.h
│ │ ├── ngx_resolver.c
│ │ ├── ngx_resolver.h
│ │ ├── ngx_rwlock.c
│ │ ├── ngx_rwlock.h
│ │ ├── ngx_sha1.c
│ │ ├── ngx_sha1.h
│ │ ├── ngx_shmtx.c
│ │ ├── ngx_shmtx.h
│ │ ├── ngx_slab.c
│ │ ├── ngx_slab.h
│ │ ├── ngx_spinlock.c
│ │ ├── ngx_string.c
│ │ ├── ngx_string.h
│ │ ├── ngx_syslog.c
│ │ ├── ngx_syslog.h
│ │ ├── ngx_thread_pool.c
│ │ ├── ngx_thread_pool.h
│ │ ├── ngx_times.c
│ │ └── ngx_times.h
│ │ ├── event
│ │ ├── modules
│ │ │ ├── ngx_devpoll_module.c
│ │ │ ├── ngx_epoll_module.c
│ │ │ ├── ngx_eventport_module.c
│ │ │ ├── ngx_kqueue_module.c
│ │ │ ├── ngx_poll_module.c
│ │ │ ├── ngx_select_module.c
│ │ │ ├── ngx_win32_poll_module.c
│ │ │ └── ngx_win32_select_module.c
│ │ ├── ngx_event.c
│ │ ├── ngx_event.h
│ │ ├── ngx_event_accept.c
│ │ ├── ngx_event_connect.c
│ │ ├── ngx_event_connect.h
│ │ ├── ngx_event_openssl.c
│ │ ├── ngx_event_openssl.h
│ │ ├── ngx_event_openssl_stapling.c
│ │ ├── ngx_event_pipe.c
│ │ ├── ngx_event_pipe.h
│ │ ├── ngx_event_posted.c
│ │ ├── ngx_event_posted.h
│ │ ├── ngx_event_timer.c
│ │ ├── ngx_event_timer.h
│ │ └── ngx_event_udp.c
│ │ ├── http
│ │ ├── modules
│ │ │ ├── ngx_http_access_module.c
│ │ │ ├── ngx_http_addition_filter_module.c
│ │ │ ├── ngx_http_auth_basic_module.c
│ │ │ ├── ngx_http_auth_request_module.c
│ │ │ ├── ngx_http_autoindex_module.c
│ │ │ ├── ngx_http_browser_module.c
│ │ │ ├── ngx_http_charset_filter_module.c
│ │ │ ├── ngx_http_chunked_filter_module.c
│ │ │ ├── ngx_http_dav_module.c
│ │ │ ├── ngx_http_degradation_module.c
│ │ │ ├── ngx_http_empty_gif_module.c
│ │ │ ├── ngx_http_fastcgi_module.c
│ │ │ ├── ngx_http_flv_module.c
│ │ │ ├── ngx_http_geo_module.c
│ │ │ ├── ngx_http_geoip_module.c
│ │ │ ├── ngx_http_grpc_module.c
│ │ │ ├── ngx_http_gunzip_filter_module.c
│ │ │ ├── ngx_http_gzip_filter_module.c
│ │ │ ├── ngx_http_gzip_static_module.c
│ │ │ ├── ngx_http_headers_filter_module.c
│ │ │ ├── ngx_http_image_filter_module.c
│ │ │ ├── ngx_http_index_module.c
│ │ │ ├── ngx_http_limit_conn_module.c
│ │ │ ├── ngx_http_limit_req_module.c
│ │ │ ├── ngx_http_log_module.c
│ │ │ ├── ngx_http_map_module.c
│ │ │ ├── ngx_http_memcached_module.c
│ │ │ ├── ngx_http_mirror_module.c
│ │ │ ├── ngx_http_mp4_module.c
│ │ │ ├── ngx_http_not_modified_filter_module.c
│ │ │ ├── ngx_http_proxy_module.c
│ │ │ ├── ngx_http_random_index_module.c
│ │ │ ├── ngx_http_range_filter_module.c
│ │ │ ├── ngx_http_realip_module.c
│ │ │ ├── ngx_http_referer_module.c
│ │ │ ├── ngx_http_rewrite_module.c
│ │ │ ├── ngx_http_scgi_module.c
│ │ │ ├── ngx_http_secure_link_module.c
│ │ │ ├── ngx_http_slice_filter_module.c
│ │ │ ├── ngx_http_split_clients_module.c
│ │ │ ├── ngx_http_ssi_filter_module.c
│ │ │ ├── ngx_http_ssi_filter_module.h
│ │ │ ├── ngx_http_ssl_module.c
│ │ │ ├── ngx_http_ssl_module.h
│ │ │ ├── ngx_http_static_module.c
│ │ │ ├── ngx_http_stub_status_module.c
│ │ │ ├── ngx_http_sub_filter_module.c
│ │ │ ├── ngx_http_try_files_module.c
│ │ │ ├── ngx_http_upstream_hash_module.c
│ │ │ ├── ngx_http_upstream_ip_hash_module.c
│ │ │ ├── ngx_http_upstream_keepalive_module.c
│ │ │ ├── ngx_http_upstream_least_conn_module.c
│ │ │ ├── ngx_http_upstream_random_module.c
│ │ │ ├── ngx_http_upstream_zone_module.c
│ │ │ ├── ngx_http_userid_filter_module.c
│ │ │ ├── ngx_http_uwsgi_module.c
│ │ │ ├── ngx_http_xslt_filter_module.c
│ │ │ └── perl
│ │ │ │ ├── Makefile.PL
│ │ │ │ ├── nginx.pm
│ │ │ │ ├── nginx.xs
│ │ │ │ ├── ngx_http_perl_module.c
│ │ │ │ ├── ngx_http_perl_module.h
│ │ │ │ └── typemap
│ │ ├── ngx_http.c
│ │ ├── ngx_http.h
│ │ ├── ngx_http_cache.h
│ │ ├── ngx_http_config.h
│ │ ├── ngx_http_copy_filter_module.c
│ │ ├── ngx_http_core_module.c
│ │ ├── ngx_http_core_module.h
│ │ ├── ngx_http_file_cache.c
│ │ ├── ngx_http_header_filter_module.c
│ │ ├── ngx_http_parse.c
│ │ ├── ngx_http_postpone_filter_module.c
│ │ ├── ngx_http_request.c
│ │ ├── ngx_http_request.h
│ │ ├── ngx_http_request_body.c
│ │ ├── ngx_http_script.c
│ │ ├── ngx_http_script.h
│ │ ├── ngx_http_special_response.c
│ │ ├── ngx_http_upstream.c
│ │ ├── ngx_http_upstream.h
│ │ ├── ngx_http_upstream_round_robin.c
│ │ ├── ngx_http_upstream_round_robin.h
│ │ ├── ngx_http_variables.c
│ │ ├── ngx_http_variables.h
│ │ ├── ngx_http_write_filter_module.c
│ │ └── v2
│ │ │ ├── ngx_http_v2.c
│ │ │ ├── ngx_http_v2.h
│ │ │ ├── ngx_http_v2_encode.c
│ │ │ ├── ngx_http_v2_filter_module.c
│ │ │ ├── ngx_http_v2_huff_decode.c
│ │ │ ├── ngx_http_v2_huff_encode.c
│ │ │ ├── ngx_http_v2_module.c
│ │ │ ├── ngx_http_v2_module.h
│ │ │ └── ngx_http_v2_table.c
│ │ ├── mail
│ │ ├── ngx_mail.c
│ │ ├── ngx_mail.h
│ │ ├── ngx_mail_auth_http_module.c
│ │ ├── ngx_mail_core_module.c
│ │ ├── ngx_mail_handler.c
│ │ ├── ngx_mail_imap_handler.c
│ │ ├── ngx_mail_imap_module.c
│ │ ├── ngx_mail_imap_module.h
│ │ ├── ngx_mail_parse.c
│ │ ├── ngx_mail_pop3_handler.c
│ │ ├── ngx_mail_pop3_module.c
│ │ ├── ngx_mail_pop3_module.h
│ │ ├── ngx_mail_proxy_module.c
│ │ ├── ngx_mail_smtp_handler.c
│ │ ├── ngx_mail_smtp_module.c
│ │ ├── ngx_mail_smtp_module.h
│ │ ├── ngx_mail_ssl_module.c
│ │ └── ngx_mail_ssl_module.h
│ │ ├── misc
│ │ ├── ngx_cpp_test_module.cpp
│ │ └── ngx_google_perftools_module.c
│ │ ├── os
│ │ └── unix
│ │ │ ├── ngx_alloc.c
│ │ │ ├── ngx_alloc.h
│ │ │ ├── ngx_atomic.h
│ │ │ ├── ngx_channel.c
│ │ │ ├── ngx_channel.h
│ │ │ ├── ngx_daemon.c
│ │ │ ├── ngx_darwin.h
│ │ │ ├── ngx_darwin_config.h
│ │ │ ├── ngx_darwin_init.c
│ │ │ ├── ngx_darwin_sendfile_chain.c
│ │ │ ├── ngx_dlopen.c
│ │ │ ├── ngx_dlopen.h
│ │ │ ├── ngx_errno.c
│ │ │ ├── ngx_errno.h
│ │ │ ├── ngx_file_aio_read.c
│ │ │ ├── ngx_files.c
│ │ │ ├── ngx_files.h
│ │ │ ├── ngx_freebsd.h
│ │ │ ├── ngx_freebsd_config.h
│ │ │ ├── ngx_freebsd_init.c
│ │ │ ├── ngx_freebsd_sendfile_chain.c
│ │ │ ├── ngx_gcc_atomic_amd64.h
│ │ │ ├── ngx_gcc_atomic_ppc.h
│ │ │ ├── ngx_gcc_atomic_sparc64.h
│ │ │ ├── ngx_gcc_atomic_x86.h
│ │ │ ├── ngx_linux.h
│ │ │ ├── ngx_linux_aio_read.c
│ │ │ ├── ngx_linux_config.h
│ │ │ ├── ngx_linux_init.c
│ │ │ ├── ngx_linux_sendfile_chain.c
│ │ │ ├── ngx_os.h
│ │ │ ├── ngx_posix_config.h
│ │ │ ├── ngx_posix_init.c
│ │ │ ├── ngx_process.c
│ │ │ ├── ngx_process.h
│ │ │ ├── ngx_process_cycle.c
│ │ │ ├── ngx_process_cycle.h
│ │ │ ├── ngx_readv_chain.c
│ │ │ ├── ngx_recv.c
│ │ │ ├── ngx_send.c
│ │ │ ├── ngx_setaffinity.c
│ │ │ ├── ngx_setaffinity.h
│ │ │ ├── ngx_setproctitle.c
│ │ │ ├── ngx_setproctitle.h
│ │ │ ├── ngx_shmem.c
│ │ │ ├── ngx_shmem.h
│ │ │ ├── ngx_socket.c
│ │ │ ├── ngx_socket.h
│ │ │ ├── ngx_solaris.h
│ │ │ ├── ngx_solaris_config.h
│ │ │ ├── ngx_solaris_init.c
│ │ │ ├── ngx_solaris_sendfilev_chain.c
│ │ │ ├── ngx_sunpro_amd64.il
│ │ │ ├── ngx_sunpro_atomic_sparc64.h
│ │ │ ├── ngx_sunpro_sparc64.il
│ │ │ ├── ngx_sunpro_x86.il
│ │ │ ├── ngx_thread.h
│ │ │ ├── ngx_thread_cond.c
│ │ │ ├── ngx_thread_id.c
│ │ │ ├── ngx_thread_mutex.c
│ │ │ ├── ngx_time.c
│ │ │ ├── ngx_time.h
│ │ │ ├── ngx_udp_recv.c
│ │ │ ├── ngx_udp_send.c
│ │ │ ├── ngx_udp_sendmsg_chain.c
│ │ │ ├── ngx_user.c
│ │ │ ├── ngx_user.h
│ │ │ └── ngx_writev_chain.c
│ │ └── stream
│ │ ├── ngx_stream.c
│ │ ├── ngx_stream.h
│ │ ├── ngx_stream_access_module.c
│ │ ├── ngx_stream_core_module.c
│ │ ├── ngx_stream_geo_module.c
│ │ ├── ngx_stream_geoip_module.c
│ │ ├── ngx_stream_handler.c
│ │ ├── ngx_stream_limit_conn_module.c
│ │ ├── ngx_stream_log_module.c
│ │ ├── ngx_stream_map_module.c
│ │ ├── ngx_stream_proxy_module.c
│ │ ├── ngx_stream_realip_module.c
│ │ ├── ngx_stream_return_module.c
│ │ ├── ngx_stream_script.c
│ │ ├── ngx_stream_script.h
│ │ ├── ngx_stream_split_clients_module.c
│ │ ├── ngx_stream_ssl_module.c
│ │ ├── ngx_stream_ssl_module.h
│ │ ├── ngx_stream_ssl_preread_module.c
│ │ ├── ngx_stream_upstream.c
│ │ ├── ngx_stream_upstream.h
│ │ ├── ngx_stream_upstream_hash_module.c
│ │ ├── ngx_stream_upstream_least_conn_module.c
│ │ ├── ngx_stream_upstream_random_module.c
│ │ ├── ngx_stream_upstream_round_robin.c
│ │ ├── ngx_stream_upstream_round_robin.h
│ │ ├── ngx_stream_upstream_zone_module.c
│ │ ├── ngx_stream_variables.c
│ │ ├── ngx_stream_variables.h
│ │ └── ngx_stream_write_filter_module.c
├── ngx_http_geoip2_module-1.0
│ ├── LICENSE
│ ├── README.md
│ ├── config
│ └── ngx_http_geoip2_module.c
└── zlib-1.2.8
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── ChangeLog
│ ├── FAQ
│ ├── INDEX
│ ├── Makefile
│ ├── Makefile.in
│ ├── README
│ ├── adler32.c
│ ├── amiga
│ ├── Makefile.pup
│ └── Makefile.sas
│ ├── as400
│ ├── bndsrc
│ ├── compile.clp
│ ├── readme.txt
│ └── zlib.inc
│ ├── compress.c
│ ├── configure
│ ├── contrib
│ ├── README.contrib
│ ├── ada
│ │ ├── buffer_demo.adb
│ │ ├── mtest.adb
│ │ ├── read.adb
│ │ ├── readme.txt
│ │ ├── test.adb
│ │ ├── zlib-streams.adb
│ │ ├── zlib-streams.ads
│ │ ├── zlib-thin.adb
│ │ ├── zlib-thin.ads
│ │ ├── zlib.adb
│ │ ├── zlib.ads
│ │ └── zlib.gpr
│ ├── amd64
│ │ └── amd64-match.S
│ ├── asm686
│ │ ├── README.686
│ │ └── match.S
│ ├── blast
│ │ ├── Makefile
│ │ ├── README
│ │ ├── blast.c
│ │ ├── blast.h
│ │ ├── test.pk
│ │ └── test.txt
│ ├── delphi
│ │ ├── ZLib.pas
│ │ ├── ZLibConst.pas
│ │ ├── readme.txt
│ │ └── zlibd32.mak
│ ├── dotzlib
│ │ ├── DotZLib.build
│ │ ├── DotZLib.chm
│ │ ├── DotZLib.sln
│ │ ├── DotZLib
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── ChecksumImpl.cs
│ │ │ ├── CircularBuffer.cs
│ │ │ ├── CodecBase.cs
│ │ │ ├── Deflater.cs
│ │ │ ├── DotZLib.cs
│ │ │ ├── DotZLib.csproj
│ │ │ ├── GZipStream.cs
│ │ │ ├── Inflater.cs
│ │ │ └── UnitTests.cs
│ │ ├── LICENSE_1_0.txt
│ │ └── readme.txt
│ ├── gcc_gvmat64
│ │ └── gvmat64.S
│ ├── infback9
│ │ ├── README
│ │ ├── infback9.c
│ │ ├── infback9.h
│ │ ├── inffix9.h
│ │ ├── inflate9.h
│ │ ├── inftree9.c
│ │ └── inftree9.h
│ ├── inflate86
│ │ ├── inffas86.c
│ │ └── inffast.S
│ ├── iostream
│ │ ├── test.cpp
│ │ ├── zfstream.cpp
│ │ └── zfstream.h
│ ├── iostream2
│ │ ├── zstream.h
│ │ └── zstream_test.cpp
│ ├── iostream3
│ │ ├── README
│ │ ├── TODO
│ │ ├── test.cc
│ │ ├── zfstream.cc
│ │ └── zfstream.h
│ ├── masmx64
│ │ ├── bld_ml64.bat
│ │ ├── gvmat64.asm
│ │ ├── inffas8664.c
│ │ ├── inffasx64.asm
│ │ └── readme.txt
│ ├── masmx86
│ │ ├── bld_ml32.bat
│ │ ├── inffas32.asm
│ │ ├── match686.asm
│ │ └── readme.txt
│ ├── minizip
│ │ ├── Makefile
│ │ ├── Makefile.am
│ │ ├── MiniZip64_Changes.txt
│ │ ├── MiniZip64_info.txt
│ │ ├── configure.ac
│ │ ├── crypt.h
│ │ ├── ioapi.c
│ │ ├── ioapi.h
│ │ ├── iowin32.c
│ │ ├── iowin32.h
│ │ ├── make_vms.com
│ │ ├── miniunz.c
│ │ ├── miniunzip.1
│ │ ├── minizip.1
│ │ ├── minizip.c
│ │ ├── minizip.pc.in
│ │ ├── mztools.c
│ │ ├── mztools.h
│ │ ├── unzip.c
│ │ ├── unzip.h
│ │ ├── zip.c
│ │ └── zip.h
│ ├── pascal
│ │ ├── example.pas
│ │ ├── readme.txt
│ │ ├── zlibd32.mak
│ │ └── zlibpas.pas
│ ├── puff
│ │ ├── Makefile
│ │ ├── README
│ │ ├── puff.c
│ │ ├── puff.h
│ │ ├── pufftest.c
│ │ └── zeros.raw
│ ├── testzlib
│ │ ├── testzlib.c
│ │ └── testzlib.txt
│ ├── untgz
│ │ ├── Makefile
│ │ ├── Makefile.msc
│ │ └── untgz.c
│ └── vstudio
│ │ ├── readme.txt
│ │ ├── vc10
│ │ ├── miniunz.vcxproj
│ │ ├── miniunz.vcxproj.filters
│ │ ├── minizip.vcxproj
│ │ ├── minizip.vcxproj.filters
│ │ ├── testzlib.vcxproj
│ │ ├── testzlib.vcxproj.filters
│ │ ├── testzlibdll.vcxproj
│ │ ├── testzlibdll.vcxproj.filters
│ │ ├── zlib.rc
│ │ ├── zlibstat.vcxproj
│ │ ├── zlibstat.vcxproj.filters
│ │ ├── zlibvc.def
│ │ ├── zlibvc.sln
│ │ ├── zlibvc.vcxproj
│ │ └── zlibvc.vcxproj.filters
│ │ ├── vc11
│ │ ├── miniunz.vcxproj
│ │ ├── minizip.vcxproj
│ │ ├── testzlib.vcxproj
│ │ ├── testzlibdll.vcxproj
│ │ ├── zlib.rc
│ │ ├── zlibstat.vcxproj
│ │ ├── zlibvc.def
│ │ ├── zlibvc.sln
│ │ └── zlibvc.vcxproj
│ │ └── vc9
│ │ ├── miniunz.vcproj
│ │ ├── minizip.vcproj
│ │ ├── testzlib.vcproj
│ │ ├── testzlibdll.vcproj
│ │ ├── zlib.rc
│ │ ├── zlibstat.vcproj
│ │ ├── zlibvc.def
│ │ ├── zlibvc.sln
│ │ └── zlibvc.vcproj
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── doc
│ ├── algorithm.txt
│ ├── rfc1950.txt
│ ├── rfc1951.txt
│ ├── rfc1952.txt
│ └── txtvsbin.txt
│ ├── examples
│ ├── README.examples
│ ├── enough.c
│ ├── fitblk.c
│ ├── gun.c
│ ├── gzappend.c
│ ├── gzjoin.c
│ ├── gzlog.c
│ ├── gzlog.h
│ ├── zlib_how.html
│ ├── zpipe.c
│ └── zran.c
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── make_vms.com
│ ├── msdos
│ ├── Makefile.bor
│ ├── Makefile.dj2
│ ├── Makefile.emx
│ ├── Makefile.msc
│ └── Makefile.tc
│ ├── nintendods
│ ├── Makefile
│ └── README
│ ├── old
│ ├── Makefile.emx
│ ├── Makefile.riscos
│ ├── README
│ ├── descrip.mms
│ ├── os2
│ │ ├── Makefile.os2
│ │ └── zlib.def
│ └── visual-basic.txt
│ ├── qnx
│ └── package.qpg
│ ├── test
│ ├── example.c
│ ├── infcover.c
│ └── minigzip.c
│ ├── treebuild.xml
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── watcom
│ ├── watcom_f.mak
│ └── watcom_l.mak
│ ├── win32
│ ├── DLL_FAQ.txt
│ ├── Makefile.bor
│ ├── Makefile.gcc
│ ├── Makefile.msc
│ ├── README-WIN32.txt
│ ├── VisualC.txt
│ ├── zlib.def
│ └── zlib1.rc
│ ├── zconf.h
│ ├── zconf.h.cmakein
│ ├── zconf.h.in
│ ├── zlib.3
│ ├── zlib.3.pdf
│ ├── zlib.h
│ ├── zlib.map
│ ├── zlib.pc.cmakein
│ ├── zlib.pc.in
│ ├── zlib2ansi
│ ├── zutil.c
│ └── zutil.h
├── nginx-http2
├── Dockerfile
└── nginx.conf
├── nginx-rtmp
├── Dockerfile
└── conf
│ └── nginx.conf
├── nginx
├── Dockerfile
└── nginx.conf
├── pg
├── Dockerfile
├── README.md
└── start
├── powerdns
├── Dockerfile
├── pdns.local.conf
└── pdns.local.gmysql.conf
├── rails
├── 6
│ └── Dockerfile
├── 7
│ └── Dockerfile
├── 8
│ └── Dockerfile
└── README.md
├── redis
└── Dockerfile
├── renovate.json
├── rsyslog
├── Dockerfile
└── etc
│ └── rsyslog.conf
├── swarm
├── Dockerfile
├── ca-certificates.crt
└── swarm_linux_amd64
└── vault
├── Dockerfile
└── README.md
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Joshua Delsman
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Collection of my `Dockerfile` for many open-source projects. Please don't hesitate to [open an issue](https://github.com/voxxit/dockerfiles/issues/new) if you find any problems with them! Similarly, please feel free to offer contributions in form of improvements or suggestions via a [pull request](https://github.com/voxxit/dockerfiles/pull/new/master)!
2 |
3 | ## Star History
4 |
5 | [](https://www.star-history.com/#voxxit/dockerfiles&Date)
6 |
--------------------------------------------------------------------------------
/apt-mirror/.gitignore:
--------------------------------------------------------------------------------
1 | .env
2 | docker-compose.yml
3 | resources/nginx/sites-enabled/apt-mirror.conf
4 |
--------------------------------------------------------------------------------
/apt-mirror/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | RUN apk add --no-cache bash perl gettext wget ca-certificates unzip \
4 | && mkdir -p /usr/src \
5 | && cd /usr/src \
6 | && wget https://github.com/apt-mirror/apt-mirror/archive/master.zip \
7 | && unzip master.zip \
8 | && install -m 755 -D apt-mirror-master/apt-mirror /usr/local/bin/apt-mirror \
9 | && rm -rf apt-mirror* master.zip
10 |
11 | ENV BASE_PATH /var/spool/apt-mirror
12 | ENV MIRROR_PATH ${BASE_PATH}/mirror
13 | ENV SKEL_PATH ${BASE_PATH}/skel
14 | ENV VAR_PATH ${BASE_PATH}/var
15 | ENV POSTMIRROR_SCRIPT ${VAR_PATH}/post-mirror.sh
16 | ENV RUN_POSTMIRROR 1
17 | ENV NTHREADS 20
18 | ENV TILDE 0
19 | ENV UNLINK 1
20 | ENV USE_PROXY off
21 | ENV HTTP_PROXY 127.0.0.1:3126
22 | ENV PROXY_USER user
23 | ENV PROXY_PASSWORD password
24 |
25 | # Can be http or ftp
26 | ENV MIRROR_PROTO http
27 |
28 | # Choose a local mirror containing _both_ distros (see below)
29 | ENV MIRROR_HOST archive.ubuntu.com
30 |
31 | # Space-separated list of...
32 | ENV MIRROR_DISTROS "ubuntu"
33 | ENV MIRROR_FLAVORS "trusty"
34 | ENV MIRROR_BRANCHES "security updates proposed backports"
35 | ENV MIRROR_COMPONENTS "main restricted universe multiverse"
36 |
37 | ENV MIRROR_LIMIT_RATE 10m
38 |
39 | # How long to sleep for until the next mirror
40 | ENV SLEEP_SECS 3600
41 |
42 | VOLUME ["${BASE_PATH}"]
43 |
44 | COPY ./resources/apt/mirror.list.template /etc/apt/
45 | COPY ./resources/apt/post-mirror.sh ${VAR_PATH}/
46 | COPY ./resources/docker-entrypoint.sh /docker-entrypoint.sh
47 |
48 | ENTRYPOINT ["/docker-entrypoint.sh"]
49 |
--------------------------------------------------------------------------------
/apt-mirror/docker-compose.yml.example:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | mirror:
4 | build: .
5 | env_file: .env
6 | volumes:
7 | - ~/mirror:/var/spool/apt-mirror
8 | restart: always
9 |
10 | web:
11 | image: nginx:stable
12 | command: /bin/bash -c "envsubst < /etc/nginx/conf.d/apt-mirror.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
13 | volumes:
14 | - ~/mirror:/var/spool/apt-mirror
15 | - ./resources/nginx/sites-enabled/apt-mirror.conf:/etc/nginx/conf.d/apt-mirror.template
16 | ports:
17 | - "8080:80"
18 | links:
19 | - mirror
20 | depends_on:
21 | - mirror
22 | restart: always
23 | env_file: .env
24 |
--------------------------------------------------------------------------------
/apt-mirror/resources/apt/mirror.list.template:
--------------------------------------------------------------------------------
1 | set base_path ${BASE_PATH}
2 | set mirror_path ${MIRROR_PATH}
3 | set skel_path ${SKEL_PATH}
4 | set var_path ${VAR_PATH}
5 | set defaultarch ${DEFAULTARCH}
6 |
7 | # Post-mirror script - runs after mirroring; useful for rsync, etc.
8 | set postmirror_script ${POSTMIRROR_SCRIPT}
9 | set run_postmirror ${RUN_POSTMIRROR}
10 |
11 | # How many threads you want, and whether or not to run in the home directory
12 | set nthreads ${NTHREADS}
13 | set _tilde ${TILDE}
14 |
15 | # Use --unlink with wget (for use with hardlinked directories)
16 | set unlink ${UNLINK}
17 |
18 | set limit_rate ${MIRROR_LIMIT_RATE}
19 |
20 | # Proxy settings
21 | set use_proxy ${USE_PROXY}
22 | set http_proxy ${HTTP_PROXY}
23 | set proxy_user ${PROXY_USER}
24 | set proxy_password ${PROXY_PASSWORD}
25 |
--------------------------------------------------------------------------------
/apt-mirror/resources/apt/post-mirror.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 |
3 | ## Anything in this file gets run AFTER the mirror has been run...
4 | ##
5 | ## Put your custom post-mirror operations in here, e.g:
6 | ##
7 | ## - rsync'ing the installer files
8 | ## - running clean.sh automatically
9 |
10 | #rsync \
11 | # --recursive \
12 | # --times \
13 | # --links \
14 | # --hard-links \
15 | # --delete \
16 | # --delete-after \
17 | # rsync://...
18 | exec /var/spool/apt-mirror/var/clean.sh
19 |
--------------------------------------------------------------------------------
/apt-mirror/resources/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | list="/etc/apt/mirror.list"
4 |
5 | export DEFAULTARCH=${DEFAULTARCH:-amd64}
6 |
7 | envsubst < ${list}.template > ${list}
8 |
9 | # Environment variables; helps build the /etc/apt/mirrors.list sources for you...
10 | declare -a distros=(${MIRROR_DISTROS})
11 | declare -a flavors=(${MIRROR_FLAVORS})
12 | declare -a branches=(${MIRROR_BRANCHES})
13 |
14 | for distro in "${distros[@]}"; do
15 | for flavor in "${flavors[@]}"; do
16 | echo "deb ${MIRROR_PROTO}://${MIRROR_HOST}/${distro} ${flavor} ${MIRROR_COMPONENTS}" | tee -a ${list}
17 |
18 | if [ ! -z ${MIRROR_INCLUDE_SOURCE} ]; then
19 | echo "deb-src ${MIRROR_PROTO}://${MIRROR_HOST}/${distro} ${flavor} ${MIRROR_COMPONENTS}" | tee -a ${list}
20 | fi
21 |
22 | for branch in "${branches[@]}"; do
23 | echo "deb ${MIRROR_PROTO}://${MIRROR_HOST}/${distro} ${flavor}-${branch} ${MIRROR_COMPONENTS}" | tee -a ${list}
24 |
25 | if [ ! -z ${MIRROR_INCLUDE_SOURCE} ]; then
26 | echo "deb-src ${MIRROR_PROTO}://${MIRROR_HOST}/${distro} ${flavor}-${branch} ${MIRROR_COMPONENTS}" | tee -a ${list}
27 | fi
28 | done
29 | done
30 |
31 | echo "clean ${MIRROR_PROTO}://${MIRROR_HOST}/${distro}" | tee -a ${list}
32 | done
33 |
34 | while true; do
35 | /usr/local/bin/apt-mirror
36 | echo "Sleeping for ${SLEEP_SECS}..."
37 | sleep ${SLEEP_SECS}
38 | done
39 |
--------------------------------------------------------------------------------
/apt-mirror/resources/nginx/sites-enabled/apt-mirror.conf.example:
--------------------------------------------------------------------------------
1 | limit_req_zone $$binary_remote_addr zone=one:10m rate=1r/s;
2 |
3 | server {
4 | listen 80;
5 |
6 | autoindex on;
7 | gzip on;
8 |
9 | access_log ${NGINX_LOGDIR}/access.log;
10 | error_log ${NGINX_LOGDIR}/error.log;
11 |
12 | server_name_in_redirect off;
13 |
14 | root ${MIRROR_PATH}/${MIRROR_HOST}/;
15 |
16 | location /ubuntu/ {
17 | limit_req zone=one burst=5 nodelay;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/bind/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/bind/.gitignore
--------------------------------------------------------------------------------
/bind/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | RUN apk add --no-cache bind bind-doc bind-tools
4 |
5 | COPY etc/bind/ /etc/bind/
6 | COPY entrypoint.sh /sbin/entrypoint.sh
7 |
8 | EXPOSE 53/tcp 53/udp
9 |
10 | VOLUME ["/data"]
11 |
12 | ENTRYPOINT ["/sbin/entrypoint.sh"]
13 | CMD ["/usr/sbin/named", "-f", "-g"]
14 |
--------------------------------------------------------------------------------
/bind/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | BIND_USER=${BIND_USER:-named}
5 | BIND_DATA_DIR=${BIND_DATA_DIR:-/data}
6 |
7 | create_bind_data_dir() {
8 | mkdir -p ${BIND_DATA_DIR}
9 | chmod -R 0755 ${BIND_DATA_DIR}
10 | chown -R root:${BIND_USER} ${BIND_DATA_DIR}
11 |
12 | # populate default bind configuration if it does not exist
13 | if [ ! -d ${BIND_DATA_DIR}/etc ]; then
14 | mv /etc/bind ${BIND_DATA_DIR}/etc
15 | fi
16 |
17 | rm -rf /etc/bind
18 | ln -sf ${BIND_DATA_DIR}/etc /etc/bind
19 |
20 | if [ ! -d ${BIND_DATA_DIR}/lib ]; then
21 | mkdir -p ${BIND_DATA_DIR}/lib
22 | chown root:${BIND_USER} ${BIND_DATA_DIR}/lib
23 | fi
24 |
25 | rm -rf /var/lib/bind
26 | ln -sf ${BIND_DATA_DIR}/lib /var/lib/bind
27 | }
28 |
29 | create_pid_dir() {
30 | mkdir -p /var/run/named
31 | chown root:${BIND_USER} /var/run/named
32 | }
33 |
34 | create_bind_cache_dir() {
35 | mkdir -p /var/cache/bind
36 | chown root:${BIND_USER} /var/cache/bind
37 | }
38 |
39 | create_pid_dir
40 | create_bind_data_dir
41 | create_bind_cache_dir
42 |
43 | # allow arguments to be passed to named
44 | if [[ ${1:0:1} = '-' ]]; then
45 | EXTRA_ARGS="$@"
46 | set --
47 | elif [[ ${1} == named || ${1} == $(which named) ]]; then
48 | EXTRA_ARGS="${@:2}"
49 | set --
50 | fi
51 |
52 | # default behaviour is to launch named
53 | if [[ -z ${1} ]]; then
54 | echo "Starting named..."
55 | exec $(which named) -u ${BIND_USER} -f -g -4 ${EXTRA_ARGS}
56 | else
57 | exec "$@"
58 | fi
59 |
--------------------------------------------------------------------------------
/bind/etc/bind/db.0:
--------------------------------------------------------------------------------
1 | ;
2 | ; BIND reverse data file for broadcast zone
3 | ;
4 | $TTL 604800
5 | @ IN SOA localhost. root.localhost. (
6 | 1 ; Serial
7 | 604800 ; Refresh
8 | 86400 ; Retry
9 | 2419200 ; Expire
10 | 604800 ) ; Negative Cache TTL
11 | ;
12 | @ IN NS localhost.
13 |
--------------------------------------------------------------------------------
/bind/etc/bind/db.127:
--------------------------------------------------------------------------------
1 | ;
2 | ; BIND reverse data file for local loopback interface
3 | ;
4 | $TTL 604800
5 | @ IN SOA localhost. root.localhost. (
6 | 1 ; Serial
7 | 604800 ; Refresh
8 | 86400 ; Retry
9 | 2419200 ; Expire
10 | 604800 ) ; Negative Cache TTL
11 | ;
12 | @ IN NS localhost.
13 | 1.0.0 IN PTR localhost.
14 |
--------------------------------------------------------------------------------
/bind/etc/bind/db.255:
--------------------------------------------------------------------------------
1 | ;
2 | ; BIND reverse data file for broadcast zone
3 | ;
4 | $TTL 604800
5 | @ IN SOA localhost. root.localhost. (
6 | 1 ; Serial
7 | 604800 ; Refresh
8 | 86400 ; Retry
9 | 2419200 ; Expire
10 | 604800 ) ; Negative Cache TTL
11 | ;
12 | @ IN NS localhost.
13 |
--------------------------------------------------------------------------------
/bind/etc/bind/db.empty:
--------------------------------------------------------------------------------
1 | ; BIND reverse data file for empty rfc1918 zone
2 | ;
3 | ; DO NOT EDIT THIS FILE - it is used for multiple zones.
4 | ; Instead, copy it, edit named.conf, and use that copy.
5 | ;
6 | $TTL 86400
7 | @ IN SOA localhost. root.localhost. (
8 | 1 ; Serial
9 | 604800 ; Refresh
10 | 86400 ; Retry
11 | 2419200 ; Expire
12 | 86400 ) ; Negative Cache TTL
13 | ;
14 | @ IN NS localhost.
15 |
--------------------------------------------------------------------------------
/bind/etc/bind/db.local:
--------------------------------------------------------------------------------
1 | ;
2 | ; BIND data file for local loopback interface
3 | ;
4 | $TTL 604800
5 | @ IN SOA localhost. root.localhost. (
6 | 1 ; Serial
7 | 604800 ; Refresh
8 | 86400 ; Retry
9 | 2419200 ; Expire
10 | 604800 ) ; Negative Cache TTL
11 | ;
12 | @ IN NS localhost.
13 | @ IN A 127.0.0.1
14 | @ IN AAAA ::1
15 |
--------------------------------------------------------------------------------
/bind/etc/bind/named.conf:
--------------------------------------------------------------------------------
1 | // This is the primary configuration file for the BIND DNS server named.
2 | //
3 | // Please read /usr/share/doc/bind9/README.Debian.gz for information on the
4 | // structure of BIND configuration files in Debian, *BEFORE* you customize
5 | // this configuration file.
6 | //
7 | // If you are just adding zones, please do that in /etc/bind/named.conf.local
8 |
9 | include "/etc/bind/named.conf.options";
10 | include "/etc/bind/named.conf.local";
11 | include "/etc/bind/named.conf.default-zones";
12 |
--------------------------------------------------------------------------------
/bind/etc/bind/named.conf.default-zones:
--------------------------------------------------------------------------------
1 | // prime the server with knowledge of the root servers
2 | zone "." {
3 | type hint;
4 | file "/etc/bind/db.root";
5 | };
6 |
7 | // be authoritative for the localhost forward and reverse zones, and for
8 | // broadcast zones as per RFC 1912
9 |
10 | zone "localhost" {
11 | type master;
12 | file "/etc/bind/db.local";
13 | };
14 |
15 | zone "127.in-addr.arpa" {
16 | type master;
17 | file "/etc/bind/db.127";
18 | };
19 |
20 | zone "0.in-addr.arpa" {
21 | type master;
22 | file "/etc/bind/db.0";
23 | };
24 |
25 | zone "255.in-addr.arpa" {
26 | type master;
27 | file "/etc/bind/db.255";
28 | };
29 |
30 | // Consider adding the 1918 zones here, if they are not used in your organization
31 | include "/etc/bind/zones.rfc1918";
32 |
--------------------------------------------------------------------------------
/bind/etc/bind/named.conf.local:
--------------------------------------------------------------------------------
1 | //
2 | // Local DNS configuration
3 | //
4 |
--------------------------------------------------------------------------------
/bind/etc/bind/zones.rfc1918:
--------------------------------------------------------------------------------
1 | zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
2 |
3 | zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
4 | zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
5 | zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
6 | zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
7 | zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
8 | zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
9 | zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
10 | zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
11 | zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
12 | zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
13 | zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
14 | zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
15 | zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
16 | zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
17 | zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
18 | zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
19 |
20 | zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
21 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if [ -z "$1" ]; then
6 | echo "Usage: $0
"
7 | exit 1
8 | fi
9 |
10 | if ! command -v docker > /dev/null; then
11 | echo "Docker is not installed!"
12 | exit 1
13 | fi
14 |
15 | if ! docker buildx ls | grep -q buildkite-builder > /dev/null; then
16 | echo "Creating buildx builder ..."
17 |
18 | docker buildx create \
19 | --use \
20 | --name=buildkite-builder \
21 | --driver=docker-container
22 | fi
23 |
24 | cachedir="/tmp/.buildx-cache"
25 | context="$1"
26 | bname=$(basename "$context")
27 | image="voxxit/$bname:latest"
28 |
29 | echo
30 | echo "----------------------------------------"
31 | echo "🏗 $image"
32 | echo
33 |
34 | if ! docker buildx build \
35 | --pull \
36 | --progress=plain \
37 | --push \
38 | --tag "$image" \
39 | --cache-to type=local,dest="$cachedir" \
40 | --cache-from type=local,src="$cachedir" \
41 | "$context"
42 | then
43 | echo "🚨 $image failed to build! 🚨"
44 | exit 1
45 | fi
46 |
47 | echo
48 | echo "✅ $image built successfully! ✅"
49 | echo
50 |
--------------------------------------------------------------------------------
/consul/.gitignore:
--------------------------------------------------------------------------------
1 | docker-compose.yml
2 |
--------------------------------------------------------------------------------
/consul/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:edge
2 |
3 | ENV CONSUL_VERSION 0.6.4
4 |
5 | RUN apk add --no-cache wget ca-certificates \
6 | && wget https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip \
7 | && unzip consul_${CONSUL_VERSION}_linux_amd64.zip \
8 | && mv consul /bin/ \
9 | && rm -rf consul_${CONSUL_VERSION}_linux_amd64.zip \
10 | && cd /tmp \
11 | && wget -O ui.zip https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_web_ui.zip \
12 | && unzip ui.zip \
13 | && mkdir -p /ui \
14 | && mv * /ui \
15 | && rm -rf /ui/ui.zip /tmp/*
16 |
17 | EXPOSE 8300 8301 8301/udp 8302 8302/udp 8400 8500 8600 8600/udp
18 |
19 | VOLUME [ "/data" ]
20 |
21 | ENTRYPOINT [ "/bin/consul" ]
22 |
23 | CMD [ "agent", "-data-dir", "/data" ]
24 |
--------------------------------------------------------------------------------
/consul/docker-compose.yml.example:
--------------------------------------------------------------------------------
1 | consul1:
2 | image: "voxxit/consul:latest"
3 | container_name: "consul1"
4 | hostname: "consul1"
5 | ports:
6 | - "8400:8400"
7 | - "8500:8500"
8 | - "53:53"
9 | command: "agent -data-dir /data -server -bootstrap-expect 3 -ui-dir /ui -client=0.0.0.0"
10 |
11 | consul2:
12 | image: "voxxit/consul:latest"
13 | container_name: "consul2"
14 | hostname: "consul2"
15 | ports:
16 | - "8400"
17 | - "8500"
18 | - "8600"
19 | links:
20 | - "consul1:consul1"
21 | command: "agent -server -join consul1"
22 |
23 | consul3:
24 | image: "voxxit/consul:latest"
25 | container_name: "consul3"
26 | hostname: "consul3"
27 | ports:
28 | - "8400"
29 | - "8500"
30 | - "8600"
31 | links:
32 | - "consul1:consul1"
33 | command: "agent -server -join consul1"
34 |
--------------------------------------------------------------------------------
/goaccess/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | RUN apk add --no-cache goaccess
4 |
5 | ENTRYPOINT [ "goaccess" ]
6 |
--------------------------------------------------------------------------------
/grunt/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | RUN apk add --no-cache nodejs nodejs-dev npm git \
6 | && npm install -g npm@latest \
7 | && npm install -g grunt-cli bower
8 |
9 | CMD [ "bash" ]
10 |
--------------------------------------------------------------------------------
/grunt/runtime/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM voxxit/grunt:latest
2 |
3 | WORKDIR /app
4 |
5 | ONBUILD COPY package.json /app/
6 | ONBUILD RUN npm install
7 | ONBUILD COPY bower.json /app/
8 | ONBUILD RUN bower install --allow-root
9 | ONBUILD COPY . /app
10 |
11 | CMD [ "grunt" ]
12 |
--------------------------------------------------------------------------------
/haproxy/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | RUN apk add --no-cache haproxy
6 |
7 | EXPOSE 80/tcp 443/tcp
8 |
9 | VOLUME [ "/etc/haproxy", "/var/lib/haproxy" ]
10 |
11 | ENTRYPOINT [ "haproxy" ]
12 | CMD [ "-f", "/etc/haproxy/haproxy.cfg" ]
13 |
--------------------------------------------------------------------------------
/haproxy/haproxy.ctmpl:
--------------------------------------------------------------------------------
1 | global
2 | log {{key "service/haproxy/log"}} local2
3 | log-send-hostname
4 | pidfile /var/run/haproxy.pid
5 | maxconn {{key "service/haproxy/maxconn"}}
6 | user haproxy
7 | group haproxy
8 |
9 | defaults
10 | mode {{key "service/haproxy/mode"}}
11 | log global{{range ls "service/haproxy/options"}}
12 | option {{.Key}} {{.Value}}{{end}}
13 | retries {{key "service/haproxy/retries"}}{{range ls "service/haproxy/timeouts"}}
14 | timeout {{.Key}} {{.Value}}{{end}}
15 | maxconn {{key "service/haproxy/maxconn"}}
16 |
17 | listen stats *:8000
18 | stats uri /stats
19 | stats refresh {{key "service/haproxy/stats/refresh"}}
20 | stats realm HAProxy\ Global\ Stats
21 | stats auth {{key "service/haproxy/stats/username"}}:{{key "service/haproxy/stats/password"}}
22 |
23 | frontend web
24 | bind *:80
25 |
26 | acl is_consul hdr(host) -i consul.srv.im
27 | use_backend consul if is_consul
28 |
29 | backend consul
30 | balance roundrobin{{range service "consul"}}
31 | server {{.Node}} {{.Address}}:8500{{end}}
32 |
--------------------------------------------------------------------------------
/icecast/.gitignore:
--------------------------------------------------------------------------------
1 | docker-compose.yml
2 |
--------------------------------------------------------------------------------
/icecast/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | ENV ICECAST_VERSION 2.5-beta3
4 |
5 | RUN apk add --no-cache tar build-base pwgen libxslt-dev libvorbis-dev curl-dev libressl-dev libtheora-dev speex-dev opus-dev \
6 | && cd /tmp \
7 | && wget http://downloads.xiph.org/releases/icecast/icecast-${ICECAST_VERSION}.tar.gz -O- | tar -zx --strip-components=1 \
8 | && ./configure --prefix=/usr \
9 | && make -j$(getconf _NPROCESSORS_ONLN) \
10 | && make install \
11 | && rm -rf /tmp/* \
12 | && apk del --purge build-base
13 |
14 | EXPOSE 80/tcp
15 |
16 | RUN addgroup -g 1000 icecast \
17 | && adduser -s /bin/false -G icecast -D -H -u 1000 icecast \
18 | && install -d -o icecast -g icecast /var/log/icecast \
19 | && install -d -o icecast -g icecast /etc/icecast \
20 | && chown -R icecast:icecast /usr/share/icecast
21 |
22 | COPY etc/mime.types /etc/
23 |
24 | USER icecast:icecast
25 |
26 | COPY etc/icecast.xml /etc/icecast/
27 | COPY docker-entrypoint.sh /
28 |
29 | CMD [ "/docker-entrypoint.sh" ]
30 |
--------------------------------------------------------------------------------
/icecast/README.md:
--------------------------------------------------------------------------------
1 | ```
2 | docker pull voxxit/icecast:latest
3 | docker run -d -p 80:80 -v :/etc/icecast.xml:ro \
4 | --restart always --name icecast voxxit/icecast:latest
5 | ```
6 |
--------------------------------------------------------------------------------
/icecast/docker-entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | SOURCE_PASSWORD=${SOURCE_PASSWORD-`pwgen -1 20`}
4 | RELAY_PASSWORD=${RELAY_PASSWORD-`pwgen -1 20`}
5 | ADMIN_PASSWORD=${ADMIN_PASSWORD-`pwgen -1 20`}
6 |
7 | sed -i "s/HOSTNAME/${HOSTNAME}/g" /etc/icecast/icecast.xml
8 | sed -i "s/SOURCE_PASSWORD/${SOURCE_PASSWORD}/g" /etc/icecast/icecast.xml
9 | sed -i "s/RELAY_PASSWORD/${RELAY_PASSWORD}/g" /etc/icecast/icecast.xml
10 | sed -i "s/ADMIN_PASSWORD/${ADMIN_PASSWORD}/g" /etc/icecast/icecast.xml
11 |
12 | echo
13 | icecast -v
14 | echo
15 | echo "Source Login: source / ${SOURCE_PASSWORD}"
16 | echo "Relay Login: relay / ${RELAY_PASSWORD}"
17 | echo "Admin Login: admin / ${ADMIN_PASSWORD}"
18 | echo
19 |
20 | exec icecast -c /etc/icecast/icecast.xml
21 |
--------------------------------------------------------------------------------
/jq/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | RUN apk add --no-cache build-base git automake autoconf flex bison libtool oniguruma-dev \
4 | && git clone https://github.com/stedolan/jq.git /usr/local/src/jq \
5 | && cd /usr/local/src/jq \
6 | && autoreconf -i \
7 | && ./configure \
8 | && make -j$(getconf _NPROCESSORS_ONLN) \
9 | && make install \
10 | && apk del build-base git automake autoconf flex bison libtool oniguruma-dev \
11 | && rm -rf /usr/local/src/*
12 |
13 | CMD [ "jq" ]
14 |
--------------------------------------------------------------------------------
/liquidsoap/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:noble
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | ENV LIQUIDSOAP_VERSION="2.2.0"
6 |
7 | COPY install.sh /tmp/install.sh
8 |
9 | RUN chmod +x /tmp/install.sh \
10 | && /tmp/install.sh "${LIQUIDSOAP_VERSION}" \
11 | && rm /tmp/install.sh
12 |
13 | ENV LOG_NAME "stream.log"
14 | ENV PLAYLIST_DIR "/media"
15 | ENV LIVE_ENDPOINT "/live"
16 | ENV LIVE_PORT 10000
17 | ENV LIVE_PASSWORD "hackme"
18 |
19 | ENV STREAM_URL "http://example.com"
20 | ENV STREAM_GENRE "Various"
21 | ENV STREAM_NAME "Example Radio"
22 |
23 | ENV ICECAST_HOSTNAME "stream.example.com"
24 | ENV ICECAST_PORT 8000
25 | ENV ICECAST_PASS "hackme"
26 |
27 | VOLUME [ "/media", "/var/log/liquidsoap" ]
28 |
29 | EXPOSE 10000/tcp
30 |
31 | COPY --chown=1001:1001 start-liquidsoap.sh /usr/bin/start-liquidsoap.sh
32 | USER 1001:1001
33 |
34 | ENTRYPOINT [ "/usr/bin/start-liquidsoap.sh" ]
35 |
--------------------------------------------------------------------------------
/liquidsoap/start-liquidsoap.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | exec liquidsoap - <<-LIQ
4 | set("init.daemon", false)
5 | set("log.stdout", true)
6 | set("log.file", false)
7 | set("log.file.path","/var/log/liquidsoap/${LOG_NAME}")
8 | set("harbor.bind_addr", "0.0.0.0")
9 |
10 | live = input.harbor("$LIVE_ENDPOINT", port=$LIVE_PORT, password="$LIVE_PASSWORD")
11 | files = playlist.safe("$PLAYLIST_DIR", reload=300, reload_mode="seconds")
12 | radio = fallback(track_sensitive=false, [ live, files ])
13 |
14 | output.icecast(
15 | %mp3.cbr(bitrate=128, samplerate=48000, stereo=true),
16 | mount="/stream.mp3",
17 | name="${STREAM_NAME} [MP3]",
18 | url="${STREAM_URL}",
19 | genre="${STREAM_GENRE}",
20 | host="${ICECAST_HOSTNAME}",
21 | port=${ICECAST_PORT},
22 | password="${ICECAST_PASS}",
23 | radio
24 | )
25 |
26 | output.icecast(
27 | %vorbis.cbr(bitrate=96, samplerate=48000, channels=2),
28 | mount="/stream.ogg",
29 | name="${STREAM_NAME} [OGG]",
30 | url="${STREAM_URL}",
31 | genre="${STREAM_GENRE}",
32 | host="${ICECAST_HOSTNAME}",
33 | port=${ICECAST_PORT},
34 | password="${ICECAST_PASS}",
35 | radio
36 | )
37 |
38 | output.icecast(
39 | %opus(bitrate=64, samplerate=48000, channels=2),
40 | mount="/stream.opus",
41 | name="${STREAM_NAME} [Opus]",
42 | url="${STREAM_URL}",
43 | genre="${STREAM_GENRE}",
44 | host="${ICECAST_HOSTNAME}",
45 | port=${ICECAST_PORT},
46 | password="${ICECAST_PASS}",
47 | radio
48 | )
49 | LIQ
50 |
--------------------------------------------------------------------------------
/memcached/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM phusion/baseimage:jammy-1.0.1
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | ENV HOME /root
6 |
7 | COPY start /start
8 |
9 | RUN apt-get update && \
10 | apt-get install -y memcached sasl2-bin pwgen && \
11 | apt-get autoremove --purge && \
12 | apt-get clean && \
13 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/postgresql/* && \
14 | chmod +x /start
15 |
16 | EXPOSE 11211
17 |
18 | CMD ["/start"]
19 |
--------------------------------------------------------------------------------
/memcached/README.md:
--------------------------------------------------------------------------------
1 | # quay.io/voxxit/memcached
2 |
3 | Docker image for [memcached 1.4.20](http://memcached.org), compiled from source with the latest security patches on Alpine Linux 3.0. This build also requires authenticated memcached calls using SASL.
4 |
5 | ### Getting Started
6 |
7 | To use this container on its own:
8 |
9 | ```shell
10 | $ docker run -d -p 11211:11211 --name memcached quay.io/voxxit/memcached
11 | ```
12 |
13 | ### Username & Password
14 |
15 | If you run the instance in the foreground (without `-d` or `--detach`) you'll be provided immediately with a username and password to connect using:
16 |
17 | ```shell
18 | $ docker run --rm -it -p 11211:11211 quay.io/voxxit/memcached
19 | USERNAME=admin
20 | PASSWORD=zf9bLafMTKmVedNHVYgR
21 | ```
22 |
23 | You can also get this using `docker logs ` for detached instances.
24 |
25 | Want to use your own username and/or password?
26 |
27 | ```shell
28 | $ docker run -d -e USERNAME=voxxit PASSWORD=sos3cur3 quay.io/voxxit/memcached
29 | ```
30 |
31 | ### Configuration
32 |
33 | [All of memcached's options](https://code.google.com/p/memcached/wiki/NewConfiguringServer) are available to add on to the ENTRYPOINT:
34 |
35 | ```shell
36 | $ docker run -d -e USERNAME=voxxit PASSWORD=sos3cur3 quay.io/voxxit/memcached -m 512
37 | ```
38 |
39 | ### Custom ENTRYPOINT
40 |
41 | Don't care about security and want to disable SASL? Want to use your own ENTRYPOINT, period? No problem!
42 |
43 | ```shell
44 | docker run -it --entrypoint="sh" quay.io/voxxit/memcached
45 | ```
46 |
--------------------------------------------------------------------------------
/memcached/start:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sasldblistusers2 /etc/sasldb2 | grep "admin"
4 |
5 | if [ $? -ne 0 ]; then
6 | PASSWORD=${PASSWORD:-`pwgen -s 20 1`}
7 |
8 | echo ${PASSWORD} | saslpasswd2 -a memcached -c admin
9 |
10 | echo "USERNAME=admin"
11 | echo "PASSWORD=${PASSWORD}"
12 | fi
13 |
14 | exec memcached -S -u nobody -l 0.0.0.0 $@
15 |
--------------------------------------------------------------------------------
/nginx-geoip2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:noble
2 |
3 | COPY . /
4 |
5 | RUN export DEBIAN_FRONTEND=noninteractive \
6 | && apt-get update \
7 | && apt-get -y install build-essential libpcre3-dev software-properties-common \
8 | && add-apt-repository ppa:maxmind/ppa \
9 | && apt-get update \
10 | && apt-get -y install libmaxminddb0 libmaxminddb-dev mmdb-bin \
11 | && cd zlib-1.2.8 \
12 | && ./configure \
13 | && make -j$(getconf _NPROCESSORS_ONLN) \
14 | && make install \
15 | && cd ../nginx-1.15.12 \
16 | && ./configure --add-module=/ngx_http_geoip2_module-1.0 \
17 | && make -j$(getconf _NPROCESSORS_ONLN) \
18 | && make install \
19 | && apt-get -y remove --purge build-essential \
20 | && apt-get -y autoremove --purge \
21 | && rm -rf /var/lib/apt/lists/* /nginx-1.15.12 /ngx_http_geoip2_module-1.0 /zlib-1.2.8
22 |
23 | RUN echo "\ndaemon off;" >> /usr/local/nginx/conf/nginx.conf
24 |
25 | WORKDIR /usr/local/nginx
26 | EXPOSE 80/tcp 443/tcp
27 |
28 | CMD [ "/usr/local/nginx/sbin/nginx" ]
29 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/LICENSE:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2002-2019 Igor Sysoev
3 | * Copyright (C) 2011-2019 Nginx, Inc.
4 | * All rights reserved.
5 | *
6 | * Redistribution and use in source and binary forms, with or without
7 | * modification, are permitted provided that the following conditions
8 | * are met:
9 | * 1. Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | * 2. Redistributions in binary form must reproduce the above copyright
12 | * notice, this list of conditions and the following disclaimer in the
13 | * documentation and/or other materials provided with the distribution.
14 | *
15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 | * SUCH DAMAGE.
26 | */
27 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/README:
--------------------------------------------------------------------------------
1 |
2 | Documentation is available at http://nginx.org
3 |
4 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/cc/acc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | # aCC: HP ANSI C++ B3910B A.03.55.02
7 |
8 | # C89 mode
9 |
10 | CFLAGS="$CFLAGS -Ae"
11 | CC_TEST_FLAGS="-Ae"
12 |
13 | PCRE_OPT="$PCRE_OPT -Ae"
14 | ZLIB_OPT="$ZLIB_OPT -Ae"
15 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/cc/bcc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | # Borland C++ 5.5
7 |
8 | # optimizations
9 |
10 | # maximize speed
11 | CFLAGS="$CFLAGS -O2"
12 |
13 | case $CPU in
14 | pentium)
15 | # optimize for Pentium and Athlon
16 | CPU_OPT="-5"
17 | ;;
18 |
19 | pentiumpro)
20 | # optimize for Pentium Pro, Pentium II and Pentium III
21 | CPU_OPT="-6"
22 | ;;
23 | esac
24 |
25 | # __stdcall
26 | #CPU_OPT="$CPU_OPT -ps"
27 | # __fastcall
28 | #CPU_OPT="$CPU_OPT -pr"
29 |
30 | CFLAGS="$CFLAGS $CPU_OPT"
31 |
32 | # multithreaded
33 | CFLAGS="$CFLAGS -tWM"
34 |
35 | # stop on warning
36 | CFLAGS="$CFLAGS -w!"
37 |
38 | # disable logo
39 | CFLAGS="$CFLAGS -q"
40 |
41 |
42 | # precompiled headers
43 | CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.csm"
44 | NGX_PCH="$NGX_OBJS/ngx_config.csm"
45 | NGX_BUILD_PCH="-H=$NGX_OBJS/ngx_config.csm"
46 | NGX_USE_PCH="-Hu -H=$NGX_OBJS/ngx_config.csm"
47 |
48 |
49 | # Win32 GUI mode application
50 | #LINK="\$(CC) -laa"
51 |
52 |
53 | # the resource file
54 | NGX_RES="$NGX_OBJS/nginx.res"
55 | NGX_RCC="brcc32 -fo$NGX_OBJS/nginx.res \$(CORE_INCS) $NGX_WIN32_RC"
56 | # the pragma allows to link the resource file using bcc32 and
57 | # to avoid the direct ilink32 calling and the c0w32.obj's WinMain/main problem
58 | NGX_PRAGMA="#pragma resource \"$NGX_OBJS/nginx.res\""
59 |
60 |
61 | ngx_include_opt="-I"
62 | ngx_objout="-o"
63 | ngx_binout="-e"
64 | ngx_objext="obj"
65 |
66 | ngx_long_start='@&&|
67 | '
68 | ngx_long_end='|'
69 |
70 | ngx_regex_dirsep='\\'
71 | ngx_dirsep="\\"
72 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/cc/ccc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | # Compaq C V6.5-207
7 |
8 | ngx_include_opt="-I"
9 |
10 | # warnings
11 |
12 | CFLAGS="$CFLAGS -msg_enable level6 -msg_fatal level6"
13 |
14 | CFLAGS="$CFLAGS -msg_disable unknownmacro"
15 | CFLAGS="$CFLAGS -msg_disable unusedincl"
16 | CFLAGS="$CFLAGS -msg_disable unnecincl"
17 | CFLAGS="$CFLAGS -msg_disable nestincl"
18 | CFLAGS="$CFLAGS -msg_disable strctpadding"
19 | CFLAGS="$CFLAGS -msg_disable ansialiascast"
20 | CFLAGS="$CFLAGS -msg_disable inlinestoclsmod"
21 | CFLAGS="$CFLAGS -msg_disable cxxkeyword"
22 | CFLAGS="$CFLAGS -msg_disable longlongsufx"
23 | CFLAGS="$CFLAGS -msg_disable valuepres"
24 |
25 | # STUB
26 | CFLAGS="$CFLAGS -msg_disable truncintcast"
27 | CFLAGS="$CFLAGS -msg_disable trunclongcast"
28 |
29 | CFLAGS="$CFLAGS -msg_disable truncintasn"
30 | CFLAGS="$CFLAGS -msg_disable trunclongint"
31 | CFLAGS="$CFLAGS -msg_disable intconcastsgn"
32 | CFLAGS="$CFLAGS -msg_disable intconstsign"
33 | CFLAGS="$CFLAGS -msg_disable switchlong"
34 | CFLAGS="$CFLAGS -msg_disable subscrbounds2"
35 |
36 | CFLAGS="$CFLAGS -msg_disable hexoctunsign"
37 |
38 | CFLAGS="$CFLAGS -msg_disable ignorecallval"
39 | CFLAGS="$CFLAGS -msg_disable nonstandcast"
40 | CFLAGS="$CFLAGS -msg_disable embedcomment"
41 | CFLAGS="$CFLAGS -msg_disable unreachcode"
42 | CFLAGS="$CFLAGS -msg_disable questcompare2"
43 | CFLAGS="$CFLAGS -msg_disable unusedtop"
44 | CFLAGS="$CFLAGS -msg_disable unrefdecl"
45 |
46 | CFLAGS="$CFLAGS -msg_disable bitnotint"
47 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/define:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_AUTO_CONFIG_H
7 |
8 | #ifndef $have
9 | #define $have $value
10 | #endif
11 |
12 | END
13 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/endianness:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | echo $ngx_n "checking for system byte ordering ...$ngx_c"
7 |
8 | cat << END >> $NGX_AUTOCONF_ERR
9 |
10 | ----------------------------------------
11 | checking for system byte ordering
12 |
13 | END
14 |
15 |
16 | cat << END > $NGX_AUTOTEST.c
17 |
18 | int main(void) {
19 | int i = 0x11223344;
20 | char *p;
21 |
22 | p = (char *) &i;
23 | if (*p == 0x44) return 0;
24 | return 1;
25 | }
26 |
27 | END
28 |
29 | ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
30 | -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
31 |
32 | eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
33 |
34 | if [ -x $NGX_AUTOTEST ]; then
35 | if $NGX_AUTOTEST >/dev/null 2>&1; then
36 | echo " little endian"
37 | have=NGX_HAVE_LITTLE_ENDIAN . auto/have
38 | else
39 | echo " big endian"
40 | fi
41 |
42 | rm -rf $NGX_AUTOTEST*
43 |
44 | else
45 | rm -rf $NGX_AUTOTEST*
46 |
47 | echo
48 | echo "$0: error: cannot detect system byte ordering"
49 | exit 1
50 | fi
51 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/have:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_AUTO_CONFIG_H
7 |
8 | #ifndef $have
9 | #define $have 1
10 | #endif
11 |
12 | END
13 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/have_headers:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_AUTO_HEADERS_H
7 |
8 | #ifndef $have
9 | #define $have 1
10 | #endif
11 |
12 | END
13 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/headers:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | ngx_include="unistd.h"; . auto/include
7 | ngx_include="inttypes.h"; . auto/include
8 | ngx_include="limits.h"; . auto/include
9 | ngx_include="sys/filio.h"; . auto/include
10 | ngx_include="sys/param.h"; . auto/include
11 | ngx_include="sys/mount.h"; . auto/include
12 | ngx_include="sys/statvfs.h"; . auto/include
13 | ngx_include="crypt.h"; . auto/include
14 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/include:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | echo $ngx_n "checking for $ngx_include ...$ngx_c"
7 |
8 | cat << END >> $NGX_AUTOCONF_ERR
9 |
10 | ----------------------------------------
11 | checking for $ngx_include
12 |
13 | END
14 |
15 |
16 | ngx_found=no
17 |
18 | cat << END > $NGX_AUTOTEST.c
19 |
20 | $NGX_INCLUDE_SYS_PARAM_H
21 | #include <$ngx_include>
22 |
23 | int main(void) {
24 | return 0;
25 | }
26 |
27 | END
28 |
29 |
30 | ngx_test="$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c"
31 |
32 | eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
33 |
34 | if [ -x $NGX_AUTOTEST ]; then
35 |
36 | ngx_found=yes
37 |
38 | echo " found"
39 |
40 | ngx_name=`echo $ngx_include \
41 | | tr abcdefghijklmnopqrstuvwxyz/. ABCDEFGHIJKLMNOPQRSTUVWXYZ__`
42 |
43 |
44 | have=NGX_HAVE_$ngx_name . auto/have_headers
45 |
46 | eval "NGX_INCLUDE_$ngx_name='#include <$ngx_include>'"
47 |
48 | else
49 | echo " not found"
50 |
51 | echo "----------" >> $NGX_AUTOCONF_ERR
52 | cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
53 | echo "----------" >> $NGX_AUTOCONF_ERR
54 | echo $ngx_test >> $NGX_AUTOCONF_ERR
55 | echo "----------" >> $NGX_AUTOCONF_ERR
56 | fi
57 |
58 | rm -rf $NGX_AUTOTEST*
59 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/init:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | NGX_MAKEFILE=$NGX_OBJS/Makefile
7 | NGX_MODULES_C=$NGX_OBJS/ngx_modules.c
8 |
9 | NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.h
10 | NGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h
11 |
12 | NGX_AUTOTEST=$NGX_OBJS/autotest
13 | NGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err
14 |
15 | # STUBs
16 | NGX_ERR=$NGX_OBJS/autoconf.err
17 | MAKEFILE=$NGX_OBJS/Makefile
18 |
19 |
20 | NGX_PCH=
21 | NGX_USE_PCH=
22 |
23 |
24 | # check the echo's "-n" option and "\c" capability
25 |
26 | if echo "test\c" | grep c >/dev/null; then
27 |
28 | if echo -n test | grep n >/dev/null; then
29 | ngx_n=
30 | ngx_c=
31 |
32 | else
33 | ngx_n=-n
34 | ngx_c=
35 | fi
36 |
37 | else
38 | ngx_n=
39 | ngx_c='\c'
40 | fi
41 |
42 |
43 | # create Makefile
44 |
45 | cat << END > Makefile
46 |
47 | default: build
48 |
49 | clean:
50 | rm -rf Makefile $NGX_OBJS
51 | END
52 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/conf:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | if [ $USE_PCRE = YES -o $PCRE != NONE ]; then
7 | . auto/lib/pcre/conf
8 |
9 | else
10 | if [ $USE_PCRE = DISABLED -a $HTTP = YES -a $HTTP_REWRITE = YES ]; then
11 |
12 | cat << END
13 |
14 | $0: error: the HTTP rewrite module requires the PCRE library.
15 | You can either disable the module by using --without-http_rewrite_module
16 | option or you have to enable the PCRE support.
17 |
18 | END
19 | exit 1
20 | fi
21 | fi
22 |
23 |
24 | if [ $USE_OPENSSL = YES ]; then
25 | . auto/lib/openssl/conf
26 | fi
27 |
28 | if [ $USE_ZLIB = YES ]; then
29 | . auto/lib/zlib/conf
30 | fi
31 |
32 | if [ $USE_LIBXSLT != NO ]; then
33 | . auto/lib/libxslt/conf
34 | fi
35 |
36 | if [ $USE_LIBGD != NO ]; then
37 | . auto/lib/libgd/conf
38 | fi
39 |
40 | if [ $USE_PERL != NO ]; then
41 | . auto/lib/perl/conf
42 | fi
43 |
44 | if [ $USE_GEOIP != NO ]; then
45 | . auto/lib/geoip/conf
46 | fi
47 |
48 | if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
49 | . auto/lib/google-perftools/conf
50 | fi
51 |
52 | if [ $NGX_LIBATOMIC != NO ]; then
53 | . auto/lib/libatomic/conf
54 | fi
55 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/google-perftools/conf:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | ngx_feature="Google perftools"
7 | ngx_feature_name=
8 | ngx_feature_run=no
9 | ngx_feature_incs=
10 | ngx_feature_path=
11 | ngx_feature_libs="-lprofiler"
12 | ngx_feature_test="void ProfilerStop(void);
13 | ProfilerStop()"
14 | . auto/feature
15 |
16 |
17 | if [ $ngx_found = no ]; then
18 |
19 | # FreeBSD port
20 |
21 | ngx_feature="Google perftools in /usr/local/"
22 |
23 | if [ $NGX_RPATH = YES ]; then
24 | ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lprofiler"
25 | else
26 | ngx_feature_libs="-L/usr/local/lib -lprofiler"
27 | fi
28 |
29 | . auto/feature
30 | fi
31 |
32 |
33 | if [ $ngx_found = no ]; then
34 |
35 | # MacPorts
36 |
37 | ngx_feature="Google perftools in /opt/local/"
38 |
39 | if [ $NGX_RPATH = YES ]; then
40 | ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lprofiler"
41 | else
42 | ngx_feature_libs="-L/opt/local/lib -lprofiler"
43 | fi
44 |
45 | . auto/feature
46 | fi
47 |
48 |
49 | if [ $ngx_found = yes ]; then
50 | CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
51 |
52 | else
53 |
54 | cat << END
55 |
56 | $0: error: the Google perftools module requires the Google perftools
57 | library. You can either do not enable the module or install the library.
58 |
59 | END
60 |
61 | exit 1
62 | fi
63 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/libatomic/conf:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | if [ $NGX_LIBATOMIC != YES ]; then
7 |
8 | have=NGX_HAVE_LIBATOMIC . auto/have
9 | CORE_INCS="$CORE_INCS $NGX_LIBATOMIC/src"
10 | LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/src/libatomic_ops.a"
11 | CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/src/libatomic_ops.a"
12 |
13 | else
14 |
15 | ngx_feature="atomic_ops library"
16 | ngx_feature_name=NGX_HAVE_LIBATOMIC
17 | ngx_feature_run=yes
18 | ngx_feature_incs="#define AO_REQUIRE_CAS
19 | #include "
20 | ngx_feature_path=
21 | ngx_feature_libs="-latomic_ops"
22 | ngx_feature_test="long n = 0;
23 | if (!AO_compare_and_swap(&n, 0, 1))
24 | return 1;
25 | if (AO_fetch_and_add(&n, 1) != 1)
26 | return 1;
27 | if (n != 2)
28 | return 1;
29 | AO_nop();"
30 | . auto/feature
31 |
32 | if [ $ngx_found = yes ]; then
33 | CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
34 | else
35 |
36 | cat << END
37 |
38 | $0: error: libatomic_ops library was not found.
39 |
40 | END
41 | exit 1
42 | fi
43 | fi
44 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/libatomic/make:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_MAKEFILE
7 |
8 | $NGX_LIBATOMIC/src/libatomic_ops.a: $NGX_LIBATOMIC/Makefile
9 | cd $NGX_LIBATOMIC && \$(MAKE)
10 |
11 | $NGX_LIBATOMIC/Makefile: $NGX_MAKEFILE
12 | cd $NGX_LIBATOMIC \\
13 | && if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
14 | && ./configure
15 |
16 | END
17 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/make:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | if [ $PCRE != NONE -a $PCRE != NO -a $PCRE != YES ]; then
7 | . auto/lib/pcre/make
8 | fi
9 |
10 | if [ $OPENSSL != NONE -a $OPENSSL != NO -a $OPENSSL != YES ]; then
11 | . auto/lib/openssl/make
12 | fi
13 |
14 | if [ $ZLIB != NONE -a $ZLIB != NO -a $ZLIB != YES ]; then
15 | . auto/lib/zlib/make
16 | fi
17 |
18 | if [ $NGX_LIBATOMIC != NO -a $NGX_LIBATOMIC != YES ]; then
19 | . auto/lib/libatomic/make
20 | fi
21 |
22 | if [ $USE_PERL != NO ]; then
23 | . auto/lib/perl/make
24 | fi
25 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/openssl/make:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | case "$CC" in
7 |
8 | cl)
9 |
10 | cat << END >> $NGX_MAKEFILE
11 |
12 | $OPENSSL/openssl/include/openssl/ssl.h: $NGX_MAKEFILE
13 | \$(MAKE) -f auto/lib/openssl/makefile.msvc \
14 | OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT"
15 |
16 | END
17 |
18 | ;;
19 |
20 | bcc32)
21 |
22 | ngx_opt=`echo "-DOPENSSL=\"$OPENSSL\" -DOPENSSL_OPT=\"$OPENSSL_OPT\"" \
23 | | sed -e "s/\//$ngx_regex_dirsep/g"`
24 |
25 | cat << END >> $NGX_MAKEFILE
26 |
27 | `echo "$OPENSSL\\openssl\\lib\\libeay32.lib: \
28 | $OPENSSL\\openssl\\include\\openssl\\ssl.h" \
29 | | sed -e "s/\//$ngx_regex_dirsep/g"`
30 |
31 | `echo "$OPENSSL\\openssl\\lib\\ssleay32.lib: \
32 | $OPENSSL\\openssl\\include\\openssl\\ssl.h" \
33 | | sed -e "s/\//$ngx_regex_dirsep/g"`
34 |
35 | `echo "$OPENSSL\\openssl\\include\\openssl\\ssl.h: $NGX_MAKEFILE" \
36 | | sed -e "s/\//$ngx_regex_dirsep/g"`
37 | \$(MAKE) -f auto/lib/openssl/makefile.bcc $ngx_opt
38 |
39 | END
40 |
41 | ;;
42 |
43 | *)
44 | case $OPENSSL in
45 | /*) ngx_prefix="$OPENSSL/.openssl" ;;
46 | *) ngx_prefix="$PWD/$OPENSSL/.openssl" ;;
47 | esac
48 |
49 | cat << END >> $NGX_MAKEFILE
50 |
51 | $OPENSSL/.openssl/include/openssl/ssl.h: $NGX_MAKEFILE
52 | cd $OPENSSL \\
53 | && if [ -f Makefile ]; then \$(MAKE) clean; fi \\
54 | && ./config --prefix=$ngx_prefix no-shared no-threads $OPENSSL_OPT \\
55 | && \$(MAKE) \\
56 | && \$(MAKE) install_sw LIBDIR=lib
57 |
58 | END
59 |
60 | ;;
61 |
62 | esac
63 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/openssl/makefile.bcc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | all:
7 | cd $(OPENSSL)
8 |
9 | perl Configure BC-32 no-shared --prefix=openssl $(OPENSSL_OPT)
10 |
11 | ms\do_nasm
12 |
13 | $(MAKE) -f ms\bcb.mak
14 | $(MAKE) -f ms\bcb.mak install
15 |
16 | # Borland's make does not expand "[ch]" in
17 | # copy "inc32\openssl\*.[ch]" "openssl\include\openssl"
18 | copy inc32\openssl\*.h openssl\include\openssl
19 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/openssl/makefile.msvc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | all:
7 | cd $(OPENSSL)
8 |
9 | perl Configure VC-WIN32 no-shared \
10 | --prefix="%cd%/openssl" \
11 | --openssldir="%cd%/openssl/ssl" \
12 | $(OPENSSL_OPT)
13 |
14 | if exist ms\do_ms.bat ( \
15 | ms\do_ms \
16 | && $(MAKE) -f ms\nt.mak \
17 | && $(MAKE) -f ms\nt.mak install \
18 | ) else ( \
19 | $(MAKE) \
20 | && $(MAKE) install_sw \
21 | )
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/pcre/make:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | case "$NGX_CC_NAME" in
7 |
8 | msvc)
9 | ngx_makefile=makefile.msvc
10 | ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC"
11 | ngx_pcre="PCRE=\"$PCRE\""
12 | ;;
13 |
14 | owc)
15 | ngx_makefile=makefile.owc
16 | ngx_opt="CPU_OPT=\"$CPU_OPT\""
17 | ngx_pcre=`echo PCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
18 | ;;
19 |
20 | bcc)
21 | ngx_makefile=makefile.bcc
22 | ngx_opt="-DCPU_OPT=\"$CPU_OPT\""
23 | ngx_pcre=`echo \-DPCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
24 | ;;
25 |
26 | *)
27 | ngx_makefile=
28 | ;;
29 |
30 | esac
31 |
32 |
33 | if [ -n "$ngx_makefile" ]; then
34 |
35 | cat << END >> $NGX_MAKEFILE
36 |
37 | `echo "$PCRE/pcre.lib: $PCRE/pcre.h $NGX_MAKEFILE" \
38 | | sed -e "s/\//$ngx_regex_dirsep/g"`
39 | \$(MAKE) -f auto/lib/pcre/$ngx_makefile $ngx_pcre $ngx_opt
40 |
41 | `echo "$PCRE/pcre.h:" | sed -e "s/\//$ngx_regex_dirsep/g"`
42 | \$(MAKE) -f auto/lib/pcre/$ngx_makefile $ngx_pcre pcre.h
43 |
44 | END
45 |
46 | else
47 |
48 | cat << END >> $NGX_MAKEFILE
49 |
50 | $PCRE/pcre.h: $PCRE/Makefile
51 |
52 | $PCRE/Makefile: $NGX_MAKEFILE
53 | cd $PCRE \\
54 | && if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
55 | && CC="\$(CC)" CFLAGS="$PCRE_OPT" \\
56 | ./configure --disable-shared $PCRE_CONF_OPT
57 |
58 | $PCRE/.libs/libpcre.a: $PCRE/Makefile
59 | cd $PCRE \\
60 | && \$(MAKE) libpcre.la
61 |
62 | END
63 |
64 | fi
65 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/pcre/makefile.bcc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | CFLAGS = -q -O2 -tWM -w-8004 $(CPU_OPT)
7 | PCREFLAGS = -DHAVE_CONFIG_H -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10 \
8 | -DSUPPORT_PCRE8 -DHAVE_MEMMOVE
9 |
10 |
11 | pcre.lib:
12 | cd $(PCRE)
13 |
14 | bcc32 -c $(CFLAGS) -I. $(PCREFLAGS) pcre_*.c
15 |
16 | copy /y nul pcre.lst
17 | for %n in (*.obj) do @echo +%n ^^& >> pcre.lst
18 | echo + >> pcre.lst
19 |
20 | tlib pcre.lib @pcre.lst
21 |
22 | pcre.h:
23 | cd $(PCRE)
24 |
25 | copy /y pcre.h.generic pcre.h
26 | copy /y config.h.generic config.h
27 | copy /y pcre_chartables.c.dist pcre_chartables.c
28 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/pcre/makefile.msvc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | CFLAGS = -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT)
7 | PCREFLAGS = -DHAVE_CONFIG_H -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10 \
8 | -DSUPPORT_PCRE8 -DHAVE_MEMMOVE
9 |
10 |
11 | pcre.lib:
12 | cd $(PCRE)
13 |
14 | cl -nologo -c $(CFLAGS) -I . $(PCREFLAGS) pcre_*.c
15 |
16 | link -lib -out:pcre.lib -verbose:lib pcre_*.obj
17 |
18 | pcre.h:
19 | cd $(PCRE)
20 |
21 | copy /y pcre.h.generic pcre.h
22 | copy /y config.h.generic config.h
23 | copy /y pcre_chartables.c.dist pcre_chartables.c
24 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/pcre/makefile.owc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s -bm $(CPU_OPT)
7 | PCREFLAGS = -DHAVE_CONFIG_H -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10 &
8 | -DSUPPORT_PCRE8 -DHAVE_MEMMOVE
9 |
10 |
11 | pcre.lib:
12 | cd $(PCRE)
13 |
14 | wcl386 $(CFLAGS) -i=. $(PCREFLAGS) pcre_*.c
15 |
16 | dir /b *.obj > pcre.lst
17 |
18 | wlib -n pcre.lib @pcre.lst
19 |
20 | pcre.h:
21 | cd $(PCRE)
22 |
23 | copy /y pcre.h.generic pcre.h
24 | copy /y config.h.generic config.h
25 | copy /y pcre_chartables.c.dist pcre_chartables.c
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/perl/make:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_MAKEFILE
7 |
8 | $NGX_OBJS/src/http/modules/perl/ngx_http_perl_module.o: \\
9 | $NGX_OBJS/$ngx_perl_module
10 |
11 | $NGX_OBJS/$ngx_perl_module: \\
12 | \$(CORE_DEPS) \$(HTTP_DEPS) \\
13 | src/http/modules/perl/ngx_http_perl_module.h \\
14 | $NGX_OBJS/src/http/modules/perl/Makefile
15 | cd $NGX_OBJS/src/http/modules/perl && \$(MAKE)
16 |
17 | rm -rf $NGX_OBJS/install_perl
18 |
19 |
20 | $NGX_OBJS/src/http/modules/perl/Makefile: \\
21 | $NGX_AUTO_CONFIG_H \\
22 | src/core/nginx.h \\
23 | src/http/modules/perl/Makefile.PL \\
24 | src/http/modules/perl/nginx.pm \\
25 | src/http/modules/perl/nginx.xs \\
26 | src/http/modules/perl/typemap
27 | grep 'define NGINX_VERSION' src/core/nginx.h \\
28 | | sed -e 's/^.*"\(.*\)".*/\1/' > \\
29 | $NGX_OBJS/src/http/modules/perl/version
30 | sed "s/%%VERSION%%/\`cat $NGX_OBJS/src/http/modules/perl/version\`/" \\
31 | src/http/modules/perl/nginx.pm > \\
32 | $NGX_OBJS/src/http/modules/perl/nginx.pm
33 | cp -p src/http/modules/perl/nginx.xs $NGX_OBJS/src/http/modules/perl/
34 | cp -p src/http/modules/perl/typemap $NGX_OBJS/src/http/modules/perl/
35 | cp -p src/http/modules/perl/Makefile.PL $NGX_OBJS/src/http/modules/perl/
36 |
37 | cd $NGX_OBJS/src/http/modules/perl \\
38 | && NGX_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT" \\
39 | NGX_PM_LDFLAGS="$NGX_LD_OPT \$(NGX_PM_LDFLAGS)" \\
40 | NGX_INCS="$CORE_INCS $NGX_OBJS $HTTP_INCS" \\
41 | NGX_DEPS="\$(CORE_DEPS) \$(HTTP_DEPS)" \\
42 | $NGX_PERL Makefile.PL \\
43 | LIB=$NGX_PERL_MODULES \\
44 | INSTALLSITEMAN3DIR=$NGX_PERL_MODULES_MAN
45 |
46 | END
47 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/zlib/makefile.bcc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | CFLAGS = -q -O2 -tWM -w-8004 -w-8012 $(CPU_OPT)
7 |
8 | zlib.lib:
9 | cd $(ZLIB)
10 |
11 | bcc32 -c $(CFLAGS) adler32.c crc32.c deflate.c \
12 | trees.c zutil.c compress.c \
13 | inflate.c inffast.c inftrees.c
14 |
15 | tlib zlib.lib +adler32.obj +crc32.obj +deflate.obj \
16 | +trees.obj +zutil.obj +compress.obj \
17 | +inflate.obj +inffast.obj +inftrees.obj
18 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/zlib/makefile.msvc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | CFLAGS = -nologo -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT)
7 |
8 | zlib.lib:
9 | cd $(ZLIB)
10 |
11 | cl -c $(CFLAGS) adler32.c crc32.c deflate.c \
12 | trees.c zutil.c compress.c \
13 | inflate.c inffast.c inftrees.c
14 |
15 | link -lib -out:zlib.lib adler32.obj crc32.obj deflate.obj \
16 | trees.obj zutil.obj compress.obj \
17 | inflate.obj inffast.obj inftrees.obj
18 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/lib/zlib/makefile.owc:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | CFLAGS = -zq -bt=nt -ot -op -oi -oe -s -bm $(CPU_OPT)
7 |
8 | zlib.lib:
9 | cd $(ZLIB)
10 |
11 | wcl386 -c $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c &
12 | compress.c inflate.c inffast.c inftrees.c
13 | wlib -n zlib.lib adler32.obj crc32.obj deflate.obj trees.obj &
14 | zutil.obj compress.obj inflate.obj inffast.obj inftrees.obj
15 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/nohave:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_AUTO_CONFIG_H
7 |
8 | #ifndef $have
9 | #define $have 0
10 | #endif
11 |
12 | END
13 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/os/solaris:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | have=NGX_SOLARIS . auto/have_headers
7 |
8 | CORE_INCS="$UNIX_INCS"
9 | CORE_DEPS="$UNIX_DEPS $SOLARIS_DEPS"
10 | CORE_SRCS="$UNIX_SRCS $SOLARIS_SRCS "
11 | CORE_LIBS="$CORE_LIBS -lsocket -lnsl"
12 |
13 | NGX_RPATH=YES
14 |
15 | # Solaris's make does not support a blank line between target and rules
16 | ngx_spacer=
17 |
18 | CC_AUX_FLAGS="$CC_AUX_FLAGS -D_FILE_OFFSET_BITS=64 -lsocket -lnsl"
19 |
20 |
21 | if [ $ZLIB_ASM != NO ]; then
22 | echo "$0: error: the --with-zlib-asm=CPU option is not supported"
23 | echo "on that platform"
24 | echo
25 |
26 | exit 1
27 | fi
28 |
29 |
30 | ngx_feature="sendfilev()"
31 | ngx_feature_name="NGX_HAVE_SENDFILE"
32 | ngx_feature_run=no
33 | ngx_feature_incs="#include "
34 | ngx_feature_path=
35 | ngx_feature_libs="-lsendfile"
36 | ngx_feature_test="int fd = 1; sendfilevec_t vec[1];
37 | size_t sent; ssize_t n;
38 | n = sendfilev(fd, vec, 1, &sent);
39 | if (n == -1) return 1"
40 | . auto/feature
41 |
42 |
43 | if [ $ngx_found = yes ]; then
44 | CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
45 | CORE_LIBS="$CORE_LIBS -lsendfile"
46 | fi
47 |
48 |
49 | ngx_feature="event ports"
50 | ngx_feature_name="NGX_HAVE_EVENTPORT"
51 | ngx_feature_run=no
52 | ngx_feature_incs="#include "
53 | ngx_feature_path=
54 | ngx_feature_libs=
55 | ngx_feature_test="(void) port_create()"
56 | . auto/feature
57 |
58 | if [ $ngx_found = yes ]; then
59 | CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
60 | EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
61 | fi
62 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/os/win32:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | have=NGX_WIN32 . auto/have_headers
7 |
8 | CORE_INCS="$WIN32_INCS"
9 | CORE_DEPS="$WIN32_DEPS"
10 | CORE_SRCS="$WIN32_SRCS $IOCP_SRCS"
11 | OS_CONFIG="$WIN32_CONFIG"
12 | NGX_ICONS="$NGX_WIN32_ICONS"
13 | SELECT_SRCS=$WIN32_SELECT_SRCS
14 | POLL_SRCS=$WIN32_POLL_SRCS
15 |
16 | ngx_pic_opt=
17 | ngx_binext=".exe"
18 |
19 | case "$NGX_CC_NAME" in
20 |
21 | gcc)
22 | CORE_LIBS="$CORE_LIBS -ladvapi32 -lws2_32"
23 | MAIN_LINK="$MAIN_LINK -Wl,--export-all-symbols"
24 | MAIN_LINK="$MAIN_LINK -Wl,--out-implib=$NGX_OBJS/libnginx.a"
25 | MODULE_LINK="-shared -L $NGX_OBJS -lnginx"
26 | ;;
27 |
28 | *)
29 | CORE_LIBS="$CORE_LIBS advapi32.lib ws2_32.lib"
30 | ;;
31 |
32 | esac
33 |
34 | EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE"
35 | #EVENT_FOUND=YES
36 |
37 | have=NGX_HAVE_INET6 . auto/have
38 |
39 | have=NGX_HAVE_IOCP . auto/have
40 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/stubs:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | have=NGX_SUPPRESS_WARN . auto/have
7 |
8 | have=NGX_SMP . auto/have
9 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/threads:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Nginx, Inc.
3 |
4 |
5 | if [ $USE_THREADS = YES ]; then
6 |
7 | if [ "$NGX_PLATFORM" = win32 ]; then
8 | cat << END
9 |
10 | $0: --with-threads is not supported on Windows
11 |
12 | END
13 | exit 1
14 | fi
15 |
16 | have=NGX_THREADS . auto/have
17 | CORE_DEPS="$CORE_DEPS $THREAD_POOL_DEPS"
18 | CORE_SRCS="$CORE_SRCS $THREAD_POOL_SRCS"
19 | CORE_LIBS="$CORE_LIBS -lpthread"
20 | NGX_LIBPTHREAD="-lpthread"
21 | fi
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/types/sizeof:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | echo $ngx_n "checking for $ngx_type size ...$ngx_c"
7 |
8 | cat << END >> $NGX_AUTOCONF_ERR
9 |
10 | ----------------------------------------
11 | checking for $ngx_type size
12 |
13 | END
14 |
15 | ngx_size=
16 |
17 | cat << END > $NGX_AUTOTEST.c
18 |
19 | #include
20 | #include
21 | $NGX_INCLUDE_UNISTD_H
22 | #include
23 | #include
24 | #include
25 | $NGX_INCLUDE_INTTYPES_H
26 | $NGX_INCLUDE_AUTO_CONFIG_H
27 |
28 | int main(void) {
29 | printf("%d", (int) sizeof($ngx_type));
30 | return 0;
31 | }
32 |
33 | END
34 |
35 |
36 | ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
37 | -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
38 |
39 | eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
40 |
41 |
42 | if [ -x $NGX_AUTOTEST ]; then
43 | ngx_size=`$NGX_AUTOTEST`
44 | echo " $ngx_size bytes"
45 | fi
46 |
47 |
48 | case $ngx_size in
49 | 4)
50 | ngx_max_value=2147483647
51 | ngx_max_len='(sizeof("-2147483648") - 1)'
52 | ;;
53 |
54 | 8)
55 | ngx_max_value=9223372036854775807LL
56 | ngx_max_len='(sizeof("-9223372036854775808") - 1)'
57 | ;;
58 |
59 | *)
60 | echo
61 | echo "$0: error: can not detect $ngx_type size"
62 |
63 | echo "----------" >> $NGX_AUTOCONF_ERR
64 | cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
65 | echo "----------" >> $NGX_AUTOCONF_ERR
66 | echo $ngx_test >> $NGX_AUTOCONF_ERR
67 | echo "----------" >> $NGX_AUTOCONF_ERR
68 |
69 | rm -rf $NGX_AUTOTEST*
70 |
71 | exit 1
72 | esac
73 |
74 |
75 | rm -rf $NGX_AUTOTEST*
76 |
77 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/types/uintptr_t:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | echo $ngx_n "checking for uintptr_t ...$ngx_c"
7 |
8 | cat << END >> $NGX_AUTOCONF_ERR
9 |
10 | ----------------------------------------
11 | checking for uintptr_t
12 |
13 | END
14 |
15 | found=no
16 |
17 | cat << END > $NGX_AUTOTEST.c
18 |
19 | #include
20 | $NGX_INCLUDE_INTTYPES_H
21 |
22 | int main(void) {
23 | uintptr_t i = 0;
24 | return (int) i;
25 | }
26 |
27 | END
28 |
29 | ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
30 | -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT"
31 |
32 | eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
33 |
34 | if [ -x $NGX_AUTOTEST ]; then
35 | echo " uintptr_t found"
36 | found=yes
37 | else
38 | echo $ngx_n " uintptr_t not found" $ngx_c
39 | fi
40 |
41 | rm -rf $NGX_AUTOTEST*
42 |
43 |
44 | if [ $found = no ]; then
45 | found="uint`expr 8 \* $ngx_ptr_size`_t"
46 | echo ", $found used"
47 |
48 | echo "typedef $found uintptr_t;" >> $NGX_AUTO_CONFIG_H
49 | echo "typedef $found intptr_t;" | sed -e 's/u//g' >> $NGX_AUTO_CONFIG_H
50 | fi
51 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/auto/types/value:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 |
6 | cat << END >> $NGX_AUTO_CONFIG_H
7 |
8 | #ifndef $ngx_param
9 | #define $ngx_param $ngx_value
10 | #endif
11 |
12 | END
13 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/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 REQUEST_SCHEME $scheme;
14 | fastcgi_param HTTPS $https if_not_empty;
15 |
16 | fastcgi_param GATEWAY_INTERFACE CGI/1.1;
17 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
18 |
19 | fastcgi_param REMOTE_ADDR $remote_addr;
20 | fastcgi_param REMOTE_PORT $remote_port;
21 | fastcgi_param SERVER_ADDR $server_addr;
22 | fastcgi_param SERVER_PORT $server_port;
23 | fastcgi_param SERVER_NAME $server_name;
24 |
25 | # PHP only, required if PHP was built with --enable-force-cgi-redirect
26 | fastcgi_param REDIRECT_STATUS 200;
27 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/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 REQUEST_SCHEME $scheme;
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 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/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 REQUEST_SCHEME $scheme;
12 | scgi_param HTTPS $https if_not_empty;
13 |
14 | scgi_param REMOTE_ADDR $remote_addr;
15 | scgi_param REMOTE_PORT $remote_port;
16 | scgi_param SERVER_PORT $server_port;
17 | scgi_param SERVER_NAME $server_name;
18 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/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 REQUEST_SCHEME $scheme;
12 | uwsgi_param HTTPS $https if_not_empty;
13 |
14 | uwsgi_param REMOTE_ADDR $remote_addr;
15 | uwsgi_param REMOTE_PORT $remote_port;
16 | uwsgi_param SERVER_PORT $server_port;
17 | uwsgi_param SERVER_NAME $server_name;
18 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/contrib/README:
--------------------------------------------------------------------------------
1 |
2 | geo2nginx.pl by Andrei Nigmatulin
3 |
4 | The perl script to convert CSV geoip database ( free download
5 | at http://www.maxmind.com/app/geoip_country ) to format, suitable
6 | for use by the ngx_http_geo_module.
7 |
8 |
9 | unicode2nginx by Maxim Dounin
10 |
11 | The perl script to convert unicode mappings ( available
12 | at http://www.unicode.org/Public/MAPPINGS/ ) to the nginx
13 | configuration file format.
14 | Two generated full maps for windows-1251 and koi8-r.
15 |
16 |
17 | vim by Evan Miller
18 |
19 | Syntax highlighting of nginx configuration for vim, to be
20 | placed into ~/.vim/.
21 |
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/contrib/geo2nginx.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl -w
2 |
3 | # (c) Andrei Nigmatulin, 2005
4 | #
5 | # this script provided "as is", without any warranties. use it at your own risk.
6 | #
7 | # special thanx to Andrew Sitnikov for perl port
8 | #
9 | # this script converts CSV geoip database (free download at http://www.maxmind.com/app/geoip_country)
10 | # to format, suitable for use with nginx_http_geo module (http://sysoev.ru/nginx)
11 | #
12 | # for example, line with ip range
13 | #
14 | # "62.16.68.0","62.16.127.255","1041253376","1041268735","RU","Russian Federation"
15 | #
16 | # will be converted to four subnetworks:
17 | #
18 | # 62.16.68.0/22 RU;
19 | # 62.16.72.0/21 RU;
20 | # 62.16.80.0/20 RU;
21 | # 62.16.96.0/19 RU;
22 |
23 |
24 | use warnings;
25 | use strict;
26 |
27 | while( ){
28 | if (/"[^"]+","[^"]+","([^"]+)","([^"]+)","([^"]+)"/){
29 | print_subnets($1, $2, $3);
30 | }
31 | }
32 |
33 | sub print_subnets {
34 | my ($a1, $a2, $c) = @_;
35 | my $l;
36 | while ($a1 <= $a2) {
37 | for ($l = 0; ($a1 & (1 << $l)) == 0 && ($a1 + ((1 << ($l + 1)) - 1)) <= $a2; $l++){};
38 | print long2ip($a1) . "/" . (32 - $l) . " " . $c . ";\n";
39 | $a1 += (1 << $l);
40 | }
41 | }
42 |
43 | sub long2ip {
44 | my $ip = shift;
45 |
46 | my $str = 0;
47 |
48 | $str = ($ip & 255);
49 |
50 | $ip >>= 8;
51 | $str = ($ip & 255).".$str";
52 |
53 | $ip >>= 8;
54 | $str = ($ip & 255).".$str";
55 |
56 | $ip >>= 8;
57 | $str = ($ip & 255).".$str";
58 | }
59 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/contrib/unicode2nginx/unicode-to-nginx.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl -w
2 |
3 | # Convert unicode mappings to nginx configuration file format.
4 |
5 | # You may find useful mappings in various places, including
6 | # unicode.org official site:
7 | #
8 | # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT
9 | # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT
10 |
11 | # Needs perl 5.6 or later.
12 |
13 | # Written by Maxim Dounin, mdounin@mdounin.ru
14 |
15 | ###############################################################################
16 |
17 | require 5.006;
18 |
19 | while (<>) {
20 | # Skip comments and empty lines
21 |
22 | next if /^#/;
23 | next if /^\s*$/;
24 | chomp;
25 |
26 | # Convert mappings
27 |
28 | if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) {
29 | # Mapping "#"
30 | my $cs_code = $1;
31 | my $un_code = $2;
32 | my $un_name = $3;
33 |
34 | # Produce UTF-8 sequence from character code;
35 |
36 | my $un_utf8 = join('',
37 | map { sprintf("%02X", $_) }
38 | unpack("U0C*", pack("U", hex($un_code)))
39 | );
40 |
41 | print " $cs_code $un_utf8 ; $un_name\n";
42 |
43 | } else {
44 | warn "Unrecognized line: '$_'";
45 | }
46 | }
47 |
48 | ###############################################################################
49 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/contrib/vim/ftdetect/nginx.vim:
--------------------------------------------------------------------------------
1 | au BufRead,BufNewFile *.nginx set ft=nginx
2 | au BufRead,BufNewFile */etc/nginx/* set ft=nginx
3 | au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
4 | au BufRead,BufNewFile nginx.conf set ft=nginx
5 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/contrib/vim/ftplugin/nginx.vim:
--------------------------------------------------------------------------------
1 | setlocal commentstring=#\ %s
2 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/contrib/vim/indent/nginx.vim:
--------------------------------------------------------------------------------
1 | if exists("b:did_indent")
2 | finish
3 | endif
4 | let b:did_indent = 1
5 |
6 | setlocal indentexpr=
7 |
8 | " cindent actually works for nginx' simple file structure
9 | setlocal cindent
10 | " Just make sure that the comments are not reset as defs would be.
11 | setlocal cinkeys-=0#
12 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/html/50x.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Error
5 |
12 |
13 |
14 | An error occurred.
15 | Sorry, the page you are looking for is currently unavailable.
16 | Please try again later.
17 | If you are the system administrator of this resource then you should check
18 | the error log for details.
19 | Faithfully yours, nginx.
20 |
21 |
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Welcome to nginx!
5 |
12 |
13 |
14 | Welcome to nginx!
15 | If you see this page, the nginx web server is successfully installed and
16 | working. Further configuration is required.
17 |
18 | For online documentation and support please refer to
19 | nginx.org.
20 | Commercial support is available at
21 | nginx.com.
22 |
23 | Thank you for using nginx.
24 |
25 |
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/nginx.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGINX_H_INCLUDED_
9 | #define _NGINX_H_INCLUDED_
10 |
11 |
12 | #define nginx_version 1015012
13 | #define NGINX_VERSION "1.15.12"
14 | #define NGINX_VER "nginx/" NGINX_VERSION
15 |
16 | #ifdef NGX_BUILD
17 | #define NGINX_VER_BUILD NGINX_VER " (" NGX_BUILD ")"
18 | #else
19 | #define NGINX_VER_BUILD NGINX_VER
20 | #endif
21 |
22 | #define NGINX_VAR "NGINX"
23 | #define NGX_OLDPID_EXT ".oldbin"
24 |
25 |
26 | #endif /* _NGINX_H_INCLUDED_ */
27 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_array.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_ARRAY_H_INCLUDED_
9 | #define _NGX_ARRAY_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef struct {
17 | void *elts;
18 | ngx_uint_t nelts;
19 | size_t size;
20 | ngx_uint_t nalloc;
21 | ngx_pool_t *pool;
22 | } ngx_array_t;
23 |
24 |
25 | ngx_array_t *ngx_array_create(ngx_pool_t *p, ngx_uint_t n, size_t size);
26 | void ngx_array_destroy(ngx_array_t *a);
27 | void *ngx_array_push(ngx_array_t *a);
28 | void *ngx_array_push_n(ngx_array_t *a, ngx_uint_t n);
29 |
30 |
31 | static ngx_inline ngx_int_t
32 | ngx_array_init(ngx_array_t *array, ngx_pool_t *pool, ngx_uint_t n, size_t size)
33 | {
34 | /*
35 | * set "array->nelts" before "array->elts", otherwise MSVC thinks
36 | * that "array->nelts" may be used without having been initialized
37 | */
38 |
39 | array->nelts = 0;
40 | array->size = size;
41 | array->nalloc = n;
42 | array->pool = pool;
43 |
44 | array->elts = ngx_palloc(pool, n * size);
45 | if (array->elts == NULL) {
46 | return NGX_ERROR;
47 | }
48 |
49 | return NGX_OK;
50 | }
51 |
52 |
53 | #endif /* _NGX_ARRAY_H_INCLUDED_ */
54 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_crc.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_CRC_H_INCLUDED_
9 | #define _NGX_CRC_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | /* 32-bit crc16 */
17 |
18 | static ngx_inline uint32_t
19 | ngx_crc(u_char *data, size_t len)
20 | {
21 | uint32_t sum;
22 |
23 | for (sum = 0; len; len--) {
24 |
25 | /*
26 | * gcc 2.95.2 x86 and icc 7.1.006 compile
27 | * that operator into the single "rol" opcode,
28 | * msvc 6.0sp2 compiles it into four opcodes.
29 | */
30 | sum = sum >> 1 | sum << 31;
31 |
32 | sum += *data++;
33 | }
34 |
35 | return sum;
36 | }
37 |
38 |
39 | #endif /* _NGX_CRC_H_INCLUDED_ */
40 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_crc32.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_CRC32_H_INCLUDED_
9 | #define _NGX_CRC32_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | extern uint32_t *ngx_crc32_table_short;
17 | extern uint32_t ngx_crc32_table256[];
18 |
19 |
20 | static ngx_inline uint32_t
21 | ngx_crc32_short(u_char *p, size_t len)
22 | {
23 | u_char c;
24 | uint32_t crc;
25 |
26 | crc = 0xffffffff;
27 |
28 | while (len--) {
29 | c = *p++;
30 | crc = ngx_crc32_table_short[(crc ^ (c & 0xf)) & 0xf] ^ (crc >> 4);
31 | crc = ngx_crc32_table_short[(crc ^ (c >> 4)) & 0xf] ^ (crc >> 4);
32 | }
33 |
34 | return crc ^ 0xffffffff;
35 | }
36 |
37 |
38 | static ngx_inline uint32_t
39 | ngx_crc32_long(u_char *p, size_t len)
40 | {
41 | uint32_t crc;
42 |
43 | crc = 0xffffffff;
44 |
45 | while (len--) {
46 | crc = ngx_crc32_table256[(crc ^ *p++) & 0xff] ^ (crc >> 8);
47 | }
48 |
49 | return crc ^ 0xffffffff;
50 | }
51 |
52 |
53 | #define ngx_crc32_init(crc) \
54 | crc = 0xffffffff
55 |
56 |
57 | static ngx_inline void
58 | ngx_crc32_update(uint32_t *crc, u_char *p, size_t len)
59 | {
60 | uint32_t c;
61 |
62 | c = *crc;
63 |
64 | while (len--) {
65 | c = ngx_crc32_table256[(c ^ *p++) & 0xff] ^ (c >> 8);
66 | }
67 |
68 | *crc = c;
69 | }
70 |
71 |
72 | #define ngx_crc32_final(crc) \
73 | crc ^= 0xffffffff
74 |
75 |
76 | ngx_int_t ngx_crc32_table_init(void);
77 |
78 |
79 | #endif /* _NGX_CRC32_H_INCLUDED_ */
80 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_crypt.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_CRYPT_H_INCLUDED_
9 | #define _NGX_CRYPT_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | ngx_int_t ngx_crypt(ngx_pool_t *pool, u_char *key, u_char *salt,
17 | u_char **encrypted);
18 |
19 |
20 | #endif /* _NGX_CRYPT_H_INCLUDED_ */
21 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_list.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | ngx_list_t *
13 | ngx_list_create(ngx_pool_t *pool, ngx_uint_t n, size_t size)
14 | {
15 | ngx_list_t *list;
16 |
17 | list = ngx_palloc(pool, sizeof(ngx_list_t));
18 | if (list == NULL) {
19 | return NULL;
20 | }
21 |
22 | if (ngx_list_init(list, pool, n, size) != NGX_OK) {
23 | return NULL;
24 | }
25 |
26 | return list;
27 | }
28 |
29 |
30 | void *
31 | ngx_list_push(ngx_list_t *l)
32 | {
33 | void *elt;
34 | ngx_list_part_t *last;
35 |
36 | last = l->last;
37 |
38 | if (last->nelts == l->nalloc) {
39 |
40 | /* the last part is full, allocate a new list part */
41 |
42 | last = ngx_palloc(l->pool, sizeof(ngx_list_part_t));
43 | if (last == NULL) {
44 | return NULL;
45 | }
46 |
47 | last->elts = ngx_palloc(l->pool, l->nalloc * l->size);
48 | if (last->elts == NULL) {
49 | return NULL;
50 | }
51 |
52 | last->nelts = 0;
53 | last->next = NULL;
54 |
55 | l->last->next = last;
56 | l->last = last;
57 | }
58 |
59 | elt = (char *) last->elts + l->size * last->nelts;
60 | last->nelts++;
61 |
62 | return elt;
63 | }
64 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_md5.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_MD5_H_INCLUDED_
9 | #define _NGX_MD5_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef struct {
17 | uint64_t bytes;
18 | uint32_t a, b, c, d;
19 | u_char buffer[64];
20 | } ngx_md5_t;
21 |
22 |
23 | void ngx_md5_init(ngx_md5_t *ctx);
24 | void ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size);
25 | void ngx_md5_final(u_char result[16], ngx_md5_t *ctx);
26 |
27 |
28 | #endif /* _NGX_MD5_H_INCLUDED_ */
29 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_murmurhash.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Austin Appleby
4 | */
5 |
6 |
7 | #include
8 | #include
9 |
10 |
11 | uint32_t
12 | ngx_murmur_hash2(u_char *data, size_t len)
13 | {
14 | uint32_t h, k;
15 |
16 | h = 0 ^ len;
17 |
18 | while (len >= 4) {
19 | k = data[0];
20 | k |= data[1] << 8;
21 | k |= data[2] << 16;
22 | k |= data[3] << 24;
23 |
24 | k *= 0x5bd1e995;
25 | k ^= k >> 24;
26 | k *= 0x5bd1e995;
27 |
28 | h *= 0x5bd1e995;
29 | h ^= k;
30 |
31 | data += 4;
32 | len -= 4;
33 | }
34 |
35 | switch (len) {
36 | case 3:
37 | h ^= data[2] << 16;
38 | /* fall through */
39 | case 2:
40 | h ^= data[1] << 8;
41 | /* fall through */
42 | case 1:
43 | h ^= data[0];
44 | h *= 0x5bd1e995;
45 | }
46 |
47 | h ^= h >> 13;
48 | h *= 0x5bd1e995;
49 | h ^= h >> 15;
50 |
51 | return h;
52 | }
53 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_murmurhash.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_MURMURHASH_H_INCLUDED_
9 | #define _NGX_MURMURHASH_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | uint32_t ngx_murmur_hash2(u_char *data, size_t len);
17 |
18 |
19 | #endif /* _NGX_MURMURHASH_H_INCLUDED_ */
20 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_parse.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_PARSE_H_INCLUDED_
9 | #define _NGX_PARSE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | ssize_t ngx_parse_size(ngx_str_t *line);
17 | off_t ngx_parse_offset(ngx_str_t *line);
18 | ngx_int_t ngx_parse_time(ngx_str_t *line, ngx_uint_t is_sec);
19 |
20 |
21 | #endif /* _NGX_PARSE_H_INCLUDED_ */
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_parse_time.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_PARSE_TIME_H_INCLUDED_
9 | #define _NGX_PARSE_TIME_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | time_t ngx_parse_http_time(u_char *value, size_t len);
17 |
18 | /* compatibility */
19 | #define ngx_http_parse_time(value, len) ngx_parse_http_time(value, len)
20 |
21 |
22 | #endif /* _NGX_PARSE_TIME_H_INCLUDED_ */
23 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_proxy_protocol.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Roman Arutyunyan
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_PROXY_PROTOCOL_H_INCLUDED_
9 | #define _NGX_PROXY_PROTOCOL_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | #define NGX_PROXY_PROTOCOL_MAX_HEADER 107
17 |
18 |
19 | u_char *ngx_proxy_protocol_read(ngx_connection_t *c, u_char *buf,
20 | u_char *last);
21 | u_char *ngx_proxy_protocol_write(ngx_connection_t *c, u_char *buf,
22 | u_char *last);
23 |
24 |
25 | #endif /* _NGX_PROXY_PROTOCOL_H_INCLUDED_ */
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_radix_tree.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_RADIX_TREE_H_INCLUDED_
9 | #define _NGX_RADIX_TREE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | #define NGX_RADIX_NO_VALUE (uintptr_t) -1
17 |
18 | typedef struct ngx_radix_node_s ngx_radix_node_t;
19 |
20 | struct ngx_radix_node_s {
21 | ngx_radix_node_t *right;
22 | ngx_radix_node_t *left;
23 | ngx_radix_node_t *parent;
24 | uintptr_t value;
25 | };
26 |
27 |
28 | typedef struct {
29 | ngx_radix_node_t *root;
30 | ngx_pool_t *pool;
31 | ngx_radix_node_t *free;
32 | char *start;
33 | size_t size;
34 | } ngx_radix_tree_t;
35 |
36 |
37 | ngx_radix_tree_t *ngx_radix_tree_create(ngx_pool_t *pool,
38 | ngx_int_t preallocate);
39 |
40 | ngx_int_t ngx_radix32tree_insert(ngx_radix_tree_t *tree,
41 | uint32_t key, uint32_t mask, uintptr_t value);
42 | ngx_int_t ngx_radix32tree_delete(ngx_radix_tree_t *tree,
43 | uint32_t key, uint32_t mask);
44 | uintptr_t ngx_radix32tree_find(ngx_radix_tree_t *tree, uint32_t key);
45 |
46 | #if (NGX_HAVE_INET6)
47 | ngx_int_t ngx_radix128tree_insert(ngx_radix_tree_t *tree,
48 | u_char *key, u_char *mask, uintptr_t value);
49 | ngx_int_t ngx_radix128tree_delete(ngx_radix_tree_t *tree,
50 | u_char *key, u_char *mask);
51 | uintptr_t ngx_radix128tree_find(ngx_radix_tree_t *tree, u_char *key);
52 | #endif
53 |
54 |
55 | #endif /* _NGX_RADIX_TREE_H_INCLUDED_ */
56 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_regex.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_REGEX_H_INCLUDED_
9 | #define _NGX_REGEX_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 | #include
16 |
17 |
18 | #define NGX_REGEX_NO_MATCHED PCRE_ERROR_NOMATCH /* -1 */
19 |
20 | #define NGX_REGEX_CASELESS PCRE_CASELESS
21 |
22 |
23 | typedef struct {
24 | pcre *code;
25 | pcre_extra *extra;
26 | } ngx_regex_t;
27 |
28 |
29 | typedef struct {
30 | ngx_str_t pattern;
31 | ngx_pool_t *pool;
32 | ngx_int_t options;
33 |
34 | ngx_regex_t *regex;
35 | int captures;
36 | int named_captures;
37 | int name_size;
38 | u_char *names;
39 | ngx_str_t err;
40 | } ngx_regex_compile_t;
41 |
42 |
43 | typedef struct {
44 | ngx_regex_t *regex;
45 | u_char *name;
46 | } ngx_regex_elt_t;
47 |
48 |
49 | void ngx_regex_init(void);
50 | ngx_int_t ngx_regex_compile(ngx_regex_compile_t *rc);
51 |
52 | #define ngx_regex_exec(re, s, captures, size) \
53 | pcre_exec(re->code, re->extra, (const char *) (s)->data, (s)->len, 0, 0, \
54 | captures, size)
55 | #define ngx_regex_exec_n "pcre_exec()"
56 |
57 | ngx_int_t ngx_regex_exec_array(ngx_array_t *a, ngx_str_t *s, ngx_log_t *log);
58 |
59 |
60 | #endif /* _NGX_REGEX_H_INCLUDED_ */
61 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_rwlock.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Ruslan Ermilov
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_RWLOCK_H_INCLUDED_
9 | #define _NGX_RWLOCK_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | void ngx_rwlock_wlock(ngx_atomic_t *lock);
17 | void ngx_rwlock_rlock(ngx_atomic_t *lock);
18 | void ngx_rwlock_unlock(ngx_atomic_t *lock);
19 | void ngx_rwlock_downgrade(ngx_atomic_t *lock);
20 |
21 |
22 | #endif /* _NGX_RWLOCK_H_INCLUDED_ */
23 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_sha1.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_SHA1_H_INCLUDED_
9 | #define _NGX_SHA1_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef struct {
17 | uint64_t bytes;
18 | uint32_t a, b, c, d, e, f;
19 | u_char buffer[64];
20 | } ngx_sha1_t;
21 |
22 |
23 | void ngx_sha1_init(ngx_sha1_t *ctx);
24 | void ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size);
25 | void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx);
26 |
27 |
28 | #endif /* _NGX_SHA1_H_INCLUDED_ */
29 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_shmtx.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_SHMTX_H_INCLUDED_
9 | #define _NGX_SHMTX_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef struct {
17 | ngx_atomic_t lock;
18 | #if (NGX_HAVE_POSIX_SEM)
19 | ngx_atomic_t wait;
20 | #endif
21 | } ngx_shmtx_sh_t;
22 |
23 |
24 | typedef struct {
25 | #if (NGX_HAVE_ATOMIC_OPS)
26 | ngx_atomic_t *lock;
27 | #if (NGX_HAVE_POSIX_SEM)
28 | ngx_atomic_t *wait;
29 | ngx_uint_t semaphore;
30 | sem_t sem;
31 | #endif
32 | #else
33 | ngx_fd_t fd;
34 | u_char *name;
35 | #endif
36 | ngx_uint_t spin;
37 | } ngx_shmtx_t;
38 |
39 |
40 | ngx_int_t ngx_shmtx_create(ngx_shmtx_t *mtx, ngx_shmtx_sh_t *addr,
41 | u_char *name);
42 | void ngx_shmtx_destroy(ngx_shmtx_t *mtx);
43 | ngx_uint_t ngx_shmtx_trylock(ngx_shmtx_t *mtx);
44 | void ngx_shmtx_lock(ngx_shmtx_t *mtx);
45 | void ngx_shmtx_unlock(ngx_shmtx_t *mtx);
46 | ngx_uint_t ngx_shmtx_force_unlock(ngx_shmtx_t *mtx, ngx_pid_t pid);
47 |
48 |
49 | #endif /* _NGX_SHMTX_H_INCLUDED_ */
50 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_spinlock.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | void
13 | ngx_spinlock(ngx_atomic_t *lock, ngx_atomic_int_t value, ngx_uint_t spin)
14 | {
15 |
16 | #if (NGX_HAVE_ATOMIC_OPS)
17 |
18 | ngx_uint_t i, n;
19 |
20 | for ( ;; ) {
21 |
22 | if (*lock == 0 && ngx_atomic_cmp_set(lock, 0, value)) {
23 | return;
24 | }
25 |
26 | if (ngx_ncpu > 1) {
27 |
28 | for (n = 1; n < spin; n <<= 1) {
29 |
30 | for (i = 0; i < n; i++) {
31 | ngx_cpu_pause();
32 | }
33 |
34 | if (*lock == 0 && ngx_atomic_cmp_set(lock, 0, value)) {
35 | return;
36 | }
37 | }
38 | }
39 |
40 | ngx_sched_yield();
41 | }
42 |
43 | #else
44 |
45 | #if (NGX_THREADS)
46 |
47 | #error ngx_spinlock() or ngx_atomic_cmp_set() are not defined !
48 |
49 | #endif
50 |
51 | #endif
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_syslog.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Nginx, Inc.
4 | */
5 |
6 |
7 | #ifndef _NGX_SYSLOG_H_INCLUDED_
8 | #define _NGX_SYSLOG_H_INCLUDED_
9 |
10 |
11 | typedef struct {
12 | ngx_uint_t facility;
13 | ngx_uint_t severity;
14 | ngx_str_t tag;
15 |
16 | ngx_addr_t server;
17 | ngx_connection_t conn;
18 | unsigned busy:1;
19 | unsigned nohostname:1;
20 | } ngx_syslog_peer_t;
21 |
22 |
23 | char *ngx_syslog_process_conf(ngx_conf_t *cf, ngx_syslog_peer_t *peer);
24 | u_char *ngx_syslog_add_header(ngx_syslog_peer_t *peer, u_char *buf);
25 | void ngx_syslog_writer(ngx_log_t *log, ngx_uint_t level, u_char *buf,
26 | size_t len);
27 | ssize_t ngx_syslog_send(ngx_syslog_peer_t *peer, u_char *buf, size_t len);
28 |
29 |
30 | #endif /* _NGX_SYSLOG_H_INCLUDED_ */
31 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_thread_pool.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Nginx, Inc.
4 | * Copyright (C) Valentin V. Bartenev
5 | */
6 |
7 |
8 | #ifndef _NGX_THREAD_POOL_H_INCLUDED_
9 | #define _NGX_THREAD_POOL_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | struct ngx_thread_task_s {
18 | ngx_thread_task_t *next;
19 | ngx_uint_t id;
20 | void *ctx;
21 | void (*handler)(void *data, ngx_log_t *log);
22 | ngx_event_t event;
23 | };
24 |
25 |
26 | typedef struct ngx_thread_pool_s ngx_thread_pool_t;
27 |
28 |
29 | ngx_thread_pool_t *ngx_thread_pool_add(ngx_conf_t *cf, ngx_str_t *name);
30 | ngx_thread_pool_t *ngx_thread_pool_get(ngx_cycle_t *cycle, ngx_str_t *name);
31 |
32 | ngx_thread_task_t *ngx_thread_task_alloc(ngx_pool_t *pool, size_t size);
33 | ngx_int_t ngx_thread_task_post(ngx_thread_pool_t *tp, ngx_thread_task_t *task);
34 |
35 |
36 | #endif /* _NGX_THREAD_POOL_H_INCLUDED_ */
37 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/core/ngx_times.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_TIMES_H_INCLUDED_
9 | #define _NGX_TIMES_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef struct {
17 | time_t sec;
18 | ngx_uint_t msec;
19 | ngx_int_t gmtoff;
20 | } ngx_time_t;
21 |
22 |
23 | void ngx_time_init(void);
24 | void ngx_time_update(void);
25 | void ngx_time_sigsafe_update(void);
26 | u_char *ngx_http_time(u_char *buf, time_t t);
27 | u_char *ngx_http_cookie_time(u_char *buf, time_t t);
28 | void ngx_gmtime(time_t t, ngx_tm_t *tp);
29 |
30 | time_t ngx_next_time(time_t when);
31 | #define ngx_next_time_n "mktime()"
32 |
33 |
34 | extern volatile ngx_time_t *ngx_cached_time;
35 |
36 | #define ngx_time() ngx_cached_time->sec
37 | #define ngx_timeofday() (ngx_time_t *) ngx_cached_time
38 |
39 | extern volatile ngx_str_t ngx_cached_err_log_time;
40 | extern volatile ngx_str_t ngx_cached_http_time;
41 | extern volatile ngx_str_t ngx_cached_http_log_time;
42 | extern volatile ngx_str_t ngx_cached_http_log_iso8601;
43 | extern volatile ngx_str_t ngx_cached_syslog_time;
44 |
45 | /*
46 | * milliseconds elapsed since some unspecified point in the past
47 | * and truncated to ngx_msec_t, used in event timers
48 | */
49 | extern volatile ngx_msec_t ngx_current_msec;
50 |
51 |
52 | #endif /* _NGX_TIMES_H_INCLUDED_ */
53 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/event/ngx_event_posted.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 | #include
11 |
12 |
13 | ngx_queue_t ngx_posted_accept_events;
14 | ngx_queue_t ngx_posted_events;
15 |
16 |
17 | void
18 | ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted)
19 | {
20 | ngx_queue_t *q;
21 | ngx_event_t *ev;
22 |
23 | while (!ngx_queue_empty(posted)) {
24 |
25 | q = ngx_queue_head(posted);
26 | ev = ngx_queue_data(q, ngx_event_t, queue);
27 |
28 | ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
29 | "posted event %p", ev);
30 |
31 | ngx_delete_posted_event(ev);
32 |
33 | ev->handler(ev);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/http/modules/perl/Makefile.PL:
--------------------------------------------------------------------------------
1 |
2 | # Copyright (C) Igor Sysoev
3 | # Copyright (C) Nginx, Inc.
4 |
5 | use 5.006001;
6 | use ExtUtils::MakeMaker;
7 |
8 | WriteMakefile(
9 | NAME => 'nginx',
10 | VERSION_FROM => 'nginx.pm', # finds $VERSION
11 | PREREQ_PM => {}, # e.g., Module::Name => 1.1
12 |
13 | ABSTRACT_FROM => 'nginx.pm', # retrieve abstract from module
14 | AUTHOR => 'Igor Sysoev',
15 |
16 | CCFLAGS => "$ENV{NGX_PM_CFLAGS}",
17 | OPTIMIZE => '-O',
18 |
19 | LDDLFLAGS => "$ENV{NGX_PM_LDFLAGS}",
20 |
21 | INC => join(" ", map {
22 | m#^/# ? "-I $_" : "-I ../../../../../$_"
23 | } (split /\s+/, $ENV{NGX_INCS})),
24 |
25 | depend => {
26 | 'nginx.c' => join(" ", map {
27 | m#^/# ? $_ : "../../../../../$_"
28 | } (split(/\s+/, $ENV{NGX_DEPS}),
29 | "src/http/modules/perl/ngx_http_perl_module.h"))
30 | },
31 |
32 | PM => {
33 | 'nginx.pm' => '$(INST_LIBDIR)/nginx.pm'
34 | }
35 | );
36 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/http/modules/perl/ngx_http_perl_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_HTTP_PERL_MODULE_H_INCLUDED_
9 | #define _NGX_HTTP_PERL_MODULE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 | #include
16 |
17 | #include
18 | #include
19 |
20 |
21 | typedef ngx_http_request_t *nginx;
22 |
23 | typedef struct {
24 | ngx_str_t filename;
25 | ngx_str_t redirect_uri;
26 | ngx_str_t redirect_args;
27 |
28 | SV *next;
29 |
30 | ngx_uint_t done; /* unsigned done:1; */
31 |
32 | ngx_array_t *variables; /* array of ngx_http_perl_var_t */
33 |
34 | #if (NGX_HTTP_SSI)
35 | ngx_http_ssi_ctx_t *ssi;
36 | #endif
37 | } ngx_http_perl_ctx_t;
38 |
39 |
40 | typedef struct {
41 | ngx_uint_t hash;
42 | ngx_str_t name;
43 | ngx_str_t value;
44 | } ngx_http_perl_var_t;
45 |
46 |
47 | extern ngx_module_t ngx_http_perl_module;
48 |
49 |
50 | /*
51 | * workaround for "unused variable `Perl___notused'" warning
52 | * when building with perl 5.6.1
53 | */
54 | #ifndef PERL_IMPLICIT_CONTEXT
55 | #undef dTHXa
56 | #define dTHXa(a)
57 | #endif
58 |
59 |
60 | extern void boot_DynaLoader(pTHX_ CV* cv);
61 |
62 |
63 | void ngx_http_perl_handle_request(ngx_http_request_t *r);
64 | void ngx_http_perl_sleep_handler(ngx_http_request_t *r);
65 |
66 |
67 | #endif /* _NGX_HTTP_PERL_MODULE_H_INCLUDED_ */
68 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/http/modules/perl/typemap:
--------------------------------------------------------------------------------
1 | TYPEMAP
2 |
3 | nginx T_PTROBJ
4 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/http/v2/ngx_http_v2_encode.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Nginx, Inc.
4 | * Copyright (C) Valentin V. Bartenev
5 | */
6 |
7 |
8 | #include
9 | #include
10 | #include
11 |
12 |
13 | static u_char *ngx_http_v2_write_int(u_char *pos, ngx_uint_t prefix,
14 | ngx_uint_t value);
15 |
16 |
17 | u_char *
18 | ngx_http_v2_string_encode(u_char *dst, u_char *src, size_t len, u_char *tmp,
19 | ngx_uint_t lower)
20 | {
21 | size_t hlen;
22 |
23 | hlen = ngx_http_v2_huff_encode(src, len, tmp, lower);
24 |
25 | if (hlen > 0) {
26 | *dst = NGX_HTTP_V2_ENCODE_HUFF;
27 | dst = ngx_http_v2_write_int(dst, ngx_http_v2_prefix(7), hlen);
28 | return ngx_cpymem(dst, tmp, hlen);
29 | }
30 |
31 | *dst = NGX_HTTP_V2_ENCODE_RAW;
32 | dst = ngx_http_v2_write_int(dst, ngx_http_v2_prefix(7), len);
33 |
34 | if (lower) {
35 | ngx_strlow(dst, src, len);
36 | return dst + len;
37 | }
38 |
39 | return ngx_cpymem(dst, src, len);
40 | }
41 |
42 |
43 | static u_char *
44 | ngx_http_v2_write_int(u_char *pos, ngx_uint_t prefix, ngx_uint_t value)
45 | {
46 | if (value < prefix) {
47 | *pos++ |= value;
48 | return pos;
49 | }
50 |
51 | *pos++ |= prefix;
52 | value -= prefix;
53 |
54 | while (value >= 128) {
55 | *pos++ = value % 128 + 128;
56 | value /= 128;
57 | }
58 |
59 | *pos++ = (u_char) value;
60 |
61 | return pos;
62 | }
63 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/http/v2/ngx_http_v2_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Nginx, Inc.
4 | * Copyright (C) Valentin V. Bartenev
5 | */
6 |
7 |
8 | #ifndef _NGX_HTTP_V2_MODULE_H_INCLUDED_
9 | #define _NGX_HTTP_V2_MODULE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | typedef struct {
18 | size_t recv_buffer_size;
19 | u_char *recv_buffer;
20 | } ngx_http_v2_main_conf_t;
21 |
22 |
23 | typedef struct {
24 | size_t pool_size;
25 | ngx_uint_t concurrent_streams;
26 | ngx_uint_t concurrent_pushes;
27 | ngx_uint_t max_requests;
28 | size_t max_field_size;
29 | size_t max_header_size;
30 | size_t preread_size;
31 | ngx_uint_t streams_index_mask;
32 | ngx_msec_t recv_timeout;
33 | ngx_msec_t idle_timeout;
34 | } ngx_http_v2_srv_conf_t;
35 |
36 |
37 | typedef struct {
38 | size_t chunk_size;
39 |
40 | ngx_flag_t push_preload;
41 |
42 | ngx_flag_t push;
43 | ngx_array_t *pushes;
44 | } ngx_http_v2_loc_conf_t;
45 |
46 |
47 | extern ngx_module_t ngx_http_v2_module;
48 |
49 |
50 | #endif /* _NGX_HTTP_V2_MODULE_H_INCLUDED_ */
51 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/mail/ngx_mail_imap_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_MAIL_IMAP_MODULE_H_INCLUDED_
9 | #define _NGX_MAIL_IMAP_MODULE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | typedef struct {
18 | size_t client_buffer_size;
19 |
20 | ngx_str_t capability;
21 | ngx_str_t starttls_capability;
22 | ngx_str_t starttls_only_capability;
23 |
24 | ngx_uint_t auth_methods;
25 |
26 | ngx_array_t capabilities;
27 | } ngx_mail_imap_srv_conf_t;
28 |
29 |
30 | void ngx_mail_imap_init_session(ngx_mail_session_t *s, ngx_connection_t *c);
31 | void ngx_mail_imap_init_protocol(ngx_event_t *rev);
32 | void ngx_mail_imap_auth_state(ngx_event_t *rev);
33 | ngx_int_t ngx_mail_imap_parse_command(ngx_mail_session_t *s);
34 |
35 |
36 | extern ngx_module_t ngx_mail_imap_module;
37 |
38 |
39 | #endif /* _NGX_MAIL_IMAP_MODULE_H_INCLUDED_ */
40 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/mail/ngx_mail_pop3_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_MAIL_POP3_MODULE_H_INCLUDED_
9 | #define _NGX_MAIL_POP3_MODULE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | typedef struct {
18 | ngx_str_t capability;
19 | ngx_str_t starttls_capability;
20 | ngx_str_t starttls_only_capability;
21 | ngx_str_t auth_capability;
22 |
23 | ngx_uint_t auth_methods;
24 |
25 | ngx_array_t capabilities;
26 | } ngx_mail_pop3_srv_conf_t;
27 |
28 |
29 | void ngx_mail_pop3_init_session(ngx_mail_session_t *s, ngx_connection_t *c);
30 | void ngx_mail_pop3_init_protocol(ngx_event_t *rev);
31 | void ngx_mail_pop3_auth_state(ngx_event_t *rev);
32 | ngx_int_t ngx_mail_pop3_parse_command(ngx_mail_session_t *s);
33 |
34 |
35 | extern ngx_module_t ngx_mail_pop3_module;
36 |
37 |
38 | #endif /* _NGX_MAIL_POP3_MODULE_H_INCLUDED_ */
39 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/mail/ngx_mail_smtp_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_MAIL_SMTP_MODULE_H_INCLUDED_
9 | #define _NGX_MAIL_SMTP_MODULE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 | #include
16 |
17 |
18 | typedef struct {
19 | ngx_msec_t greeting_delay;
20 |
21 | size_t client_buffer_size;
22 |
23 | ngx_str_t capability;
24 | ngx_str_t starttls_capability;
25 | ngx_str_t starttls_only_capability;
26 |
27 | ngx_str_t server_name;
28 | ngx_str_t greeting;
29 |
30 | ngx_uint_t auth_methods;
31 |
32 | ngx_array_t capabilities;
33 | } ngx_mail_smtp_srv_conf_t;
34 |
35 |
36 | void ngx_mail_smtp_init_session(ngx_mail_session_t *s, ngx_connection_t *c);
37 | void ngx_mail_smtp_init_protocol(ngx_event_t *rev);
38 | void ngx_mail_smtp_auth_state(ngx_event_t *rev);
39 | ngx_int_t ngx_mail_smtp_parse_command(ngx_mail_session_t *s);
40 |
41 |
42 | extern ngx_module_t ngx_mail_smtp_module;
43 |
44 |
45 | #endif /* _NGX_MAIL_SMTP_MODULE_H_INCLUDED_ */
46 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/mail/ngx_mail_ssl_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_MAIL_SSL_H_INCLUDED_
9 | #define _NGX_MAIL_SSL_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | #define NGX_MAIL_STARTTLS_OFF 0
18 | #define NGX_MAIL_STARTTLS_ON 1
19 | #define NGX_MAIL_STARTTLS_ONLY 2
20 |
21 |
22 | typedef struct {
23 | ngx_flag_t enable;
24 | ngx_flag_t prefer_server_ciphers;
25 |
26 | ngx_ssl_t ssl;
27 |
28 | ngx_uint_t starttls;
29 | ngx_uint_t listen;
30 | ngx_uint_t protocols;
31 |
32 | ngx_uint_t verify;
33 | ngx_uint_t verify_depth;
34 |
35 | ssize_t builtin_session_cache;
36 |
37 | time_t session_timeout;
38 |
39 | ngx_array_t *certificates;
40 | ngx_array_t *certificate_keys;
41 |
42 | ngx_str_t dhparam;
43 | ngx_str_t ecdh_curve;
44 | ngx_str_t client_certificate;
45 | ngx_str_t trusted_certificate;
46 | ngx_str_t crl;
47 |
48 | ngx_str_t ciphers;
49 |
50 | ngx_array_t *passwords;
51 |
52 | ngx_shm_zone_t *shm_zone;
53 |
54 | ngx_flag_t session_tickets;
55 | ngx_array_t *session_ticket_keys;
56 |
57 | u_char *file;
58 | ngx_uint_t line;
59 | } ngx_mail_ssl_conf_t;
60 |
61 |
62 | extern ngx_module_t ngx_mail_ssl_module;
63 |
64 |
65 | #endif /* _NGX_MAIL_SSL_H_INCLUDED_ */
66 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/misc/ngx_cpp_test_module.cpp:
--------------------------------------------------------------------------------
1 |
2 | // stub module to test header files' C++ compatibility
3 |
4 | extern "C" {
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 |
11 | #include
12 |
13 | #include
14 | #include
15 | #include
16 | #include
17 | }
18 |
19 | // nginx header files should go before other, because they define 64-bit off_t
20 | // #include
21 |
22 |
23 | void ngx_cpp_test_handler(void *data);
24 |
25 | void
26 | ngx_cpp_test_handler(void *data)
27 | {
28 | return;
29 | }
30 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_alloc.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_ALLOC_H_INCLUDED_
9 | #define _NGX_ALLOC_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | void *ngx_alloc(size_t size, ngx_log_t *log);
17 | void *ngx_calloc(size_t size, ngx_log_t *log);
18 |
19 | #define ngx_free free
20 |
21 |
22 | /*
23 | * Linux has memalign() or posix_memalign()
24 | * Solaris has memalign()
25 | * FreeBSD 7.0 has posix_memalign(), besides, early version's malloc()
26 | * aligns allocations bigger than page size at the page boundary
27 | */
28 |
29 | #if (NGX_HAVE_POSIX_MEMALIGN || NGX_HAVE_MEMALIGN)
30 |
31 | void *ngx_memalign(size_t alignment, size_t size, ngx_log_t *log);
32 |
33 | #else
34 |
35 | #define ngx_memalign(alignment, size, log) ngx_alloc(size, log)
36 |
37 | #endif
38 |
39 |
40 | extern ngx_uint_t ngx_pagesize;
41 | extern ngx_uint_t ngx_pagesize_shift;
42 | extern ngx_uint_t ngx_cacheline_size;
43 |
44 |
45 | #endif /* _NGX_ALLOC_H_INCLUDED_ */
46 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_channel.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_CHANNEL_H_INCLUDED_
9 | #define _NGX_CHANNEL_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | typedef struct {
18 | ngx_uint_t command;
19 | ngx_pid_t pid;
20 | ngx_int_t slot;
21 | ngx_fd_t fd;
22 | } ngx_channel_t;
23 |
24 |
25 | ngx_int_t ngx_write_channel(ngx_socket_t s, ngx_channel_t *ch, size_t size,
26 | ngx_log_t *log);
27 | ngx_int_t ngx_read_channel(ngx_socket_t s, ngx_channel_t *ch, size_t size,
28 | ngx_log_t *log);
29 | ngx_int_t ngx_add_channel_event(ngx_cycle_t *cycle, ngx_fd_t fd,
30 | ngx_int_t event, ngx_event_handler_pt handler);
31 | void ngx_close_channel(ngx_fd_t *fd, ngx_log_t *log);
32 |
33 |
34 | #endif /* _NGX_CHANNEL_H_INCLUDED_ */
35 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_daemon.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | ngx_int_t
13 | ngx_daemon(ngx_log_t *log)
14 | {
15 | int fd;
16 |
17 | switch (fork()) {
18 | case -1:
19 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "fork() failed");
20 | return NGX_ERROR;
21 |
22 | case 0:
23 | break;
24 |
25 | default:
26 | exit(0);
27 | }
28 |
29 | ngx_parent = ngx_pid;
30 | ngx_pid = ngx_getpid();
31 |
32 | if (setsid() == -1) {
33 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "setsid() failed");
34 | return NGX_ERROR;
35 | }
36 |
37 | umask(0);
38 |
39 | fd = open("/dev/null", O_RDWR);
40 | if (fd == -1) {
41 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
42 | "open(\"/dev/null\") failed");
43 | return NGX_ERROR;
44 | }
45 |
46 | if (dup2(fd, STDIN_FILENO) == -1) {
47 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "dup2(STDIN) failed");
48 | return NGX_ERROR;
49 | }
50 |
51 | if (dup2(fd, STDOUT_FILENO) == -1) {
52 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "dup2(STDOUT) failed");
53 | return NGX_ERROR;
54 | }
55 |
56 | #if 0
57 | if (dup2(fd, STDERR_FILENO) == -1) {
58 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "dup2(STDERR) failed");
59 | return NGX_ERROR;
60 | }
61 | #endif
62 |
63 | if (fd > STDERR_FILENO) {
64 | if (close(fd) == -1) {
65 | ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "close() failed");
66 | return NGX_ERROR;
67 | }
68 | }
69 |
70 | return NGX_OK;
71 | }
72 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_darwin.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_DARWIN_H_INCLUDED_
9 | #define _NGX_DARWIN_H_INCLUDED_
10 |
11 |
12 | void ngx_debug_init(void);
13 | ngx_chain_t *ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in,
14 | off_t limit);
15 |
16 | extern int ngx_darwin_kern_osreldate;
17 | extern int ngx_darwin_hw_ncpu;
18 | extern u_long ngx_darwin_net_inet_tcp_sendspace;
19 |
20 | extern ngx_uint_t ngx_debug_malloc;
21 |
22 |
23 | #endif /* _NGX_DARWIN_H_INCLUDED_ */
24 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_dlopen.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Maxim Dounin
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | #if (NGX_HAVE_DLOPEN)
13 |
14 | char *
15 | ngx_dlerror(void)
16 | {
17 | char *err;
18 |
19 | err = (char *) dlerror();
20 |
21 | if (err == NULL) {
22 | return "";
23 | }
24 |
25 | return err;
26 | }
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_dlopen.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Maxim Dounin
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_DLOPEN_H_INCLUDED_
9 | #define _NGX_DLOPEN_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | #define ngx_dlopen(path) dlopen((char *) path, RTLD_NOW | RTLD_GLOBAL)
17 | #define ngx_dlopen_n "dlopen()"
18 |
19 | #define ngx_dlsym(handle, symbol) dlsym(handle, symbol)
20 | #define ngx_dlsym_n "dlsym()"
21 |
22 | #define ngx_dlclose(handle) dlclose(handle)
23 | #define ngx_dlclose_n "dlclose()"
24 |
25 |
26 | #if (NGX_HAVE_DLOPEN)
27 | char *ngx_dlerror(void);
28 | #endif
29 |
30 |
31 | #endif /* _NGX_DLOPEN_H_INCLUDED_ */
32 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_freebsd.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_FREEBSD_H_INCLUDED_
9 | #define _NGX_FREEBSD_H_INCLUDED_
10 |
11 |
12 | void ngx_debug_init(void);
13 | ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in,
14 | off_t limit);
15 |
16 | extern int ngx_freebsd_kern_osreldate;
17 | extern int ngx_freebsd_hw_ncpu;
18 | extern u_long ngx_freebsd_net_inet_tcp_sendspace;
19 |
20 | extern ngx_uint_t ngx_freebsd_sendfile_nbytes_bug;
21 | extern ngx_uint_t ngx_freebsd_use_tcp_nopush;
22 | extern ngx_uint_t ngx_debug_malloc;
23 |
24 |
25 | #endif /* _NGX_FREEBSD_H_INCLUDED_ */
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_linux.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_LINUX_H_INCLUDED_
9 | #define _NGX_LINUX_H_INCLUDED_
10 |
11 |
12 | ngx_chain_t *ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in,
13 | off_t limit);
14 |
15 |
16 | #endif /* _NGX_LINUX_H_INCLUDED_ */
17 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_linux_init.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | u_char ngx_linux_kern_ostype[50];
13 | u_char ngx_linux_kern_osrelease[50];
14 |
15 |
16 | static ngx_os_io_t ngx_linux_io = {
17 | ngx_unix_recv,
18 | ngx_readv_chain,
19 | ngx_udp_unix_recv,
20 | ngx_unix_send,
21 | ngx_udp_unix_send,
22 | ngx_udp_unix_sendmsg_chain,
23 | #if (NGX_HAVE_SENDFILE)
24 | ngx_linux_sendfile_chain,
25 | NGX_IO_SENDFILE
26 | #else
27 | ngx_writev_chain,
28 | 0
29 | #endif
30 | };
31 |
32 |
33 | ngx_int_t
34 | ngx_os_specific_init(ngx_log_t *log)
35 | {
36 | struct utsname u;
37 |
38 | if (uname(&u) == -1) {
39 | ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "uname() failed");
40 | return NGX_ERROR;
41 | }
42 |
43 | (void) ngx_cpystrn(ngx_linux_kern_ostype, (u_char *) u.sysname,
44 | sizeof(ngx_linux_kern_ostype));
45 |
46 | (void) ngx_cpystrn(ngx_linux_kern_osrelease, (u_char *) u.release,
47 | sizeof(ngx_linux_kern_osrelease));
48 |
49 | ngx_os_io = ngx_linux_io;
50 |
51 | return NGX_OK;
52 | }
53 |
54 |
55 | void
56 | ngx_os_specific_status(ngx_log_t *log)
57 | {
58 | ngx_log_error(NGX_LOG_NOTICE, log, 0, "OS: %s %s",
59 | ngx_linux_kern_ostype, ngx_linux_kern_osrelease);
60 | }
61 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_process_cycle.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_
9 | #define _NGX_PROCESS_CYCLE_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | #define NGX_CMD_OPEN_CHANNEL 1
17 | #define NGX_CMD_CLOSE_CHANNEL 2
18 | #define NGX_CMD_QUIT 3
19 | #define NGX_CMD_TERMINATE 4
20 | #define NGX_CMD_REOPEN 5
21 |
22 |
23 | #define NGX_PROCESS_SINGLE 0
24 | #define NGX_PROCESS_MASTER 1
25 | #define NGX_PROCESS_SIGNALLER 2
26 | #define NGX_PROCESS_WORKER 3
27 | #define NGX_PROCESS_HELPER 4
28 |
29 |
30 | typedef struct {
31 | ngx_event_handler_pt handler;
32 | char *name;
33 | ngx_msec_t delay;
34 | } ngx_cache_manager_ctx_t;
35 |
36 |
37 | void ngx_master_process_cycle(ngx_cycle_t *cycle);
38 | void ngx_single_process_cycle(ngx_cycle_t *cycle);
39 |
40 |
41 | extern ngx_uint_t ngx_process;
42 | extern ngx_uint_t ngx_worker;
43 | extern ngx_pid_t ngx_pid;
44 | extern ngx_pid_t ngx_new_binary;
45 | extern ngx_uint_t ngx_inherited;
46 | extern ngx_uint_t ngx_daemonized;
47 | extern ngx_uint_t ngx_exiting;
48 |
49 | extern sig_atomic_t ngx_reap;
50 | extern sig_atomic_t ngx_sigio;
51 | extern sig_atomic_t ngx_sigalrm;
52 | extern sig_atomic_t ngx_quit;
53 | extern sig_atomic_t ngx_debug_quit;
54 | extern sig_atomic_t ngx_terminate;
55 | extern sig_atomic_t ngx_noaccept;
56 | extern sig_atomic_t ngx_reconfigure;
57 | extern sig_atomic_t ngx_reopen;
58 | extern sig_atomic_t ngx_change_binary;
59 |
60 |
61 | #endif /* _NGX_PROCESS_CYCLE_H_INCLUDED_ */
62 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_setaffinity.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Nginx, Inc.
4 | */
5 |
6 |
7 | #include
8 | #include
9 |
10 |
11 | #if (NGX_HAVE_CPUSET_SETAFFINITY)
12 |
13 | void
14 | ngx_setaffinity(ngx_cpuset_t *cpu_affinity, ngx_log_t *log)
15 | {
16 | ngx_uint_t i;
17 |
18 | for (i = 0; i < CPU_SETSIZE; i++) {
19 | if (CPU_ISSET(i, cpu_affinity)) {
20 | ngx_log_error(NGX_LOG_NOTICE, log, 0,
21 | "cpuset_setaffinity(): using cpu #%ui", i);
22 | }
23 | }
24 |
25 | if (cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1,
26 | sizeof(cpuset_t), cpu_affinity) == -1)
27 | {
28 | ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
29 | "cpuset_setaffinity() failed");
30 | }
31 | }
32 |
33 | #elif (NGX_HAVE_SCHED_SETAFFINITY)
34 |
35 | void
36 | ngx_setaffinity(ngx_cpuset_t *cpu_affinity, ngx_log_t *log)
37 | {
38 | ngx_uint_t i;
39 |
40 | for (i = 0; i < CPU_SETSIZE; i++) {
41 | if (CPU_ISSET(i, cpu_affinity)) {
42 | ngx_log_error(NGX_LOG_NOTICE, log, 0,
43 | "sched_setaffinity(): using cpu #%ui", i);
44 | }
45 | }
46 |
47 | if (sched_setaffinity(0, sizeof(cpu_set_t), cpu_affinity) == -1) {
48 | ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
49 | "sched_setaffinity() failed");
50 | }
51 | }
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_setaffinity.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Nginx, Inc.
4 | */
5 |
6 | #ifndef _NGX_SETAFFINITY_H_INCLUDED_
7 | #define _NGX_SETAFFINITY_H_INCLUDED_
8 |
9 |
10 | #if (NGX_HAVE_SCHED_SETAFFINITY || NGX_HAVE_CPUSET_SETAFFINITY)
11 |
12 | #define NGX_HAVE_CPU_AFFINITY 1
13 |
14 | #if (NGX_HAVE_SCHED_SETAFFINITY)
15 |
16 | typedef cpu_set_t ngx_cpuset_t;
17 |
18 | #elif (NGX_HAVE_CPUSET_SETAFFINITY)
19 |
20 | #include
21 |
22 | typedef cpuset_t ngx_cpuset_t;
23 |
24 | #endif
25 |
26 | void ngx_setaffinity(ngx_cpuset_t *cpu_affinity, ngx_log_t *log);
27 |
28 | #else
29 |
30 | #define ngx_setaffinity(cpu_affinity, log)
31 |
32 | typedef uint64_t ngx_cpuset_t;
33 |
34 | #endif
35 |
36 |
37 | #endif /* _NGX_SETAFFINITY_H_INCLUDED_ */
38 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_setproctitle.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_SETPROCTITLE_H_INCLUDED_
9 | #define _NGX_SETPROCTITLE_H_INCLUDED_
10 |
11 |
12 | #if (NGX_HAVE_SETPROCTITLE)
13 |
14 | /* FreeBSD, NetBSD, OpenBSD */
15 |
16 | #define ngx_init_setproctitle(log) NGX_OK
17 | #define ngx_setproctitle(title) setproctitle("%s", title)
18 |
19 |
20 | #else /* !NGX_HAVE_SETPROCTITLE */
21 |
22 | #if !defined NGX_SETPROCTITLE_USES_ENV
23 |
24 | #if (NGX_SOLARIS)
25 |
26 | #define NGX_SETPROCTITLE_USES_ENV 1
27 | #define NGX_SETPROCTITLE_PAD ' '
28 |
29 | ngx_int_t ngx_init_setproctitle(ngx_log_t *log);
30 | void ngx_setproctitle(char *title);
31 |
32 | #elif (NGX_LINUX) || (NGX_DARWIN)
33 |
34 | #define NGX_SETPROCTITLE_USES_ENV 1
35 | #define NGX_SETPROCTITLE_PAD '\0'
36 |
37 | ngx_int_t ngx_init_setproctitle(ngx_log_t *log);
38 | void ngx_setproctitle(char *title);
39 |
40 | #else
41 |
42 | #define ngx_init_setproctitle(log) NGX_OK
43 | #define ngx_setproctitle(title)
44 |
45 | #endif /* OSes */
46 |
47 | #endif /* NGX_SETPROCTITLE_USES_ENV */
48 |
49 | #endif /* NGX_HAVE_SETPROCTITLE */
50 |
51 |
52 | #endif /* _NGX_SETPROCTITLE_H_INCLUDED_ */
53 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_shmem.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_SHMEM_H_INCLUDED_
9 | #define _NGX_SHMEM_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef struct {
17 | u_char *addr;
18 | size_t size;
19 | ngx_str_t name;
20 | ngx_log_t *log;
21 | ngx_uint_t exists; /* unsigned exists:1; */
22 | } ngx_shm_t;
23 |
24 |
25 | ngx_int_t ngx_shm_alloc(ngx_shm_t *shm);
26 | void ngx_shm_free(ngx_shm_t *shm);
27 |
28 |
29 | #endif /* _NGX_SHMEM_H_INCLUDED_ */
30 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_socket.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_SOCKET_H_INCLUDED_
9 | #define _NGX_SOCKET_H_INCLUDED_
10 |
11 |
12 | #include
13 |
14 |
15 | #define NGX_WRITE_SHUTDOWN SHUT_WR
16 |
17 | typedef int ngx_socket_t;
18 |
19 | #define ngx_socket socket
20 | #define ngx_socket_n "socket()"
21 |
22 |
23 | #if (NGX_HAVE_FIONBIO)
24 |
25 | int ngx_nonblocking(ngx_socket_t s);
26 | int ngx_blocking(ngx_socket_t s);
27 |
28 | #define ngx_nonblocking_n "ioctl(FIONBIO)"
29 | #define ngx_blocking_n "ioctl(!FIONBIO)"
30 |
31 | #else
32 |
33 | #define ngx_nonblocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK)
34 | #define ngx_nonblocking_n "fcntl(O_NONBLOCK)"
35 |
36 | #define ngx_blocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) & ~O_NONBLOCK)
37 | #define ngx_blocking_n "fcntl(!O_NONBLOCK)"
38 |
39 | #endif
40 |
41 | int ngx_tcp_nopush(ngx_socket_t s);
42 | int ngx_tcp_push(ngx_socket_t s);
43 |
44 | #if (NGX_LINUX)
45 |
46 | #define ngx_tcp_nopush_n "setsockopt(TCP_CORK)"
47 | #define ngx_tcp_push_n "setsockopt(!TCP_CORK)"
48 |
49 | #else
50 |
51 | #define ngx_tcp_nopush_n "setsockopt(TCP_NOPUSH)"
52 | #define ngx_tcp_push_n "setsockopt(!TCP_NOPUSH)"
53 |
54 | #endif
55 |
56 |
57 | #define ngx_shutdown_socket shutdown
58 | #define ngx_shutdown_socket_n "shutdown()"
59 |
60 | #define ngx_close_socket close
61 | #define ngx_close_socket_n "close() socket"
62 |
63 |
64 | #endif /* _NGX_SOCKET_H_INCLUDED_ */
65 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_solaris.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_SOLARIS_H_INCLUDED_
9 | #define _NGX_SOLARIS_H_INCLUDED_
10 |
11 |
12 | ngx_chain_t *ngx_solaris_sendfilev_chain(ngx_connection_t *c, ngx_chain_t *in,
13 | off_t limit);
14 |
15 |
16 | #endif /* _NGX_SOLARIS_H_INCLUDED_ */
17 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_sunpro_amd64.il:
--------------------------------------------------------------------------------
1 | /
2 | / Copyright (C) Igor Sysoev
3 | / Copyright (C) Nginx, Inc.
4 | /
5 |
6 | / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
7 | / ngx_atomic_uint_t old, ngx_atomic_uint_t set);
8 | /
9 | / the arguments are passed in %rdi, %rsi, %rdx
10 | / the result is returned in the %rax
11 |
12 | .inline ngx_atomic_cmp_set,0
13 | movq %rsi, %rax
14 | lock
15 | cmpxchgq %rdx, (%rdi)
16 | setz %al
17 | movzbq %al, %rax
18 | .end
19 |
20 |
21 | / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value,
22 | / ngx_atomic_int_t add);
23 | /
24 | / the arguments are passed in %rdi, %rsi
25 | / the result is returned in the %rax
26 |
27 | .inline ngx_atomic_fetch_add,0
28 | movq %rsi, %rax
29 | lock
30 | xaddq %rax, (%rdi)
31 | .end
32 |
33 |
34 | / ngx_cpu_pause()
35 | /
36 | / the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware
37 | / capability added by linker because Solaris/amd64 does not know about it:
38 | /
39 | / ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ]
40 |
41 | .inline ngx_cpu_pause,0
42 | rep; nop
43 | .end
44 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_sunpro_atomic_sparc64.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #if (NGX_PTR_SIZE == 4)
9 | #define NGX_CASA ngx_casa
10 | #else
11 | #define NGX_CASA ngx_casxa
12 | #endif
13 |
14 |
15 | ngx_atomic_uint_t
16 | ngx_casa(ngx_atomic_uint_t set, ngx_atomic_uint_t old, ngx_atomic_t *lock);
17 |
18 | ngx_atomic_uint_t
19 | ngx_casxa(ngx_atomic_uint_t set, ngx_atomic_uint_t old, ngx_atomic_t *lock);
20 |
21 | /* the code in src/os/unix/ngx_sunpro_sparc64.il */
22 |
23 |
24 | static ngx_inline ngx_atomic_uint_t
25 | ngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old,
26 | ngx_atomic_uint_t set)
27 | {
28 | set = NGX_CASA(set, old, lock);
29 |
30 | return (set == old);
31 | }
32 |
33 |
34 | static ngx_inline ngx_atomic_int_t
35 | ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add)
36 | {
37 | ngx_atomic_uint_t old, res;
38 |
39 | old = *value;
40 |
41 | for ( ;; ) {
42 |
43 | res = old + add;
44 |
45 | res = NGX_CASA(res, old, value);
46 |
47 | if (res == old) {
48 | return res;
49 | }
50 |
51 | old = res;
52 | }
53 | }
54 |
55 |
56 | #define ngx_memory_barrier() \
57 | __asm (".volatile"); \
58 | __asm ("membar #LoadLoad | #LoadStore | #StoreStore | #StoreLoad"); \
59 | __asm (".nonvolatile")
60 |
61 | #define ngx_cpu_pause()
62 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_sunpro_sparc64.il:
--------------------------------------------------------------------------------
1 | /
2 | / Copyright (C) Igor Sysoev
3 | / Copyright (C) Nginx, Inc.
4 | /
5 |
6 |
7 | / "casa [%o2] 0x80, %o1, %o0" and
8 | / "casxa [%o2] 0x80, %o1, %o0" do the following:
9 | /
10 | / if ([%o2] == %o1) {
11 | / swap(%o0, [%o2]);
12 | / } else {
13 | / %o0 = [%o2];
14 | / }
15 |
16 |
17 | / ngx_atomic_uint_t ngx_casa(ngx_atomic_uint_t set, ngx_atomic_uint_t old,
18 | / ngx_atomic_t *lock);
19 | /
20 | / the arguments are passed in the %o0, %o1, %o2
21 | / the result is returned in the %o0
22 |
23 | .inline ngx_casa,0
24 | casa [%o2] 0x80, %o1, %o0
25 | .end
26 |
27 |
28 | / ngx_atomic_uint_t ngx_casxa(ngx_atomic_uint_t set, ngx_atomic_uint_t old,
29 | / ngx_atomic_t *lock);
30 | /
31 | / the arguments are passed in the %o0, %o1, %o2
32 | / the result is returned in the %o0
33 |
34 | .inline ngx_casxa,0
35 | casxa [%o2] 0x80, %o1, %o0
36 | .end
37 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_sunpro_x86.il:
--------------------------------------------------------------------------------
1 | /
2 | / Copyright (C) Igor Sysoev
3 | / Copyright (C) Nginx, Inc.
4 | /
5 |
6 | / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
7 | / ngx_atomic_uint_t old, ngx_atomic_uint_t set);
8 | /
9 | / the arguments are passed on stack (%esp), 4(%esp), 8(%esp)
10 |
11 | .inline ngx_atomic_cmp_set,0
12 | movl (%esp), %ecx
13 | movl 4(%esp), %eax
14 | movl 8(%esp), %edx
15 | lock
16 | cmpxchgl %edx, (%ecx)
17 | setz %al
18 | movzbl %al, %eax
19 | .end
20 |
21 |
22 | / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value,
23 | / ngx_atomic_int_t add);
24 | /
25 | / the arguments are passed on stack (%esp), 4(%esp)
26 |
27 | .inline ngx_atomic_fetch_add,0
28 | movl (%esp), %ecx
29 | movl 4(%esp), %eax
30 | lock
31 | xaddl %eax, (%ecx)
32 | .end
33 |
34 |
35 | / ngx_cpu_pause()
36 | /
37 | / the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware
38 | / capability added by linker because Solaris/i386 does not know about it:
39 | /
40 | / ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ]
41 |
42 | .inline ngx_cpu_pause,0
43 | rep; nop
44 | .end
45 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_thread_cond.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | ngx_int_t
13 | ngx_thread_cond_create(ngx_thread_cond_t *cond, ngx_log_t *log)
14 | {
15 | ngx_err_t err;
16 |
17 | err = pthread_cond_init(cond, NULL);
18 | if (err == 0) {
19 | return NGX_OK;
20 | }
21 |
22 | ngx_log_error(NGX_LOG_EMERG, log, err, "pthread_cond_init() failed");
23 | return NGX_ERROR;
24 | }
25 |
26 |
27 | ngx_int_t
28 | ngx_thread_cond_destroy(ngx_thread_cond_t *cond, ngx_log_t *log)
29 | {
30 | ngx_err_t err;
31 |
32 | err = pthread_cond_destroy(cond);
33 | if (err == 0) {
34 | return NGX_OK;
35 | }
36 |
37 | ngx_log_error(NGX_LOG_EMERG, log, err, "pthread_cond_destroy() failed");
38 | return NGX_ERROR;
39 | }
40 |
41 |
42 | ngx_int_t
43 | ngx_thread_cond_signal(ngx_thread_cond_t *cond, ngx_log_t *log)
44 | {
45 | ngx_err_t err;
46 |
47 | err = pthread_cond_signal(cond);
48 | if (err == 0) {
49 | return NGX_OK;
50 | }
51 |
52 | ngx_log_error(NGX_LOG_EMERG, log, err, "pthread_cond_signal() failed");
53 | return NGX_ERROR;
54 | }
55 |
56 |
57 | ngx_int_t
58 | ngx_thread_cond_wait(ngx_thread_cond_t *cond, ngx_thread_mutex_t *mtx,
59 | ngx_log_t *log)
60 | {
61 | ngx_err_t err;
62 |
63 | err = pthread_cond_wait(cond, mtx);
64 |
65 | #if 0
66 | ngx_time_update();
67 | #endif
68 |
69 | if (err == 0) {
70 | return NGX_OK;
71 | }
72 |
73 | ngx_log_error(NGX_LOG_ALERT, log, err, "pthread_cond_wait() failed");
74 |
75 | return NGX_ERROR;
76 | }
77 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_thread_id.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 | #include
11 |
12 |
13 | #if (NGX_LINUX)
14 |
15 | /*
16 | * Linux thread id is a pid of thread created by clone(2),
17 | * glibc does not provide a wrapper for gettid().
18 | */
19 |
20 | ngx_tid_t
21 | ngx_thread_tid(void)
22 | {
23 | return syscall(SYS_gettid);
24 | }
25 |
26 | #elif (NGX_FREEBSD) && (__FreeBSD_version >= 900031)
27 |
28 | #include
29 |
30 | ngx_tid_t
31 | ngx_thread_tid(void)
32 | {
33 | return pthread_getthreadid_np();
34 | }
35 |
36 | #elif (NGX_DARWIN)
37 |
38 | /*
39 | * MacOSX thread has two thread ids:
40 | *
41 | * 1) MacOSX 10.6 (Snow Leoprad) has pthread_threadid_np() returning
42 | * an uint64_t value, which is obtained using the __thread_selfid()
43 | * syscall. It is a number above 300,000.
44 | */
45 |
46 | ngx_tid_t
47 | ngx_thread_tid(void)
48 | {
49 | uint64_t tid;
50 |
51 | (void) pthread_threadid_np(NULL, &tid);
52 | return tid;
53 | }
54 |
55 | /*
56 | * 2) Kernel thread mach_port_t returned by pthread_mach_thread_np().
57 | * It is a number in range 100-100,000.
58 | *
59 | * return pthread_mach_thread_np(pthread_self());
60 | */
61 |
62 | #else
63 |
64 | ngx_tid_t
65 | ngx_thread_tid(void)
66 | {
67 | return (uint64_t) (uintptr_t) pthread_self();
68 | }
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_udp_recv.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 | #include
11 |
12 |
13 | ssize_t
14 | ngx_udp_unix_recv(ngx_connection_t *c, u_char *buf, size_t size)
15 | {
16 | ssize_t n;
17 | ngx_err_t err;
18 | ngx_event_t *rev;
19 |
20 | rev = c->read;
21 |
22 | do {
23 | n = recv(c->fd, buf, size, 0);
24 |
25 | ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0,
26 | "recv: fd:%d %z of %uz", c->fd, n, size);
27 |
28 | if (n >= 0) {
29 |
30 | #if (NGX_HAVE_KQUEUE)
31 |
32 | if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) {
33 | rev->available -= n;
34 |
35 | /*
36 | * rev->available may be negative here because some additional
37 | * bytes may be received between kevent() and recv()
38 | */
39 |
40 | if (rev->available <= 0) {
41 | rev->ready = 0;
42 | rev->available = 0;
43 | }
44 | }
45 |
46 | #endif
47 |
48 | return n;
49 | }
50 |
51 | err = ngx_socket_errno;
52 |
53 | if (err == NGX_EAGAIN || err == NGX_EINTR) {
54 | ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, err,
55 | "recv() not ready");
56 | n = NGX_AGAIN;
57 |
58 | } else {
59 | n = ngx_connection_error(c, err, "recv() failed");
60 | break;
61 | }
62 |
63 | } while (err == NGX_EINTR);
64 |
65 | rev->ready = 0;
66 |
67 | if (n == NGX_ERROR) {
68 | rev->error = 1;
69 | }
70 |
71 | return n;
72 | }
73 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_udp_send.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 | #include
11 |
12 |
13 | ssize_t
14 | ngx_udp_unix_send(ngx_connection_t *c, u_char *buf, size_t size)
15 | {
16 | ssize_t n;
17 | ngx_err_t err;
18 | ngx_event_t *wev;
19 |
20 | wev = c->write;
21 |
22 | for ( ;; ) {
23 | n = sendto(c->fd, buf, size, 0, c->sockaddr, c->socklen);
24 |
25 | ngx_log_debug4(NGX_LOG_DEBUG_EVENT, c->log, 0,
26 | "sendto: fd:%d %z of %uz to \"%V\"",
27 | c->fd, n, size, &c->addr_text);
28 |
29 | if (n >= 0) {
30 | if ((size_t) n != size) {
31 | wev->error = 1;
32 | (void) ngx_connection_error(c, 0, "sendto() incomplete");
33 | return NGX_ERROR;
34 | }
35 |
36 | c->sent += n;
37 |
38 | return n;
39 | }
40 |
41 | err = ngx_socket_errno;
42 |
43 | if (err == NGX_EAGAIN) {
44 | wev->ready = 0;
45 | ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, NGX_EAGAIN,
46 | "sendto() not ready");
47 | return NGX_AGAIN;
48 | }
49 |
50 | if (err != NGX_EINTR) {
51 | wev->error = 1;
52 | (void) ngx_connection_error(c, err, "sendto() failed");
53 | return NGX_ERROR;
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_user.c:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #include
9 | #include
10 |
11 |
12 | #if (NGX_CRYPT)
13 |
14 | #if (NGX_HAVE_GNU_CRYPT_R)
15 |
16 | ngx_int_t
17 | ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
18 | {
19 | char *value;
20 | size_t len;
21 | struct crypt_data cd;
22 |
23 | cd.initialized = 0;
24 |
25 | value = crypt_r((char *) key, (char *) salt, &cd);
26 |
27 | if (value) {
28 | len = ngx_strlen(value) + 1;
29 |
30 | *encrypted = ngx_pnalloc(pool, len);
31 | if (*encrypted == NULL) {
32 | return NGX_ERROR;
33 | }
34 |
35 | ngx_memcpy(*encrypted, value, len);
36 | return NGX_OK;
37 | }
38 |
39 | ngx_log_error(NGX_LOG_CRIT, pool->log, ngx_errno, "crypt_r() failed");
40 |
41 | return NGX_ERROR;
42 | }
43 |
44 | #else
45 |
46 | ngx_int_t
47 | ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
48 | {
49 | char *value;
50 | size_t len;
51 | ngx_err_t err;
52 |
53 | value = crypt((char *) key, (char *) salt);
54 |
55 | if (value) {
56 | len = ngx_strlen(value) + 1;
57 |
58 | *encrypted = ngx_pnalloc(pool, len);
59 | if (*encrypted == NULL) {
60 | return NGX_ERROR;
61 | }
62 |
63 | ngx_memcpy(*encrypted, value, len);
64 | return NGX_OK;
65 | }
66 |
67 | err = ngx_errno;
68 |
69 | ngx_log_error(NGX_LOG_CRIT, pool->log, err, "crypt() failed");
70 |
71 | return NGX_ERROR;
72 | }
73 |
74 | #endif
75 |
76 | #endif /* NGX_CRYPT */
77 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/os/unix/ngx_user.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_USER_H_INCLUDED_
9 | #define _NGX_USER_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | typedef uid_t ngx_uid_t;
17 | typedef gid_t ngx_gid_t;
18 |
19 |
20 | ngx_int_t ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt,
21 | u_char **encrypted);
22 |
23 |
24 | #endif /* _NGX_USER_H_INCLUDED_ */
25 |
--------------------------------------------------------------------------------
/nginx-geoip2/nginx-1.15.12/src/stream/ngx_stream_ssl_module.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Copyright (C) Igor Sysoev
4 | * Copyright (C) Nginx, Inc.
5 | */
6 |
7 |
8 | #ifndef _NGX_STREAM_SSL_H_INCLUDED_
9 | #define _NGX_STREAM_SSL_H_INCLUDED_
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | typedef struct {
18 | ngx_msec_t handshake_timeout;
19 |
20 | ngx_flag_t prefer_server_ciphers;
21 |
22 | ngx_ssl_t ssl;
23 |
24 | ngx_uint_t listen;
25 | ngx_uint_t protocols;
26 |
27 | ngx_uint_t verify;
28 | ngx_uint_t verify_depth;
29 |
30 | ssize_t builtin_session_cache;
31 |
32 | time_t session_timeout;
33 |
34 | ngx_array_t *certificates;
35 | ngx_array_t *certificate_keys;
36 |
37 | ngx_array_t *certificate_values;
38 | ngx_array_t *certificate_key_values;
39 |
40 | ngx_str_t dhparam;
41 | ngx_str_t ecdh_curve;
42 | ngx_str_t client_certificate;
43 | ngx_str_t trusted_certificate;
44 | ngx_str_t crl;
45 |
46 | ngx_str_t ciphers;
47 |
48 | ngx_array_t *passwords;
49 |
50 | ngx_shm_zone_t *shm_zone;
51 |
52 | ngx_flag_t session_tickets;
53 | ngx_array_t *session_ticket_keys;
54 |
55 | u_char *file;
56 | ngx_uint_t line;
57 | } ngx_stream_ssl_conf_t;
58 |
59 |
60 | extern ngx_module_t ngx_stream_ssl_module;
61 |
62 |
63 | #endif /* _NGX_STREAM_SSL_H_INCLUDED_ */
64 |
--------------------------------------------------------------------------------
/nginx-geoip2/ngx_http_geoip2_module-1.0/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014, Lee Valentine
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification,
5 | are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice, this
11 | list of conditions and the following disclaimer in the documentation and/or
12 | other materials provided with the distribution.
13 |
14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
18 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 |
--------------------------------------------------------------------------------
/nginx-geoip2/ngx_http_geoip2_module-1.0/README.md:
--------------------------------------------------------------------------------
1 | Description
2 | ===========
3 |
4 | **ngx_http_geoip2_module** - creates variables with values from the maxmind geoip2 databases based on the client IP (supports both IPv4 and IPv6)
5 |
6 | ## Installing
7 | First install [libmaxminddb](https://github.com/maxmind/libmaxminddb) as described in its [README.md
8 | file](https://github.com/maxmind/libmaxminddb/blob/master/README.md#installing-from-a-tarball).
9 |
10 | Compile nginx:
11 | ```
12 | ./configure --add-module=/path/to/ngx_http_geoip2_module
13 | make
14 | make install
15 | ```
16 |
17 | ## Download Maxmind GeoLite2 Database (optional)
18 | The free GeoLite2 databases are available from [Maxminds website](http://dev.maxmind.com/geoip/geoip2/geolite2/)
19 |
20 | [GeoLite2 City](http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz)
21 | [GeoLite2 Country](http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz)
22 |
23 | ## Example Usage:
24 | ```
25 | http {
26 | ...
27 | geoip2 /etc/maxmind-country.mmdb {
28 | $geoip2_data_country_code default=US country iso_code;
29 | $geoip2_data_country_name country names en;
30 | }
31 |
32 | geoip2 /etc/maxmind-city.mmdb {
33 | $geoip2_data_city_name default=London city names en;
34 | }
35 | ....
36 | }
37 | ```
38 |
--------------------------------------------------------------------------------
/nginx-geoip2/ngx_http_geoip2_module-1.0/config:
--------------------------------------------------------------------------------
1 | ngx_feature="MaxmindDB library"
2 | ngx_feature_name=
3 | ngx_feature_run=no
4 | ngx_feature_incs="#include "
5 | ngx_feature_libs=-lmaxminddb
6 | . auto/feature
7 |
8 | if [ $ngx_found = yes ]; then
9 | ngx_addon_name=ngx_http_geoip2_module
10 | HTTP_MODULES="$HTTP_MODULES ngx_http_geoip2_module"
11 | NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_geoip2_module.c"
12 | CORE_LIBS="$CORE_LIBS -lmaxminddb"
13 | else
14 | cat << END
15 | $0: error: the geoip2 module requires the maxminddb library.
16 | END
17 | exit 1
18 | fi
19 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/.gitignore:
--------------------------------------------------------------------------------
1 | *.diff
2 | *.patch
3 | *.orig
4 | *.rej
5 |
6 | *~
7 | *.a
8 | *.lo
9 | *.o
10 | *.dylib
11 |
12 | *.gcda
13 | *.gcno
14 | *.gcov
15 |
16 | /example
17 | /example64
18 | /examplesh
19 | /libz.so*
20 | /minigzip
21 | /minigzip64
22 | /minigzipsh
23 | /zlib.pc
24 |
25 | .DS_Store
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/ChangeLog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/ChangeLog
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/Makefile:
--------------------------------------------------------------------------------
1 | all:
2 | -@echo "Please use ./configure first. Thank you."
3 |
4 | distclean:
5 | make -f Makefile.in distclean
6 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/README.contrib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/README.contrib
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/ada/zlib.gpr:
--------------------------------------------------------------------------------
1 | project Zlib is
2 |
3 | for Languages use ("Ada");
4 | for Source_Dirs use (".");
5 | for Object_Dir use ".";
6 | for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo");
7 |
8 | package Compiler is
9 | for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst");
10 | end Compiler;
11 |
12 | package Linker is
13 | for Default_Switches ("ada") use ("-lz");
14 | end Linker;
15 |
16 | package Builder is
17 | for Default_Switches ("ada") use ("-s", "-gnatQ");
18 | end Builder;
19 |
20 | end Zlib;
21 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/blast/Makefile:
--------------------------------------------------------------------------------
1 | blast: blast.c blast.h
2 | cc -DTEST -o blast blast.c
3 |
4 | test: blast
5 | blast < test.pk | cmp - test.txt
6 |
7 | clean:
8 | rm -f blast blast.o
9 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/blast/README:
--------------------------------------------------------------------------------
1 | Read blast.h for purpose and usage.
2 |
3 | Mark Adler
4 | madler@alumni.caltech.edu
5 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/blast/test.pk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/blast/test.pk
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/blast/test.txt:
--------------------------------------------------------------------------------
1 | AIAIAIAIAIAIA
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/delphi/ZLibConst.pas:
--------------------------------------------------------------------------------
1 | unit ZLibConst;
2 |
3 | interface
4 |
5 | resourcestring
6 | sTargetBufferTooSmall = 'ZLib error: target buffer may be too small';
7 | sInvalidStreamOp = 'Invalid stream operation';
8 |
9 | implementation
10 |
11 | end.
12 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib.build:
--------------------------------------------------------------------------------
1 |
2 |
3 | A .Net wrapper library around ZLib1.dll
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib.chm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib.chm
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 8.00
2 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}"
3 | ProjectSection(ProjectDependencies) = postProject
4 | EndProjectSection
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfiguration) = preSolution
8 | Debug = Debug
9 | Release = Release
10 | EndGlobalSection
11 | GlobalSection(ProjectConfiguration) = postSolution
12 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET
13 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET
14 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET
15 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET
16 | EndGlobalSection
17 | GlobalSection(ExtensibilityGlobals) = postSolution
18 | EndGlobalSection
19 | GlobalSection(ExtensibilityAddIns) = postSolution
20 | EndGlobalSection
21 | EndGlobal
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/ChecksumImpl.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/ChecksumImpl.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/CircularBuffer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/CircularBuffer.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/CodecBase.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/CodecBase.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/Deflater.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/Deflater.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/DotZLib.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/DotZLib.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/GZipStream.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/GZipStream.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/Inflater.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/DotZLib/Inflater.cs
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/dotzlib/LICENSE_1_0.txt:
--------------------------------------------------------------------------------
1 | Boost Software License - Version 1.0 - August 17th, 2003
2 |
3 | Permission is hereby granted, free of charge, to any person or organization
4 | obtaining a copy of the software and accompanying documentation covered by
5 | this license (the "Software") to use, reproduce, display, distribute,
6 | execute, and transmit the Software, and to prepare derivative works of the
7 | Software, and to permit third-parties to whom the Software is furnished to
8 | do so, all subject to the following:
9 |
10 | The copyright notices in the Software and this entire statement, including
11 | the above license grant, this restriction and the following disclaimer,
12 | must be included in all copies of the Software, in whole or in part, and
13 | all derivative works of the Software, unless such copies or derivative
14 | works are solely in the form of machine-executable object code generated by
15 | a source language processor.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 | DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/infback9/README:
--------------------------------------------------------------------------------
1 | See infback9.h for what this is and how to use it.
2 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/infback9/infback9.h:
--------------------------------------------------------------------------------
1 | /* infback9.h -- header for using inflateBack9 functions
2 | * Copyright (C) 2003 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /*
7 | * This header file and associated patches provide a decoder for PKWare's
8 | * undocumented deflate64 compression method (method 9). Use with infback9.c,
9 | * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported.
10 | * This should be compiled with zlib, since it uses zutil.h and zutil.o.
11 | * This code has not yet been tested on 16-bit architectures. See the
12 | * comments in zlib.h for inflateBack() usage. These functions are used
13 | * identically, except that there is no windowBits parameter, and a 64K
14 | * window must be provided. Also if int's are 16 bits, then a zero for
15 | * the third parameter of the "out" function actually means 65536UL.
16 | * zlib.h must be included before this header file.
17 | */
18 |
19 | #ifdef __cplusplus
20 | extern "C" {
21 | #endif
22 |
23 | ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm,
24 | in_func in, void FAR *in_desc,
25 | out_func out, void FAR *out_desc));
26 | ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm));
27 | ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm,
28 | unsigned char FAR *window,
29 | const char *version,
30 | int stream_size));
31 | #define inflateBack9Init(strm, window) \
32 | inflateBack9Init_((strm), (window), \
33 | ZLIB_VERSION, sizeof(z_stream))
34 |
35 | #ifdef __cplusplus
36 | }
37 | #endif
38 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/iostream/test.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include "zfstream.h"
3 |
4 | int main() {
5 |
6 | // Construct a stream object with this filebuffer. Anything sent
7 | // to this stream will go to standard out.
8 | gzofstream os( 1, ios::out );
9 |
10 | // This text is getting compressed and sent to stdout.
11 | // To prove this, run 'test | zcat'.
12 | os << "Hello, Mommy" << endl;
13 |
14 | os << setcompressionlevel( Z_NO_COMPRESSION );
15 | os << "hello, hello, hi, ho!" << endl;
16 |
17 | setcompressionlevel( os, Z_DEFAULT_COMPRESSION )
18 | << "I'm compressing again" << endl;
19 |
20 | os.close();
21 |
22 | return 0;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/iostream2/zstream_test.cpp:
--------------------------------------------------------------------------------
1 | #include "zstream.h"
2 | #include
3 | #include
4 | #include
5 |
6 | void main() {
7 | char h[256] = "Hello";
8 | char* g = "Goodbye";
9 | ozstream out("temp.gz");
10 | out < "This works well" < h < g;
11 | out.close();
12 |
13 | izstream in("temp.gz"); // read it back
14 | char *x = read_string(in), *y = new char[256], z[256];
15 | in > y > z;
16 | in.close();
17 | cout << x << endl << y << endl << z << endl;
18 |
19 | out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results
20 | out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl;
21 | out << z << endl << y << endl << x << endl;
22 | out << 1.1234567890123456789 << endl;
23 |
24 | delete[] x; delete[] y;
25 | }
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/iostream3/README:
--------------------------------------------------------------------------------
1 | These classes provide a C++ stream interface to the zlib library. It allows you
2 | to do things like:
3 |
4 | gzofstream outf("blah.gz");
5 | outf << "These go into the gzip file " << 123 << endl;
6 |
7 | It does this by deriving a specialized stream buffer for gzipped files, which is
8 | the way Stroustrup would have done it. :->
9 |
10 | The gzifstream and gzofstream classes were originally written by Kevin Ruland
11 | and made available in the zlib contrib/iostream directory. The older version still
12 | compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of
13 | this version.
14 |
15 | The new classes are as standard-compliant as possible, closely following the
16 | approach of the standard library's fstream classes. It compiles under gcc versions
17 | 3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard
18 | library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs
19 | from the previous one in the following respects:
20 | - added showmanyc
21 | - added setbuf, with support for unbuffered output via setbuf(0,0)
22 | - a few bug fixes of stream behavior
23 | - gzipped output file opened with default compression level instead of maximum level
24 | - setcompressionlevel()/strategy() members replaced by single setcompression()
25 |
26 | The code is provided "as is", with the permission to use, copy, modify, distribute
27 | and sell it for any purpose without fee.
28 |
29 | Ludwig Schwardt
30 |
31 |
32 | DSP Lab
33 | Electrical & Electronic Engineering Department
34 | University of Stellenbosch
35 | South Africa
36 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/iostream3/TODO:
--------------------------------------------------------------------------------
1 | Possible upgrades to gzfilebuf:
2 |
3 | - The ability to do putback (e.g. putbackfail)
4 |
5 | - The ability to seek (zlib supports this, but could be slow/tricky)
6 |
7 | - Simultaneous read/write access (does it make sense?)
8 |
9 | - Support for ios_base::ate open mode
10 |
11 | - Locale support?
12 |
13 | - Check public interface to see which calls give problems
14 | (due to dependence on library internals)
15 |
16 | - Override operator<<(ostream&, gzfilebuf*) to allow direct copying
17 | of stream buffer to stream ( i.e. os << is.rdbuf(); )
18 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/iostream3/test.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Test program for gzifstream and gzofstream
3 | *
4 | * by Ludwig Schwardt
5 | * original version by Kevin Ruland
6 | */
7 |
8 | #include "zfstream.h"
9 | #include // for cout
10 |
11 | int main() {
12 |
13 | gzofstream outf;
14 | gzifstream inf;
15 | char buf[80];
16 |
17 | outf.open("test1.txt.gz");
18 | outf << "The quick brown fox sidestepped the lazy canine\n"
19 | << 1.3 << "\nPlan " << 9 << std::endl;
20 | outf.close();
21 | std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n"
22 | << "The quick brown fox sidestepped the lazy canine\n"
23 | << 1.3 << "\nPlan " << 9 << std::endl;
24 |
25 | std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n";
26 | inf.open("test1.txt.gz");
27 | while (inf.getline(buf,80,'\n')) {
28 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n";
29 | }
30 | inf.close();
31 |
32 | outf.rdbuf()->pubsetbuf(0,0);
33 | outf.open("test2.txt.gz");
34 | outf << setcompression(Z_NO_COMPRESSION)
35 | << "The quick brown fox sidestepped the lazy canine\n"
36 | << 1.3 << "\nPlan " << 9 << std::endl;
37 | outf.close();
38 | std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form";
39 |
40 | std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n";
41 | inf.rdbuf()->pubsetbuf(0,0);
42 | inf.open("test2.txt.gz");
43 | while (inf.getline(buf,80,'\n')) {
44 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n";
45 | }
46 | inf.close();
47 |
48 | return 0;
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/masmx64/bld_ml64.bat:
--------------------------------------------------------------------------------
1 | ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
2 | ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
3 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/masmx64/readme.txt:
--------------------------------------------------------------------------------
1 | Summary
2 | -------
3 | This directory contains ASM implementations of the functions
4 | longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t),
5 | for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits.
6 |
7 | gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits
8 | assembly optimized version from Jean-loup Gailly original longest_match function
9 |
10 | inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
11 | original function from Mark Adler
12 |
13 | Use instructions
14 | ----------------
15 | Assemble the .asm files using MASM and put the object files into the zlib source
16 | directory. You can also get object files here:
17 |
18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
19 |
20 | define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
21 | and inffasx64.obj and gvmat64.obj as object to link.
22 |
23 |
24 | Build instructions
25 | ------------------
26 | run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe)
27 |
28 | ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
29 |
30 | You can get Windows 2003 server DDK with ml64 and cl for AMD64 from
31 | http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
32 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/masmx86/bld_ml32.bat:
--------------------------------------------------------------------------------
1 | ml /coff /Zi /c /Flmatch686.lst match686.asm
2 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm
3 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/masmx86/readme.txt:
--------------------------------------------------------------------------------
1 |
2 | Summary
3 | -------
4 | This directory contains ASM implementations of the functions
5 | longest_match() and inflate_fast().
6 |
7 |
8 | Use instructions
9 | ----------------
10 | Assemble using MASM, and copy the object files into the zlib source
11 | directory, then run the appropriate makefile, as suggested below. You can
12 | donwload MASM from here:
13 |
14 | http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
15 |
16 | You can also get objects files here:
17 |
18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
19 |
20 | Build instructions
21 | ------------------
22 | * With Microsoft C and MASM:
23 | nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
24 |
25 | * With Borland C and TASM:
26 | make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"
27 |
28 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/Makefile:
--------------------------------------------------------------------------------
1 | CC=cc
2 | CFLAGS=-O -I../..
3 |
4 | UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a
5 | ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a
6 |
7 | .c.o:
8 | $(CC) -c $(CFLAGS) $*.c
9 |
10 | all: miniunz minizip
11 |
12 | miniunz: $(UNZ_OBJS)
13 | $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
14 |
15 | minizip: $(ZIP_OBJS)
16 | $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
17 |
18 | test: miniunz minizip
19 | ./minizip test readme.txt
20 | ./miniunz -l test.zip
21 | mv readme.txt readme.old
22 | ./miniunz test.zip
23 |
24 | clean:
25 | /bin/rm -f *.o *~ minizip miniunz
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/Makefile.am:
--------------------------------------------------------------------------------
1 | lib_LTLIBRARIES = libminizip.la
2 |
3 | if COND_DEMOS
4 | bin_PROGRAMS = miniunzip minizip
5 | endif
6 |
7 | zlib_top_srcdir = $(top_srcdir)/../..
8 | zlib_top_builddir = $(top_builddir)/../..
9 |
10 | AM_CPPFLAGS = -I$(zlib_top_srcdir)
11 | AM_LDFLAGS = -L$(zlib_top_builddir)
12 |
13 | if WIN32
14 | iowin32_src = iowin32.c
15 | iowin32_h = iowin32.h
16 | endif
17 |
18 | libminizip_la_SOURCES = \
19 | ioapi.c \
20 | mztools.c \
21 | unzip.c \
22 | zip.c \
23 | ${iowin32_src}
24 |
25 | libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz
26 |
27 | minizip_includedir = $(includedir)/minizip
28 | minizip_include_HEADERS = \
29 | crypt.h \
30 | ioapi.h \
31 | mztools.h \
32 | unzip.h \
33 | zip.h \
34 | ${iowin32_h}
35 |
36 | pkgconfigdir = $(libdir)/pkgconfig
37 | pkgconfig_DATA = minizip.pc
38 |
39 | EXTRA_PROGRAMS = miniunzip minizip
40 |
41 | miniunzip_SOURCES = miniunz.c
42 | miniunzip_LDADD = libminizip.la
43 |
44 | minizip_SOURCES = minizip.c
45 | minizip_LDADD = libminizip.la -lz
46 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/MiniZip64_Changes.txt:
--------------------------------------------------------------------------------
1 |
2 | MiniZip 1.1 was derrived from MiniZip at version 1.01f
3 |
4 | Change in 1.0 (Okt 2009)
5 | - **TODO - Add history**
6 |
7 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/configure.ac:
--------------------------------------------------------------------------------
1 | # -*- Autoconf -*-
2 | # Process this file with autoconf to produce a configure script.
3 |
4 | AC_INIT([minizip], [1.2.8], [bugzilla.redhat.com])
5 | AC_CONFIG_SRCDIR([minizip.c])
6 | AM_INIT_AUTOMAKE([foreign])
7 | LT_INIT
8 |
9 | AC_MSG_CHECKING([whether to build example programs])
10 | AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs]))
11 | AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes])
12 | if test "$enable_demos" = yes
13 | then
14 | AC_MSG_RESULT([yes])
15 | else
16 | AC_MSG_RESULT([no])
17 | fi
18 |
19 | case "${host}" in
20 | *-mingw* | mingw*)
21 | WIN32="yes"
22 | ;;
23 | *)
24 | ;;
25 | esac
26 | AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
27 |
28 |
29 | AC_SUBST([HAVE_UNISTD_H], [0])
30 | AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], [])
31 | AC_CONFIG_FILES([Makefile minizip.pc])
32 | AC_OUTPUT
33 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/iowin32.h:
--------------------------------------------------------------------------------
1 | /* iowin32.h -- IO base function header for compress/uncompress .zip
2 | Version 1.1, February 14h, 2010
3 | part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
4 |
5 | Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
6 |
7 | Modifications for Zip64 support
8 | Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
9 |
10 | For more info read MiniZip_info.txt
11 |
12 | */
13 |
14 | #include
15 |
16 |
17 | #ifdef __cplusplus
18 | extern "C" {
19 | #endif
20 |
21 | void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
22 | void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def));
23 | void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def));
24 | void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def));
25 |
26 | #ifdef __cplusplus
27 | }
28 | #endif
29 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/make_vms.com:
--------------------------------------------------------------------------------
1 | $ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig
2 | $ open/write zdef vmsdefs.h
3 | $ copy sys$input: zdef
4 | $ deck
5 | #define unix
6 | #define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from
7 | #define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator
8 | #define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord
9 | #define Write_EndOfCentralDirectoryRecord Write_EoDRecord
10 | $ eod
11 | $ close zdef
12 | $ copy vmsdefs.h,ioapi.h_orig ioapi.h
13 | $ cc/include=[--]/prefix=all ioapi.c
14 | $ cc/include=[--]/prefix=all miniunz.c
15 | $ cc/include=[--]/prefix=all unzip.c
16 | $ cc/include=[--]/prefix=all minizip.c
17 | $ cc/include=[--]/prefix=all zip.c
18 | $ link miniunz,unzip,ioapi,[--]libz.olb/lib
19 | $ link minizip,zip,ioapi,[--]libz.olb/lib
20 | $ mcr []minizip test minizip_info.txt
21 | $ mcr []miniunz -l test.zip
22 | $ rename minizip_info.txt; minizip_info.txt_old
23 | $ mcr []miniunz test.zip
24 | $ delete test.zip;*
25 | $exit
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/minizip.1:
--------------------------------------------------------------------------------
1 | .\" Hey, EMACS: -*- nroff -*-
2 | .TH minizip 1 "May 2, 2001"
3 | .\" Please adjust this date whenever revising the manpage.
4 | .\"
5 | .\" Some roff macros, for reference:
6 | .\" .nh disable hyphenation
7 | .\" .hy enable hyphenation
8 | .\" .ad l left justify
9 | .\" .ad b justify to both left and right margins
10 | .\" .nf disable filling
11 | .\" .fi enable filling
12 | .\" .br insert line break
13 | .\" .sp insert n+1 empty lines
14 | .\" for manpage-specific macros, see man(7)
15 | .SH NAME
16 | minizip - create ZIP archives
17 | .SH SYNOPSIS
18 | .B minizip
19 | .RI [ -o ]
20 | zipfile [ " files" ... ]
21 | .SH DESCRIPTION
22 | .B minizip
23 | is a simple tool which allows the creation of compressed file archives
24 | in the ZIP format used by the MS-DOS utility PKZIP. It was written as
25 | a demonstration of the
26 | .IR zlib (3)
27 | library and therefore lack many of the features of the
28 | .IR zip (1)
29 | program.
30 | .SH OPTIONS
31 | The first argument supplied is the name of the ZIP archive to create or
32 | .RI -o
33 | in which case it is ignored and the second argument treated as the
34 | name of the ZIP file. If the ZIP file already exists it will be
35 | overwritten.
36 | .PP
37 | Subsequent arguments specify a list of files to place in the ZIP
38 | archive. If none are specified then an empty archive will be created.
39 | .SH SEE ALSO
40 | .BR miniunzip (1),
41 | .BR zlib (3),
42 | .BR zip (1).
43 | .SH AUTHOR
44 | This program was written by Gilles Vollant. This manual page was
45 | written by Mark Brown .
46 |
47 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/minizip.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@/minizip
5 |
6 | Name: minizip
7 | Description: Minizip zip file manipulation library
8 | Requires:
9 | Version: @PACKAGE_VERSION@
10 | Libs: -L${libdir} -lminizip
11 | Libs.private: -lz
12 | Cflags: -I${includedir}
13 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/minizip/mztools.h:
--------------------------------------------------------------------------------
1 | /*
2 | Additional tools for Minizip
3 | Code: Xavier Roche '2004
4 | License: Same as ZLIB (www.gzip.org)
5 | */
6 |
7 | #ifndef _zip_tools_H
8 | #define _zip_tools_H
9 |
10 | #ifdef __cplusplus
11 | extern "C" {
12 | #endif
13 |
14 | #ifndef _ZLIB_H
15 | #include "zlib.h"
16 | #endif
17 |
18 | #include "unzip.h"
19 |
20 | /* Repair a ZIP file (missing central directory)
21 | file: file to recover
22 | fileOut: output file after recovery
23 | fileOutTmp: temporary file name used for recovery
24 | */
25 | extern int ZEXPORT unzRepair(const char* file,
26 | const char* fileOut,
27 | const char* fileOutTmp,
28 | uLong* nRecovered,
29 | uLong* bytesRecovered);
30 |
31 |
32 | #ifdef __cplusplus
33 | }
34 | #endif
35 |
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/puff/puff.h:
--------------------------------------------------------------------------------
1 | /* puff.h
2 | Copyright (C) 2002-2013 Mark Adler, all rights reserved
3 | version 2.3, 21 Jan 2013
4 |
5 | This software is provided 'as-is', without any express or implied
6 | warranty. In no event will the author be held liable for any damages
7 | arising from the use of this software.
8 |
9 | Permission is granted to anyone to use this software for any purpose,
10 | including commercial applications, and to alter it and redistribute it
11 | freely, subject to the following restrictions:
12 |
13 | 1. The origin of this software must not be misrepresented; you must not
14 | claim that you wrote the original software. If you use this software
15 | in a product, an acknowledgment in the product documentation would be
16 | appreciated but is not required.
17 | 2. Altered source versions must be plainly marked as such, and must not be
18 | misrepresented as being the original software.
19 | 3. This notice may not be removed or altered from any source distribution.
20 |
21 | Mark Adler madler@alumni.caltech.edu
22 | */
23 |
24 |
25 | /*
26 | * See puff.c for purpose and usage.
27 | */
28 | #ifndef NIL
29 | # define NIL ((unsigned char *)0) /* for no output option */
30 | #endif
31 |
32 | int puff(unsigned char *dest, /* pointer to destination pointer */
33 | unsigned long *destlen, /* amount of output space */
34 | const unsigned char *source, /* pointer to source data pointer */
35 | unsigned long *sourcelen); /* amount of input available */
36 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/puff/zeros.raw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/contrib/puff/zeros.raw
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/testzlib/testzlib.txt:
--------------------------------------------------------------------------------
1 | To build testzLib with Visual Studio 2005:
2 |
3 | copy to a directory file from :
4 | - root of zLib tree
5 | - contrib/testzlib
6 | - contrib/masmx86
7 | - contrib/masmx64
8 | - contrib/vstudio/vc7
9 |
10 | and open testzlib8.sln
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/untgz/Makefile:
--------------------------------------------------------------------------------
1 | CC=cc
2 | CFLAGS=-g
3 |
4 | untgz: untgz.o ../../libz.a
5 | $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz
6 |
7 | untgz.o: untgz.c ../../zlib.h
8 | $(CC) $(CFLAGS) -c -I../.. untgz.c
9 |
10 | ../../libz.a:
11 | cd ../..; ./configure; make
12 |
13 | clean:
14 | rm -f untgz untgz.o *~
15 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/untgz/Makefile.msc:
--------------------------------------------------------------------------------
1 | CC=cl
2 | CFLAGS=-MD
3 |
4 | untgz.exe: untgz.obj ..\..\zlib.lib
5 | $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib
6 |
7 | untgz.obj: untgz.c ..\..\zlib.h
8 | $(CC) $(CFLAGS) -c -I..\.. untgz.c
9 |
10 | ..\..\zlib.lib:
11 | cd ..\..
12 | $(MAKE) -f win32\makefile.msc
13 | cd contrib\untgz
14 |
15 | clean:
16 | -del untgz.obj
17 | -del untgz.exe
18 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/vstudio/vc10/miniunz.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {048af943-022b-4db6-beeb-a54c34774ee2}
6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm
7 |
8 |
9 | {c1d600d2-888f-4aea-b73e-8b0dd9befa0c}
10 | h;hpp;hxx;hm;inl;inc
11 |
12 |
13 | {0844199a-966b-4f19-81db-1e0125e141b9}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/vstudio/vc10/minizip.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {c0419b40-bf50-40da-b153-ff74215b79de}
6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm
7 |
8 |
9 | {bb87b070-735b-478e-92ce-7383abb2f36c}
10 | h;hpp;hxx;hm;inl;inc
11 |
12 |
13 | {f46ab6a6-548f-43cb-ae96-681abb5bd5db}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/vstudio/vc10/testzlibdll.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {fa61a89f-93fc-4c89-b29e-36224b7592f4}
6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm
7 |
8 |
9 | {d4b85da0-2ba2-4934-b57f-e2584e3848ee}
10 | h;hpp;hxx;hm;inl;inc
11 |
12 |
13 | {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/vstudio/vc10/zlib.rc:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #define IDR_VERSION1 1
4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 | FILEVERSION 1,2,8,0
6 | PRODUCTVERSION 1,2,8,0
7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 | FILEFLAGS 0
9 | FILEOS VOS_DOS_WINDOWS32
10 | FILETYPE VFT_DLL
11 | FILESUBTYPE 0 // not used
12 | BEGIN
13 | BLOCK "StringFileInfo"
14 | BEGIN
15 | BLOCK "040904E4"
16 | //language ID = U.S. English, char set = Windows, Multilingual
17 |
18 | BEGIN
19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 | VALUE "FileVersion", "1.2.8\0"
21 | VALUE "InternalName", "zlib\0"
22 | VALUE "OriginalFilename", "zlibwapi.dll\0"
23 | VALUE "ProductName", "ZLib.DLL\0"
24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 | VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
26 | END
27 | END
28 | BLOCK "VarFileInfo"
29 | BEGIN
30 | VALUE "Translation", 0x0409, 1252
31 | END
32 | END
33 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/vstudio/vc11/zlib.rc:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #define IDR_VERSION1 1
4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 | FILEVERSION 1,2,8,0
6 | PRODUCTVERSION 1,2,8,0
7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 | FILEFLAGS 0
9 | FILEOS VOS_DOS_WINDOWS32
10 | FILETYPE VFT_DLL
11 | FILESUBTYPE 0 // not used
12 | BEGIN
13 | BLOCK "StringFileInfo"
14 | BEGIN
15 | BLOCK "040904E4"
16 | //language ID = U.S. English, char set = Windows, Multilingual
17 |
18 | BEGIN
19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 | VALUE "FileVersion", "1.2.8\0"
21 | VALUE "InternalName", "zlib\0"
22 | VALUE "OriginalFilename", "zlibwapi.dll\0"
23 | VALUE "ProductName", "ZLib.DLL\0"
24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 | VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
26 | END
27 | END
28 | BLOCK "VarFileInfo"
29 | BEGIN
30 | VALUE "Translation", 0x0409, 1252
31 | END
32 | END
33 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/contrib/vstudio/vc9/zlib.rc:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #define IDR_VERSION1 1
4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 | FILEVERSION 1,2,8,0
6 | PRODUCTVERSION 1,2,8,0
7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 | FILEFLAGS 0
9 | FILEOS VOS_DOS_WINDOWS32
10 | FILETYPE VFT_DLL
11 | FILESUBTYPE 0 // not used
12 | BEGIN
13 | BLOCK "StringFileInfo"
14 | BEGIN
15 | BLOCK "040904E4"
16 | //language ID = U.S. English, char set = Windows, Multilingual
17 |
18 | BEGIN
19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 | VALUE "FileVersion", "1.2.8\0"
21 | VALUE "InternalName", "zlib\0"
22 | VALUE "OriginalFilename", "zlibwapi.dll\0"
23 | VALUE "ProductName", "ZLib.DLL\0"
24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 | VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
26 | END
27 | END
28 | BLOCK "VarFileInfo"
29 | BEGIN
30 | VALUE "Translation", 0x0409, 1252
31 | END
32 | END
33 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/gzclose.c:
--------------------------------------------------------------------------------
1 | /* gzclose.c -- zlib gzclose() function
2 | * Copyright (C) 2004, 2010 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | #include "gzguts.h"
7 |
8 | /* gzclose() is in a separate file so that it is linked in only if it is used.
9 | That way the other gzclose functions can be used instead to avoid linking in
10 | unneeded compression or decompression routines. */
11 | int ZEXPORT gzclose(file)
12 | gzFile file;
13 | {
14 | #ifndef NO_GZCOMPRESS
15 | gz_statep state;
16 |
17 | if (file == NULL)
18 | return Z_STREAM_ERROR;
19 | state = (gz_statep)file;
20 |
21 | return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file);
22 | #else
23 | return gzclose_r(file);
24 | #endif
25 | }
26 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/inffast.h:
--------------------------------------------------------------------------------
1 | /* inffast.h -- header to use inffast.c
2 | * Copyright (C) 1995-2003, 2010 Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* WARNING: this file should *not* be used by applications. It is
7 | part of the implementation of the compression library and is
8 | subject to change. Applications should only use zlib.h.
9 | */
10 |
11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
12 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/msdos/Makefile.emx:
--------------------------------------------------------------------------------
1 | # Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
2 | # Copyright (C) 1995-1998 Jean-loup Gailly.
3 | # For conditions of distribution and use, see copyright notice in zlib.h
4 |
5 | # To compile, or to compile and test, type:
6 | #
7 | # make -fmakefile.emx; make test -fmakefile.emx
8 | #
9 |
10 | CC=gcc
11 |
12 | #CFLAGS=-MMD -O
13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
14 | #CFLAGS=-MMD -g -DDEBUG
15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
16 | -Wstrict-prototypes -Wmissing-prototypes
17 |
18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" .
19 | CP=copy /Y
20 | # If gnu install.exe is available, replace $(CP) with ginstall.
21 | INSTALL=$(CP)
22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out:
23 | RM=del
24 | LDLIBS=-L. -lzlib
25 | LD=$(CC) -s -o
26 | LDSHARED=$(CC)
27 |
28 | INCL=zlib.h zconf.h
29 | LIBS=zlib.a
30 |
31 | AR=ar rcs
32 |
33 | prefix=/usr/local
34 | exec_prefix = $(prefix)
35 |
36 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \
37 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
38 |
39 | TEST_OBJS = example.o minigzip.o
40 |
41 | all: example.exe minigzip.exe
42 |
43 | test: all
44 | ./example
45 | echo hello world | .\minigzip | .\minigzip -d
46 |
47 | %.o : %.c
48 | $(CC) $(CFLAGS) -c $< -o $@
49 |
50 | zlib.a: $(OBJS)
51 | $(AR) $@ $(OBJS)
52 |
53 | %.exe : %.o $(LIBS)
54 | $(LD) $@ $< $(LDLIBS)
55 |
56 |
57 | .PHONY : clean
58 |
59 | clean:
60 | $(RM) *.d
61 | $(RM) *.o
62 | $(RM) *.exe
63 | $(RM) zlib.a
64 | $(RM) foo.gz
65 |
66 | DEPS := $(wildcard *.d)
67 | ifneq ($(DEPS),)
68 | include $(DEPS)
69 | endif
70 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/nintendods/README:
--------------------------------------------------------------------------------
1 | This Makefile requires devkitARM (http://www.devkitpro.org/category/devkitarm/) and works inside "contrib/nds". It is based on a devkitARM template.
2 |
3 | Eduardo Costa
4 | January 3, 2009
5 |
6 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/old/Makefile.emx:
--------------------------------------------------------------------------------
1 | # Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98.
2 | # Copyright (C) 1995-1998 Jean-loup Gailly.
3 | # For conditions of distribution and use, see copyright notice in zlib.h
4 |
5 | # To compile, or to compile and test, type:
6 | #
7 | # make -fmakefile.emx; make test -fmakefile.emx
8 | #
9 |
10 | CC=gcc -Zwin32
11 |
12 | #CFLAGS=-MMD -O
13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
14 | #CFLAGS=-MMD -g -DDEBUG
15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
16 | -Wstrict-prototypes -Wmissing-prototypes
17 |
18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" .
19 | CP=copy /Y
20 | # If gnu install.exe is available, replace $(CP) with ginstall.
21 | INSTALL=$(CP)
22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out:
23 | RM=del
24 | LDLIBS=-L. -lzlib
25 | LD=$(CC) -s -o
26 | LDSHARED=$(CC)
27 |
28 | INCL=zlib.h zconf.h
29 | LIBS=zlib.a
30 |
31 | AR=ar rcs
32 |
33 | prefix=/usr/local
34 | exec_prefix = $(prefix)
35 |
36 | OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \
37 | gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
38 |
39 | TEST_OBJS = example.o minigzip.o
40 |
41 | all: example.exe minigzip.exe
42 |
43 | test: all
44 | ./example
45 | echo hello world | .\minigzip | .\minigzip -d
46 |
47 | %.o : %.c
48 | $(CC) $(CFLAGS) -c $< -o $@
49 |
50 | zlib.a: $(OBJS)
51 | $(AR) $@ $(OBJS)
52 |
53 | %.exe : %.o $(LIBS)
54 | $(LD) $@ $< $(LDLIBS)
55 |
56 |
57 | .PHONY : clean
58 |
59 | clean:
60 | $(RM) *.d
61 | $(RM) *.o
62 | $(RM) *.exe
63 | $(RM) zlib.a
64 | $(RM) foo.gz
65 |
66 | DEPS := $(wildcard *.d)
67 | ifneq ($(DEPS),)
68 | include $(DEPS)
69 | endif
70 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/old/README:
--------------------------------------------------------------------------------
1 | This directory contains files that have not been updated for zlib 1.2.x
2 |
3 | (Volunteers are encouraged to help clean this up. Thanks.)
4 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/old/descrip.mms:
--------------------------------------------------------------------------------
1 | # descrip.mms: MMS description file for building zlib on VMS
2 | # written by Martin P.J. Zinser
3 |
4 | cc_defs =
5 | c_deb =
6 |
7 | .ifdef __DECC__
8 | pref = /prefix=all
9 | .endif
10 |
11 | OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\
12 | deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\
13 | inftrees.obj, infcodes.obj, infutil.obj, inffast.obj
14 |
15 | CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF)
16 |
17 | all : example.exe minigzip.exe
18 | @ write sys$output " Example applications available"
19 | libz.olb : libz.olb($(OBJS))
20 | @ write sys$output " libz available"
21 |
22 | example.exe : example.obj libz.olb
23 | link example,libz.olb/lib
24 |
25 | minigzip.exe : minigzip.obj libz.olb
26 | link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
27 |
28 | clean :
29 | delete *.obj;*,libz.olb;*
30 |
31 |
32 | # Other dependencies.
33 | adler32.obj : zutil.h zlib.h zconf.h
34 | compress.obj : zlib.h zconf.h
35 | crc32.obj : zutil.h zlib.h zconf.h
36 | deflate.obj : deflate.h zutil.h zlib.h zconf.h
37 | example.obj : zlib.h zconf.h
38 | gzio.obj : zutil.h zlib.h zconf.h
39 | infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
40 | infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
41 | inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
42 | inflate.obj : zutil.h zlib.h zconf.h infblock.h
43 | inftrees.obj : zutil.h zlib.h zconf.h inftrees.h
44 | infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h
45 | minigzip.obj : zlib.h zconf.h
46 | trees.obj : deflate.h zutil.h zlib.h zconf.h
47 | uncompr.obj : zlib.h zconf.h
48 | zutil.obj : zutil.h zlib.h zconf.h
49 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/old/os2/zlib.def:
--------------------------------------------------------------------------------
1 | ;
2 | ; Slightly modified version of ../nt/zlib.dnt :-)
3 | ;
4 |
5 | LIBRARY Z
6 | DESCRIPTION "Zlib compression library for OS/2"
7 | CODE PRELOAD MOVEABLE DISCARDABLE
8 | DATA PRELOAD MOVEABLE MULTIPLE
9 |
10 | EXPORTS
11 | adler32
12 | compress
13 | crc32
14 | deflate
15 | deflateCopy
16 | deflateEnd
17 | deflateInit2_
18 | deflateInit_
19 | deflateParams
20 | deflateReset
21 | deflateSetDictionary
22 | gzclose
23 | gzdopen
24 | gzerror
25 | gzflush
26 | gzopen
27 | gzread
28 | gzwrite
29 | inflate
30 | inflateEnd
31 | inflateInit2_
32 | inflateInit_
33 | inflateReset
34 | inflateSetDictionary
35 | inflateSync
36 | uncompress
37 | zlibVersion
38 | gzprintf
39 | gzputc
40 | gzgetc
41 | gzseek
42 | gzrewind
43 | gztell
44 | gzeof
45 | gzsetparams
46 | zError
47 | inflateSyncPoint
48 | get_crc_table
49 | compress2
50 | gzputs
51 | gzgets
52 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/watcom/watcom_f.mak:
--------------------------------------------------------------------------------
1 | # Makefile for zlib
2 | # OpenWatcom flat model
3 | # Last updated: 28-Dec-2005
4 |
5 | # To use, do "wmake -f watcom_f.mak"
6 |
7 | C_SOURCE = adler32.c compress.c crc32.c deflate.c &
8 | gzclose.c gzlib.c gzread.c gzwrite.c &
9 | infback.c inffast.c inflate.c inftrees.c &
10 | trees.c uncompr.c zutil.c
11 |
12 | OBJS = adler32.obj compress.obj crc32.obj deflate.obj &
13 | gzclose.obj gzlib.obj gzread.obj gzwrite.obj &
14 | infback.obj inffast.obj inflate.obj inftrees.obj &
15 | trees.obj uncompr.obj zutil.obj
16 |
17 | CC = wcc386
18 | LINKER = wcl386
19 | CFLAGS = -zq -mf -3r -fp3 -s -bt=dos -oilrtfm -fr=nul -wx
20 | ZLIB_LIB = zlib_f.lib
21 |
22 | .C.OBJ:
23 | $(CC) $(CFLAGS) $[@
24 |
25 | all: $(ZLIB_LIB) example.exe minigzip.exe
26 |
27 | $(ZLIB_LIB): $(OBJS)
28 | wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj
29 | wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj
30 | wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj
31 | wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj
32 | wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj
33 |
34 | example.exe: $(ZLIB_LIB) example.obj
35 | $(LINKER) -ldos32a -fe=example.exe example.obj $(ZLIB_LIB)
36 |
37 | minigzip.exe: $(ZLIB_LIB) minigzip.obj
38 | $(LINKER) -ldos32a -fe=minigzip.exe minigzip.obj $(ZLIB_LIB)
39 |
40 | clean: .SYMBOLIC
41 | del *.obj
42 | del $(ZLIB_LIB)
43 | @echo Cleaning done
44 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/watcom/watcom_l.mak:
--------------------------------------------------------------------------------
1 | # Makefile for zlib
2 | # OpenWatcom large model
3 | # Last updated: 28-Dec-2005
4 |
5 | # To use, do "wmake -f watcom_l.mak"
6 |
7 | C_SOURCE = adler32.c compress.c crc32.c deflate.c &
8 | gzclose.c gzlib.c gzread.c gzwrite.c &
9 | infback.c inffast.c inflate.c inftrees.c &
10 | trees.c uncompr.c zutil.c
11 |
12 | OBJS = adler32.obj compress.obj crc32.obj deflate.obj &
13 | gzclose.obj gzlib.obj gzread.obj gzwrite.obj &
14 | infback.obj inffast.obj inflate.obj inftrees.obj &
15 | trees.obj uncompr.obj zutil.obj
16 |
17 | CC = wcc
18 | LINKER = wcl
19 | CFLAGS = -zq -ml -s -bt=dos -oilrtfm -fr=nul -wx
20 | ZLIB_LIB = zlib_l.lib
21 |
22 | .C.OBJ:
23 | $(CC) $(CFLAGS) $[@
24 |
25 | all: $(ZLIB_LIB) example.exe minigzip.exe
26 |
27 | $(ZLIB_LIB): $(OBJS)
28 | wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj
29 | wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj
30 | wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj
31 | wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj
32 | wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj
33 |
34 | example.exe: $(ZLIB_LIB) example.obj
35 | $(LINKER) -fe=example.exe example.obj $(ZLIB_LIB)
36 |
37 | minigzip.exe: $(ZLIB_LIB) minigzip.obj
38 | $(LINKER) -fe=minigzip.exe minigzip.obj $(ZLIB_LIB)
39 |
40 | clean: .SYMBOLIC
41 | del *.obj
42 | del $(ZLIB_LIB)
43 | @echo Cleaning done
44 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/win32/VisualC.txt:
--------------------------------------------------------------------------------
1 |
2 | To build zlib using the Microsoft Visual C++ environment,
3 | use the appropriate project from the projects/ directory.
4 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/win32/zlib.def:
--------------------------------------------------------------------------------
1 | ; zlib data compression library
2 | EXPORTS
3 | ; basic functions
4 | zlibVersion
5 | deflate
6 | deflateEnd
7 | inflate
8 | inflateEnd
9 | ; advanced functions
10 | deflateSetDictionary
11 | deflateCopy
12 | deflateReset
13 | deflateParams
14 | deflateTune
15 | deflateBound
16 | deflatePending
17 | deflatePrime
18 | deflateSetHeader
19 | inflateSetDictionary
20 | inflateGetDictionary
21 | inflateSync
22 | inflateCopy
23 | inflateReset
24 | inflateReset2
25 | inflatePrime
26 | inflateMark
27 | inflateGetHeader
28 | inflateBack
29 | inflateBackEnd
30 | zlibCompileFlags
31 | ; utility functions
32 | compress
33 | compress2
34 | compressBound
35 | uncompress
36 | gzopen
37 | gzdopen
38 | gzbuffer
39 | gzsetparams
40 | gzread
41 | gzwrite
42 | gzprintf
43 | gzvprintf
44 | gzputs
45 | gzgets
46 | gzputc
47 | gzgetc
48 | gzungetc
49 | gzflush
50 | gzseek
51 | gzrewind
52 | gztell
53 | gzoffset
54 | gzeof
55 | gzdirect
56 | gzclose
57 | gzclose_r
58 | gzclose_w
59 | gzerror
60 | gzclearerr
61 | ; large file functions
62 | gzopen64
63 | gzseek64
64 | gztell64
65 | gzoffset64
66 | adler32_combine64
67 | crc32_combine64
68 | ; checksum functions
69 | adler32
70 | crc32
71 | adler32_combine
72 | crc32_combine
73 | ; various hacks, don't look :)
74 | deflateInit_
75 | deflateInit2_
76 | inflateInit_
77 | inflateInit2_
78 | inflateBackInit_
79 | gzgetc_
80 | zError
81 | inflateSyncPoint
82 | get_crc_table
83 | inflateUndermine
84 | inflateResetKeep
85 | deflateResetKeep
86 | gzopen_w
87 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/win32/zlib1.rc:
--------------------------------------------------------------------------------
1 | #include
2 | #include "../zlib.h"
3 |
4 | #ifdef GCC_WINDRES
5 | VS_VERSION_INFO VERSIONINFO
6 | #else
7 | VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
8 | #endif
9 | FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
10 | PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0
11 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
12 | #ifdef _DEBUG
13 | FILEFLAGS 1
14 | #else
15 | FILEFLAGS 0
16 | #endif
17 | FILEOS VOS__WINDOWS32
18 | FILETYPE VFT_DLL
19 | FILESUBTYPE 0 // not used
20 | BEGIN
21 | BLOCK "StringFileInfo"
22 | BEGIN
23 | BLOCK "040904E4"
24 | //language ID = U.S. English, char set = Windows, Multilingual
25 | BEGIN
26 | VALUE "FileDescription", "zlib data compression library\0"
27 | VALUE "FileVersion", ZLIB_VERSION "\0"
28 | VALUE "InternalName", "zlib1.dll\0"
29 | VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
30 | VALUE "OriginalFilename", "zlib1.dll\0"
31 | VALUE "ProductName", "zlib\0"
32 | VALUE "ProductVersion", ZLIB_VERSION "\0"
33 | VALUE "Comments", "For more information visit http://www.zlib.net/\0"
34 | END
35 | END
36 | BLOCK "VarFileInfo"
37 | BEGIN
38 | VALUE "Translation", 0x0409, 1252
39 | END
40 | END
41 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/zlib.3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/nginx-geoip2/zlib-1.2.8/zlib.3.pdf
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/zlib.map:
--------------------------------------------------------------------------------
1 | ZLIB_1.2.0 {
2 | global:
3 | compressBound;
4 | deflateBound;
5 | inflateBack;
6 | inflateBackEnd;
7 | inflateBackInit_;
8 | inflateCopy;
9 | local:
10 | deflate_copyright;
11 | inflate_copyright;
12 | inflate_fast;
13 | inflate_table;
14 | zcalloc;
15 | zcfree;
16 | z_errmsg;
17 | gz_error;
18 | gz_intmax;
19 | _*;
20 | };
21 |
22 | ZLIB_1.2.0.2 {
23 | gzclearerr;
24 | gzungetc;
25 | zlibCompileFlags;
26 | } ZLIB_1.2.0;
27 |
28 | ZLIB_1.2.0.8 {
29 | deflatePrime;
30 | } ZLIB_1.2.0.2;
31 |
32 | ZLIB_1.2.2 {
33 | adler32_combine;
34 | crc32_combine;
35 | deflateSetHeader;
36 | inflateGetHeader;
37 | } ZLIB_1.2.0.8;
38 |
39 | ZLIB_1.2.2.3 {
40 | deflateTune;
41 | gzdirect;
42 | } ZLIB_1.2.2;
43 |
44 | ZLIB_1.2.2.4 {
45 | inflatePrime;
46 | } ZLIB_1.2.2.3;
47 |
48 | ZLIB_1.2.3.3 {
49 | adler32_combine64;
50 | crc32_combine64;
51 | gzopen64;
52 | gzseek64;
53 | gztell64;
54 | inflateUndermine;
55 | } ZLIB_1.2.2.4;
56 |
57 | ZLIB_1.2.3.4 {
58 | inflateReset2;
59 | inflateMark;
60 | } ZLIB_1.2.3.3;
61 |
62 | ZLIB_1.2.3.5 {
63 | gzbuffer;
64 | gzoffset;
65 | gzoffset64;
66 | gzclose_r;
67 | gzclose_w;
68 | } ZLIB_1.2.3.4;
69 |
70 | ZLIB_1.2.5.1 {
71 | deflatePending;
72 | } ZLIB_1.2.3.5;
73 |
74 | ZLIB_1.2.5.2 {
75 | deflateResetKeep;
76 | gzgetc_;
77 | inflateResetKeep;
78 | } ZLIB_1.2.5.1;
79 |
80 | ZLIB_1.2.7.1 {
81 | inflateGetDictionary;
82 | gzvprintf;
83 | } ZLIB_1.2.5.2;
84 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/zlib.pc.cmakein:
--------------------------------------------------------------------------------
1 | prefix=@CMAKE_INSTALL_PREFIX@
2 | exec_prefix=@CMAKE_INSTALL_PREFIX@
3 | libdir=@INSTALL_LIB_DIR@
4 | sharedlibdir=@INSTALL_LIB_DIR@
5 | includedir=@INSTALL_INC_DIR@
6 |
7 | Name: zlib
8 | Description: zlib compression library
9 | Version: @VERSION@
10 |
11 | Requires:
12 | Libs: -L${libdir} -L${sharedlibdir} -lz
13 | Cflags: -I${includedir}
14 |
--------------------------------------------------------------------------------
/nginx-geoip2/zlib-1.2.8/zlib.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | sharedlibdir=@sharedlibdir@
5 | includedir=@includedir@
6 |
7 | Name: zlib
8 | Description: zlib compression library
9 | Version: @VERSION@
10 |
11 | Requires:
12 | Libs: -L${libdir} -L${sharedlibdir} -lz
13 | Cflags: -I${includedir}
14 |
--------------------------------------------------------------------------------
/nginx-http2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | EXPOSE 80/tcp 443/tcp
6 |
7 | ENV NGINX_VERSION 1.26.3
8 |
9 | RUN apk add --no-cache openssl-dev~=3.3 pcre-dev zlib-dev build-base \
10 | && wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz \
11 | && tar -xzvf nginx-${NGINX_VERSION}.tar.gz \
12 | && cd nginx-${NGINX_VERSION} \
13 | && ./configure \
14 | --with-http_v2_module \
15 | --with-http_ssl_module \
16 | --with-openssl-opt=enable-tls1_3 \
17 | --with-http_realip_module \
18 | --with-http_stub_status_module \
19 | --with-threads \
20 | --with-ipv6 \
21 | && make -j$(getconf _NPROCESSORS_ONLN) \
22 | && make install \
23 | && apk del build-base \
24 | && rm -rf /nginx-*
25 |
26 | COPY nginx.conf /usr/local/nginx/conf/nginx.conf
27 |
28 | VOLUME [ "/usr/local/nginx/logs", "/usr/local/nginx/html", "/usr/local/nginx/conf" ]
29 |
30 | ENTRYPOINT [ "/usr/local/nginx/sbin/nginx" ]
31 | CMD [ "-c", "/usr/local/nginx/conf/nginx.conf" ]
32 |
--------------------------------------------------------------------------------
/nginx-http2/nginx.conf:
--------------------------------------------------------------------------------
1 | worker_processes 1;
2 | daemon off;
3 |
4 | events {
5 | worker_connections 1024;
6 | }
7 |
8 | http {
9 | include mime.types;
10 | default_type application/octet-stream;
11 |
12 | access_log off;
13 | sendfile on;
14 |
15 | server {
16 | listen 443 http2 default_server;
17 |
18 | ssl_certificate cert.pem;
19 | ssl_certificate_key cert.key;
20 |
21 | location / {
22 | root html;
23 | index index.html index.htm;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/nginx-rtmp/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:noble
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | ARG NGINX_VERSION="1.24.0"
6 |
7 | RUN apt-get update \
8 | && apt-get -y install --no-install-recommends build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev wget ca-certificates git \
9 | && mkdir -p /usr/local/src \
10 | && cd /usr/local/src \
11 | && git clone https://github.com/sergey-dryabzhinsky/nginx-rtmp-module.git \
12 | && wget -qO- http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz | tar -xz \
13 | && cd nginx-${NGINX_VERSION} \
14 | && ./configure \
15 | --with-http_ssl_module \
16 | --with-debug \
17 | --add-module=/usr/local/src/nginx-rtmp-module \
18 | && make -j$(getconf _NPROCESSORS_ONLN) \
19 | && make install \
20 | && cp /usr/local/src/nginx-rtmp-module/stat.xsl /usr/local/nginx/html/ \
21 | && apt-get -y remove --purge build-essential git-core wget \
22 | && apt-get -y autoremove --purge \
23 | && rm -rf /usr/local/src/* /var/lib/apt/lists/*
24 |
25 | # Forward request and error logs to Docker log collector
26 | RUN ln -sf /dev/stdout /usr/local/nginx/logs/access.log \
27 | && ln -sf /dev/stderr /usr/local/nginx/logs/error.log
28 |
29 | COPY conf/nginx.conf /usr/local/nginx/conf/
30 |
31 | EXPOSE 80/tcp 1935/tcp
32 |
33 | CMD [ "/usr/local/nginx/sbin/nginx" ]
34 |
--------------------------------------------------------------------------------
/nginx-rtmp/conf/nginx.conf:
--------------------------------------------------------------------------------
1 | worker_processes auto;
2 | daemon off;
3 | rtmp_auto_push on;
4 |
5 | events {
6 | worker_connections 1024;
7 | }
8 |
9 | # RTMP configuration
10 | rtmp {
11 | server {
12 | listen 1935; # Listen on standard RTMP port
13 |
14 | application live {
15 | live on;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/nginx/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | RUN apk add --no-cache nginx \
6 | && mkdir -p /tmp/nginx
7 |
8 | VOLUME [ "/etc/nginx" ]
9 |
10 | EXPOSE 80/tcp 443/tcp
11 |
12 | COPY nginx.conf /etc/nginx/nginx.conf
13 |
14 | ENTRYPOINT ["nginx"]
15 | CMD ["-c", "/etc/nginx/nginx.conf"]
16 |
--------------------------------------------------------------------------------
/nginx/nginx.conf:
--------------------------------------------------------------------------------
1 | user nobody;
2 | worker_processes 2;
3 | daemon off;
4 |
5 | events {
6 | worker_connections 1024;
7 | }
8 |
9 | http {
10 |
11 | include mime.types;
12 | default_type application/octet-stream;
13 | access_log off;
14 | sendfile on;
15 | keepalive_timeout 65;
16 |
17 | server {
18 |
19 | listen 80;
20 |
21 | server_name localhost;
22 |
23 | location / {
24 | root html;
25 | index index.html index.htm;
26 | }
27 |
28 | error_page 500 502 503 504 /50x.html;
29 | location = /50x.html {
30 | root html;
31 | }
32 |
33 | }
34 |
35 | include conf.d/*.conf;
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/pg/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM debian:bullseye-slim
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | ENV PG_VERSION="9.3"
6 | ENV PGDATA="/var/lib/postgresql/${PG_VERSION}/main"
7 |
8 | EXPOSE 5432/tcp
9 |
10 | RUN apt-get update && \
11 | DEBIAN_FRONTEND=noninteractive apt-get install -y lsb-release curl gnupg && \
12 | echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list && \
13 | curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
14 | apt-get update && \
15 | DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends postgresql-${PG_VERSION} postgresql-client-${PG_VERSION} postgresql-contrib-${PG_VERSION} pwgen && \
16 | apt-get clean && \
17 | apt-get autoremove -y && \
18 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/postgresql/*
19 |
20 | VOLUME ["/var/lib/postgresql"]
21 |
22 | COPY start /start
23 |
24 | CMD ["/start"]
25 |
--------------------------------------------------------------------------------
/pg/README.md:
--------------------------------------------------------------------------------
1 | # quay.io/voxxit/pg
2 |
--------------------------------------------------------------------------------
/pg/start:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | PG_VERSION=${PG_VERSION:-"9.3"}
4 | PWFILE=${PGDATA}/../pwfile
5 |
6 | if [ ! -f PWFILE ]; then
7 |
8 | # create actual datadir
9 | mkdir -p ${PGDATA}
10 | chown -Rf postgres:postgres /var/lib/postgresql
11 | chmod 0700 ${PGDATA}
12 |
13 | # generate the password & add it to the pwfile
14 | install -m 0600 -g postgres -o postgres /dev/null ${PWFILE}
15 | echo "${PASSWORD:-`pwgen -s 20 1`}" > ${PWFILE}
16 |
17 | # build initial db cluster
18 | su -c "/usr/lib/postgresql/${PG_VERSION}/bin/initdb \
19 | --pwfile=${PWFILE} \
20 | --username=postgres \
21 | --encoding=unicode \
22 | --auth=trust > /dev/null" postgres
23 |
24 | # disable SSL
25 | sed "s/ssl = true/#ssl = true/" -i ${PGDATA}/postgresql.conf
26 |
27 | # listen on all addresses
28 | sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" ${PGDATA}/postgresql.conf
29 |
30 | # add the pg_hba.conf entries
31 | echo -e "local\tall\tpostgres\t\ttrust" > ${PGDATA}/pg_hba.conf
32 | echo -e "host\tall\tall\t\tall\tmd5" >> ${PGDATA}/pg_hba.conf
33 |
34 | # log the postgres user/password
35 | echo "PGUSER=postgres"
36 | echo "PGPASSWORD=`cat ${PWFILE}`"
37 | fi
38 |
39 | echo "Starting `/usr/lib/postgresql/${PG_VERSION}/bin/postgres -V`..."
40 |
41 | exec su -c "/usr/lib/postgresql/${PG_VERSION}/bin/postgres -D $PGDATA -c config_file=$PGDATA/postgresql.conf" postgres
42 |
--------------------------------------------------------------------------------
/powerdns/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:noble
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | RUN apt-get update \
6 | && apt-get -y install --no-install-recommends pdns-server pdns-backend-mysql dnsutils \
7 | && rm -rf /var/lib/apt/lists/*
8 |
9 | COPY *.conf /etc/powerdns/pdns.d/
10 |
11 | EXPOSE 53/tcp 53/udp 8081/tcp
12 |
13 | CMD [ "pdns_server" ]
14 |
--------------------------------------------------------------------------------
/powerdns/pdns.local.conf:
--------------------------------------------------------------------------------
1 | api=yes
2 | api-key=supersecret
3 | api-readonly=yes
4 | daemon=no
5 | default-ttl=300
6 | dnsupdate=yes
7 | master=yes
8 | recursor=8.8.8.8
9 | webserver=yes
10 | webserver-address=0.0.0.0
11 | webserver-port=8081
12 | webserver-password=supersecret
13 |
--------------------------------------------------------------------------------
/powerdns/pdns.local.gmysql.conf:
--------------------------------------------------------------------------------
1 | # MySQL Configuration
2 | #
3 |
4 | launch+=gmysql
5 |
6 | gmysql-host=db
7 | gmysql-port=3306
8 | gmysql-dbname=pdns
9 | gmysql-user=pdns
10 | gmysql-password=pdns
11 | gmysql-dnssec=yes
12 |
--------------------------------------------------------------------------------
/rails/6/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | # Install required packages including OpenSSL
4 | RUN apk add --no-cache \
5 | bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \
6 | libffi-dev yaml-dev openssl openssl-dev zlib-dev readline-dev linux-headers \
7 | && mkdir -p /usr/src/app \
8 | && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \
9 | && cd /usr/src/ruby-install \
10 | && make install \
11 | && ruby-install --system ruby 3.1.2 -- --disable-install-rdoc --with-openssl-dir=/usr \
12 | && gem install 'bundler:2.2.33' 'rails:6.1.7.10' \
13 | && bundle config --global build.nokogiri --use-system-libraries \
14 | && apk del ruby \
15 | && rm -rf /usr/src/*
16 |
17 | WORKDIR /usr/src/app
18 |
19 | ONBUILD COPY ./Gemfile /usr/src/app/
20 | ONBUILD COPY ./Gemfile.lock /usr/src/app/
21 |
22 | ONBUILD RUN bundle install --system
23 |
24 | ONBUILD COPY . /usr/src/app
25 |
26 | EXPOSE 3000/tcp
27 |
28 | CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
--------------------------------------------------------------------------------
/rails/7/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | # Install required packages including OpenSSL
4 | RUN apk add --no-cache \
5 | bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \
6 | libffi-dev yaml-dev openssl openssl-dev zlib-dev readline-dev linux-headers \
7 | && mkdir -p /usr/src/app \
8 | && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \
9 | && cd /usr/src/ruby-install \
10 | && make install \
11 | && ruby-install --system ruby 3.3.0 -- --disable-install-rdoc --with-openssl-dir=/usr \
12 | && gem install 'bundler:2.5.6' 'rails:7.2.2.1' \
13 | && bundle config --global build.nokogiri --use-system-libraries \
14 | && apk del ruby \
15 | && rm -rf /usr/src/*
16 |
17 | WORKDIR /usr/src/app
18 |
19 | ONBUILD COPY ./Gemfile /usr/src/app/
20 | ONBUILD COPY ./Gemfile.lock /usr/src/app/
21 |
22 | ONBUILD RUN bundle install --system
23 |
24 | ONBUILD COPY . /usr/src/app
25 |
26 | EXPOSE 3000/tcp
27 |
28 | CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
--------------------------------------------------------------------------------
/rails/8/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | # Install required packages including OpenSSL
4 | RUN apk add --no-cache \
5 | bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \
6 | libffi-dev yaml-dev openssl openssl-dev zlib-dev readline-dev linux-headers \
7 | && mkdir -p /usr/src/app \
8 | && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \
9 | && cd /usr/src/ruby-install \
10 | && make install \
11 | && ruby-install --system ruby 3.3.0 -- --disable-install-rdoc --with-openssl-dir=/usr \
12 | && gem install 'bundler:2.5.6' 'rails:8.0.2' \
13 | && bundle config --global build.nokogiri --use-system-libraries \
14 | && apk del ruby \
15 | && rm -rf /usr/src/*
16 |
17 | WORKDIR /usr/src/app
18 |
19 | ONBUILD COPY ./Gemfile /usr/src/app/
20 | ONBUILD COPY ./Gemfile.lock /usr/src/app/
21 |
22 | ONBUILD RUN bundle install --system
23 |
24 | ONBUILD COPY . /usr/src/app
25 |
26 | EXPOSE 3000/tcp
27 |
28 | CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
--------------------------------------------------------------------------------
/rails/README.md:
--------------------------------------------------------------------------------
1 | To use:
2 |
3 | 1. Add `Gemfile`, `Gemfile.lock`, `package.json`, and `bower.json` to your project's root
4 | 2. Add `Dockerfile` with `FROM voxxit/rails:latest` at the top
5 | 3. `docker build .`
6 | 4. ???
7 | 5. Profit!
8 |
--------------------------------------------------------------------------------
/redis/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | RUN apk add --no-cache redis
4 |
5 | EXPOSE 6379/tcp
6 |
7 | ENTRYPOINT [ "redis-server" ]
8 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": [
4 | "config:recommended"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/rsyslog/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | RUN apk add --no-cache rsyslog
6 |
7 | EXPOSE 514 514/udp
8 |
9 | VOLUME [ "/var/log", "/etc/rsyslog.d" ]
10 |
11 | # for some reason, the apk comes built with a v5
12 | # config file. using this one for v8:
13 | COPY ./etc/rsyslog.conf /etc/rsyslog.conf
14 |
15 | ENTRYPOINT [ "rsyslogd", "-n" ]
16 |
--------------------------------------------------------------------------------
/swarm/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM scratch
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | COPY swarm_linux_amd64 /bin/swarm
6 | COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
7 |
8 | EXPOSE 2375
9 |
10 | ENTRYPOINT [ "/bin/swarm" ]
11 |
--------------------------------------------------------------------------------
/swarm/swarm_linux_amd64:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/voxxit/dockerfiles/452801e6e20de7ebe7f95f38840937c0dc4e4f6f/swarm/swarm_linux_amd64
--------------------------------------------------------------------------------
/vault/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.21
2 |
3 | LABEL org.opencontainers.image.authors="j@srv.im"
4 |
5 | ARG VAULT_VERSION=0.6.1
6 | ENV VAULT_VERSION ${VAULT_VERSION}
7 |
8 | RUN apk add --no-cache wget openssl ca-certificates \
9 | && wget https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip \
10 | && unzip vault_${VAULT_VERSION}_linux_amd64.zip \
11 | && mv vault /usr/local/bin/ \
12 | && rm -f vault_${VAULT_VERSION}_linux_amd64.zip \
13 | && apk del wget openssl ca-certificates
14 |
15 | EXPOSE 8200/tcp
16 |
17 | ENTRYPOINT [ "vault" ]
18 | CMD [ "server", "-dev" ]
19 |
--------------------------------------------------------------------------------
/vault/README.md:
--------------------------------------------------------------------------------
1 | Run a dev server:
2 |
3 | ```
4 | docker pull quay.io/voxxit/vault:latest
5 | docker run -d --memory-swap=-1 --name vault-dev quay.io/voxxit/vault:latest
6 | ```
7 |
8 | To run a command:
9 |
10 | ```
11 | alias vault='docker exec -it vault-dev vault "$@"'
12 |
13 | vault write -address=http://127.0.0.1:8200 secret/hello value=world
14 | Success! Data written to: secret/hello
15 |
16 | vault read -address=http://127.0.0.1:8200 secret/hello
17 | Key Value
18 | lease_id secret/hello/ced98ef0-18d4-a5b0-8d49-3eee5aa0dfae
19 | lease_duration 2592000
20 | lease_renewable false
21 | value world
22 | ```
23 |
--------------------------------------------------------------------------------