summaryrefslogtreecommitdiff
path: root/www/screws/files
diff options
context:
space:
mode:
authorjoerg <joerg>2012-01-26 15:00:25 +0000
committerjoerg <joerg>2012-01-26 15:00:25 +0000
commita94a365701de3b675944f5201352b55a5f9fa380 (patch)
treeff0f9379782f4085457669aec16320e353aedd51 /www/screws/files
parentc8a7ec5cc8d74b5cc74097796b464df4767315ad (diff)
downloadpkgsrc-a94a365701de3b675944f5201352b55a5f9fa380.tar.gz
Give up trying to patch man pages into shape and just do a basic fixup
in the literal copy. The original is just too bogus. Bump revision.
Diffstat (limited to 'www/screws/files')
-rw-r--r--www/screws/files/screws.conf.5142
-rw-r--r--www/screws/files/screwsctl.131
-rw-r--r--www/screws/files/screwsd.844
3 files changed, 217 insertions, 0 deletions
diff --git a/www/screws/files/screws.conf.5 b/www/screws/files/screws.conf.5
new file mode 100644
index 00000000000..e59103da64f
--- /dev/null
+++ b/www/screws/files/screws.conf.5
@@ -0,0 +1,142 @@
+.\" $NetBSD: screws.conf.5,v 1.1 2012/01/26 15:00:25 joerg Exp $
+.\" Original source covered by GPLv2
+.Dd 2004-04-25
+.Dt SCREWS.CONF 5
+.Os
+.Sh NAME
+.Nm screws.conf
+.Nd Screws configuration file
+.Sh DESCRIPTION
+The
+.Nm
+file is the default configuration file for screws.
+This file is composed by lines telling to the interpreter how to run the
+server, which files to read, ports to listen, security issues, permissions,
+environment variables, IO stuff, SSL parameters, logging facilities and
+restrictions.
+.Pp
+There's one optional argument passed to some directives named as '[?]',
+it's used to define where the directive will act. This argument could be
+for example if you don't define this argument, the value will be defined
+as global, and every thread created after it will inherit this value.
+.Pp
+Also this argument could be a name of a thread, or '*' if you want to
+apunter to all threads, or '@*' if you want to apunter to all threads
+created by every listenthread (it means execution threads). Or just
+type the name of the thread, for example: 'default' or '@default'.
+.Sh DIRECTIVES
+.Ss Control directives
+.Bl -tag
+.It Cm daemon
+Starts the server in background.
+.It Cm strict
+Be strict in warnings produced by the configuration file, missconfigurations, syntax errors, etc.
+.It Cm verbose
+Verbose level. This value comes from 0 to 5, it's used for debugging purposes, the default value is '0'.
+.It Cm whitespace [char]
+Specify the character that will be an alias for the ' ' character.
+.El
+.Ss Screws directives
+.Bl -tag
+.It Cm listen [proto] [ip] [port] [name]
+Where [proto] is 'inet' or 'inet6'. [ip] is the IP where screws will bind to it (for example 0.0.0.0), and [name] is the alias name for this listenThread.
+.It Cm exec [?] [pathtobin]
+This directive is used to specify the program or script that will get the connection, parse the arguments of the request and print the output.
+.It Cm env [?] [var] ([value])
+Using env you can set and unset environment variables to the threads. Environment variables are inherited from their parent processes. If value isn't defined. screws will unsetenv it.
+.El
+.Ss Network directives
+.Bl -tag
+.It Cm io [type]
+IO type means the internal functionality of buffers and streams. Nowadays there are 4 different methods: \fBdirect, buffer, poll, select\fP. Depending on your requeriments you would have to select one. Their differences are: \fBdirect\fP is just direct output, it means that there's no buffering and SSL is not supported, \fBbuffer\fP wraps the output by the tcp-window size and only supports output buffering, there's no input (PUT method will not work here). \fBpoll\fP and \fBselect\fP works on a similar way, but poll should work faster, and select is more portable than poll.
+.It Cm httplen
+Limits the number of characters in the input request. Default value is MAX_INT.
+.It Cm timeout [?] [seconds]
+Sets a timeout for the client connections.
+.It Cm notimeout
+This directive disables all connection timeouts.
+.It Cm falsetimeout
+When this directive is set, every line typed into the incomming connection will reset the alarm timeout.
+.It Cm noresolv
+It's used to disable all dns name lookups, it's useful to enhace timeouts.
+.It Cm backlog [?] [number]
+The maximum number of connections that will be handled in queue by the operating system.
+.It Cm maxhdr [?] [number]
+It's used to specify the maximum number of headers that the client will be able to write from the client.
+.It Cm noargs
+This directive disables all argument parsing. (?var=value&var2=value2)
+.El
+.Ss Logging directives
+.Bl -tag
+.It Cm logstr [?] [string]
+Sets the logging string. By default is set to the standard apache format. Format have these variables: %a:useragent, %e:errorcode, %r:referer, %i:remoteIP, %I:remoteHOST, %h:host(vhosts), %H:httpversion, %d:date in human format, %t:hexdate, %f:file requested, %m method, %c:argc, %n:newline
+.It Cm nologs
+Disable logs.
+.It Cm nolock
+Disable file locking access. Just for debugging if you have problems with locked threads.
+.It Cm logfile [?] [file]
+Specifies the file where screws will write the access log.
+.It Cm errfile [?] [file]
+Sets the file where screws will write the error log.
+.El
+.Ss Tunning directives
+.Bl -tag
+.It Cm maxthr [?] [number]
+Defines the maximum number of threads that this process can have.
+.It Cm maxcpu [?] [number]
+Defines the time of life for the process.
+.It Cm maxmem [?] [number]
+Sets the maximum amount of memory that this process would handle.
+.It Cm prio [?] [number]
+Nice the process to this value.
+.It Cm usleep [usecs]
+Sets the usecs time that screws will sleep in infinite loops.(fine tunning)
+.El
+.Ss Module directives
+.Bl -tag
+.It Cm addmod [module]
+Loads a module into memory. Modules path is set by default to: ${PREFIX}/lib/screws/. You can give the complete URL or relative URL from your current directory or just the name of the module with or without the '.so' extension.
+.It Cm modopt [module] [argument]
+Sets an option for a module. These options are documented inside every module. Not all modules takes arguments.
+.El
+.Ss Security directives
+.Bl -tag
+.It Cm setuid|seteuid [?] [usr]
+Sets the UserID or EffectiveUserID to the given username/uid.
+.It Cm setgid|setegid [?] [grp]
+Sets the GroupID or EffectiveGroupID to the given groupname/gid.
+.It Cm chroot [?] [dir]
+Sets the directory where the thread will chroot to it. Parent process must be root or kernel permissions to execute this syscall. It's executed in a secure way, it means: "chdir(dir);chroot(.)". Like BSD systems do.
+.It Cm chdir [?] [dir]
+Sets the directory where the process will change to.
+.El
+.Ss SSL directives
+.Bl -tag
+.It Cm enc [algorithm]
+Algorithm can be set to ssl2, ssl3, tls and ssl23.
+.It Cm addssl [?] [cert] ([private key])
+Sets to the thread [?] the SSL comunication. You must specify the certificate and private key. On loading, screws will ask for the SSL password.
+.El
+.Sh EXAMPLE
+.Bd -literal
+#
+# SCREWS default configuration file
+#
+noresolv
+io buffer
+
+listen inet 0.0.0.0 80 default
+
+chdir @* perl/
+exec * ./main.pl
+
+addmod unicode
+addmod Mime
+addmod noupdir
+.Ed
+.Sh SEE ALSO
+.Xr screwsctl 1 ,
+.Xr screwsd 8 ,
+.Xr screws.conf 5 ,
+.Sh AUTHORS
+Main developer: pancake <pancake@phreaker.net>
diff --git a/www/screws/files/screwsctl.1 b/www/screws/files/screwsctl.1
new file mode 100644
index 00000000000..6522639dab8
--- /dev/null
+++ b/www/screws/files/screwsctl.1
@@ -0,0 +1,31 @@
+.\" $NetBSD: screwsctl.1,v 1.1 2012/01/26 15:00:25 joerg Exp $
+.\" Original source covered by GPLv2
+.Dd 2004-04-25
+.Dt SCREWSCTL 1
+.Os
+.Sh NAME
+.Nm screwsctl
+.Nd Screws control
+.Sh SYNOPSIS
+.Nm
+.Op Ar ACTION
+.Sh DESCRIPTION
+.Nm
+is an screws tool that allows you to control if there's
+any screws daemon running, and act over it starting, stopping and restarting.
+This command tries to be similar to apachectl.
+.Sh OPTIONS
+.Bl -tag
+.It Cm start
+This action starts the daemon in the background. Using the default configuration file.
+.It Cm stop
+Stops the execution of the screws server and their threads.
+.It Cm restart
+Verbose level. This value comes from 0 to 5, it's used for debugging purposes, the default value is '0'.
+.El
+.Sh SEE ALSO
+.Xr screwsctl 1 ,
+.Xr screwsd 8 ,
+.Xr screws.conf 5 ,
+.Sh AUTHORS
+Main developer: pancake <pancake@phreaker.net>
diff --git a/www/screws/files/screwsd.8 b/www/screws/files/screwsd.8
new file mode 100644
index 00000000000..47b0f01e8de
--- /dev/null
+++ b/www/screws/files/screwsd.8
@@ -0,0 +1,44 @@
+.\" $NetBSD: screwsd.8,v 1.1 2012/01/26 15:00:25 joerg Exp $
+.\" Original source covered by GPLv2
+.Dd 2004-04-25
+.Dt SCREWSD 8
+.Sh NAME
+.Nm screwsd
+.Nd Script Enhaced Web Server daemon
+.Sh SYNOPSIS
+.Nm
+.Op Ar OPTION
+.Ar ...
+.Sh DESCRIPTION
+.Nm
+is a web server with an special feature: Everything
+is able to be modificable with scripts. 'screwsd' is just the main
+daemon that parses the configuration file and calls the rest of
+the scripts when they are necessary.
+.Pp
+By default screwsd uses the ${PREFIX}/etc/screws.conf to run.
+.Sh OPTIONS
+.Bl -tag
+.It Cm -c filename
+Specifies the configuration file to be used.
+.It Cm -p progname
+Set the argv[0] string. That's useful to change the name of the program seen into the ps list.
+.It Cm -v #
+Verbose level. This value comes from 0 to 5, it's used for debugging purposes, the default value is '0'.
+.It Cm -l
+List all configuration file directives. This is useful to generate default configuration file.
+.It Cm -s
+Be strict. It means that if there's a problem or warning parsing the configuration file server willn't be started. By default screwsd ignores these warnings.
+.It Cm -d
+Run as daemon in the background. This option can be also enabled into the configuration file using the 'daemon' directive.
+.It Cm -o
+Show the static options defined in the compilation. These are: PREFIX, EXEC, MODULEPATH, CFGFILE, VERSION and other flags defined into the CONFIG file before building like DEBUG, POLL, IPV6, SSL, MODULES.
+.It Cm -h
+Shows a list of default cmdline flags
+.El
+.Sh SEE ALSO
+.Xr screwsctl 1 ,
+.Xr screwsd 8 ,
+.Xr screws.conf 5 ,
+.Sh AUTHORS
+Main developer: pancake <pancake@phreaker.net>