Hello. A few words about the latest version of Naviserver on Windows.
Current Makefile.win32 worked fine (32-bit with Tcl 8.6).
Some minor fixes were required in the source code (attached
naviserver-win32.diff):
* include\Makefile.win32 - fix syntax error when NAVISERVER is
defined (expression without quotes),
* nsd\Makefile - move file dependencies below Makefile.build
include, nmake only creates first dependency,
* nsd\nswin32.c - nsconf.config should be renamed to
nfconf.configFile in accordance with the nsd.h change,
* tests\all.tcl - add 'encoding system utf-8' at the beginning to
for satisfy encoding.test on non-utf8 consoles,
* tests\http.test (http-5.3b,http-9.1) - replace 'curl --data
$string' by 'curl --data @- << $string' to preserve utf-8 data.
Also, I have included zlib from the tcl 8.6 source tree. See attached
nsd-Makefile.win32 - small hack to the source tree, simply save as
nsd\Makefile.win32 and rebuild nsd/libnsd. Note hardcoded path to zlib
sources.
The test suite completed with the following result (ns_proxy.test
skipped)
all.tcl: Total 1542 Passed 1496
Skipped 28 Failed 18 Sourced 69 Test Files.
Thanks for the great job!
Regards
Oleg.
diff --git a/include/Makefile.win32 b/include/Makefile.win32
index 1000d22..95ca3b3 100644
--- a/include/Makefile.win32
+++ b/include/Makefile.win32
@@ -65,7 +65,7 @@
#
!ifdef NAVISERVER
-! if ("" == "$(NAVISERVER)" || "..\naviserver" == $(NAVISERVER))
+! if ("" == "$(NAVISERVER)" || "..\naviserver" == "$(NAVISERVER)")
! message Warning: Ignoring bogus value for NAVISERVER install dir: $(NAVISERVER)
! undef NAVISERVER
! endif
diff --git a/nsd/Makefile b/nsd/Makefile
index 652ff9c..a7104e0 100644
--- a/nsd/Makefile
+++ b/nsd/Makefile
@@ -27,10 +27,6 @@
# version of this file under either the License or the GPL.
#
#
-dhparams.h:
- openssl dhparam -C -2 -noout 512 >> dhparams.h
- openssl dhparam -C -2 -noout 1024 >> dhparams.h
- openssl dhparam -C -2 -noout 2048 >> dhparams.h
# IMPORTANT: Do NOT use the exact same base file name for both nsd.exe
# an nsd.dll. If you do, NaviServer runs just fine, but the nsd.pdb
@@ -44,8 +40,6 @@ PGM = nsd
PGMOBJS = main.o
HDRS = nsd.h
-tls.o: dhparams.h nsopenssl.h
-
LIBOBJS = adpcmds.o adpeval.o adpparse.o adprequest.o auth.o binder.o \
cache.o callbacks.o cls.o compress.o config.o conn.o connio.o \
cookies.o connchan.o \
@@ -64,5 +58,12 @@ LIBOBJS = adpcmds.o adpeval.o adpparse.o adprequest.o auth.o binder.o \
include ../include/Makefile.build
+tls.o: dhparams.h nsopenssl.h
+
+dhparams.h:
+ openssl dhparam -C -2 -noout 512 >> dhparams.h
+ openssl dhparam -C -2 -noout 1024 >> dhparams.h
+ openssl dhparam -C -2 -noout 2048 >> dhparams.h
+
install-init:
$(INSTALL_DATA) init.tcl $(DESTDIR)$(INSTBIN)
diff --git a/nsd/nswin32.c b/nsd/nswin32.c
index ebf768d..16ffe04 100644
--- a/nsd/nswin32.c
+++ b/nsd/nswin32.c
@@ -358,8 +358,8 @@ NsInstallService(char *service)
char nsd[PATH_MAX], config[PATH_MAX];
Ns_DString name, cmd;
- if (_fullpath(config, nsconf.config, sizeof(config)) == NULL) {
- Ns_Log(Error, "nswin32: invalid config path '%s'", nsconf.config);
+ if (_fullpath(config, nsconf.configFile, sizeof(config)) == NULL) {
+ Ns_Log(Error, "nswin32: invalid config path '%s'", nsconf.configFile);
} else if (GetModuleFileName(NULL, nsd, sizeof(nsd)) == 0u) {
Ns_Log(Error, "nswin32: failed to find nsd.exe: '%s'", SysErrMsg());
} else {
diff --git a/tests/all.tcl b/tests/all.tcl
index 03c5be7..9a10d29 100755
--- a/tests/all.tcl
+++ b/tests/all.tcl
@@ -40,6 +40,7 @@
# Make sure, the testfile runs with an expected locale
#
set env(LANG) en_US.UTF-8
+encoding system utf-8
package require Tcl 8.5
package require tcltest 2.2
diff --git a/tests/http.test b/tests/http.test
index f6ea6b6..303fad2 100644
--- a/tests/http.test
+++ b/tests/http.test
@@ -664,7 +664,7 @@ test http-5.3b {
}
} -body {
set string "Testing <äöüÃâ>"
- exec curl -g -s --data $string [ns_config test listenurl]/post 2> /dev/null
+ exec curl -g -s --data @- [ns_config test listenurl]/post << $string 2> /dev/null
} -cleanup {
ns_unregister_op POST /post
unset -nocomplain r
@@ -1622,7 +1622,7 @@ test http-9.1 {
}
} -body {
set string "Testing <äöüÃâ>"
- exec curl -H "Expect: 100-continue" --data $string [ns_config test listenurl]/post 2> /dev/null
+ exec curl -H "Expect: 100-continue" --data @- [ns_config test listenurl]/post << $string 2> /dev/null
} -cleanup {
ns_unregister_op POST /post
} -result {utf-8 <application/x-www-form-urlencoded> AÃATesting <äöüÃâ>ZÃZ}
nsd-Makefile.win32
Description: Binary data
_______________________________________________ naviserver-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/naviserver-devel
