mynewt-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ad...@apache.org
Subject [11/51] [partial] incubator-mynewt-site git commit: remove untarred files for openocd
Date Thu, 16 Jun 2016 21:57:15 GMT
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dns.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dns.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dns.tcl
deleted file mode 100644
index fb55a7a..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dns.tcl
+++ /dev/null
@@ -1,1226 +0,0 @@
-# dns.tcl - Steve Bennett <steveb@workware.net.au>
-#
-# Modified for Jim Tcl to:
-# - use udp transport by default
-# - use sendto/recvfrom
-# - don't try to determine local nameservers
-# - remove support for dns uris and finding local nameservers
-# - remove logging calls
-#   (both of these in order to remove dependencies on tcllib)
-
-# Based on:
-
-# dns.tcl - Copyright (C) 2002 Pat Thoyts <patthoyts@users.sourceforge.net>
-#
-# Provide a Tcl only Domain Name Service client. See RFC 1034 and RFC 1035
-# for information about the DNS protocol. This should insulate Tcl scripts
-# from problems with using the system library resolver for slow name servers.
-#
-# This implementation uses TCP only for DNS queries. The protocol reccommends
-# that UDP be used in these cases but Tcl does not include UDP sockets by
-# default. The package should be simple to extend to use a TclUDP extension
-# in the future.
-#
-# Support for SPF (http://spf.pobox.com/rfcs.html) will need updating
-# if or when the proposed draft becomes accepted.
-#
-# Support added for RFC1886 - DNS Extensions to support IP version 6
-# Support added for RFC2782 - DNS RR for specifying the location of services
-# Support added for RFC1995 - Incremental Zone Transfer in DNS
-#
-# TODO:
-#  - When using tcp we should make better use of the open connection and
-#    send multiple queries along the same connection.
-#
-#  - We must switch to using TCP for truncated UDP packets.
-#
-#  - Read RFC 2136 - dynamic updating of DNS
-#
-# -------------------------------------------------------------------------
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-# -------------------------------------------------------------------------
-#
-# $Id: dns.tcl,v 1.36 2008/11/22 12:28:54 mic42 Exp $
-
-package require binary
-package require namespace
-
-namespace eval ::dns {
-    variable version 1.3.3-jim2
-    variable rcsid {$Id: dns.tcl,v 1.36 2008/11/22 12:28:54 mic42 Exp $}
-
-    namespace export configure resolve name address cname \
-        status reset wait cleanup errorcode
-
-    variable options
-    if {![info exists options]} {
-        array set options {
-            port       53
-            timeout    30000
-            protocol   udp
-            search     {}
-            nameserver {localhost}
-            loglevel   warn
-        }
-        #variable log [logger::init dns]
-        #${log}::setlevel $options(loglevel)
-    }
-
-    variable types
-    array set types { 
-        A 1  NS 2  MD 3  MF 4  CNAME 5  SOA 6  MB 7  MG 8  MR 9 
-        NULL 10  WKS 11  PTR 12  HINFO 13  MINFO 14  MX 15  TXT 16
-        SPF 16 AAAA 28 SRV 33 IXFR 251 AXFR 252  MAILB 253  MAILA 254
-        ANY 255 * 255
-    } 
-
-    variable classes
-    array set classes { IN 1  CS 2  CH  3  HS 4  * 255}
-
-    variable uid
-    if {![info exists uid]} {
-        set uid 0
-    }
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Configure the DNS package. In particular the local nameserver will need
-#  to be set. With no options, returns a list of all current settings.
-#
-proc ::dns::configure {args} {
-    variable options
-    variable log
-
-    if {[llength $args] < 1} {
-        set r {}
-        foreach opt [lsort [array names options]] {
-            lappend r -$opt $options($opt)
-        }
-        return $r
-    }
-
-    set cget 0
-    if {[llength $args] == 1} {
-        set cget 1
-    }
-   
-    while {[string match -* [lindex $args 0]]} {
-        switch -glob -- [lindex $args 0] {
-            -n* -
-            -ser* {
-                if {$cget} {
-                    return $options(nameserver) 
-                } else {
-                    set options(nameserver) [Pop args 1] 
-                }
-            }
-            -po*  { 
-                if {$cget} {
-                    return $options(port)
-                } else {
-                    set options(port) [Pop args 1] 
-                }
-            }
-            -ti*  { 
-                if {$cget} {
-                    return $options(timeout)
-                } else {
-                    set options(timeout) [Pop args 1]
-                }
-            }
-            -pr*  {
-                if {$cget} {
-                    return $options(protocol)
-                } else {
-                    set proto [string tolower [Pop args 1]]
-                    if {[string compare udp $proto] == 0 \
-                            && [string compare tcp $proto] == 0} {
-                        return -code error "invalid protocol \"$proto\":\
-                            protocol must be either \"udp\" or \"tcp\""
-                    }
-                    set options(protocol) $proto 
-                }
-            }
-            -sea* { 
-                if {$cget} {
-                    return $options(search)
-                } else {
-                    set options(search) [Pop args 1] 
-                }
-            }
-            -log* {
-                if {$cget} {
-                    return $options(loglevel)
-                } else {
-                    set options(loglevel) [Pop args 1]
-                    ${log}::setlevel $options(loglevel)
-                }
-            }
-            --    { Pop args ; break }
-            default {
-                set opts [join [lsort [array names options]] ", -"]
-                return -code error "bad option [lindex $args 0]:\
-                        must be one of -$opts"
-            }
-        }
-        Pop args
-    }
-
-    return
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Create a DNS query and send to the specified name server. Returns a token
-#  to be used to obtain any further information about this query.
-#
-proc ::dns::resolve {query args} {
-    variable uid
-    variable options
-    variable log
-
-    # get a guaranteed unique and non-present token id.
-    set id [incr uid]
-    while {[info exists [set token [namespace current]::$id]]} {
-        set id [incr uid]
-    }
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-
-    # Setup token/state defaults.
-    set state(id)          $id
-    set state(query)       $query
-    set state(qdata)       ""
-    set state(opcode)      0;                   # 0 = query, 1 = inverse query.
-    set state(-type)       A;                   # DNS record type (A address)
-    set state(-class)      IN;                  # IN (internet address space)
-    set state(-recurse)    1;                   # Recursion Desired
-    set state(-command)    {};                  # asynchronous handler
-    set state(-timeout)    $options(timeout);   # connection timeout default.
-    set state(-nameserver) $options(nameserver);# default nameserver
-    set state(-port)       $options(port);      # default namerservers port
-    set state(-search)     $options(search);    # domain search list
-    set state(-protocol)   $options(protocol);  # which protocol udp/tcp
-
-    # Support for DNS URL's removed
-
-    while {[string match -* [lindex $args 0]]} {
-        switch -glob -- [lindex $args 0] {
-            -n* - ns -
-            -ser* { set state(-nameserver) [Pop args 1] }
-            -po*  { set state(-port) [Pop args 1] }
-            -ti*  { set state(-timeout) [Pop args 1] }
-            -co*  { set state(-command) [Pop args 1] }
-            -cl*  { set state(-class) [Pop args 1] }
-            -ty*  { set state(-type) [Pop args 1] }
-            -pr*  { set state(-protocol) [Pop args 1] }
-            -sea* { set state(-search) [Pop args 1] }
-            -re*  { set state(-recurse) [Pop args 1] }
-            -inv* { set state(opcode) 1 }
-            -status {set state(opcode) 2}
-            -data { set state(qdata) [Pop args 1] }
-            default {
-                set opts [join [lsort [array names state -*]] ", "]
-                return -code error "bad option [lindex $args 0]: \
-                        must be $opts"
-            }
-        }
-        Pop args
-    }
-
-    if {$state(-nameserver) == {}} {
-        return -code error "no nameserver specified"
-    }
-
-    # Check for reverse lookups
-    if {[regexp {^(?:\d{0,3}\.){3}\d{0,3}$} $state(query)]} {
-        set addr [lreverse [split $state(query) .]]
-        lappend addr in-addr arpa
-        set state(query) [join $addr .]
-        set state(-type) PTR
-    }
-
-    BuildMessage $token
-    
-    if {$state(-protocol) == "tcp"} {
-        TcpTransmit $token
-        if {$state(-command) == {}} {
-            wait $token
-        }
-    } else {
-        UdpTransmit $token
-        wait $token
-    }
-    
-    return $token
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Return a list of domain names returned as results for the last query.
-#
-proc ::dns::name {token} {
-    set r {}
-    Flags $token flags
-    array set reply [Decode $token]
-
-    switch -exact -- $flags(opcode) {
-        0 {
-            # QUERY
-            foreach answer $reply(AN) {
-                array set AN $answer
-                if {![info exists AN(type)]} {set AN(type) {}}
-                switch -exact -- $AN(type) {
-                    MX - NS - PTR {
-                        if {[info exists AN(rdata)]} {lappend r $AN(rdata)}
-                    }
-                    default {
-                        if {[info exists AN(name)]} {
-                            lappend r $AN(name)
-                        }
-                    }
-                }
-            }
-        }
-
-        1 {
-            # IQUERY
-            foreach answer $reply(QD) {
-                array set QD $answer
-                lappend r $QD(name)
-            }
-        }
-        default {
-            return -code error "not supported for this query type"
-        }
-    }
-    return $r
-}
-
-# Description:
-#  Return a list of the IP addresses returned for this query.
-#
-proc ::dns::address {token} {
-    set r {}
-    array set reply [Decode $token]
-    foreach answer $reply(AN) {
-        array set AN $answer
-
-        if {[info exists AN(type)]} {
-            switch -exact -- $AN(type) {
-                "A" {
-                    lappend r $AN(rdata)
-                }
-                "AAAA" {
-                    lappend r $AN(rdata)
-                }
-            }
-        }
-    }
-    return $r
-}
-
-# Description:
-#  Return a list of all CNAME results returned for this query.
-#
-proc ::dns::cname {token} {
-    set r {}
-    array set reply [Decode $token]
-    foreach answer $reply(AN) {
-        array set AN $answer
-
-        if {[info exists AN(type)]} {
-            if {$AN(type) == "CNAME"} {
-                lappend r $AN(rdata)
-            }
-        }
-    }
-    return $r
-}
-
-# Description:
-#   Return the decoded answer records. This can be used for more complex
-#   queries where the answer isn't supported byb cname/address/name.
-proc ::dns::result {token args} {
-    array set reply [eval [linsert $args 0 Decode $token]]
-    return $reply(AN)
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Get the status of the request.
-#
-proc ::dns::status {token} {
-    upvar #0 $token state
-    return $state(status)
-}
-
-# Description:
-#  Get the error message. Empty if no error.
-#
-proc ::dns::error {token} {
-    upvar #0 $token state
-    if {[info exists state(error)]} {
-	return $state(error)
-    }
-    return ""
-}
-
-# Description
-#  Get the error code. This is 0 for a successful transaction.
-#
-proc ::dns::errorcode {token} {
-    upvar #0 $token state
-    set flags [Flags $token]
-    set ndx [lsearch -exact $flags errorcode]
-    incr ndx
-    return [lindex $flags $ndx]
-}
-
-# Description:
-#  Reset a connection with optional reason.
-#
-proc ::dns::reset {token {why reset} {errormsg {}}} {
-    upvar #0 $token state
-    set state(status) $why
-    if {[string length $errormsg] > 0 && ![info exists state(error)]} {
-        set state(error) $errormsg
-    }
-    catch {fileevent $state(sock) readable {}}
-    Finish $token
-}
-
-# Description:
-#  Wait for a request to complete and return the status.
-#
-proc ::dns::wait {token} {
-    upvar #0 $token state
-
-    if {$state(status) == "connect"} {
-        vwait [subst $token](status)
-    }
-
-    return $state(status)
-}
-
-# Description:
-#  Remove any state associated with this token.
-#
-proc ::dns::cleanup {token} {
-    upvar #0 $token state
-    if {[info exists state]} {
-        catch {close $state(sock)}
-        catch {after cancel $state(after)}
-        unset state
-    }
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Dump the raw data of the request and reply packets.
-#
-proc ::dns::dump {args} {
-    if {[llength $args] == 1} {
-        set type -reply
-        set token [lindex $args 0]
-    } elseif { [llength $args] == 2 } {
-        set type [lindex $args 0]
-        set token [lindex $args 1]
-    } else {
-        return -code error "wrong # args:\
-            should be \"dump ?option? methodName\""
-    }
-
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    
-    set result {}
-    switch -glob -- $type {
-        -qu*    -
-        -req*   {
-            set result [DumpMessage $state(request)]
-        }
-        -rep*   {
-            set result [DumpMessage $state(reply)]
-        }
-        default {
-            error "unrecognised option: must be one of \
-                    \"-query\", \"-request\" or \"-reply\""
-        }
-    }
-
-    return $result
-}
-
-# Description:
-#  Perform a hex dump of binary data.
-#
-proc ::dns::DumpMessage {data} {
-    set result {}
-    binary scan $data c* r
-    foreach c $r {
-        append result [format "%02x " [expr {$c & 0xff}]]
-    }
-    return $result
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Contruct a DNS query packet.
-#
-proc ::dns::BuildMessage {token} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    variable types
-    variable classes
-    variable options
-
-    if {! [info exists types($state(-type))] } {
-        return -code error "invalid DNS query type"
-    }
-
-    if {! [info exists classes($state(-class))] } {
-        return -code error "invalid DNS query class"
-    }
-
-    set qdcount 0
-    set qsection {}
-    set nscount 0
-    set nsdata {}
-
-    # In theory we can send multiple queries. In practice, named doesn't
-    # appear to like that much. If it did work we'd do this:
-    #  foreach domain [linsert $options(search) 0 {}] ...
-
-
-    # Pack the query: QNAME QTYPE QCLASS
-    set qsection [PackName $state(query)]
-    append qsection [binary format SS \
-                         $types($state(-type))\
-                         $classes($state(-class))]
-    incr qdcount
-
-    if {[string length $state(qdata)] > 0} {
-        set nsdata [eval [linsert $state(qdata) 0 PackRecord]]
-        incr nscount
-    }
-
-    switch -exact -- $state(opcode) {
-        0 {
-            # QUERY
-            set state(request) [binary format SSSSSS $state(id) \
-                [expr {($state(opcode) << 11) | ($state(-recurse) << 8)}] \
-                                    $qdcount 0 $nscount 0]
-            append state(request) $qsection $nsdata
-        }
-        1 {
-            # IQUERY            
-            set state(request) [binary format SSSSSS $state(id) \
-                [expr {($state(opcode) << 11) | ($state(-recurse) << 8)}] \
-                0 $qdcount 0 0 0]
-            append state(request) \
-                [binary format cSSI 0 \
-                     $types($state(-type)) $classes($state(-class)) 0]
-            switch -exact -- $state(-type) {
-                A {
-                    append state(request) \
-                        [binary format Sc4 4 [split $state(query) .]]
-                }
-                PTR {
-                    append state(request) \
-                        [binary format Sc4 4 [split $state(query) .]]
-                }
-                default {
-                    return -code error "inverse query not supported for this type"
-                }
-            }
-        }
-        default {
-            return -code error "operation not supported"
-        }
-    }
-
-    return
-}
-
-# Pack a human readable dns name into a DNS resource record format.
-proc ::dns::PackName {name} {
-    set data ""
-    foreach part [split [string trim $name .] .] {
-        set len [string length $part]
-        append data [binary format ca$len $len $part]
-    }
-    append data \x00
-    return $data
-}
-
-# Pack a character string - byte length prefixed
-proc ::dns::PackString {text} {
-    set len [string length $text]
-    set data [binary format ca$len $len $text]
-    return $data
-}
-
-# Pack up a single DNS resource record. See RFC1035: 3.2 for the format
-# of each type.
-# eg: PackRecord name wiki.tcl.tk type MX class IN rdata {10 mail.example.com}
-#
-proc ::dns::PackRecord {args} {
-    variable types
-    variable classes
-    array set rr {name "" type A class IN ttl 0 rdlength 0 rdata ""}
-    array set rr $args
-    set data [PackName $rr(name)]
-
-    switch -exact -- $rr(type) {
-        CNAME - MB - MD - MF - MG - MR - NS - PTR {
-            set rr(rdata) [PackName $rr(rdata)] 
-        }
-        HINFO { 
-            array set r {CPU {} OS {}}
-            array set r $rr(rdata)
-            set rr(rdata) [PackString $r(CPU)]
-            append rr(rdata) [PackString $r(OS)]
-        }
-        MINFO {
-            array set r {RMAILBX {} EMAILBX {}}
-            array set r $rr(rdata)
-            set rr(rdata) [PackString $r(RMAILBX)]
-            append rr(rdata) [PackString $r(EMAILBX)]
-        }
-        MX {
-            foreach {pref exch} $rr(rdata) break
-            set rr(rdata) [binary format S $pref]
-            append rr(rdata) [PackName $exch]
-        }
-        TXT {
-            set str $rr(rdata)
-            set len [string length [set str $rr(rdata)]]
-            set rr(rdata) ""
-            for {set n 0} {$n < $len} {incr n} {
-                set s [string range $str $n [incr n 253]]
-                append rr(rdata) [PackString $s]
-            }
-        }          
-        NULL {}
-        SOA {
-            array set r {MNAME {} RNAME {}
-                SERIAL 0 REFRESH 0 RETRY 0 EXPIRE 0 MINIMUM 0}
-            array set r $rr(rdata)
-            set rr(rdata) [PackName $r(MNAME)]
-            append rr(rdata) [PackName $r(RNAME)]
-            append rr(rdata) [binary format IIIII $r(SERIAL) \
-                                  $r(REFRESH) $r(RETRY) $r(EXPIRE) $r(MINIMUM)]
-        }
-    }
-
-    # append the root label and the type flag and query class.
-    append data [binary format SSIS $types($rr(type)) \
-                     $classes($rr(class)) $rr(ttl) [string length $rr(rdata)]]
-    append data $rr(rdata)
-    return $data
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Transmit a DNS request over a tcp connection.
-#
-proc ::dns::TcpTransmit {token} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-
-    # setup the timeout
-    if {$state(-timeout) > 0} {
-        set state(after) [after $state(-timeout) \
-                              [list [namespace origin reset] \
-                                   $token timeout\
-                                   "operation timed out"]]
-    }
-
-    # Jim Tcl has no async connect ...
-
-    set s [socket stream $state(-nameserver):$state(-port)]
-    fileevent $s writable [list [namespace origin TcpConnected] $token $s]
-    set state(sock) $s
-    set state(status) connect
-
-    return $token
-}
-
-proc ::dns::TcpConnected {token s} {
-    variable $token
-    upvar 0 $token state
-
-    fileevent $s writable {}
-
-    # Jim Tcl has no async connect ...
-#    if {[catch {fconfigure $s -peername}]} {
-#	# TCP connection failed
-#        Finish $token "can't connect to server"
-#	return
-#    }
-
-    fconfigure $s -blocking 0 -translation binary -buffering none
-
-    # For TCP the message must be prefixed with a 16bit length field.
-    set req [binary format S [string length $state(request)]]
-    append req $state(request)
-
-    puts -nonewline $s $req
-
-    fileevent $s readable [list [namespace current]::TcpEvent $token]
-}
-
-# -------------------------------------------------------------------------
-# Description:
-#  Transmit a DNS request using UDP datagrams
-#
-# Note:
-#  This requires a UDP implementation that can transmit binary data.
-#  As yet I have been unable to test this myself and the tcludp package
-#  cannot do this.
-#
-proc ::dns::UdpTransmit {token} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-
-    # setup the timeout
-    if {$state(-timeout) > 0} {
-        set state(after) [after $state(-timeout) \
-                              [list [namespace origin reset] \
-                                   $token timeout\
-                                  "operation timed out"]]
-    }
-    
-    set state(sock) [socket dgram]
-    #fconfigure $state(sock) -translation binary -buffering none
-    set state(status) connect
-    $state(sock) sendto $state(request) $state(-nameserver):$state(-port)
-    
-    fileevent $state(sock) readable [list [namespace current]::UdpEvent $token]
-    
-    return $token
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Tidy up after a tcp transaction.
-#
-proc ::dns::Finish {token {errormsg ""}} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    global errorInfo errorCode
-
-    if {[string length $errormsg] != 0} {
-	set state(error) $errormsg
-	set state(status) error
-    }
-    catch {close $state(sock)}
-    catch {after cancel $state(after)}
-    if {[info exists state(-command)] && $state(-command) != {}} {
-	if {[catch {eval $state(-command) {$token}} err]} {
-	    if {[string length $errormsg] == 0} {
-		set state(error) [list $err $errorInfo $errorCode]
-		set state(status) error
-	    }
-	}
-        if {[info exists state(-command)]} {
-            unset state(-command)
-        }
-    }
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Handle end-of-file on a tcp connection.
-#
-proc ::dns::Eof {token} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    set state(status) eof
-    Finish $token
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Process a DNS reply packet (protocol independent)
-#
-proc ::dns::Receive {token} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-
-    binary scan $state(reply) SS id flags
-    set status [expr {$flags & 0x000F}]
-
-    switch -- $status {
-        0 {
-            set state(status) ok
-            Finish $token 
-        }
-        1 { Finish $token "Format error - unable to interpret the query." }
-        2 { Finish $token "Server failure - internal server error." }
-        3 { Finish $token "Name Error - domain does not exist" }
-        4 { Finish $token "Not implemented - the query type is not available." }
-        5 { Finish $token "Refused - your request has been refused by the server." }
-        default {
-            Finish $token "unrecognised error code: $err"
-        }
-    }
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  file event handler for tcp socket. Wait for the reply data.
-#
-proc ::dns::TcpEvent {token} {
-    variable log
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    set s $state(sock)
-
-    if {[eof $s]} {
-        Eof $token
-        return
-    }
-
-    set status [catch {read $state(sock)} result]
-    if {$status != 0} {
-        ${log}::debug "Event error: $result"
-        Finish $token "error reading data: $result"
-    } elseif { [string length $result] >= 0 } {
-        if {[catch {
-            # Handle incomplete reads - check the size and keep reading.
-            if {![info exists state(size)]} {
-                binary scan $result S state(size)
-                set result [string range $result 2 end]            
-            }
-            append state(reply) $result
-            
-            # check the length and flags and chop off the tcp length prefix.
-            if {[string length $state(reply)] >= $state(size)} {
-                binary scan $result S id
-                set id [expr {$id & 0xFFFF}]
-                if {$id != [expr {$state(id) & 0xFFFF}]} {
-                    ${log}::error "received packed with incorrect id"
-                }
-                # bug #1158037 - doing this causes problems > 65535 requests!
-                #Receive [namespace current]::$id
-                Receive $token
-            } else {
-                ${log}::debug "Incomplete tcp read:\
-                   [string length $state(reply)] should be $state(size)"
-            }
-        } err]} {
-            Finish $token "Event error: $err"
-        }
-    } elseif { [eof $state(sock)] } {
-        Eof $token
-    } elseif { [fblocked $state(sock)] } {
-        ${log}::debug "Event blocked"
-    } else {
-        ${log}::critical "Event error: this can't happen!"
-        Finish $token "Event error: this can't happen!"
-    }
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  file event handler for udp sockets.
-proc ::dns::UdpEvent {token} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    set s $state(sock)
-
-    set payload [$state(sock) recvfrom 1500]
-    append state(reply) $payload
-
-    binary scan $payload S id
-    set id [expr {$id & 0xFFFF}]
-    if {$id != [expr {$state(id) & 0xFFFF}]} {
-        ${log}::error "received packed with incorrect id"
-    }
-    # bug #1158037 - doing this causes problems > 65535 requests!
-    #Receive [namespace current]::$id
-    Receive $token
-}
-    
-# -------------------------------------------------------------------------
-
-proc ::dns::Flags {token {varname {}}} {
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-    
-    if {$varname != {}} {
-        upvar $varname flags
-    }
-
-    array set flags {query 0 opcode 0 authoritative 0 errorcode 0
-        truncated 0 recursion_desired 0 recursion_allowed 0}
-
-    binary scan $state(reply) SSSSSS mid hdr nQD nAN nNS nAR
-
-    set flags(response)           [expr {($hdr & 0x8000) >> 15}]
-    set flags(opcode)             [expr {($hdr & 0x7800) >> 11}]
-    set flags(authoritative)      [expr {($hdr & 0x0400) >> 10}]
-    set flags(truncated)          [expr {($hdr & 0x0200) >> 9}]
-    set flags(recursion_desired)  [expr {($hdr & 0x0100) >> 8}]
-    set flags(recursion_allowed)  [expr {($hdr & 0x0080) >> 7}]
-    set flags(errorcode)          [expr {($hdr & 0x000F)}]
-
-    return [array get flags]
-}
-
-# -------------------------------------------------------------------------
-
-# Description:
-#  Decode a DNS packet (either query or response).
-#
-proc ::dns::Decode {token args} {
-    variable log
-    # FRINK: nocheck
-    variable $token
-    upvar 0 $token state
-
-    array set opts {-rdata 0 -query 0}
-    while {[string match -* [set option [lindex $args 0]]]} {
-        switch -exact -- $option {
-            -rdata { set opts(-rdata) 1 }
-            -query { set opts(-query) 1 }
-            default {
-                return -code error "bad option \"$option\":\
-                    must be -rdata"
-            }
-        }
-        Pop args
-    }
-
-    if {$opts(-query)} {
-        binary scan $state(request) SSSSSSc* mid hdr nQD nAN nNS nAR data
-    } else {
-        binary scan $state(reply) SSSSSSc* mid hdr nQD nAN nNS nAR data
-    }
-
-    set fResponse      [expr {($hdr & 0x8000) >> 15}]
-    set fOpcode        [expr {($hdr & 0x7800) >> 11}]
-    set fAuthoritative [expr {($hdr & 0x0400) >> 10}]
-    set fTrunc         [expr {($hdr & 0x0200) >> 9}]
-    set fRecurse       [expr {($hdr & 0x0100) >> 8}]
-    set fCanRecurse    [expr {($hdr & 0x0080) >> 7}]
-    set fRCode         [expr {($hdr & 0x000F)}]
-    set flags ""
-
-    if {$fResponse} {set flags "QR"} else {set flags "Q"}
-    set opcodes [list QUERY IQUERY STATUS]
-    lappend flags [lindex $opcodes $fOpcode]
-    if {$fAuthoritative} {lappend flags "AA"}
-    if {$fTrunc} {lappend flags "TC"}
-    if {$fRecurse} {lappend flags "RD"}
-    if {$fCanRecurse} {lappend flags "RA"}
-
-    set info "ID: $mid\
-              Fl: [format 0x%02X [expr {$hdr & 0xFFFF}]] ($flags)\
-              NQ: $nQD\
-              NA: $nAN\
-              NS: $nNS\
-              AR: $nAR"
-    #${log}::debug $info
-
-    set ndx 12
-    set r {}
-    set QD [ReadQuestion $nQD $state(reply) ndx]
-    lappend r QD $QD
-    set AN [ReadAnswer $nAN $state(reply) ndx $opts(-rdata)]
-    lappend r AN $AN
-    set NS [ReadAnswer $nNS $state(reply) ndx $opts(-rdata)]
-    lappend r NS $NS
-    set AR [ReadAnswer $nAR $state(reply) ndx $opts(-rdata)]
-    lappend r AR $AR
-    return $r
-}
-
-# -------------------------------------------------------------------------
-
-proc ::dns::Expand {data} {
-    set r {}
-    binary scan $data c* d
-    foreach c $d {
-        lappend r [expr {$c & 0xFF}]
-    }
-    return $r
-}
-
-
-# -------------------------------------------------------------------------
-# Description:
-#  Pop the nth element off a list. Used in options processing.
-#
-proc ::dns::Pop {varname {nth 0}} {
-    upvar $varname args
-    set r [lindex $args $nth]
-    set args [lreplace $args $nth $nth]
-    return $r
-}
-
-# -------------------------------------------------------------------------
-
-proc ::dns::KeyOf {arrayname value {default {}}} {
-    upvar $arrayname array
-    set lst [array get array]
-    set ndx [lsearch -exact $lst $value]
-    if {$ndx != -1} {
-        incr ndx -1
-        set r [lindex $lst $ndx]
-    } else {
-        set r $default
-    }
-    return $r
-}
-
-
-# -------------------------------------------------------------------------
-# Read the question section from a DNS message. This always starts at index
-# 12 of a message but may be of variable length.
-#
-proc ::dns::ReadQuestion {nitems data indexvar} {
-    variable types
-    variable classes
-    upvar $indexvar index
-    set result {}
-
-    for {set cn 0} {$cn < $nitems} {incr cn} {
-        set r {}
-        lappend r name [ReadName data $index offset]
-        incr index $offset
-        
-        # Read off QTYPE and QCLASS for this query.
-        set ndx $index
-        incr index 3
-        binary scan [string range $data $ndx $index] SS qtype qclass
-        set qtype [expr {$qtype & 0xFFFF}]
-        set qclass [expr {$qclass & 0xFFFF}]
-        incr index
-        lappend r type [KeyOf types $qtype $qtype] \
-                  class [KeyOf classes $qclass $qclass]
-        lappend result $r
-    }
-    return $result
-}
-        
-# -------------------------------------------------------------------------
-
-# Read an answer section from a DNS message. 
-#
-proc ::dns::ReadAnswer {nitems data indexvar {raw 0}} {
-    variable types
-    variable classes
-    upvar $indexvar index
-    set result {}
-
-    for {set cn 0} {$cn < $nitems} {incr cn} {
-        set r {}
-        lappend r name [ReadName data $index offset]
-        incr index $offset
-        
-        # Read off TYPE, CLASS, TTL and RDLENGTH
-        binary scan [string range $data $index end] SSIS type class ttl rdlength
-
-        set type [expr {$type & 0xFFFF}]
-        set type [KeyOf types $type $type]
-
-        set class [expr {$class & 0xFFFF}]
-        set class [KeyOf classes $class $class]
-
-        set ttl [expr {$ttl & 0xFFFFFFFF}]
-        set rdlength [expr {$rdlength & 0xFFFF}]
-        incr index 10
-        set rdata [string range $data $index [expr {$index + $rdlength - 1}]]
-
-        if {! $raw} {
-            switch -- $type {
-                A {
-                    set rdata [join [Expand $rdata] .]
-                }
-                AAAA {
-                    set rdata [ip::contract [ip::ToString $rdata]]
-                }
-                NS - CNAME - PTR {
-                    set rdata [ReadName data $index off] 
-                }
-                MX {
-                    binary scan $rdata S preference
-                    set exchange [ReadName data [expr {$index + 2}] off]
-                    set rdata [list $preference $exchange]
-                }
-                SRV {
-                    set x $index
-                    set rdata [list priority [ReadUShort data $x off]]
-                    incr x $off
-                    lappend rdata weight [ReadUShort data $x off]
-                    incr x $off
-                    lappend rdata port [ReadUShort data $x off]
-                    incr x $off
-                    lappend rdata target [ReadName data $x off]
-                    incr x $off
-                }
-                TXT {
-                    set rdata [ReadString data $index $rdlength]
-                }
-                SOA {
-                    set x $index
-                    set rdata [list MNAME [ReadName data $x off]]
-                    incr x $off 
-                    lappend rdata RNAME [ReadName data $x off]
-                    incr x $off
-                    lappend rdata SERIAL [ReadULong data $x off]
-                    incr x $off
-                    lappend rdata REFRESH [ReadLong data $x off]
-                    incr x $off
-                    lappend rdata RETRY [ReadLong data $x off]
-                    incr x $off
-                    lappend rdata EXPIRE [ReadLong data $x off]
-                    incr x $off
-                    lappend rdata MINIMUM [ReadULong data $x off]
-                    incr x $off
-                }
-            }
-        }
-
-        incr index $rdlength
-        lappend r type $type class $class ttl $ttl rdlength $rdlength rdata $rdata
-        lappend result $r
-    }
-    return $result
-}
-
-
-# Read a 32bit integer from a DNS packet. These are compatible with
-# the ReadName proc. Additionally - ReadULong takes measures to ensure 
-# the unsignedness of the value obtained.
-#
-proc ::dns::ReadLong {datavar index usedvar} {
-    upvar $datavar data
-    upvar $usedvar used
-    set r {}
-    set used 0
-    if {[binary scan $data @${index}I r]} {
-        set used 4
-    }
-    return $r
-}
-
-proc ::dns::ReadULong {datavar index usedvar} {
-    upvar $datavar data
-    upvar $usedvar used
-    set r {}
-    set used 0
-    if {[binary scan $data @${index}cccc b1 b2 b3 b4]} {
-        set used 4
-        # This gets us an unsigned value.
-        set r [expr {($b4 & 0xFF) + (($b3 & 0xFF) << 8) 
-                     + (($b2 & 0xFF) << 16) + ($b1 << 24)}] 
-    }
-    return $r
-}
-
-proc ::dns::ReadUShort {datavar index usedvar} {
-    upvar $datavar data
-    upvar $usedvar used
-    set r {}
-    set used 0
-    if {[binary scan [string range $data $index end] cc b1 b2]} {
-        set used 2
-        # This gets us an unsigned value.
-        set r [expr {(($b2 & 0xff) + (($b1 & 0xff) << 8)) & 0xffff}] 
-    }
-    return $r
-}
-
-# Read off the NAME or QNAME element. This reads off each label in turn, 
-# dereferencing pointer labels until we have finished. The length of data
-# used is passed back using the usedvar variable.
-#
-proc ::dns::ReadName {datavar index usedvar} {
-    upvar $datavar data
-    upvar $usedvar used
-    set startindex $index
-
-    set r {}
-    set len 1
-    set max [string length $data]
-    
-    while {$len != 0 && $index < $max} {
-        # Read the label length (and preread the pointer offset)
-        binary scan [string range $data $index end] cc len lenb
-        set len [expr {$len & 0xFF}]
-        incr index
-        
-        if {$len != 0} {
-            if {[expr {$len & 0xc0}]} {
-                binary scan [binary format cc [expr {$len & 0x3f}] [expr {$lenb & 0xff}]] S offset
-                incr index
-                lappend r [ReadName data $offset junk]
-                set len 0
-            } else {
-                lappend r [string range $data $index [expr {$index + $len - 1}]]
-                incr index $len
-            }
-        }
-    }
-    set used [expr {$index - $startindex}]
-    return [join $r .]
-}
-
-proc ::dns::ReadString {datavar index length} {
-    upvar $datavar data
-    set startindex $index
-
-    set r {}
-    set max [expr {$index + $length}]
-
-    while {$index < $max} {
-        binary scan [string range $data $index end] c len
-        set len [expr {$len & 0xFF}]
-        incr index
-
-        if {$len != 0} {
-            append r [string range $data $index [expr {$index + $len - 1}]]
-            incr index $len
-        }
-    }
-    return $r
-}
-
-# -------------------------------------------------------------------------
-
-
-package provide dns $dns::version
-
-# -------------------------------------------------------------------------
-# Local Variables:
-#   indent-tabs-mode: nil
-# End:

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dnstest.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dnstest.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dnstest.tcl
deleted file mode 100644
index 905ecb8..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/dnstest.tcl
+++ /dev/null
@@ -1,22 +0,0 @@
-lappend auto_path [pwd]
-package require dns
-
-# Use google's DNS
-dns::configure -nameserver 8.8.8.8
-
-puts "Resolve with udp"
-set tok [dns::resolve www.tcl.tk]
-puts status=[dns::status $tok]
-puts address=[dns::address $tok]
-puts names=[dns::name $tok]
-dns::cleanup $tok
-
-# Now with tcp
-dns::configure -protocol tcp
-
-puts "Resolve with tcp"
-set tok [dns::resolve www.google.com]
-puts status=[dns::status $tok]
-puts address=[dns::address $tok]
-puts names=[dns::name $tok]
-dns::cleanup $tok

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/jtclsh.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/jtclsh.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/jtclsh.tcl
deleted file mode 100644
index b384717..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/jtclsh.tcl
+++ /dev/null
@@ -1,58 +0,0 @@
-# Simple example of how the history extension
-# can be used to provide line editing and history
-
-# Build jimsh with the history extension and enable line editing (the default)
-# ./configure --with-ext=history
-
-package require history
-
-set histfile [env HOME]/.jtclsh
-history load $histfile
-set prefix ""
-while {1} {
-	# Read a complete line (script)
-	set prompt "${prefix}jim> "
-	set cmd {}
-	while {1} {
-		if {[history getline $prompt line] < 0} {
-			exit 0
-		}
-		if {$cmd ne ""} {
-			append cmd \n
-		}
-		append cmd $line
-		if {[info complete $cmd char]} {
-			break
-		}
-		set prompt "$char> "
-	}
-
-	if {$cmd eq "h"} {
-		history show
-		continue
-	}
-
-	# Don't bother adding single char commands to the history
-	if {[string length $cmd] > 1} {
-		history add $cmd
-		history save $histfile
-	}
-
-	# Evaluate the script and display the error
-	try {
-		set result [eval $cmd]
-		set prefix ""
-	} on {error return break continue signal} {result opts} {
-		set rcname [info returncodes $opts(-code)]
-		if {$rcname eq "ok" } {
-			# Note: return set -code to 0
-			set rcname return
-		} elseif {$rcname eq "error"} {
-			set result [errorInfo $result]
-		}
-		set prefix "\[$rcname\] "
-	}
-	if {$result ne {}} {
-		puts $result
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/key.pem
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/key.pem b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/key.pem
deleted file mode 100644
index 239ad66..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/key.pem
+++ /dev/null
@@ -1,9 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIBPAIBAAJBAL7+aty3S1iBA/+yxjxv4q1MUTd1kjNwL4lYKbpzzlmC5beaQXeQ
-2RmGMTXU+mDvuqItjVHOK3DvPK7lTcSGftUCAwEAAQJBALjkK+jc2+iihI98riEF
-oudmkNziSRTYjnwjx8mCoAjPWviB3c742eO3FG4/soi1jD9A5alihEOXfUzloenr
-8IECIQD3B5+0l+68BA/6d76iUNqAAV8djGTzvxnCxycnxPQydQIhAMXt4trUI3nc
-a+U8YL2HPFA3gmhBsSICbq2OptOCnM7hAiEA6Xi3JIQECob8YwkRj29DU3/4WYD7
-WLPgsQpwo1GuSpECICGsnWH5oaeD9t9jbFoSfhJvv0IZmxdcLpRcpslpeWBBAiEA
-6/5B8J0GHdJq89FHwEG/H2eVVUYu5y/aD6sgcm+0Avg=
------END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/metakit.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/metakit.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/metakit.tcl
deleted file mode 100644
index 0d544d1..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/metakit.tcl
+++ /dev/null
@@ -1,112 +0,0 @@
-package require mk
-
-# These will become subcommands of every view handle
-
-# Looping using cursors
-proc {mk.view each} {view arrayVar script} {
-    upvar 1 $arrayVar array
-    for {set cur $view!0} {[cursor valid $cur]} {cursor incr cur} {
-        set array [cursor get $cur]
-        uplevel 1 $script
-    }
-}
-
-# Shortcuts to avoid cursors for one-time operations
-proc {mk.view set} {view pos args} {
-    tailcall cursor set $view!$pos {*}$args
-}
-proc {mk.view append} {view args} {
-    tailcall cursor set $view!end+1 {*}$args
-}
-proc {mk.view insert} {view pos args} {
-    # Note that this only inserts fresh rows and doesn't set any data
-    tailcall cursor insert $view!$pos {*}$args
-}
-
-# Dump a view to stdout
-proc {mk.view dump} {view} {
-    $view each row {puts "  $row"}
-}
-
-# -----------------------------------------------------------------------------
-
-# Open an in-memory database
-set db [storage]
-
-# Specify the view structure, creating new views and restructuring existing
-# ones as necessary
-$db structure firstview  {key string first string}
-$db structure secondview {key string second string}
-
-# Open them.
-[$db view firstview] as fstview
-# Or equivalently (using pipeline notation)
-$db view secondview | as sndview
-
-# Use the helpers defined above to populate the first view
-$fstview set 0 key foo first bar
-$fstview append key hello first world
-$fstview insert 0
-$fstview set 0 key metakit first example
-
-# Or use cursors directly. A end-X/end+X cursor moves automatically when
-# the view size changes.
-set cur $sndview!end+1
-cursor set $cur key foo second baz
-cursor set $cur key hello second goodbye
-cursor set $cur key silly second examples
-
-puts "First view:"
-$fstview dump
-puts "Second view:"
-$sndview dump
-
-puts "\nNow trying view operations. Note that all the binary operations"
-puts "are left-biased when it comes to conflicting property values.\n"
-
-puts "Join on key:" ;# Common subset of the two outer joins below
-$fstview join $sndview key | dump
-puts "Outer join on key:" ;# Will yield more rows than an inner join
-$fstview join $sndview -outer key | dump
-puts "Outer join on key, in reverse order:"
-$sndview join $fstview -outer key | dump
-
-puts "Cartesian product:"
-$fstview product $sndview | dump
-
-puts "Pairing:"
-$fstview pair $sndview | dump
-puts "Pairing, in reverse order:"
-$sndview pair $fstview | dump
-
-puts "Complex pipeline (fetch rows 3,5,.. from the cartesian product and sort"
-puts "them on the 'first' property):"
-$fstview product $sndview | range 3 end 2 | sort first | dump
-# Slice step defaults to 1. Sorting may be performed on several properties at
-# a time, prepending a "-" (minus sign) will cause the sort order to be reversed.
-
-puts "Another one (fetch the unique key values from the cartesian product):"
-$fstview product $sndview | project key | unique | dump
-# Use "without" to remove certain properties.
-
-puts "Keys in the cartesian product not in the reverse pairing:"
-[$fstview product $sndview | project key | unique] minus [$sndview pair $fstview | unique] | dump
-# Union "union", intersection "intersect" and symmetric difference "different"
-# are also available. They all work only if the rows are unique.
-
-puts "Create a subview:"
-$fstview product $sndview | group subv key | as complexview | dump
-# Not so informative as subviews are not displayed properly. Several grouping
-# properties may be specified.
-puts "Get its values for row #0:"
-cursor get $complexview!0 subv | dump
-puts "And flatten it back:"
-$complexview flatten subv | dump
-
-puts "Remove a row:"
-cursor remove $sndview!1
-$sndview dump
-# Several rows may be removed at once by specifying a row count
-puts "Clear the view:"
-$sndview resize 0
-$sndview dump

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ootest.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ootest.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ootest.tcl
deleted file mode 100644
index 731e46a..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ootest.tcl
+++ /dev/null
@@ -1,154 +0,0 @@
-package require oo
-
-# Create a class, the usual bank account, with two instance variables:
-class Account {
-	balance 0
-	name "Unknown"
-}
-
-# We have some class methods predefined
-# Note we can call (e.g.) either Account.methods or 'Account methods'
-puts "---- class Account ----"
-puts "Account vars=[Account vars]"
-puts "Account methods=[Account methods]"
-puts ""
-
-# Create a constructor. This does validation, but it could
-# do other things
-Account method constructor {} {
-	if {$balance < 0} {
-		error "Can't initialise account with a -ve balance"
-	}
-}
-
-# Now flesh out the class with some methods
-# Could use 'Account method' here instead
-Account method deposit {amount} {
-	set balance [+ $balance $amount]
-}
-Account method see {} {
-	set balance
-}
-Account method withdraw {amount} {
-	if {$amount > $balance} {error "Sorry $name, can only withdraw $balance"}
-	set balance [- $balance $amount]
-}
-Account method describe {} {
-	puts "I am object $self of class [$self classname]"
-	puts "My 'see' method returns [$self see]"
-	puts "My variables are:"
-	foreach i [$self vars] {
-		puts "  $i=[set $i]"
-	}
-}
-
-# Now an instance, initialisition some fields
-set a [Account new {name "Bob Smith"}]
-
-puts "---- object Account ----"
-# We can use class methods on the instance too
-puts a.vars=[$a vars]
-puts a.classname=[$a classname]
-
-# Now object methods
-$a deposit 100
-puts "deposit 100 -> [$a see]"
-
-$a withdraw 40
-puts "withdraw 40 -> [$a see]"
-
-catch {$a withdraw 1000} res
-puts "withdraw 1000 -> $res\n"
-
-# Tell me something about the object
-$a describe
-puts ""
-
-# Now create a new subclass
-# Could change the initial balance here too
-class CreditAccount Account {
-	limit -1000
-}
-
-CreditAccount method constructor {} {
-	# Dummy constructor
-	# If desired, manually invoke the baseclass constructor
-	super constructor
-}
-
-# Override the 'withdraw' method to allow overdrawing
-CreditAccount method withdraw {amount} {
-	if {$balance - $amount < $limit} {error "Sorry $name, that would exceed your credit limit of [expr -$limit]"}
-	set balance [- $balance $amount]
-}
-# Override the 'describe' method, but invoke the baseclass method first
-CreditAccount method describe {} {
-	# First invoke the base class 'describe'
-	super describe
-	if {$balance < 0} {
-		puts "*** Account is in debit"
-	}
-}
-
-puts "---- class CreditAccount ----"
-puts "CreditAccount vars=[CreditAccount vars]"
-puts "CreditAccount methods=[CreditAccount methods]"
-puts ""
-
-puts "---- object CreditAccount ----"
-set b [CreditAccount new {name "John White"}]
-
-puts b.vars=[$b vars]
-puts b.classname=[$b classname]
-
-puts "initial balance -> [$b see]"
-$b deposit 100
-puts "deposit 100 -> [$b see]"
-
-$b withdraw 40
-puts "withdraw 40 -> [$b see]"
-
-$b withdraw 1000
-puts "withdraw 1000 -> [$b see]"
-puts ""
-
-# Tell me something about the object
-$b describe
-puts ""
-
-# 'eval' is similar to 'dict with' for an object, except it operates
-# in it's own scope. A list of variables can be imported into the object scope.
-# It is useful for ad-hoc operations for which it is not worth defining a method.
-set total 0
-$a eval total { incr total $balance }
-incr total [$b get balance]
-puts "Total of accounts [$a get name] and [$b eval {return "$name (Credit Limit: $limit)"}] is: $total"
-
-# Can we find all objects in the system?
-# Almost. We can't really distinguish those which aren't real classes.
-# This will get all references which aren't simple lambdas.
-puts "---- All objects ----"
-Account new {name "Terry Green" balance 20}
-set x [Account]
-lambda {} {dummy}
-ref blah blah
-
-foreach r [info references] {
-	if {[getref $r] ne {}} {
-		try {
-			$r eval {
-				puts [format "Found %14s: Owner: %14s, Balance: %+5d, in object %s" [$self classname] $name $balance $self]
-			}
-		} on error msg {
-			puts "Not an object: $r"
-		}
-	}
-}
-unset r
-
-# And goodbye
-$a destroy
-
-# Let the garbage collection take care of this one
-unset b
-collect

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/parray.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/parray.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/parray.tcl
deleted file mode 100644
index 8ac5d3d..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/parray.tcl
+++ /dev/null
@@ -1,17 +0,0 @@
-# Example of using the 'putter' function to redirect parray output
-
-set a {1 one 2 two 3 three}
-
-# Use 'curry' to create a single command from two words
-stderr puts "curry"
-parray a * [curry stderr puts]
-
-# Same thing, but an alias instead
-stderr puts "\nalias"
-alias stderr_puts stderr puts
-parray a * stderr_puts
-
-# Now use a lambda to accumulate the results in a buffer
-stderr puts "\nlamba"
-parray a * [lambda {msg} {lappend ::lines $msg}]
-stderr puts [join $lines \n]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/pipe.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/pipe.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/pipe.tcl
deleted file mode 100644
index 6b10dbd..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/pipe.tcl
+++ /dev/null
@@ -1,16 +0,0 @@
-lassign [socket pipe] r w
-
-# Note, once the exec has the fh (via dup), close it
-# so that the pipe data is accessible
-exec ps aux >@$w &
-$w close
-
-$r readable {
-	puts [$r gets]
-	if {[eof $r]} {
-		$r close
-		set done 1
-	}
-}
-
-vwait done

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/popen.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/popen.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/popen.tcl
deleted file mode 100644
index f330fc9..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/popen.tcl
+++ /dev/null
@@ -1,20 +0,0 @@
-# Internally, open "|..." calls out to popen from tclcompat.tcl
-#
-# This code is compatible with Tcl
-
-# Write to a pipe
-set f [open |[list cat | sed -e "s/line/This is line/" >temp.out] w]
-puts "Creating temp.out with pids: [pid $f]"
-foreach n {1 2 3 4 5} {
-	puts $f "line $n"
-}
-close $f
-
-# Read from a pipe
-set f [open "|cat temp.out"]
-puts "Reading temp.out with pids: [pid $f]"
-while {[gets $f buf] >= 0} {
-	puts $buf
-}
-close $f
-file delete temp.out

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/sqlite3test.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/sqlite3test.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/sqlite3test.tcl
deleted file mode 100644
index 982dd8a..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/sqlite3test.tcl
+++ /dev/null
@@ -1,10 +0,0 @@
-package require sqlite3
-
-set db [sqlite3.open :memory:]
-$db query {CREATE TABLE plays (id, author, title)}
-$db query {INSERT INTO plays (id, author, title) VALUES (1, 'Goethe', 'Faust');}
-$db query {INSERT INTO plays (id, author, title) VALUES (2, 'Shakespeare', 'Hamlet');}
-$db query {INSERT INTO plays (id, author, title) VALUES (3, 'Sophocles', 'Oedipus Rex');}
-set res [$db query "SELECT * FROM plays"]
-$db close
-foreach r $res {puts $r(author)}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.client
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.client b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.client
deleted file mode 100644
index 58be7b3..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.client
+++ /dev/null
@@ -1,15 +0,0 @@
-# Example of sending via a ssl encrypted, connected tcp socket
-
-load_ssl_certs /etc/ssl/certs
-set s [[socket stream 127.0.0.1:20000] ssl]
-try {
-	$s verify
-} on error msg {
-	stderr puts $msg
-}
-
-foreach i [range 1 20] {
-	$s puts "1 << $i"
-
-	puts [$s gets]
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.server
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.server b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.server
deleted file mode 100644
index 7ccb101..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/ssl.server
+++ /dev/null
@@ -1,43 +0,0 @@
-# Example of a ssl encrypted, tcp server which sends a response
-
-# Listen on port 20000. No host specified means 0.0.0.0
-set s [socket stream.server 20000]
-
-$s readable {
-	# Clean up children
-	os.wait -nohang 0
-	set sock [[$s accept addr] ssl -server certificate.pem key.pem]
-	puts "Client address: $addr"
-
-	# Make this server forking so we can accept multiple
-	# simultaneous connections
-	if {[os.fork] == 0} {
-		$s close
-
-		$sock buffering line
-
-		# Get the request (max 80 chars) - need the source address
-		while {[$sock gets buf] >= 0} {
-			if {$buf eq ""} {
-				break
-			}
-			set buf [string trim $buf]
-			puts -nonewline "read '$buf'"
-
-			try {
-				set result "$buf = [expr $buf]"
-			} on error {msg} {
-				set result "Error: $buf => $msg"
-			}
-
-			puts ", sending '$result'"
-
-			# Send the result back to where it came from
-			$sock puts $result
-		}
-	}
-
-	$sock close
-}
-
-vwait done

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.client
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.client b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.client
deleted file mode 100644
index ed8582b..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.client
+++ /dev/null
@@ -1,9 +0,0 @@
-# Example of sending via a connected tcp socket
-
-set s [socket stream 127.0.0.1:20000]
-
-foreach i [range 1 20] {
-	$s puts "1 << $i"
-
-	puts [$s gets]
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.server
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.server b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.server
deleted file mode 100644
index a86cd63..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/tcp.server
+++ /dev/null
@@ -1,40 +0,0 @@
-# Example of a udp server which sends a response
-
-# Listen on port 20000. No host specified means 0.0.0.0
-set s [socket stream.server 20000]
-
-$s readable {
-	# Clean up children
-	os.wait -nohang 0
-	set sock [$s accept addr]
-	puts "Client address: $addr"
-
-	# Make this server forking so we can accept multiple
-	# simultaneous connections
-	if {[os.fork] == 0} {
-		$s close
-
-		$sock buffering line
-
-		# Get the request (max 80 chars) - need the source address
-		while {[$sock gets buf] >= 0} {
-			set buf [string trim $buf]
-			puts -nonewline "read '$buf'"
-
-			try {
-				set result "$buf = [expr $buf]"
-			} on error {msg} {
-				set result "Error: $buf => $msg"
-			}
-
-			puts ", sending '$result'"
-
-			# Send the result back to where it came from
-			$sock puts $result
-		}
-	}
-
-	$sock close
-}
-
-vwait done

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/timedread.tcl
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/timedread.tcl b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/timedread.tcl
deleted file mode 100644
index cb4c9aa..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/timedread.tcl
+++ /dev/null
@@ -1,19 +0,0 @@
-# Tests that SIGALRM can interrupt read
-set f [open "/dev/urandom" r]
-
-set count 0
-set error NONE
-
-signal handle SIGALRM
-catch -signal {
-	alarm 0.5
-	while {1} {
-		incr count [string bytelength [read $f 100]]
-	}
-	alarm 0
-	signal default SIGALRM
-} error
-
-puts "Read $count bytes in 0.5 seconds: Got $error"
-
-$f close

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.client
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.client b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.client
deleted file mode 100644
index 9e9ac14..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.client
+++ /dev/null
@@ -1,28 +0,0 @@
-# Example of sending from an unconnected socket
-
-set s [socket dgram]
-
-foreach i [range 1 5] {
-	# Specify the address and port with sendto
-	$s sendto "$i + $i + 10" 127.0.0.1:20000
-
-	# Receive the response - max length of 100
-	puts [$s recvfrom 100]
-}
-
-$s close
-
-# Now sending via a connected udp socket
-
-set s [socket dgram 127.0.0.1:20000]
-$s buffering none
-
-foreach i [range 5 10] {
-	# Socket is connected, so can just use puts here
-	# No need to flush because we set 'buffering none' above.
-	$s puts -nonewline "$i * $i"
-	#$s flush
-
-	# Receive the response - max length of 100
-	puts [$s recvfrom 100]
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.server
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.server b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.server
deleted file mode 100644
index 03f41cd..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp.server
+++ /dev/null
@@ -1,25 +0,0 @@
-# Example of a udp server which sends a response
-
-# Listen on port 20000. No host specified means 0.0.0.0
-set s [socket dgram.server 20000]
-
-# For each request...
-$s readable {
-	# Get the request (max 80 chars) - need the source address
-	set buf [$s recvfrom 80 addr]
-
-	puts -nonewline "read '$buf' from $addr"
-
-	try {
-		set result "$buf = [expr $buf]"
-	} on error {msg} {
-		set result "Error: $buf => $msg"
-	}
-
-	puts ", sending '$result' to $addr"
-
-	# Send the result back to where it came from
-	$s sendto $result $addr
-}
-
-vwait done

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp2.client
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp2.client b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp2.client
deleted file mode 100644
index 776dc2c..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp2.client
+++ /dev/null
@@ -1,13 +0,0 @@
-# Example of sending via a connected udp socket
-
-set s [socket dgram 127.0.0.1:20000]
-
-foreach i [range 1 20] {
-	# Socket is connected, so can just use puts here
-	# But remember to flush to ensure that each message is separate
-	$s puts -nonewline "$i * $i"
-	$s flush
-
-	# Receive the response - max length of 100
-	puts [$s recvfrom 100]
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.client
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.client b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.client
deleted file mode 100644
index f3e680e..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.client
+++ /dev/null
@@ -1,27 +0,0 @@
-# Example of sending from an unconnected ipv6 socket
-
-set s [socket -ipv6 dgram]
-
-foreach i [range 1 5] {
-	# Specify the address and port with sendto
-	$s sendto "$i + $i + 10" {[::1]:20000}
-
-	# Receive the response - max length of 100
-	puts [$s recvfrom 100]
-}
-
-$s close
-
-# Now sending via a connected udp socket
-
-set s [socket -ipv6 dgram {[::1]:20000}]
-
-foreach i [range 5 10] {
-	# Socket is connected, so can just use puts here
-	# But remember to flush to ensure that each message is separate
-	$s puts -nonewline "$i * $i"
-	$s flush
-
-	# Receive the response - max length of 100
-	puts [$s recvfrom 100]
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.server
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.server b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.server
deleted file mode 100644
index da9b4bf..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/examples/udp6.server
+++ /dev/null
@@ -1,26 +0,0 @@
-# Example of a udp server listening on ipv6 which sends a response
-# Note that on many hosts, this will also respond to ipv4 requests too
-
-# Listen on port 20000.
-set s [socket -ipv6 dgram.server {[::]:20000}]
-
-# For each request...
-$s readable {
-	# Get the request (max 80 chars) - need the source address
-	set buf [$s recvfrom 80 addr]
-
-	puts -nonewline "read '$buf' from $addr"
-
-	try {
-		set result "$buf = [expr $buf]"
-	} on error {msg} {
-		set result "Error: $buf => $msg"
-	}
-
-	puts ", sending '$result'"
-
-	# Send the result back to where it came from
-	$s sendto $result $addr
-}
-
-vwait done

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/andrew.txt
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/andrew.txt b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/andrew.txt
deleted file mode 100644
index 8dbfcfc..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/andrew.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-Delivered-To: oyvindharboe@gmail.com
-Received: by 10.100.7.20 with SMTP id 20cs86142ang;
-        Wed, 16 Jul 2008 00:45:59 -0700 (PDT)
-Received: by 10.142.238.12 with SMTP id l12mr5009290wfh.204.1216194359186;
-        Wed, 16 Jul 2008 00:45:59 -0700 (PDT)
-Return-Path: <andrew@lunn.ch>
-Received: from cpanel5.proisp.no (cpanel5.proisp.no [209.85.100.29])
-        by mx.google.com with ESMTP id 31si6762736wff.16.2008.07.16.00.45.57;
-        Wed, 16 Jul 2008 00:45:59 -0700 (PDT)
-Received-SPF: fail (google.com: domain of andrew@lunn.ch does not designate 209.85.100.29 as permitted sender) client-ip=209.85.100.29;
-Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of andrew@lunn.ch does not designate 209.85.100.29 as permitted sender) smtp.mail=andrew@lunn.ch
-Received: from londo.lunn.ch ([80.238.139.98]:48839 ident=mail)
-	by cpanel5.proisp.no with esmtp (Exim 4.69)
-	(envelope-from <andrew@lunn.ch>)
-	id 1KJ1ht-00085G-Ng
-	for oyvind.harboe@zylin.com; Wed, 16 Jul 2008 09:45:52 +0200
-Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian))
-	id 1KJ1hq-0005ss-00; Wed, 16 Jul 2008 09:45:46 +0200
-Date: Wed, 16 Jul 2008 09:45:46 +0200
-From: Andrew Lunn <andrew@lunn.ch>
-To: ?yvind Harboe <oyvind.harboe@zylin.com>
-Cc: jim-devel@lists.berlios.de, antirez@gmail.com, patthoyts@users.sf.net,
-	andrew@lunn.ch, openocd@duaneellis.com, uklein@klein-messgeraete.de,
-	ml-jim@qiao.in-berlin.de
-Subject: Re: Change Jim Tcl license
-Message-ID: <20080716074546.GC24771@lunn.ch>
-References: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-In-Reply-To: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-User-Agent: Mutt/1.5.18 (2008-05-17)
-X-Spam-Status: No, score=-2.6
-X-Spam-Score: -25
-X-Spam-Bar: --
-X-Spam-Flag: NO
-X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
-X-AntiAbuse: Primary Hostname - cpanel5.proisp.no
-X-AntiAbuse: Original Domain - zylin.com
-X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
-X-AntiAbuse: Sender Address Domain - lunn.ch
-X-Source: 
-X-Source-Args: 
-X-Source-Dir: 
-
-On Wed, Jul 16, 2008 at 09:34:14AM +0200, ?yvind Harboe wrote:
-> Hi all,
-> 
-> I'm currently the maintainer of Jim Tcl trying as best as I can
-> to fill Salvatore's shoes.
-> 
-> Short story:
-> 
-> If you have contributed to Jim Tcl, please reply to this email
-> that you agree that we can switch Jim Tcl to a FreeBSD license.
-
-I've no problems with this, but my contributions are very minimal.
-
-Do you want this written down, in blood, to keep the lawyers happy?
-
-At a minimum i think everybody's agreement needs to be posted to a
-public email list which is publicly archived etc so there is a
-record of the agreement...
-
-       Andrew

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/clemens.txt
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/clemens.txt b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/clemens.txt
deleted file mode 100644
index 806f7ed..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/clemens.txt
+++ /dev/null
@@ -1,87 +0,0 @@
-                                                                                                                                                                                                                                                               
-Delivered-To: oyvindharboe@gmail.com
-Received: by 10.100.7.20 with SMTP id 20cs114742ang;
-        Wed, 16 Jul 2008 08:58:18 -0700 (PDT)
-Received: by 10.114.137.2 with SMTP id k2mr325372wad.95.1216223896673;
-        Wed, 16 Jul 2008 08:58:16 -0700 (PDT)
-Return-Path: <ml-jim@qiao.in-berlin.de>
-Received: from cpanel5.proisp.no (cpanel5.proisp.no [209.85.100.29])
-        by mx.google.com with ESMTP id m28si10145125waf.16.2008.07.16.08.58.15;
-        Wed, 16 Jul 2008 08:58:16 -0700 (PDT)
-Received-SPF: neutral (google.com: 209.85.100.29 is neither permitted nor denied by best guess record for domain of ml-jim@qiao.in-berlin.de) client-ip=209.85.100.29;
-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.100.29 is neither permitted nor denied by best guess record for domain of ml-jim@qiao.in-berlin.de) smtp.mail=ml-jim@qiao.in-berlin.de
-Received: from gnu.in-berlin.de ([192.109.42.4]:58401)
-	by cpanel5.proisp.no with esmtps (TLSv1:AES256-SHA:256)
-	(Exim 4.69)
-	(envelope-from <ml-jim@qiao.in-berlin.de>)
-	id 1KJ9OG-0006Hf-8y
-	for oyvind.harboe@zylin.com; Wed, 16 Jul 2008 17:58:07 +0200
-X-Envelope-From: ml-jim@qiao.in-berlin.de
-X-Envelope-To: <oyvind.harboe@zylin.com>
-Received: from qiao.in-berlin.de (qiao.in-berlin.de [217.197.85.72])
-	by gnu.in-berlin.de (8.13.8/8.13.8/Debian-2) with ESMTP id m6GFvxio009504
-	for <oyvind.harboe@zylin.com>; Wed, 16 Jul 2008 17:58:02 +0200
-Received: from [192.168.0.10] ([::ffff:192.168.0.10])
-  by qiao.in-berlin.de with esmtp; Wed, 16 Jul 2008 18:00:04 +0200
-  id 0001D68D.487E1B04.000042E7
-In-Reply-To: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-References: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-Mime-Version: 1.0 (Apple Message framework v753.1)
-Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed
-Message-Id: <E112D7A6-89D1-40C8-913C-7DAF7303E7EC@qiao.in-berlin.de>
-Cc: jim-devel@lists.berlios.de, antirez@gmail.com, patthoyts@users.sf.net,
-        andrew@lunn.ch, openocd@duaneellis.com, uklein@klein-messgeraete.de
-Content-Transfer-Encoding: quoted-printable
-From: Clemens Hintze <ml-jim@qiao.in-berlin.de>
-Subject: Re: Change Jim Tcl license
-Date: Wed, 16 Jul 2008 17:58:14 +0200
-To: "=?ISO-8859-1?Q?\"=D8yvind_Harboe\"?=" <oyvind.harboe@zylin.com>
-X-Mailer: Apple Mail (2.753.1)
-X-Spam-Score:  (0.101) BAYES_50,RDNS_NONE
-X-Scanned-By: MIMEDefang_at_IN-Berlin_e.V. on 192.109.42.4
-X-Spam-Status: No, score=-2.6
-X-Spam-Score: -25
-X-Spam-Bar: --
-X-Spam-Flag: NO
-X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
-X-AntiAbuse: Primary Hostname - cpanel5.proisp.no
-X-AntiAbuse: Original Domain - zylin.com
-X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
-X-AntiAbuse: Sender Address Domain - qiao.in-berlin.de
-X-Source: 
-X-Source-Args: 
-X-Source-Dir: 
-
-
-Am 16.07.2008 um 09:34 schrieb =D8yvind Harboe:
-
-> Hi all,
-
-Hi =D8yvind,
-
-(...)
-
-> If you have contributed to Jim Tcl, please reply to this email
-> that you agree that we can switch Jim Tcl to a FreeBSD license.
->
-> Once I have a record of all contributors agreeing to switch
-> to a FreeBSD license, I'll update CVS.
-
-No problem with me: I agree to permit my contributions to the Jim =20
-project to be
-re-licensed under a BSD compatible license.
-
-(...)
-
-> Please let me know if any of the emails below are wrong(chi is
-> missing) or the list is not complete.
-
-After consultation with the voices in my head, I can ensure you, =20
-'chi' is also agreeing with the re-licensing, because its me too ;-)
-
-Thank you very much to revive Jim! :-)
-
-Best regards,
-Clemens Hintze.
-
-(...)=

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/duane.txt
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/duane.txt b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/duane.txt
deleted file mode 100644
index 56f962c..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/duane.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-Delivered-To: oyvindharboe@gmail.com
-Received: by 10.100.7.20 with SMTP id 20cs93801ang;
-        Wed, 16 Jul 2008 03:40:02 -0700 (PDT)
-Received: by 10.142.148.10 with SMTP id v10mr5070849wfd.317.1216204801306;
-        Wed, 16 Jul 2008 03:40:01 -0700 (PDT)
-Return-Path: <openocd@duaneellis.com>
-Received: from cpanel5.proisp.no (cpanel5.proisp.no [209.85.100.29])
-        by mx.google.com with ESMTP id 27si9313433wff.3.2008.07.16.03.40.00;
-        Wed, 16 Jul 2008 03:40:01 -0700 (PDT)
-Received-SPF: neutral (google.com: 209.85.100.29 is neither permitted nor denied by best guess record for domain of openocd@duaneellis.com) client-ip=209.85.100.29;
-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.100.29 is neither permitted nor denied by best guess record for domain of openocd@duaneellis.com) smtp.mail=openocd@duaneellis.com
-Received: from smtpout10-04.prod.mesa1.secureserver.net ([64.202.165.238]:48803 helo=smtpout10.prod.mesa1.secureserver.net)
-	by cpanel5.proisp.no with smtp (Exim 4.69)
-	(envelope-from <openocd@duaneellis.com>)
-	id 1KJ4QL-0005cq-GB
-	for oyvind.harboe@zylin.com; Wed, 16 Jul 2008 12:39:54 +0200
-Received: (qmail 2305 invoked from network); 16 Jul 2008 10:39:56 -0000
-Received: from unknown (68.37.53.103)
-  by smtpout10-04.prod.mesa1.secureserver.net (64.202.165.238) with ESMTP; 16 Jul 2008 10:39:55 -0000
-Message-ID: <487DCFEC.4010104@duaneellis.com>
-Date: Wed, 16 Jul 2008 06:39:40 -0400
-From: Duane Ellis <openocd@duaneellis.com>
-Reply-To: openocd@duaneellis.com
-User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
-MIME-Version: 1.0
-To: =?ISO-8859-1?Q?=D8yvind_Harboe?= <oyvind.harboe@zylin.com>
-CC: jim-devel@lists.berlios.de, antirez@gmail.com, 
- patthoyts@users.sf.net, andrew@lunn.ch, uklein@klein-messgeraete.de, 
- ml-jim@qiao.in-berlin.de
-Subject: Re: Change Jim Tcl license
-References: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-In-Reply-To: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-Content-Type: text/plain; charset=ISO-8859-1; format=flowed
-Content-Transfer-Encoding: 8bit
-X-Spam-Status: No, score=-2.6
-X-Spam-Score: -25
-X-Spam-Bar: --
-X-Spam-Flag: NO
-X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
-X-AntiAbuse: Primary Hostname - cpanel5.proisp.no
-X-AntiAbuse: Original Domain - zylin.com
-X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
-X-AntiAbuse: Sender Address Domain - duaneellis.com
-X-Source: 
-X-Source-Args: 
-X-Source-Dir: 
-
-Oyvind Harboe wrote:
-> Short story:
->
-> If you have contributed to Jim Tcl, please reply to this email
-> that you agree that we can switch Jim Tcl to a FreeBSD license.
->
-> Once I have a record of all contributors agreeing to switch
-> to a FreeBSD license, I'll update CVS.
->
->   
-OK - from me
-
-    --Duane.
-
--Duane.
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/oharboe.txt
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/oharboe.txt b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/oharboe.txt
deleted file mode 100644
index af4a8e8..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/oharboe.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-                                                                                                                                                                                                                                                            
-Received: by 10.100.7.20 with HTTP; Wed, 16 Jul 2008 10:12:05 -0700 (PDT)
-Message-ID: <c09652430807161012m178c5fbesef9a3f831e4d1dac@mail.gmail.com>
-Date: Wed, 16 Jul 2008 19:12:05 +0200
-From: "=?ISO-8859-1?Q?=D8yvind_Harboe?=" <oyvind.harboe@zylin.com>
-Sender: oyvindharboe@gmail.com
-To: jim-devel@lists.berlios.de
-Subject: Re: Change Jim Tcl license
-In-Reply-To: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: quoted-printable
-Content-Disposition: inline
-References: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-Delivered-To: oyvindharboe@gmail.com
-X-Google-Sender-Auth: fc18e85532eee8f2
-
-For the record:
-
-I would like my contributions  to Jim Tcl to be under a FreeBSD license too=
-.
-
-On Wed, Jul 16, 2008 at 9:34 AM, =D8yvind Harboe <oyvind.harboe@zylin.com> =
-wrote:
-> Hi all,
->
-> I'm currently the maintainer of Jim Tcl trying as best as I can
-> to fill Salvatore's shoes.
->
-> Short story:
->
-> If you have contributed to Jim Tcl, please reply to this email
-> that you agree that we can switch Jim Tcl to a FreeBSD license.
->
-> Once I have a record of all contributors agreeing to switch
-> to a FreeBSD license, I'll update CVS.
->
-> Long story:
->
-> The current Jim Tcl license has a problem with GPL. If you
-> link GPL code and Jim Tcl, the result is no license at all.
->
-> This prevents Jim Tcl from being used in GPL projects.
->
-> Lately Jim Tcl has been used with OpenOCD, a GPL project,
-> and the license issue must be resolved one way or another.
->
-> Upon conferring with Jonathan Larmour <jifl@ecoscentric.com>, who
-> has kindly helped out with his knowledge on the topic, I have
-> concluded that the best way to rectify this is to change the
-> Jim Tcl license to a FreeBSD license. See OpenOCD mailing
-> list for a discussion on this if you want details.
->
-> http://www.fsf.org/licensing/licenses/index_html#FreeBSD
->
-> As far as I can determine, below is the complete list of contributors.
->
->
-> antirez - Salvatore Sanfilippo <antirez@gmail.com>
-> patthoyts - ?? Pat Thoyts <patthoyts@users.sf.net>
-> oharboe - =D8yvind Harboe - soyvind.harboe@zylin.com
-> chi - ??
-> Andrew Lunn <andrew@lunn.ch>
-> Duane Ellis <openocd@duaneellis.com>
-> Uwe Klein <uklein@klein-messgeraete.de>
-> Clemens Hintze ml-jim@qiao.in-berlin.de
->
-> Please let me know if any of the emails below are wrong(chi is
-> missing) or the list is not complete.
->
->
-> --
-> =D8yvind Harboe
-> http://www.zylin.com/zy1000.html
-> ARM7 ARM9 XScale Cortex
-> JTAG debugger and flash programmer
->
-
-
-
---=20
-=D8yvind Harboe
-http://www.zylin.com/zy1000.html
-ARM7 ARM9 XScale Cortex
-JTAG debugger and flash programmer

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/0a2f3c5b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/pat.txt
----------------------------------------------------------------------
diff --git a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/pat.txt b/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/pat.txt
deleted file mode 100644
index 988a599..0000000
--- a/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/jimtcl/freebsd/pat.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-                                                                                                                                                                                                                                                             
-Delivered-To: oyvindharboe@gmail.com
-Received: by 10.100.7.20 with SMTP id 20cs108097ang;
-        Wed, 16 Jul 2008 07:49:02 -0700 (PDT)
-Received: by 10.142.232.20 with SMTP id e20mr80874wfh.138.1216219741865;
-        Wed, 16 Jul 2008 07:49:01 -0700 (PDT)
-Return-Path: <patthoyts@users.sourceforge.net>
-Received: from cpanel5.proisp.no (cpanel5.proisp.no [209.85.100.29])
-        by mx.google.com with ESMTP id 30si10551683wff.18.2008.07.16.07.49.01;
-        Wed, 16 Jul 2008 07:49:01 -0700 (PDT)
-Received-SPF: neutral (google.com: 209.85.100.29 is neither permitted nor denied by best guess record for domain of patthoyts@users.sourceforge.net) client-ip=209.85.100.29;
-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.100.29 is neither permitted nor denied by best guess record for domain of patthoyts@users.sourceforge.net) smtp.mail=patthoyts@users.sourceforge.net
-Received: from smtp-out4.blueyonder.co.uk ([195.188.213.7]:38596)
-	by cpanel5.proisp.no with esmtp (Exim 4.69)
-	(envelope-from <patthoyts@users.sourceforge.net>)
-	id 1KJ8JH-0000Vd-OT
-	for oyvind.harboe@zylin.com; Wed, 16 Jul 2008 16:48:52 +0200
-Received: from [172.23.170.141] (helo=anti-virus02-08)
-	by smtp-out4.blueyonder.co.uk with smtp (Exim 4.52)
-	id 1KJ8JO-0007r0-Cy; Wed, 16 Jul 2008 15:48:58 +0100
-Received: from [77.102.249.21] (helo=badger.patthoyts.tk)
-	by asmtp-out4.blueyonder.co.uk with esmtp (Exim 4.52)
-	id 1KJ8J6-0000gY-VY; Wed, 16 Jul 2008 15:48:41 +0100
-Received: by badger.patthoyts.tk (Postfix, from userid 1000)
-	id 810535184F; Wed, 16 Jul 2008 15:48:40 +0100 (BST)
-Sender: pat@badger.patthoyts.tk
-To: =?iso-8859-1?q?=D8yvind_Harboe?= <oyvind.harboe@zylin.com>
-Cc: jim-devel@lists.berlios.de
-Subject: Re: Change Jim Tcl license
-References: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-X-Face:  .`d#euqz@6H{";Ysmx2IVe_7M3vA+2w1X[QLk?ZO&QRauXQL{*L'$3getx}9+zK.-KWDx3.
- qrlR)76MFb`6bgoGvLpLtcQKB=X~;*<JKLtwLBM(IA'?rVjs1*tq\VHn?WMNsB,3XXWF@5.)4SRFa+
- '?a?.s#@hl7CiTo'F"O!fvbL0
-X-Url: http://www.patthoyts.tk/
-From: Pat Thoyts <patthoyts@users.sourceforge.net>
-Date: 16 Jul 2008 15:48:39 +0100
-In-Reply-To: <c09652430807160034pd4a5b0q18f69a219827e111@mail.gmail.com>
-Message-ID: <87fxq97um0.fsf@badger.patthoyts.tk>
-Lines: 27
-User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3
-MIME-Version: 1.0
-Content-Type: text/plain; charset=iso-8859-1
-Content-Transfer-Encoding: quoted-printable
-X-Spam-Status: No, score=-2.6
-X-Spam-Score: -25
-X-Spam-Bar: --
-X-Spam-Flag: NO
-X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
-X-AntiAbuse: Primary Hostname - cpanel5.proisp.no
-X-AntiAbuse: Original Domain - zylin.com
-X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
-X-AntiAbuse: Sender Address Domain - users.sourceforge.net
-X-Source: 
-X-Source-Args: 
-X-Source-Dir: 
-
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-"=D8yvind Harboe" <oyvind.harboe@zylin.com> writes:
-
->If you have contributed to Jim Tcl, please reply to this email
->that you agree that we can switch Jim Tcl to a FreeBSD license.
->
->Once I have a record of all contributors agreeing to switch
->to a FreeBSD license, I'll update CVS.
-
-I hereby agree to permit my contributions to the Jim project to be
-re-licensed under a BSD compatible license.
-
-- --=20
-Pat Thoyts                            http://www.patthoyts.tk/
-PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.8 (SunOS)
-Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>
-
-iQCVAwUBSH4KO2B90JXwhOSJAQKtqQP9ERwSXpbP69l4JSrunG29Rhu2F3r83zu3
-GAKpFu4HwkVnIStLQ4o3tsqG9uKrVDbRMa187eSwHmlXXIMwDlkCKNsDFxvdLDZz
-kbTYDibspYSw6CjwOUSTXifK9P7ho4Q7PtsRnJ8T1IMlGJlwg39Rxd+mpEO/if3q
-ExIwM1aBbAs=3D
-=3Du8si
------END PGP SIGNATURE-----
-



Mime
View raw message