QuickWho

Check-in [120a2fd1de]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update build for Windows
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:120a2fd1de153e7c91285c83a6efe9ecfb016c99
User & Date: kevin 2017-03-04 02:40:25
Context
2017-03-04
03:18
Final updates for Windows check-in: 54d49c6d8a user: kevin tags: trunk
02:40
Update build for Windows check-in: 120a2fd1de user: kevin tags: trunk
2017-02-28
03:31
Minor tweaks check-in: dc006a1b0c user: kevin tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to makeinstaller.bat.

     1      1   call 7za a quickwho.zip .\dist\*
     2      2   
     3      3   iexpress /n quickwho.sed
     4      4   
     5         -set VERSION="6.0.0.0 (%date%)"
            5  +set VERSION="6.1.0.0 (%date%)"
     6      6   set FILEDESCR=/s desc "Installer for QuickWho"
     7         -set COMPINFO=/s company "WordTech Communications LLC" /s (c) "(c) 2016"
     8         -set PRODINFO=/s product "QuickWho" /pv "6.0.0.0"
            7  +set COMPINFO=/s company "WordTech Communications LLC" /s (c) "(c) 2017"
            8  +set PRODINFO=/s product "QuickWho" /pv "6.1.0.0"
     9      9   
    10     10   "C:\Users\kevin\Desktop\verpatch.exe" /va QuickWho_Setup.exe %VERSION% %FILEDESCR% %COMPINFO% %PRODINFO% 

Added winlibs/tls/pkgIndex.tcl.

            1  +if { $::tcl_platform(platform) ne "windows" } {
            2  +     return;
            3  +   }
            4  +
            5  +package ifneeded tls 1.6.3 \
            6  +    "[list source [file join $dir tls.tcl]] ; \
            7  +     [list tls::initlib $dir tls163.dll]"

