iFreeBSD.rc.d - geomyidae - A small C-based gopherd. Err bitreich.org 70 hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ bitreich.org 70 1Log /scm/geomyidae/log.gph bitreich.org 70 1Files /scm/geomyidae/files.gph bitreich.org 70 1Refs /scm/geomyidae/refs.gph bitreich.org 70 1Tags /scm/geomyidae/tag bitreich.org 70 1README /scm/geomyidae/file/README.gph bitreich.org 70 1LICENSE /scm/geomyidae/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 iFreeBSD.rc.d (3444B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #!/bin/sh Err bitreich.org 70 i 2 Err bitreich.org 70 i 3 # PROVIDE: geomyidae Err bitreich.org 70 i 4 # REQUIRE: NETWORKING SERVERS DAEMON Err bitreich.org 70 i 5 # BEFORE: LOGIN Err bitreich.org 70 i 6 # KEYWORD: shutdown Err bitreich.org 70 i 7 # Err bitreich.org 70 i 8 # Add the following lines to /etc/rc.conf to enable this service Err bitreich.org 70 i 9 # Err bitreich.org 70 i 10 # geomyidae_enable (bool): Set to NO by default. Err bitreich.org 70 i 11 # Set to YES to enable geomyidae Err bitreich.org 70 i 12 # geomyidae_flags (string): Additional command line options to Err bitreich.org 70 i 13 # pass to geomyidae(8). Err bitreich.org 70 i 14 # geomyidae_user (string): Set to the user to run geomyidae as Err bitreich.org 70 i 15 # Default is "geomyidae" Err bitreich.org 70 i 16 # geomyidae_group (string): Set to the group to run geomyidae as Err bitreich.org 70 i 17 # Default is "geomyidae" Err bitreich.org 70 i 18 # geomyidae_htdocs (string): Directory to server files from Err bitreich.org 70 i 19 # Default is "/var/gopher" Err bitreich.org 70 i 20 # geomyidae_logfile (string): File to use as a logfile Err bitreich.org 70 i 21 # Default is "/var/log/gopherlog" Err bitreich.org 70 i 22 # geomyidae_bindhost (string): IP Address to bind to Err bitreich.org 70 i 23 # Default is all addresses Err bitreich.org 70 i 24 # geomyidae_port (int): Port to listen on Err bitreich.org 70 i 25 # Default is 70 Err bitreich.org 70 i 26 # geomyidae_sport (int): Port to display within base directory Err bitreich.org 70 i 27 # Default is 70 Err bitreich.org 70 i 28 # geomyidae_keyfile (string): Path to private key in case TLS support is desired Err bitreich.org 70 i 29 # Default is empty Err bitreich.org 70 i 30 # geomyidae_certfile (string): Path to public key in case TLS support is desired Err bitreich.org 70 i 31 # Default is empty Err bitreich.org 70 i 32 # Err bitreich.org 70 i 33 # NOTE: You need to install geomyidae setuid root:wheel for this Err bitreich.org 70 i 34 # to work when listening on priviledged ports. Err bitreich.org 70 i 35 # Err bitreich.org 70 i 36 # Create users and group accordingly, e.g.: Err bitreich.org 70 i 37 # Err bitreich.org 70 i 38 # # pw groupadd geomyidae -g 542 Err bitreich.org 70 i 39 # # pw useradd geomyidae -g geomyidae -u 542 -s /usr/sbin/nologin -d /nonexistent Err bitreich.org 70 i 40 # Err bitreich.org 70 i 41 # Create logfile, pidfile and htdocs: Err bitreich.org 70 i 42 # Err bitreich.org 70 i 43 # # mkdir /var/gopher Err bitreich.org 70 i 44 # # touch /var/run/geomyidae.pid Err bitreich.org 70 i 45 # # touch /var/log/gopherlog Err bitreich.org 70 i 46 # # chown geomyidae:geomyidae /var/gopher /var/run/geomyidae.pid /var/log/gopherlog Err bitreich.org 70 i 47 Err bitreich.org 70 i 48 . /etc/rc.subr Err bitreich.org 70 i 49 Err bitreich.org 70 i 50 name=geomyidae Err bitreich.org 70 i 51 rcvar=geomyidae_enable Err bitreich.org 70 i 52 Err bitreich.org 70 i 53 load_rc_config $name Err bitreich.org 70 i 54 Err bitreich.org 70 i 55 : ${geomyidae_enable:="NO"} Err bitreich.org 70 i 56 : ${geomyidae_user:="geomyidae"} Err bitreich.org 70 i 57 : ${geomyidae_group:="geomyidae"} Err bitreich.org 70 i 58 : ${geomyidae_flags:=""} Err bitreich.org 70 i 59 : ${geomyidae_htdocs:="/var/gopher"} Err bitreich.org 70 i 60 : ${geomyidae_logfile:="/var/log/gopherlog"} Err bitreich.org 70 i 61 : ${geomyidae_bindhost:=""} Err bitreich.org 70 i 62 : ${geomyidae_host:="localhost"} Err bitreich.org 70 i 63 : ${geomyidae_port:="70"} Err bitreich.org 70 i 64 : ${geomyidae_sport:="70"} Err bitreich.org 70 i 65 : ${geomyidae_command:="/usr/local/bin/geomyidae"} Err bitreich.org 70 i 66 : ${geomyidae_certfile:=""} Err bitreich.org 70 i 67 : ${geomyidae_keyfile:=""} Err bitreich.org 70 i 68 Err bitreich.org 70 i 69 pidfile=/var/run/geomyidae.pid Err bitreich.org 70 i 70 procname="${geomyidae_command}" Err bitreich.org 70 i 71 command="/usr/sbin/daemon" Err bitreich.org 70 i 72 command_args="-S -T geomyidae -m 3 -f -p ${pidfile} ${geomyidae_command} -d -l ${geomyidae_logfile} \ Err bitreich.org 70 i 73 -b ${geomyidae_htdocs} -p ${geomyidae_port} -o ${geomyidae_sport} \ Err bitreich.org 70 i 74 -u ${geomyidae_user} -g ${geomyidae_group} -h ${geomyidae_host}" Err bitreich.org 70 i 75 Err bitreich.org 70 i 76 # Append bindhost if set Err bitreich.org 70 i 77 [ ! -z "${geomyidae_bindhost}" ] && command_args="${command_args} -i ${geomyidae_bindhost}" Err bitreich.org 70 i 78 Err bitreich.org 70 i 79 # TLS setup Err bitreich.org 70 i 80 [ ! -z "${geomyidae_keyfile}" -a ! -z "${geomyidae_certfile}" ] && \ Err bitreich.org 70 i 81 command_args="${command_args} -t ${geomyidae_keyfile} ${geomyidae_certfile}" Err bitreich.org 70 i 82 Err bitreich.org 70 i 83 # Lastly append flags by user Err bitreich.org 70 i 84 command_args="${command_args} ${geomyidae_flags}" Err bitreich.org 70 i 85 Err bitreich.org 70 i 86 required_files="${pidfile} ${geomyidae_logfile}" Err bitreich.org 70 i 87 required_dirs="${geomyidae_htdocs}" Err bitreich.org 70 i 88 Err bitreich.org 70 i 89 run_rc_command "$1" Err bitreich.org 70 .