diff options
author | joerg <joerg@pkgsrc.org> | 2012-01-26 15:00:25 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2012-01-26 15:00:25 +0000 |
commit | e5041f0a367112156352c6938e45a51c9ffe024c (patch) | |
tree | ff0f9379782f4085457669aec16320e353aedd51 /www/screws | |
parent | 581bec5ddfea382bd7248b9e21c08eda12c011e3 (diff) | |
download | pkgsrc-e5041f0a367112156352c6938e45a51c9ffe024c.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')
-rw-r--r-- | www/screws/Makefile | 12 | ||||
-rw-r--r-- | www/screws/files/screws.conf.5 | 142 | ||||
-rw-r--r-- | www/screws/files/screwsctl.1 | 31 | ||||
-rw-r--r-- | www/screws/files/screwsd.8 | 44 |
4 files changed, 222 insertions, 7 deletions
diff --git a/www/screws/Makefile b/www/screws/Makefile index 6f75fc8c1ce..681d1e34234 100644 --- a/www/screws/Makefile +++ b/www/screws/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.28 2012/01/23 00:31:17 joerg Exp $ +# $NetBSD: Makefile,v 1.29 2012/01/26 15:00:25 joerg Exp $ # DISTNAME= screws-0.56 -PKGREVISION= 7 +PKGREVISION= 8 CATEGORIES= www MASTER_SITES= ftp://ftp.nopcode.org/prj/screws/ @@ -33,11 +33,6 @@ REPLACE_PERL+= src/Exec/perl.pl REPLACE_PERL+= src/Exec/perl/*.pl REPLACE_PERL+= src/Exec/perl/htdocs/example.x -SUBST_CLASSES+= mdoc -SUBST_FILES.mdoc= doc/manpage/*.[158] -SUBST_SED.mdoc+= -e '/^$$/d' -SUBST_STAGE.mdoc= pre-patch - RCD_SCRIPTS= screws RCD_SCRIPT_SRC.screws= ${WRKSRC}/src/Utils/files/screws.sh @@ -58,6 +53,9 @@ BUILD_DEFS+= VARBASE # something very similar. CHECK_INTERPRETER_SKIP+= *.hsml +post-extract: + ${CP} ${FILESDIR}/*.[158] ${WRKSRC}/doc/manpage/ + .include "options.mk" .include "../../mk/bsd.pkg.mk" 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> |