Added winlibs/tls/tls.tcl.

            1  +#
            2  +# Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com>
            3  +#
            4  +# $Header: /cvsroot/tls/tls/tls.tcl,v 1.12 2010/07/27 17:15:47 hobbs2 Exp $
            5  +#
            6  +namespace eval tls {
            7  +    variable logcmd tclLog
            8  +    variable debug 0
            9  +
           10  +    # Default flags passed to tls::import
           11  +    variable defaults {}
           12  +
           13  +    # Maps UID to Server Socket
           14  +    variable srvmap
           15  +    variable srvuid 0
           16  +
           17  +    # Over-ride this if you are using a different socket command
           18  +    variable socketCmd
           19  +    if {![info exists socketCmd]} {
           20  +        set socketCmd [info command ::socket]
           21  +    }
           22  +}
           23  +
           24  +proc tls::initlib {dir dll} {
           25  +    # Package index cd's into the package directory for loading.
           26  +    # Irrelevant to unixoids, but for Windows this enables the OS to find
           27  +    # the dependent DLL's in the CWD, where they may be.
           28  +    set cwd [pwd]
           29  +    catch {cd $dir}
           30  +    if {[string equal $::tcl_platform(platform) "windows"] &&
           31  +  ![string equal [lindex [file system $dir] 0] "native"]} {
           32  +  # If it is a wrapped executable running on windows, the openssl
           33  +  # dlls must be copied out of the virtual filesystem to the disk
           34  +  # where Windows will find them when resolving the dependency in
           35  +  # the tls dll. We choose to make them siblings of the executable.
           36  +  package require starkit
           37  +  set dst [file nativename [file dirname $starkit::topdir]]
           38  +  foreach sdll [glob -nocomplain -directory $dir -tails *eay32.dll] {
           39  +      catch {file delete -force            $dst/$sdll}
           40  +      catch {file copy   -force $dir/$sdll $dst/$sdll}
           41  +  }
           42  +    }
           43  +    # These lines added by Mike for Potato
           44  +    set bits 64
           45  +    set files [glob -nocomplain -dir [pwd] -tails *_${bits}bit.dll]
           46  +    if { [llength $files] } {
           47  +         set dll [lindex $files 0]
           48  +       }
           49  +    # End addition by Mike for Potato
           50  +    set res [catch {uplevel #0 [list load [file join [pwd] $dll]]} err]
           51  +    catch {cd $cwd}
           52  +    if {$res} {
           53  +  namespace eval [namespace parent] {namespace delete tls}
           54  +  return -code $res $err
           55  +    }
           56  +    rename tls::initlib {}
           57  +}
           58  +
           59  +#
           60  +# Backwards compatibility, also used to set the default
           61  +# context options
           62  +#
           63  +proc tls::init {args} {
           64  +    variable defaults
           65  +
           66  +    set defaults $args
           67  +}
           68  +#
           69  +# Helper function - behaves exactly as the native socket command.
           70  +#
           71  +proc tls::socket {args} {
           72  +    variable socketCmd
           73  +    variable defaults
           74  +    set idx [lsearch $args -server]
           75  +    if {$idx != -1} {
           76  +  set server 1
           77  +  set callback [lindex $args [expr {$idx+1}]]
           78  +  set args [lreplace $args $idx [expr {$idx+1}]]
           79  +
           80  +  set usage "wrong # args: should be \"tls::socket -server command ?options? port\""
           81  +  set options "-cadir, -cafile, -certfile, -cipher, -command, -keyfile, -myaddr, -password, -request, -require, -ssl2, -ssl3, or -tls1"
           82  +    } else {
           83  +  set server 0
           84  +
           85  +  set usage "wrong # args: should be \"tls::socket ?options? host port\""
           86  +  set options "-async, -cadir, -cafile, -certfile, -cipher, -command, -keyfile, -myaddr, -myport, -password, -request, -require, -ssl2, -ssl3, or -tls1"
           87  +    }
           88  +    set argc [llength $args]
           89  +    set sopts {}
           90  +    set iopts [concat [list -server $server] $defaults] ;# Import options
           91  +
           92  +    for {set idx 0} {$idx < $argc} {incr idx} {
           93  +  set arg [lindex $args $idx]
           94  +  switch -glob -- $server,$arg {
           95  +      0,-async  {lappend sopts $arg}
           96  +      0,-myport -
           97  +      *,-type -
           98  +      *,-myaddr {lappend sopts $arg [lindex $args [incr idx]]}
           99  +      *,-cadir  -
          100  +      *,-cafile -
          101  +      *,-certfile -
          102  +      *,-cipher -
          103  +      *,-command  -
          104  +      *,-keyfile  -
          105  +      *,-password -
          106  +      *,-request  -
          107  +      *,-require  -
          108  +      *,-ssl2 -
          109  +      *,-ssl3 -
          110  +      *,-tls1 {lappend iopts $arg [lindex $args [incr idx]]}
          111  +      -*    {return -code error "bad option \"$arg\": must be one of $options"}
          112  +      default {break}
          113  +  }
          114  +    }
          115  +    if {$server} {
          116  +  if {($idx + 1) != $argc} {
          117  +      return -code error $usage
          118  +  }
          119  +  set uid [incr ::tls::srvuid]
          120  +
          121  +  set port [lindex $args [expr {$argc-1}]]
          122  +  lappend sopts $port
          123  +  #set sopts [linsert $sopts 0 -server $callback]
          124  +  set sopts [linsert $sopts 0 -server [list tls::_accept $iopts $callback]]
          125  +  #set sopts [linsert $sopts 0 -server [list tls::_accept $uid $callback]]
          126  +    } else {
          127  +  if {($idx + 2) != $argc} {
          128  +      return -code error $usage
          129  +  }
          130  +  set host [lindex $args [expr {$argc-2}]]
          131  +  set port [lindex $args [expr {$argc-1}]]
          132  +  lappend sopts $host $port
          133  +    }
          134  +    #
          135  +    # Create TCP/IP socket
          136  +    #
          137  +    set chan [eval $socketCmd $sopts]
          138  +    if {!$server && [catch {
          139  +  #
          140  +  # Push SSL layer onto socket
          141  +  #
          142  +  eval [list tls::import] $chan $iopts
          143  +    } err]} {
          144  +  set info ${::errorInfo}
          145  +  catch {close $chan}
          146  +  return -code error -errorinfo $info $err
          147  +    }
          148  +    return $chan
          149  +}
          150  +
          151  +# tls::_accept --
          152  +#
          153  +#   This is the actual accept that TLS sockets use, which then calls
          154  +#   the callback registered by tls::socket.
          155  +#
          156  +# Arguments:
          157  +#   iopts tls::import opts
          158  +#   callback  server callback to invoke
          159  +#   chan  socket channel to accept/deny
          160  +#   ipaddr  calling IP address
          161  +#   port  calling port
          162  +#
          163  +# Results:
          164  +#   Returns an error if the callback throws one.
          165  +#
          166  +proc tls::_accept { iopts callback chan ipaddr port } {
          167  +    log 2 [list tls::_accept $iopts $callback $chan $ipaddr $port]
          168  +
          169  +    set chan [eval [list tls::import $chan] $iopts]
          170  +
          171  +    lappend callback $chan $ipaddr $port
          172  +    if {[catch {
          173  +  uplevel #0 $callback
          174  +    } err]} {
          175  +  log 1 "tls::_accept error: ${::errorInfo}"
          176  +  close $chan
          177  +  error $err $::errorInfo $::errorCode
          178  +    } else {
          179  +  log 2 "tls::_accept - called \"$callback\" succeeded"
          180  +    }
          181  +}
          182  +#
          183  +# Sample callback for hooking: -
          184  +#
          185  +# error
          186  +# verify
          187  +# info
          188  +#
          189  +proc tls::callback {option args} {
          190  +    variable debug
          191  +
          192  +    #log 2 [concat $option $args]
          193  +
          194  +    switch -- $option {
          195  +  "error" {
          196  +      foreach {chan msg} $args break
          197  +
          198  +      log 0 "TLS/$chan: error: $msg"
          199  +  }
          200  +  "verify"  {
          201  +      # poor man's lassign
          202  +      foreach {chan depth cert rc err} $args break
          203  +
          204  +      array set c $cert
          205  +
          206  +      if {$rc != "1"} {
          207  +    log 1 "TLS/$chan: verify/$depth: Bad Cert: $err (rc = $rc)"
          208  +      } else {
          209  +    log 2 "TLS/$chan: verify/$depth: $c(subject)"
          210  +      }
          211  +      if {$debug > 0} {
          212  +    return 1; # FORCE OK
          213  +      } else {
          214  +    return $rc
          215  +      }
          216  +  }
          217  +  "info"  {
          218  +      # poor man's lassign
          219  +      foreach {chan major minor state msg} $args break
          220  +
          221  +      if {$msg != ""} {
          222  +    append state ": $msg"
          223  +      }
          224  +      # For tracing
          225  +      upvar #0 tls::$chan cb
          226  +      set cb($major) $minor
          227  +
          228  +      log 2 "TLS/$chan: $major/$minor: $state"
          229  +  }
          230  +  default {
          231  +      return -code error "bad option \"$option\":\
          232  +        must be one of error, info, or verify"
          233  +  }
          234  +    }
          235  +}
          236  +
          237  +proc tls::xhandshake {chan} {
          238  +    upvar #0 tls::$chan cb
          239  +
          240  +    if {[info exists cb(handshake)] && \
          241  +  $cb(handshake) == "done"} {
          242  +  return 1
          243  +    }
          244  +    while {1} {
          245  +  vwait tls::${chan}(handshake)
          246  +  if {![info exists cb(handshake)]} {
          247  +      return 0
          248  +  }
          249  +  if {$cb(handshake) == "done"} {
          250  +      return 1
          251  +  }
          252  +    }
          253  +}
          254  +
          255  +proc tls::password {} {
          256  +    log 0 "TLS/Password: did you forget to set your passwd!"
          257  +    # Return the worlds best kept secret password.
          258  +    return "secret"
          259  +}
          260  +
          261  +proc tls::log {level msg} {
          262  +    variable debug
          263  +    variable logcmd
          264  +
          265  +    if {$level > $debug || $logcmd == ""} {
          266  +  return
          267  +    }
          268  +    set cmd $logcmd
          269  +    lappend cmd $msg
          270  +    uplevel #0 $cmd
          271  +}
          272  +

Added winlibs/tls/tls163_32bit.dll.

cannot compute difference between binary files

Added winlibs/tls/tls163_64bit.dll.

cannot compute difference between binary files