mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
Webshell -- a TCL module for Apache. Appears to be the most advanced
and the best supported such module of the several listed at http://tcl.apache.org/ Works with both Apache-1.3.x and 2.x and has an interesting development paradigm.
This commit is contained in:
parent
4a338d1237
commit
f3015877b8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=185074
@ -1127,6 +1127,7 @@
|
||||
SUBDIR += webreport
|
||||
SUBDIR += webresolve
|
||||
SUBDIR += webserver
|
||||
SUBDIR += websh
|
||||
SUBDIR += webstats
|
||||
SUBDIR += webstone
|
||||
SUBDIR += webstone-ssl
|
||||
|
98
www/websh/Makefile
Normal file
98
www/websh/Makefile
Normal file
@ -0,0 +1,98 @@
|
||||
# New ports collection makefile for: mod_dtcl
|
||||
# Date created: January 31, 2007
|
||||
# Whom: Mikhail Teterin <mi@aldan.algebra.com>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= websh
|
||||
PORTVERSION= 3.6.0b4
|
||||
CATEGORIES= www tcl84
|
||||
MASTER_SITES= ${MASTER_SITE_APACHE}
|
||||
MASTER_SITE_SUBDIR=tcl/${PORTNAME}/source
|
||||
EXTRACT_SUFX= -src.tar.gz
|
||||
|
||||
MAINTAINER= mi@aldan.algebra.com
|
||||
COMMENT= Embeds a TCL8 interpreter in the Apache server
|
||||
|
||||
LIB_DEPENDS= tcl${TCL_DVER}:${PORTSDIR}/lang/tcl${TCL_DVER}
|
||||
|
||||
OPTIONS= WSMDEBUG "memory(n) and checkmem(n) commands in web-scripts" on
|
||||
OPTIONS+= WSSTATIC "Link the objects into the module statically" off
|
||||
|
||||
TCL_DVER= ${TCL_VER:S/.//}
|
||||
|
||||
USE_TCL= yes
|
||||
USE_AUTOTOOLS= autoconf:259
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src/unix
|
||||
CONFIGURE_ARGS+=--with-tclinclude=${TCL_INCLUDEDIR} \
|
||||
--with-tcl=${TCL_LIBDIR}
|
||||
USE_GMAKE= yes
|
||||
INSTALLS_SHLIB= yes
|
||||
SUB_FILES= httpd.conf pkgIndex.tcl pkg-message
|
||||
SUB_LIST+= TCL_DVER=${TCL_DVER} WS_VER=${PORTVERSION:R}
|
||||
SUB_LIST+= APACHEETCDIR=${APACHEETCDIR} APACHEMODDIR=${APACHEMODDIR}
|
||||
|
||||
USE_APACHE= 1.3+
|
||||
CONFIGURE_ARGS+=--with-httpdinclude=`apxs -q includedir`
|
||||
|
||||
CPPFLAGS+= -I ${LOCALBASE}/include/apr-1
|
||||
.if !defined(NO_WERROR) && ${CC} == "cc" || ${CC:T:Mgcc*} != ""
|
||||
CPPFLAGS+= -Wall -Werror
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} -e 's,/usr/local/websh,${PREFIX},' \
|
||||
${WRKSRC:H:H}/doc/mod_websh/conf/websh.conf
|
||||
for p in ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.html ; do \
|
||||
${SED} -e 's,\.html,.whtml,g' < $$p > \
|
||||
`${DIRNAME} $$p`/`${BASENAME} $$p .html`.whtml; \
|
||||
done
|
||||
${REINPLACE_CMD} -e 's,\.html,.whtml,g' ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.ws3
|
||||
|
||||
post-configure:
|
||||
# "STUBS" are for wimps:
|
||||
${REINPLACE_CMD} -e 's,tclstub,tcl,' ${WRKSRC}/Makefile
|
||||
|
||||
post-build test:
|
||||
${SETENV} LANG=C ${GMAKE} -C ${WRKSRC} test | ${AWK} '\
|
||||
/Failed/ && $$NF {failed=1} \
|
||||
END {exit failed} \
|
||||
{print}'
|
||||
|
||||
do-install:
|
||||
${MKDIR} ${PREFIX}/lib/${PORTNAME}
|
||||
${INSTALL_DATA} ${WRKSRC:H:H}/doc/mod_websh/conf/*.ws3 \
|
||||
${WRKDIR}/pkgIndex.tcl ${PREFIX}/lib/${PORTNAME}/
|
||||
${INSTALL_DATA} ${WRKSRC:H:H}/doc/mod_websh/conf/websh.conf \
|
||||
${PREFIX}/etc/websh.conf.dist
|
||||
${INSTALL_DATA} ${WRKSRC}/mod_websh${PORTVERSION}.so \
|
||||
${PREFIX}/${APACHEMODDIR}/mod_websh.so
|
||||
${INSTALL_DATA} ${WRKSRC}/libwebsh${TCL_DVER}.so.1 ${PREFIX}/lib
|
||||
${LN} -sf ${PREFIX}/lib/libwebsh${TCL_DVER}.so.1 \
|
||||
${PREFIX}/lib/libwebsh${TCL_DVER}.so
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} ${EXAMPLESDIR}
|
||||
${INSTALL_DATA} ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.ws3 \
|
||||
${WRKSRC:H:H}/doc/mod_websh/htdocs/*.whtml \
|
||||
${WRKDIR}/httpd.conf ${EXAMPLESDIR}/
|
||||
${MKDIR} ${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKSRC:H:H}/doc/html/* ${DOCSDIR}
|
||||
.endif
|
||||
|
||||
post-install:
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if defined(WITH_WSMDEBUG)
|
||||
CFLAGS+= -DTCL_MEM_DEBUG
|
||||
.endif
|
||||
|
||||
.if defined(WITHOUT_WSSTATIC)
|
||||
EXTRA_PATCHES= ${FILESDIR}/shared-patch
|
||||
.endif
|
||||
|
||||
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}"
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
www/websh/distinfo
Normal file
3
www/websh/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
MD5 (websh-3.6.0b4-src.tar.gz) = db532479c5ffc17bf3bf25d33751c9dc
|
||||
SHA256 (websh-3.6.0b4-src.tar.gz) = 2e986668b9397993aa4934cee81bcde33c2771a84257089710754631e5acc61f
|
||||
SIZE (websh-3.6.0b4-src.tar.gz) = 249704
|
38
www/websh/files/httpd.conf.in
Normal file
38
www/websh/files/httpd.conf.in
Normal file
@ -0,0 +1,38 @@
|
||||
# This may be done for us already by apxs during install:
|
||||
#
|
||||
#LoadModule websh_module %%APACHEMODDIR%%/mod_websh.so
|
||||
#
|
||||
# Add the following to your Apache config file or, if you use
|
||||
# Apache-2.x, simply drop into the %%PREFIX%%/%%APACHEETCDIR%%/Includes
|
||||
#
|
||||
|
||||
<IfModule mod_websh.c>
|
||||
|
||||
# add handlers for the file you want to process
|
||||
# in this example, we treat .whtml files as SSI type
|
||||
# html files that contain websh snipplets and .ws3 files
|
||||
# as websh scripts (CGI-like) -> websh.conf
|
||||
|
||||
AddHandler websh .whtml
|
||||
AddHandler websh .ws3
|
||||
# The vendor-distributed version passes ALL .html files
|
||||
# through mod_websh, which slows your server down. In this
|
||||
# example only files named *.whtml (and .ws3) get processed
|
||||
# by the module.
|
||||
#
|
||||
# -mi
|
||||
|
||||
DirectoryIndex index.whtml index.ws3
|
||||
|
||||
# This allows you to check, that everything is working by accessing the
|
||||
# vendor's examples simply as http://yourserver/websh/
|
||||
Alias /websh/ %%EXAMPLESDIR%%/
|
||||
<Directory %%EXAMPLESDIR%%>
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
# see sample for the configuration of
|
||||
# SSI type configuration (htmlhandler) and script configuration
|
||||
WebshConfig etc/websh.conf
|
||||
|
||||
</IfModule>
|
20
www/websh/files/patch-cflags
Normal file
20
www/websh/files/patch-cflags
Normal file
@ -0,0 +1,20 @@
|
||||
--- Makefile.in Sun Mar 5 11:58:37 2006
|
||||
+++ Makefile.in Thu Feb 8 19:37:14 2007
|
||||
@@ -96,7 +96,7 @@
|
||||
VERSION = @VERSION@
|
||||
CC = @CC@
|
||||
-CFLAGS_DEBUG = @CFLAGS_DEBUG@
|
||||
-CFLAGS_DEFAULT = @CFLAGS_DEFAULT@
|
||||
-CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
|
||||
+#CFLAGS_DEBUG = @CFLAGS_DEBUG@
|
||||
+#CFLAGS_DEFAULT = @CFLAGS_DEFAULT@
|
||||
+#CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
|
||||
CLEANFILES = @CLEANFILES@
|
||||
EXEEXT = @EXEEXT@
|
||||
@@ -154,5 +154,5 @@
|
||||
$(TCL_EXTRA_CFLAGS)
|
||||
|
||||
-DEFS = -DVERSION=\"@VERSION@\" -D@PLATFORM@=1 -DUSE_TCL_STUBS=@USE_TCL_STUBS@ $(EXTRA_CFLAGS)
|
||||
+DEFS = -DVERSION=\"@VERSION@\" -D@PLATFORM@=1 $(EXTRA_CFLAGS)
|
||||
|
||||
ACLOCAL_M4 = $(srcdir)/aclocal.m4
|
39
www/websh/files/patch-conf
Normal file
39
www/websh/files/patch-conf
Normal file
@ -0,0 +1,39 @@
|
||||
--- ../../doc/mod_websh/conf/websh.conf Mon Nov 14 09:21:00 2005
|
||||
+++ ../../doc/mod_websh/conf/websh.conf Sat Feb 3 19:36:52 2007
|
||||
@@ -2,11 +2,5 @@
|
||||
|
||||
# root of websh files
|
||||
-if {[info sharedlibextension] == ".dll"} {
|
||||
- # Windows
|
||||
- set webshroot "C:/Program Files/Apache Group/Websh"
|
||||
-} else {
|
||||
- # Unix (.so, .dylib ...)
|
||||
- set webshroot /usr/local/websh
|
||||
-}
|
||||
+set webshroot /usr/local/websh
|
||||
|
||||
# Setup interpreter classes for mod_websh
|
||||
@@ -17,12 +17,12 @@
|
||||
# special html content (html that contains snipplets only)
|
||||
# same as below, but configured to use different markup syntax
|
||||
- if {[string match */other.html $file]} {
|
||||
- return "$webshroot/conf/otherhandler.ws3"
|
||||
+ if {[string match */other.*html $file]} {
|
||||
+ return "$webshroot/lib/websh/otherhandler.ws3"
|
||||
}
|
||||
|
||||
# default html content (html that contains snipplets only)
|
||||
# all requests for *.html files share interpreters
|
||||
- if {[string match *.html $file]} {
|
||||
- return "$webshroot/conf/htmlhandler.ws3"
|
||||
+ if {[string match *.*html $file]} {
|
||||
+ return "$webshroot/lib/websh/htmlhandler.ws3"
|
||||
}
|
||||
|
||||
@@ -35,5 +35,5 @@
|
||||
|
||||
# html handler interpreters live forever ...
|
||||
-web::interpclasscfg "$webshroot/conf/htmlhandler.ws3" maxrequests 0
|
||||
+web::interpclasscfg "$webshroot/lib/websh/htmlhandler.ws3" maxrequests 0
|
||||
# myApp handler interpreters live for 5 requests only
|
||||
web::interpclasscfg "$webshroot/htdocs/myApp.ws3" maxrequests 5
|
12
www/websh/files/patch-tests
Normal file
12
www/websh/files/patch-tests
Normal file
@ -0,0 +1,12 @@
|
||||
--- ../tests/msc.test Sat Mar 4 19:18:35 2006
|
||||
+++ ../tests/msc.test Sat Feb 3 18:35:12 2007
|
||||
@@ -81,6 +81,7 @@
|
||||
global tcl_platform
|
||||
if {"$tcl_platform(platform)" == "unix"
|
||||
- && "$tcl_platform(os)" == "Darwin"} {
|
||||
- # OSX does not complain if directory does not exist
|
||||
+ && ("$tcl_platform(os)" == "Darwin" ||
|
||||
+ [string match *BSD "$tcl_platform(os)"])} {
|
||||
+ # BSD does not complain if directory does not exist
|
||||
# It just returns the nonexistig path anyway
|
||||
set msg "ok"
|
398
www/websh/files/patch-warnings
Normal file
398
www/websh/files/patch-warnings
Normal file
@ -0,0 +1,398 @@
|
||||
This patch allows clean compiles with gcc's -Wall. Mostly
|
||||
it removes unused variables, but not only. Redundant
|
||||
initializations are removed in some places too, for example.
|
||||
|
||||
Submitted to vendor:
|
||||
|
||||
http://issues.apache.org/bugzilla/show_bug.cgi?id=41523
|
||||
|
||||
-mi
|
||||
|
||||
--- ../generic/args.c Wed Sep 11 09:54:01 2002
|
||||
+++ ../generic/args.c Thu Feb 1 23:12:27 2007
|
||||
@@ -95,5 +95,4 @@
|
||||
|
||||
int pos = 0;
|
||||
- char *tmp = NULL;
|
||||
|
||||
for (pos = (previous + 1); pos < objc; pos++) {
|
||||
@@ -310,5 +309,4 @@
|
||||
int i;
|
||||
char *tmp = NULL;
|
||||
- int tmpLen = -1;
|
||||
|
||||
if (scanc < 0)
|
||||
--- ../generic/checksum.c Wed Mar 24 10:15:45 2004
|
||||
+++ ../generic/checksum.c Thu Feb 1 23:13:25 2007
|
||||
@@ -85,5 +85,4 @@
|
||||
char tmpc1 = 0;
|
||||
char tmpc2 = 0;
|
||||
- int i = 0;
|
||||
unsigned char byte = 0;
|
||||
|
||||
@@ -144,6 +143,5 @@
|
||||
|
||||
Tcl_Obj *crcObj = NULL;
|
||||
- char *str = NULL;
|
||||
- int len = 0;
|
||||
+ int len;
|
||||
int crc1;
|
||||
int crc2;
|
||||
--- ../generic/conv.c Wed Sep 11 09:54:01 2002
|
||||
+++ ../generic/conv.c Thu Feb 1 23:14:25 2007
|
||||
@@ -163,6 +163,5 @@
|
||||
|
||||
ConvData *convData = NULL;
|
||||
- Tcl_Obj *res1 = NULL;
|
||||
- Tcl_Obj *res2 = NULL;
|
||||
+ Tcl_Obj *res1;
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
--- ../generic/crypt.c Thu Oct 25 13:50:15 2001
|
||||
+++ ../generic/crypt.c Thu Feb 1 23:18:30 2007
|
||||
@@ -26,7 +26,6 @@
|
||||
{
|
||||
|
||||
- CryptData *cryptData = NULL;
|
||||
- int ires = 0;
|
||||
- Tcl_Obj *tmp = NULL;
|
||||
+ CryptData *cryptData;
|
||||
+ Tcl_Obj *tmp;
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
--- ../generic/nca_d.c Thu Oct 25 13:50:15 2001
|
||||
+++ ../generic/nca_d.c Thu Feb 1 23:20:57 2007
|
||||
@@ -259,14 +259,13 @@
|
||||
{
|
||||
|
||||
- Tcl_Obj *out = NULL;
|
||||
- int pack = 0, type = 0, prev = 0, newc = 0, pos = 0;
|
||||
- Tcl_Obj *key = NULL;
|
||||
- unsigned char *keyBytes = NULL;
|
||||
- int keyLen = -1;
|
||||
+ Tcl_Obj *out;
|
||||
+ int pack, type, prev = 0, newc, pos = 0;
|
||||
+ Tcl_Obj *key;
|
||||
+ unsigned char *keyBytes;
|
||||
+ int keyLen;
|
||||
char outc;
|
||||
- Tcl_Obj *tmp = NULL;
|
||||
- int i = 0;
|
||||
- char *str = NULL;
|
||||
- int strLen = -1;
|
||||
+ int i;
|
||||
+ char *str;
|
||||
+ int strLen;
|
||||
|
||||
if ((clientData == NULL) || (in == NULL))
|
||||
--- ../generic/dispatch.c Fri Jul 1 08:11:34 2005
|
||||
+++ ../generic/dispatch.c Thu Feb 1 23:26:28 2007
|
||||
@@ -54,10 +54,7 @@
|
||||
};
|
||||
|
||||
- int idx = 0;
|
||||
- Tcl_Obj *post_data = NULL;
|
||||
- Tcl_Obj *query_string = NULL;
|
||||
- Tcl_Obj *formDataChannel = NULL;
|
||||
- Tcl_Obj *formDataBoundary = NULL;
|
||||
- Tcl_Obj *urlEncString = NULL;
|
||||
+ int idx;
|
||||
+ Tcl_Obj *post_data;
|
||||
+ Tcl_Obj *query_string;
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
@@ -408,6 +405,5 @@
|
||||
{
|
||||
|
||||
- char *content_type = NULL;
|
||||
- int iTmp = 0;
|
||||
+ char *content_type;
|
||||
|
||||
/* printf("DBG parsePostData - starting\n"); fflush(stdout); */
|
||||
--- ../generic/filecounter.c Sat Mar 4 16:28:56 2006
|
||||
+++ ../generic/filecounter.c Thu Feb 1 23:27:44 2007
|
||||
@@ -59,5 +59,4 @@
|
||||
enum subCommands
|
||||
{ CURVAL, NEXTVAL, GETVAL, CONFIG };
|
||||
- char **ptr = (char **) subCommands;
|
||||
|
||||
int idx;
|
||||
--- ../generic/filelock.c Thu Oct 25 13:50:15 2001
|
||||
+++ ../generic/filelock.c Thu Feb 1 23:28:32 2007
|
||||
@@ -24,8 +24,8 @@
|
||||
{
|
||||
|
||||
- int res = -1;
|
||||
- int filedes = -1;
|
||||
+ int res;
|
||||
+ int filedes;
|
||||
|
||||
- filedes = (int) handle;
|
||||
+ filedes = (int)(intptr_t)handle;
|
||||
|
||||
#ifdef SYSV
|
||||
@@ -68,8 +68,8 @@
|
||||
{
|
||||
|
||||
- int res = -1;
|
||||
- int filedes = -1;
|
||||
+ int res;
|
||||
+ int filedes;
|
||||
|
||||
- filedes = (int) handle;
|
||||
+ filedes = (int)(intptr_t)handle;
|
||||
|
||||
#ifdef SYSV
|
||||
@@ -106,8 +106,8 @@
|
||||
{
|
||||
|
||||
- int res = 0;
|
||||
- int filedes = -1;
|
||||
+ int res;
|
||||
+ int filedes;
|
||||
|
||||
- filedes = (int) handle;
|
||||
+ filedes = (int)(intptr_t)handle;
|
||||
|
||||
#ifdef SYSV
|
||||
@@ -147,5 +147,4 @@
|
||||
|
||||
ClientData handle;
|
||||
- int res = 0;
|
||||
|
||||
if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &handle) != TCL_OK) {
|
||||
@@ -175,5 +174,4 @@
|
||||
|
||||
ClientData handle;
|
||||
- int res = 0;
|
||||
|
||||
if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &handle) != TCL_OK) {
|
||||
@@ -244,5 +242,4 @@
|
||||
Tcl_Channel channel;
|
||||
ClientData handle;
|
||||
- int res = 0;
|
||||
|
||||
WebAssertObjc(objc != 2, 1, "channel");
|
||||
--- ../generic/formdata.c Fri Sep 9 07:21:16 2005
|
||||
+++ ../generic/formdata.c Thu Feb 1 23:30:07 2007
|
||||
@@ -563,5 +563,4 @@
|
||||
long rBytesPrev = 0;
|
||||
long wBytes = 0;
|
||||
- char *tmpCurLine = NULL;
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
--- ../generic/htmlify.c Fri Sep 9 08:33:59 2005
|
||||
+++ ../generic/htmlify.c Thu Feb 1 23:32:16 2007
|
||||
@@ -266,13 +266,10 @@
|
||||
{
|
||||
|
||||
- int length = 0; /* length of input */
|
||||
+ int length; /* length of input */
|
||||
int pos = 0; /* actual position in string */
|
||||
- Tcl_UniChar *unic = NULL;
|
||||
+ Tcl_UniChar *unic;
|
||||
int plainfirst = 0;
|
||||
int plainend = 0;
|
||||
- int dump = 0;
|
||||
int err = 0; /* temporary use, may be removed */
|
||||
-
|
||||
- Tcl_Obj *err_buffer = NULL;
|
||||
|
||||
if (in == NULL || out == NULL) {
|
||||
--- ../generic/log.c Sun Mar 5 13:37:27 2006
|
||||
+++ ../generic/log.c Thu Feb 1 23:34:02 2007
|
||||
@@ -435,7 +435,5 @@
|
||||
{
|
||||
|
||||
- LogData *logData = NULL;
|
||||
- int iTmp = 0;
|
||||
- int iCur = 0;
|
||||
+ LogData *logData;
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
@@ -697,6 +695,4 @@
|
||||
case DELETE:{
|
||||
|
||||
- LogDest *logDest = NULL;
|
||||
-
|
||||
/* 0 1 2 */
|
||||
/* web::loglogDest delete logDest1 */
|
||||
@@ -893,6 +889,4 @@
|
||||
}
|
||||
case DELETE:{
|
||||
-
|
||||
- LogLevel *logLevel = NULL;
|
||||
|
||||
/* 0 1 2 */
|
||||
--- ../generic/paramlist.c Wed Sep 11 09:54:01 2002
|
||||
+++ ../generic/paramlist.c Thu Feb 1 23:35:23 2007
|
||||
@@ -86,7 +86,6 @@
|
||||
{
|
||||
|
||||
- Tcl_Obj *existingValue = NULL;
|
||||
- Tcl_Obj *copy = NULL;
|
||||
- int len = 0;
|
||||
+ Tcl_Obj *existingValue;
|
||||
+ Tcl_Obj *copy;
|
||||
|
||||
if ((hash == NULL) || (key == NULL) || (value == NULL))
|
||||
@@ -538,5 +537,5 @@
|
||||
|
||||
if (hash != NULL) {
|
||||
- while (he = Tcl_FirstHashEntry(hash, &hs)) {
|
||||
+ while ((he = Tcl_FirstHashEntry(hash, &hs))) {
|
||||
tclo = (Tcl_Obj *) Tcl_GetHashValue(he);
|
||||
if (tclo != NULL)
|
||||
--- ../generic/request.c Sat Mar 4 20:08:46 2006
|
||||
+++ ../generic/request.c Thu Feb 1 23:36:28 2007
|
||||
@@ -445,12 +445,10 @@
|
||||
{
|
||||
|
||||
- int idx = -1;
|
||||
-
|
||||
static char *params[] = { "-reset", "-channel", NULL };
|
||||
enum params
|
||||
{ REQUESTRESET, DEFAULTCHANNELNAME };
|
||||
|
||||
- int res = 0;
|
||||
- RequestData *requestData = NULL;
|
||||
+ int res;
|
||||
+ RequestData *requestData;
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
--- ../generic/uricode.c Wed Sep 11 09:54:01 2002
|
||||
+++ ../generic/uricode.c Thu Feb 1 23:37:41 2007
|
||||
@@ -80,13 +80,11 @@
|
||||
{
|
||||
|
||||
- long length = 0;
|
||||
- long i = 0;
|
||||
+ long i;
|
||||
char str[32]; /* for hex representation of i. 64 bit -> string
|
||||
with 16 chars. 32 should be long enough, then. */
|
||||
- Tcl_Obj *tclo = NULL;
|
||||
- char *utfs = NULL;
|
||||
- Tcl_UniChar unic = 0;
|
||||
- unsigned char *bytes = NULL;
|
||||
- int bytesLen = -1;
|
||||
+ Tcl_Obj *tclo;
|
||||
+ Tcl_UniChar unic;
|
||||
+ unsigned char *bytes;
|
||||
+ int bytesLen;
|
||||
|
||||
IfNullLogRetNull(NULL, inString, "uriEncode: got NULL as input.");
|
||||
--- ../generic/webout.c Fri Apr 30 16:54:17 2004
|
||||
+++ ../generic/webout.c Thu Feb 1 23:38:59 2007
|
||||
@@ -264,7 +264,6 @@
|
||||
|
||||
case RESET:{
|
||||
- Tcl_Obj *tmp = NULL;
|
||||
- int err = 0;
|
||||
- char *tname = NULL;
|
||||
+ Tcl_Obj *tmp;
|
||||
+ char *tname;
|
||||
|
||||
WebAssertObjc(objc != 2, 2, NULL);
|
||||
--- ../generic/weboutint.c Sun Mar 5 11:56:32 2006
|
||||
+++ ../generic/weboutint.c Thu Feb 1 23:43:34 2007
|
||||
@@ -29,7 +29,5 @@
|
||||
{
|
||||
|
||||
- char *varName = NULL;
|
||||
- char *channelName = NULL;
|
||||
- int mode = 0;
|
||||
+ int mode;
|
||||
Tcl_Channel channel = NULL;
|
||||
|
||||
@@ -133,11 +131,6 @@
|
||||
{
|
||||
|
||||
- Tcl_HashTable *hash = NULL;
|
||||
- ResponseObj *responseObj = NULL;
|
||||
- int err = 0;
|
||||
- int mode = 0;
|
||||
- char *name = NULL;
|
||||
- Tcl_Obj *tmp = NULL;
|
||||
- Tcl_Obj *tmp2 = NULL;
|
||||
+ Tcl_HashTable *hash;
|
||||
+ ResponseObj *responseObj;
|
||||
char *defheaders[] = { HEADER, NULL };
|
||||
int i;
|
||||
@@ -145,5 +138,4 @@
|
||||
if (channelName == NULL)
|
||||
return NULL;
|
||||
- name = channelName;
|
||||
|
||||
/* fprintf(stderr,"creating '%s'\n",channelName); fflush(stderr); */
|
||||
@@ -174,6 +166,6 @@
|
||||
|
||||
while (defheaders[i]) {
|
||||
- char *key = NULL;
|
||||
- Tcl_Obj *val = NULL;
|
||||
+ char *key;
|
||||
+ Tcl_Obj *val;
|
||||
|
||||
key = defheaders[i++];
|
||||
@@ -186,5 +178,5 @@
|
||||
responseObj->bytesSent = 0;
|
||||
responseObj->headers = hash;
|
||||
- responseObj->name = Tcl_NewStringObj(name, -1);
|
||||
+ responseObj->name = Tcl_NewStringObj(channelName, -1);
|
||||
responseObj->httpresponse = NULL;
|
||||
responseObj->headerHandler = headerHandler;
|
||||
@@ -352,7 +344,6 @@
|
||||
{
|
||||
|
||||
- OutData *outData = NULL;
|
||||
+ OutData *outData;
|
||||
/* HashTableIterator iterator; */
|
||||
- ResponseObj *responseObj = NULL;
|
||||
|
||||
if (clientData == NULL)
|
||||
@@ -384,5 +375,5 @@
|
||||
int begin = 1;
|
||||
int firstScan = 1;
|
||||
- int inside = 0, p = 0;
|
||||
+ int inside = 0;
|
||||
int inLen = 0;
|
||||
int res = 0;
|
||||
--- ../generic/interpool.c Sun Mar 5 13:41:48 2006
|
||||
+++ ../generic/interpool.c Thu Feb 1 23:44:56 2007
|
||||
@@ -101,5 +101,4 @@
|
||||
|
||||
int result = 0;
|
||||
- time_t t = 0;
|
||||
LogPlugIn *logtoap = NULL;
|
||||
Tcl_Obj *code = NULL;
|
||||
@@ -299,5 +298,4 @@
|
||||
WebInterp *found = NULL;
|
||||
WebInterpClass *webInterpClass = NULL;
|
||||
- LogToApData *logToApData = NULL;
|
||||
char *id = NULL;
|
||||
Tcl_Obj *idObj = NULL;
|
||||
--- ../generic/mod_websh.c Mon Dec 12 12:13:55 2005
|
||||
+++ ../generic/mod_websh.c Thu Feb 1 23:46:50 2007
|
||||
@@ -367,7 +367,4 @@
|
||||
|
||||
int res;
|
||||
- void *sconf = r->server->module_config;
|
||||
- websh_server_conf *conf =
|
||||
- (websh_server_conf *) ap_get_module_config(sconf, &websh_module);
|
||||
|
||||
#ifdef APACHE2
|
||||
--- ../generic/modwebsh_ap.c Thu Oct 27 18:00:55 2005
|
||||
+++ ../generic/modwebsh_ap.c Thu Feb 1 23:47:40 2007
|
||||
@@ -83,5 +83,4 @@
|
||||
|
||||
WebInterp *webInterp = (WebInterp *) clientData;
|
||||
- int res = 0;
|
||||
|
||||
if (objc != 2) {
|
||||
--- ../generic/request_ap.c Thu Nov 3 07:41:34 2005
|
||||
+++ ../generic/request_ap.c Thu Feb 1 23:48:28 2007
|
||||
@@ -40,5 +40,4 @@
|
||||
{
|
||||
|
||||
- int res = 0;
|
||||
/*Tcl_Obj *reso = NULL;*/
|
||||
request_rec *r = NULL;
|
21
www/websh/files/pkg-message.in
Normal file
21
www/websh/files/pkg-message.in
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
The websh _executable_ is deliberately not installed by this port.
|
||||
To load websh functionality into regular Tcl-scripts, simply use:
|
||||
|
||||
package require websh
|
||||
|
||||
|
||||
For a ready to use example on configuring the module, see:
|
||||
|
||||
%%EXAMPLESDIR%%/httpd.conf
|
||||
|
||||
The file can be simply copied into the
|
||||
|
||||
%%PREFIX%%/%%APACHEETCDIR%%/Includes/
|
||||
|
||||
under more recent Apache versions.
|
||||
|
||||
Be sure to create %%PREFIX%%/etc/websh.conf -- most likely, you'll
|
||||
simply copy the installed %%PREFIX%%/etc/websh.conf.dist over.
|
||||
|
||||
-
|
3
www/websh/files/pkgIndex.tcl.in
Normal file
3
www/websh/files/pkgIndex.tcl.in
Normal file
@ -0,0 +1,3 @@
|
||||
if {[package vcompare [info tclversion] 8.3] < 0} return
|
||||
|
||||
package ifneeded websh %%WS_VER%% [list load [file join [file dirname $dir] libwebsh%%TCL_DVER%%.so.1]]
|
20
www/websh/files/shared-patch
Normal file
20
www/websh/files/shared-patch
Normal file
@ -0,0 +1,20 @@
|
||||
Link the module (and the executable - websh) dynamically with
|
||||
-lwebsh84, instead of statically with all of the object files. This
|
||||
reduces the size of the module by a factor of 5.
|
||||
|
||||
-mi
|
||||
|
||||
--- Makefile.in Sun Mar 5 11:58:37 2006
|
||||
+++ Makefile.in Thu Feb 8 19:37:14 2007
|
||||
@@ -256,9 +256,9 @@
|
||||
|
||||
websh$(VERSION): tclAppInit.$(OBJEXT) $(web_OBJECTS)
|
||||
- $(CC) @LDFLAGS@ tclAppInit.$(OBJEXT) $(web_OBJECTS) \
|
||||
+ $(CC) @LDFLAGS@ tclAppInit.$(OBJEXT) $(web_LIB_FILE)\
|
||||
$(TCL_LIB_SPEC) $(TCL_LIBS) $(TCL_LD_FLAGS) -o websh$(VERSION)
|
||||
|
||||
mod_websh$(MODULE_LIB_SUFFIX): $(web_ap_OBJECTS)
|
||||
- $(SHLIB_LD_CURRENT) -o mod_websh$(MODULE_LIB_SUFFIX) $(web_ap_OBJECTS) $(TCL_LIB_SPEC)
|
||||
+ $(SHLIB_LD_CURRENT) -o mod_websh$(MODULE_LIB_SUFFIX) $(web_OBJECTS_ap) $(web_LIB_FILE) $(TCL_LIB_SPEC)
|
||||
|
||||
mod_websh$(UNSHARED_LIB_SUFFIX): $(web_ap_OBJECTS)
|
14
www/websh/pkg-descr
Normal file
14
www/websh/pkg-descr
Normal file
@ -0,0 +1,14 @@
|
||||
From the software's readme.html:
|
||||
|
||||
mod_dtcl is a free/open source implementation of server parsed
|
||||
Tcl, under Apache, distributed under the terms of the GNU GPL.
|
||||
It allows you to tightly integrate html with Tcl, a widely used
|
||||
scripting language with many years of development invested in
|
||||
it. This is an ideal combination, allowing you to greatly extend
|
||||
what you could do with plain html. Because Tcl is such a widely
|
||||
used language, there is a large amount of documentation for it,
|
||||
both on the net and books. There are also many external Tcl
|
||||
modules that you can load into mod_dtcl, to create images,
|
||||
access databases, etc.
|
||||
|
||||
WWW: http://tcl.apache.org/mod_dtcl/
|
29
www/websh/pkg-plist
Normal file
29
www/websh/pkg-plist
Normal file
@ -0,0 +1,29 @@
|
||||
lib/libwebsh84.so.1
|
||||
lib/libwebsh84.so
|
||||
lib/websh/pkgIndex.tcl
|
||||
lib/websh/htmlhandler.ws3
|
||||
lib/websh/otherhandler.ws3
|
||||
@dirrm lib/websh/
|
||||
etc/websh.conf.dist
|
||||
%%PORTDOCS%%%%EXAMPLESDIR%%/index.whtml
|
||||
%%PORTDOCS%%%%EXAMPLESDIR%%/myApp.ws3
|
||||
%%PORTDOCS%%%%EXAMPLESDIR%%/other.whtml
|
||||
%%PORTDOCS%%%%EXAMPLESDIR%%/httpd.conf
|
||||
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
|
||||
%%PORTDOCS%%%%DOCSDIR%%/Apache_module_specific_commands.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/command_dispatching_and_session_management.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/configuration.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/context_handling.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/data_encryption.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/file_handling_and_file_IO.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/index.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/inter-process_and_-system_communication.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/logging.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/misc_commands.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/request_data_handling.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/response_data_handling.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/uri-html-_en-decoding.html
|
||||
%%PORTDOCS%%@dirrm %%DOCSDIR%%
|
||||
%%APACHEMODDIR%%/mod_websh.so
|
||||
@exec %D/sbin/apxs -e -A -n websh %D/%F
|
||||
@unexec %D/sbin/apxs -e -A -n websh %D/%F
|
Loading…
Reference in New Issue
Block a user