This is a pure-Tcl implementation of an HTTP protocol server. It runs as
a script on top of a vanilla Tcl interpreter using tcllib scripts and,
optionally, two binary libraries (crypt and limit).
The Tcl I/O system provides event-driven I/O facilities and a primitive
that copies data from one I/O channel to another. The server does the
HTTP protocol handling and then simply directs the I/O system to blast
data from disk to a network socket. The server has suprisingly good
performance because of Tcl's sophisticated I/O system.
The HTTP protocol is perhaps the least interesting aspect of the server.
The cool stuff is the framework for generating dynamic page content, and
the support for embedding the server directly into legacy applications
to "web-enable" them.
A Tcl-based web server is ideal for embedding because Tcl was designed
to support embedding into other applications. The interpreted nature of
Tcl allows dynamic reconfiguration of the server. Once the core
interface between the web server and the hosting application is defined,
it is possible to manage the web server, upload Safe-Tcl control
scripts, download logging information, and otherwise debug the Tcl part
of the application without restarting the hosting application.
all: drop support for FreeBSD 13.2 which reached EOL today
Thanks again to jbeich for noticing various things I overlooked.
Reviewed by: acm, ashish, eduardo, ehaupt, eugen, jbeich, martymac, mat,
nobukata, sunpoet, tagattie, yuri, arrowd, kde
Differential Revision: https://reviews.freebsd.org/D45141
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
www: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
*
* <hvo.pm@xs4all.nl>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron LI <aly@aaronly.me>
* Aaron Zauner <az_mail@gmx.at>
* Abel Chow <achow@transoft.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
* Adrian Steinmann <ast@marabu.ch>
* Akinori MUSHA aka knu <knu@idaemons.org>
(Only the first 15 lines of the commit message are shown above )
www/tclhttpd: Add a patch to work with newer Tcl (8.6+)
The subcommands of file(n) aren't available in safe interpreters.
Bump PORTREVISION.
PR: 259053
Submitted by: Peter Dean
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
Remove indefinite articles and trailing periods from COMMENT, plus
minor COMMENT typos and surrounding whitespace fixes. A few Makefiles
where not included as they contain Latin-1 characters that break
the Phabricator workflow. Category W.
CR: D510
Approved by: portmgr (bapt)
In the rc.d scripts, change assignments to rcvar to use the
literal name_enable wherever possible, and ${name}_enable
when it's not, to prepare for the demise of set_rcvar().
In cases where I had to hand-edit unusual instances also
modify formatting slightly to be more uniform (and in
some cases, correct). This includes adding some $FreeBSD$
tags, and most importantly moving rcvar= to right after
name= so it's clear that one is derived from the other.
Use _MAKE_JOBS instead of hard-coding the -j2:
PR: 147907
Submitted by: Andrius Morkunas
Use the USE_TCL knob and rely on the variables set by bsd.tcl.mk
instead of figuring them out ourselves. Switching to USE_TCL makes
this port depend on Tcl-8.5 by default now, hence the PORTREVISION
bump.
Fix a few "bad example" problems in the rc.d scripts that have been
propogated by copy and paste.
1. Primarily the "empty variable" default assignment, which is mostly
${name}_flags="", but fix a few others as well.
2. Where they are not already documented, add the existence of the _flags
(or other deleted empties) option to the comments, and in some cases add
comments from scratch.
3. Replace things that look like:
prefix=%%PREFIX%%
command=${prefix}/sbin/foo
to just use %%PREFIX%%. In many cases the $prefix variable is only used
once, and in some cases it is not used at all.
4. In a few cases remove ${name}_flags from command_args
5. Remove a long-stale comment about putting the port's rc.d script in
/etc/rc.d (which is no longer necessary).
No PORTREVISION bumps because all of these changes are noops.
The previous commit, which was supposed to simply update the
tcllib dependency, accidentally introduced reference to unfinished
work on the generation of locale-independent dates for HTTP-headers.
Finish (and unbreak) this work and allow the server to run in
non-English/ASCII locales. Changes submitted to the (dormant) vendor.
Grrrr. This tcllib-dependant port slipped through due to my local
modifications. Mad as a (pointy)hatter...
Notified by: kris
Approved by: portmgr (earlier)
Out with the old rc.d script, in with the new.
PR: ports/91442 (requested by)
Submitted by: Mike <mspam@hideaway.net>
Approved by: mi (maintainer, timeout 4 weeks)
Finally catch up with the version number change of devel/tcllib --
I guess, we need some pattern matching in the RUN_DEPENDS too --
this port would work happily with the old tcllib0.8 as well as
the new tcllib1.2.
Submitted by: bento
The previous commit by sobomax fixed the build, but quite terribly broke the
install. My version used the special Makefile only to build the binary
lib. The installation was done by the software's Makefile.
o Fix build by replacing custom do-build target with set of stock
MAKEFILE/MAKE_ENV/MAKE_ARGS variables. o Slightly reorder variables to make
Makefile more readable.
Bring to the latest version. Link all of the little external libraries needed
by the tclhttpd into one file. I submitted this back in December, but nobody
cared since. Now I can commit this myself :)