2
# Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com>
4
# $Header: /cvsroot/tls/tls/tests/oldTests/tlsSrv.tcl,v 1.1 2000/06/06 18:13:21 aborr Exp $
6
# Sample Tls-enabled server
8
set dir [file dirname [info script]]
11
#lappend auto_path d:/tcl80/lib
15
# Sample callback - just reflect data back to client
17
proc reflectCB {chan {verbose 0}} {
19
if {[catch {read $chan 1024} data]} {
20
puts stderr "EOF ($data)"
25
if {$verbose && $data != ""} {
26
puts -nonewline stderr $data
28
if {[eof $chan]} { ;# client gone or finished
30
close $chan ;# release the servers client channel
33
puts -nonewline $chan $data
36
proc acceptCB { chan ip port } {
37
puts "accept: $chan $ip $port [fconfigure $chan]"
44
puts [tls::status $chan]
46
fconfigure $chan -buffering none -blocking 0
47
fileevent $chan readable [list reflectCB $chan 1]
49
#tls::init -cafile server.pem -certfile server.pem
50
tls::init -cafile server.pem
53
set chan [tls::socket -server acceptCB \
54
-request 1 -require 0 1234]
55
# -require 1 -command tls::callback 1234]
57
puts "Server waiting connection on $chan (1234)"
58
puts [fconfigure $chan]
60
# Go into the eventloop