I have certificates signed using SHA256 (these are the certificate authorities provided by Dropbox — attached). These don’t work in VisualWorks 7.10.1 and newer as noted in the Security Guide:
It suggests a workaround but I don’t see how to directly apply this to certificate signatures except by hacking up Cincom’s code and if it were that easy I’d assume they wouldn't have this limitation in the first place. I have attached a stack trace for reference. Has anyone else hit this? Anyone have a suggestion? BTW, my Dropbox client is in the open repository and works very well in VW7.9 and older as long as you’re using a version that includes a working security package. David Unhandled exception: Message not understood: #derEncodedDigestInfo Security.SHA256 class(Object)>>doesNotUnderstand: Security.RSAPublicKey>>verify:of:hash:padding: Xtreams.SecurityPublicKey>>verify:of:hash:padding: optimized [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: BlockClosure>>cull: ByteString(Object)>>ifNil:ifNotNil: optimized [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: BlockClosure>>ensure: optimized [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: optimized [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: BlockClosure>>cull: Array(Object)>>ifNil:ifNotNil: Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Security.X509.Certificate>>verifySignedBy: Security.X509.Certificate>>verifyIssuedBy: optimized [] in Security.X509.X509Registry>>verify:isIssuedBy: BlockClosure>>on:do: Security.X509.X509Registry>>verify:isIssuedBy: optimized [] in [] in Security.X509.X509Registry>>validateCertificateChain: BlockClosure>>cull: Security.X509.Certificate(Object)>>ifNotNil: optimized [] in Security.X509.X509Registry>>validateCertificateChain: optimized [] in Collection>>inject:into: Array(SequenceableCollection)>>do: Array(Collection)>>inject:into: Security.X509.X509Registry>>validateCertificateChain: optimized [] in [] in Xtreams.TLSCertificateStore>>validate:for: BlockClosure>>on:do: optimized [] in Xtreams.TLSCertificateStore>>validate:for: BlockClosure>>ifCurtailed: Xtreams.TLSCertificateStore>>validate:for: Xtreams.TLSSession>>validateCertificate:for:using: Xtreams.TLSConnection>>validateCertificate: Xtreams.TLSHandshake>>receiveCertificate Xtreams.TLSRSAKeyExchange>>clientHandshake Xtreams.TLSHandshake>>connect BlockClosure>>tlsConnect: optimized [] in Xtreams.TLSConnection>>connect: Xtreams.TLSConnection>>writeProtectDo: Xtreams.TLSConnection>>connect: optimized [] in Net.TLSConnection>>startTLS BlockClosure>>ifCurtailed: Net.HttpsConnection(Net.TLSConnection)>>startTLS Net.HttpsConnection(Net.TLSConnection)>>openStreamFor:port:timeout: Net.HttpProtocolInterpreter(Net.NetProtocolInterpreter)>>connectToHost:port:timeout: Net.HttpProtocolInterpreter>>connect Net.HttpProtocolInterpreter>>executeRequest: Net.HttpClient>>privateExecuteRequest Net.HttpClient>>executeRequestDo: Net.HttpClient>>executeAndGetResponse Net.HttpClient>>executeRequest: optimized [] in Net.HttpRequest>>execute BlockClosure>>ensure: Net.HttpRequest>>execute Dropbox.RESTClient>>request:url:postParams:body:headers:rawResponse: Dropbox.RESTClient>>postUrl:headers:params:rawResponse: Dropbox.DropboxSession>>obtainRequestToken UndefinedObject>>unboundMethod UndefinedObject(Object)>>performMethod:arguments: UndefinedObject(Object)>>performMethod: TextEditorController>>evaluateCompiled: optimized [] in TextEditorController>>evaluateSelection BlockClosure>>ensure: Cursor>>showWhile: TextEditorController>>evaluateSelection optimized [] in TextEditorController>>doIt BlockClosure>>on:do: TextEditorController>>doIt WorkspacePage>>doIt Workbook(AbstractWorkspace)>>smalltalkDoIt MenuBarButtonController>>dispatchMenuSymbol: MenuBarButtonController>>dispatchMenuSelection: optimized [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: BlockClosure>>ensure: optimized [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: BlockClosure>>on:do: MacOSXMenuBarButtonView(MenuBarButtonView)>>processCommandEventAsMenuItemAccessor: [] in MacOSXMenuBar(MenuBar)>>commandEvent: OrderedCollection>>do: MacOSXMenuBar(MenuBar)>>commandEvent: CommandEvent>>dispatchTo: optimized [] in KeyboardProcessor>>broadcastCommandEvent: BlockClosure>>cull: MacOSXMenuBar(Object)>>ifNotNil: KeyboardProcessor>>broadcastCommandEvent: [] in KeyboardProcessor>>processKeyboardEvent: BlockClosure>>cull: CommandEvent(Object)>>ifNotNil: KeyboardProcessor>>processKeyboardEvent: KeyboardProcessor>>processKeyboardEvent:for: EventDispatcher>>dispatchEvent: KeyPressedEvent(Event)>>dispatch KeyPressedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority: ---------------------------------------------------------------------- Security.SHA256 class(Object)>>doesNotUnderstand: Receiver: a Security.SHA256 class Instance Variables: superclass = Security.SHAHash methodDict = a MethodDictionary[13] format = 16409 subclasses = nil instanceVariables = an Array[9] organization = ('private-algorithm' #Sigma256_0: #Sigma256_1: #doBlock #prepareWorkingRegisters #sigma256_0: #sigma256_1: #updateDigestRegisters #updateWAt:) ('initialize-release' #initialize) ('services-basic' #reset) ('private-digest' #backupRegisters #restoreRegisters: #writeDigestInto:startingAt:) name = #SHA256 classPool = a NameSpaceOfClass[1] environment = a NameSpace[66] Arguments: aMessage = a Message with selector: #derEncodedDigestInfo and arguments: #() Temporaries: excpt = a MessageNotUnderstood resumeValue = nil Context PC = 25 ---------------------------------------------------------------------- Security.RSAPublicKey>>verify:of:hash:padding: Receiver: a Security.RSAPublicKey Instance Variables: n = 23464936089672074238558227240738642188401652750559322139110223472800898724452171193507830144175059459702529905676615071074993228771373136540482674196545025295733738196449583666610315977490986925474739841268554665863093665527055011951462798054655387514678326260004075182975117421140397782473200702068600919372009187240660911098390145147467211797777009862056159391483377819086435980778585967055870497149033762110952962582355410428105094882392320868563187123866160347835848217107617930191075074037337201254401445272297107644739005851884807909929228393436982535239808806968215135043030563617161016982313909247836020691707 e = 65537 Arguments: signature = a ByteArray[256] digestBytes = a ByteArray[32] hashID = 'SHA256' paddingID = 'PKCS1' Temporaries: bytes = nil hash = Security.SHA256 Context PC = 22 ---------------------------------------------------------------------- Xtreams.SecurityPublicKey>>verify:of:hash:padding: Receiver: a Xtreams.SecurityPublicKey Instance Variables: type = #RSA key = a Security.RSAPublicKey Arguments: signature = a ByteArray[256] digestBytes = a ByteArray[32] hashID = 'SHA256' paddingID = 'PKCS1' Context PC = 8 ---------------------------------------------------------------------- optimized [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Temporaries: .key = a Xtreams.SecurityPublicKey signature = a ByteArray[256] .digest = a ByteArray[32] .hash = 'SHA256' .padding = 'PKCS1' Context PC = 11 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: outerContext = nil copiedValues = an Array[5] Arguments: anObject = 'PKCS1' Context PC = 10 ---------------------------------------------------------------------- ByteString(Object)>>ifNil:ifNotNil: Receiver: a ByteString Arguments: nilBlock = BlockClosure [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: notNilBlock = BlockClosure [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Context PC = 4 ---------------------------------------------------------------------- optimized [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Temporaries: .aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .key = a Xtreams.SecurityPublicKey signature = a ByteArray[256] .padding = 'PKCS1' .digest = a ByteArray[32] .hash = 'SHA256' Context PC = 24 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: outerContext = nil copiedValues = an Array[6] Arguments: aBlock = BlockClosure [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- optimized [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Arguments: pkAlg = 'RSA' hash = 'SHA256' padding = 'PKCS1' Temporaries: key = a Xtreams.SecurityPublicKey signature = a ByteArray[256] digest = a ByteArray[32] .aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .anIssuerCertificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 39 ---------------------------------------------------------------------- optimized [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Arguments: arguments = an Array[3] Temporaries: .aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .anIssuerCertificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 11 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: outerContext = nil copiedValues = an Array[2] Arguments: anObject = an Array[3] Context PC = 15 ---------------------------------------------------------------------- Array(Object)>>ifNil:ifNotNil: Receiver: an Array Arguments: nilBlock = BlockClosure [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: notNilBlock = BlockClosure [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Context PC = 4 ---------------------------------------------------------------------- Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an Security.X509.AlgorithmIdentifier Instance Variables: oid = OID:sha256WithRSAEncryption/1.2.840.113549.1.1.11 oidDescription = 'sha256WithRSAEncryption' parameters = nil Arguments: aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> anIssuerCertificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 14 ---------------------------------------------------------------------- Security.X509.Certificate>>verifySignedBy: Receiver: a Security.X509.Certificate Instance Variables: encoding = <1(5)1319> tbsCertificate = a Security.X509.TBSCertificate signatureAlgorithm = AlgorithmIdentifier: sha256WithRSAEncryption signatureValue = BitString(256/0/84...57) signature = a ByteArray[256] Arguments: certificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 21 ---------------------------------------------------------------------- Security.X509.Certificate>>verifyIssuedBy: Receiver: a Security.X509.Certificate Instance Variables: encoding = <1(5)1319> tbsCertificate = a Security.X509.TBSCertificate signatureAlgorithm = AlgorithmIdentifier: sha256WithRSAEncryption signatureValue = BitString(256/0/84...57) signature = a ByteArray[256] Arguments: certificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 18 ---------------------------------------------------------------------- optimized [] in Security.X509.X509Registry>>verify:isIssuedBy: Receiver: an UndefinedObject Temporaries: .subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Security.X509.X509Registry>>verify:isIssuedBy: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Security.X509.IssuerMismatch handlerBlock = BlockClosure [] in Security.X509.X509Registry>>verify:isIssuedBy: Context PC = 18 ---------------------------------------------------------------------- Security.X509.X509Registry>>verify:isIssuedBy: Receiver: a Security.X509.X509Registry Instance Variables: trustedCertificates = a Set[15] revokedCertificates = a Set[0] strict = false Arguments: subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 15 ---------------------------------------------------------------------- optimized [] in [] in Security.X509.X509Registry>>validateCertificateChain: Receiver: an UndefinedObject Temporaries: .self = a Security.X509.X509Registry .issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> .subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Security.X509.X509Registry>>validateCertificateChain: outerContext = nil copiedValues = an Array[3] Arguments: anObject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 10 ---------------------------------------------------------------------- Security.X509.Certificate(Object)>>ifNotNil: Receiver: a Security.X509.Certificate Instance Variables: encoding = <1(5)1319> tbsCertificate = a Security.X509.TBSCertificate signatureAlgorithm = AlgorithmIdentifier: sha256WithRSAEncryption signatureValue = BitString(256/0/84...57) signature = a ByteArray[256] Arguments: aBlock = BlockClosure [] in [] in Security.X509.X509Registry>>validateCertificateChain: Context PC = 4 ---------------------------------------------------------------------- optimized [] in Security.X509.X509Registry>>validateCertificateChain: Receiver: an UndefinedObject Arguments: subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Temporaries: .self = a Security.X509.X509Registry Context PC = 24 ---------------------------------------------------------------------- optimized [] in Collection>>inject:into: Receiver: an UndefinedObject Arguments: each = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Temporaries: .binaryBlock = BlockClosure [] in Security.X509.X509Registry>>validateCertificateChain: nextValue = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 9 ---------------------------------------------------------------------- Array(SequenceableCollection)>>do: Receiver: an Array Arguments: aBlock = BlockClosure [] in Collection>>inject:into: Temporaries: i = 2 Context PC = 19 ---------------------------------------------------------------------- Array(Collection)>>inject:into: Receiver: an Array Arguments: thisValue = nil binaryBlock = BlockClosure [] in Security.X509.X509Registry>>validateCertificateChain: Temporaries: nextValue = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 15 ---------------------------------------------------------------------- Security.X509.X509Registry>>validateCertificateChain: Receiver: a Security.X509.X509Registry Instance Variables: trustedCertificates = a Set[15] revokedCertificates = a Set[0] strict = false Arguments: chain = an Array[3] Context PC = 11 ---------------------------------------------------------------------- optimized [] in [] in Xtreams.TLSCertificateStore>>validate:for: Receiver: an UndefinedObject Temporaries: .self = a Xtreams.TLSCertificateStore .chain = an Array[3] Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Xtreams.TLSCertificateStore>>validate:for: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Security.X509.X509Error handlerBlock = BlockClosure [] in [] in Xtreams.TLSCertificateStore>>validate:for: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Xtreams.TLSCertificateStore>>validate:for: Receiver: an UndefinedObject Temporaries: .self = a Xtreams.TLSCertificateStore .chain = an Array[3] alert = nil Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>ifCurtailed: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Xtreams.TLSCertificateStore>>validate:for: outerContext = nil copiedValues = an Array[3] Arguments: terminationBlock = BlockClosure [] in Xtreams.TLSCertificateStore>>validate:for: Context PC = 4 ---------------------------------------------------------------------- Xtreams.TLSCertificateStore>>validate:for: Receiver: a Xtreams.TLSCertificateStore Instance Variables: owned = an OrderedCollection[0] known = a Set[0] trusted = a Security.X509.X509Registry Arguments: chain = an Array[3] connection = a Xtreams.TLSConnection Temporaries: alert = nil Context PC = 25 ---------------------------------------------------------------------- Xtreams.TLSSession>>validateCertificate:for:using: Receiver: a Xtreams.TLSSession Instance Variables: nextLink = nil previousLink = nil id = nil key = 'api.dropbox.com:443' created = nil compression = null suite = TLS_RSA_WITH_AES_256_CBC_SHA256 versionMinor = 3 certificate = nil peerCertificate = an Array[3] subjectVerifier = nil isServer = false secret = nil Arguments: bytes = an Array[3] connection = a Xtreams.TLSConnection certificates = a Xtreams.TLSCertificateStore Context PC = 10 ---------------------------------------------------------------------- Xtreams.TLSConnection>>validateCertificate: Receiver: a Xtreams.TLSConnection Instance Variables: subscriptionRegistry = a SubscriptionRegistry context = a Xtreams.TLSContext session = TLSSession 'api.dropbox.com:443' handshake = a Xtreams.TLSHandshake writeLock = nil output = TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor input = TLSRecordReadStream.FMB TLSMarshalingReadStream.CFJ ExternalReadStream.PN an active Net.HttpSocketAccessor socket = an active Net.HttpSocketAccessor client_random = a ByteArray[32] server_random = a ByteArray[32] write_mac_key = nil read_mac_key = nil write_key = nil read_key = nil write_iv = nil read_iv = nil Arguments: certificate = <- TLSCertificate Context PC = 10 ---------------------------------------------------------------------- Xtreams.TLSHandshake>>receiveCertificate Receiver: a Xtreams.TLSHandshake Instance Variables: connection = a Xtreams.TLSConnection verifier = BlockClosure [] in [] in Net.TLSConnection>>startTLS clientHello = -> TLSClientHello(3.3; suites: 10; extensions: #signature_algorithms) serverHello = <- TLSServerHello(3.3; TLS_RSA_WITH_AES_256_CBC_SHA256) writing = DuplicateWriteStream TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor reading = DuplicateReadStream.GIH StitchReadStream.DBP BlockClosureReadStream.AKG BlockClosure [] in [] in [] in Xtreams.TLSRecordReadStream>>initiateRuns resuming = false digest = DigestWriteStream NullWriteStream nil keyExchange = a Xtreams.TLSRSAKeyExchange queue = an OrderedCollection[0] nextMessage = nil signatureAlgorithms = TLSSignatureAlgorithms: dsa/sha1 Temporaries: certificate = <- TLSCertificate subject = nil Context PC = 9 ---------------------------------------------------------------------- Xtreams.TLSRSAKeyExchange>>clientHandshake Receiver: a Xtreams.TLSRSAKeyExchange Instance Variables: handshake = a Xtreams.TLSHandshake connection = a Xtreams.TLSConnection Temporaries: pms = nil epms = nil kex = nil Context PC = 3 ---------------------------------------------------------------------- Xtreams.TLSHandshake>>connect Receiver: a Xtreams.TLSHandshake Instance Variables: connection = a Xtreams.TLSConnection verifier = BlockClosure [] in [] in Net.TLSConnection>>startTLS clientHello = -> TLSClientHello(3.3; suites: 10; extensions: #signature_algorithms) serverHello = <- TLSServerHello(3.3; TLS_RSA_WITH_AES_256_CBC_SHA256) writing = DuplicateWriteStream TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor reading = DuplicateReadStream.GIH StitchReadStream.DBP BlockClosureReadStream.AKG BlockClosure [] in [] in [] in Xtreams.TLSRecordReadStream>>initiateRuns resuming = false digest = DigestWriteStream NullWriteStream nil keyExchange = a Xtreams.TLSRSAKeyExchange queue = an OrderedCollection[0] nextMessage = nil signatureAlgorithms = TLSSignatureAlgorithms: dsa/sha1 Context PC = 62 ---------------------------------------------------------------------- BlockClosure>>tlsConnect: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Net.TLSConnection>>startTLS outerContext = nil copiedValues = a Net.HttpsConnection Arguments: handshake = a Xtreams.TLSHandshake Context PC = 7 ---------------------------------------------------------------------- optimized [] in Xtreams.TLSConnection>>connect: Receiver: an UndefinedObject Temporaries: .subject = BlockClosure [] in [] in Net.TLSConnection>>startTLS .self = a Xtreams.TLSConnection Context PC = 8 ---------------------------------------------------------------------- Xtreams.TLSConnection>>writeProtectDo: Receiver: a Xtreams.TLSConnection Instance Variables: subscriptionRegistry = a SubscriptionRegistry context = a Xtreams.TLSContext session = TLSSession 'api.dropbox.com:443' handshake = a Xtreams.TLSHandshake writeLock = nil output = TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor input = TLSRecordReadStream.FMB TLSMarshalingReadStream.CFJ ExternalReadStream.PN an active Net.HttpSocketAccessor socket = an active Net.HttpSocketAccessor client_random = a ByteArray[32] server_random = a ByteArray[32] write_mac_key = nil read_mac_key = nil write_key = nil read_key = nil write_iv = nil read_iv = nil Arguments: aBlock = BlockClosure [] in Xtreams.TLSConnection>>connect: Context PC = 7 ---------------------------------------------------------------------- Xtreams.TLSConnection>>connect: Receiver: a Xtreams.TLSConnection Instance Variables: subscriptionRegistry = a SubscriptionRegistry context = a Xtreams.TLSContext session = TLSSession 'api.dropbox.com:443' handshake = a Xtreams.TLSHandshake writeLock = nil output = TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor input = TLSRecordReadStream.FMB TLSMarshalingReadStream.CFJ ExternalReadStream.PN an active Net.HttpSocketAccessor socket = an active Net.HttpSocketAccessor client_random = a ByteArray[32] server_random = a ByteArray[32] write_mac_key = nil read_mac_key = nil write_key = nil read_key = nil write_iv = nil read_iv = nil Arguments: subject = BlockClosure [] in [] in Net.TLSConnection>>startTLS Context PC = 16 ---------------------------------------------------------------------- optimized [] in Net.TLSConnection>>startTLS Receiver: an UndefinedObject Temporaries: .self = a Net.HttpsConnection Context PC = 10 ---------------------------------------------------------------------- BlockClosure>>ifCurtailed: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Net.TLSConnection>>startTLS outerContext = nil copiedValues = a Net.HttpsConnection Arguments: terminationBlock = BlockClosure [] in Net.TLSConnection>>startTLS Context PC = 4 ---------------------------------------------------------------------- Net.HttpsConnection(Net.TLSConnection)>>startTLS Receiver: a Net.HttpsConnection Instance Variables: stream = an ExternalReadAppendStream settings = a Net.HttpSettings tlsConnection = a Xtreams.TLSConnection hostName = 'api.dropbox.com' socket = an active Net.HttpSocketAccessor port = 443 Context PC = 31 ---------------------------------------------------------------------- Net.HttpsConnection(Net.TLSConnection)>>openStreamFor:port:timeout: Receiver: a Net.HttpsConnection Instance Variables: stream = an ExternalReadAppendStream settings = a Net.HttpSettings tlsConnection = a Xtreams.TLSConnection hostName = 'api.dropbox.com' socket = an active Net.HttpSocketAccessor port = 443 Arguments: hostNameString = 'api.dropbox.com' aNumber = 443 tmNumber = 20000 Context PC = 14 ---------------------------------------------------------------------- Net.HttpProtocolInterpreter(Net.NetProtocolInterpreter)>>connectToHost:port:timeout: Receiver: a Net.HttpProtocolInterpreter Instance Variables: connection = a Net.HttpsConnection settings = a Net.HttpSettings authPolicy = nil proxyAuthPolicy = nil cookieAgent = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- hostName = 'api.dropbox.com' portNumber = 443 readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions Arguments: aHostName = 'api.dropbox.com' aNumber = 443 tmNumber = 20000 Context PC = 9 ---------------------------------------------------------------------- Net.HttpProtocolInterpreter>>connect Receiver: a Net.HttpProtocolInterpreter Instance Variables: connection = a Net.HttpsConnection settings = a Net.HttpSettings authPolicy = nil proxyAuthPolicy = nil cookieAgent = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- hostName = 'api.dropbox.com' portNumber = 443 readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions Context PC = 35 ---------------------------------------------------------------------- Net.HttpProtocolInterpreter>>executeRequest: Receiver: a Net.HttpProtocolInterpreter Instance Variables: connection = a Net.HttpsConnection settings = a Net.HttpSettings authPolicy = nil proxyAuthPolicy = nil cookieAgent = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- hostName = 'api.dropbox.com' portNumber = 443 readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions Arguments: aRequest = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- Context PC = 11 ---------------------------------------------------------------------- Net.HttpClient>>privateExecuteRequest Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Context PC = 11 ---------------------------------------------------------------------- Net.HttpClient>>executeRequestDo: Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Arguments: aBlock = nil Temporaries: streamx = nil Context PC = 4 ---------------------------------------------------------------------- Net.HttpClient>>executeAndGetResponse Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Context PC = 11 ---------------------------------------------------------------------- Net.HttpClient>>executeRequest: Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Arguments: aRequest = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- Context PC = 7 ---------------------------------------------------------------------- optimized [] in Net.HttpRequest>>execute Receiver: an UndefinedObject Temporaries: .client = aHttpClient on: api.dropbox.com:443 .self = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Net.HttpRequest>>execute outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in Net.HttpRequest>>execute Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Net.HttpRequest>>execute Receiver: a Net.HttpRequest Instance Variables: source = nil parent = nil value = ------ (172 bytes) ----- header = Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 Host: api.dropbox.com headerCharset = nil readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions nextNamespaceId = nil requestLine = POST /1/oauth/request_token HTTP/1.1 Temporaries: client = aHttpClient on: api.dropbox.com:443 Context PC = 16 ---------------------------------------------------------------------- Dropbox.RESTClient>>request:url:postParams:body:headers:rawResponse: Receiver: a Dropbox.RESTClient Arguments: method = 'POST' postParams = a Dictionary[6] theBody = nil theHeaders = a Dictionary[0] theRawResponse = true Temporaries: headers = a Dictionary[1] request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- body = nil rawResponse = true Context PC = 66 ---------------------------------------------------------------------- Dropbox.RESTClient>>postUrl:headers:params:rawResponse: Receiver: a Dropbox.RESTClient Arguments: headers = a Dictionary[0] params = a Dictionary[6] aBoolean = true Context PC = 10 ---------------------------------------------------------------------- Dropbox.DropboxSession>>obtainRequestToken Receiver: a Dropbox.DropboxSession Instance Variables: consumerCreds = a Dropbox.OAuthToken (key=biz,secret=baz) token = nil requestToken = nil accessType = 'app_folder' root = 'sandbox' locale = nil Temporaries: headers = a Dictionary[0] params = a Dictionary[6] response = nil Context PC = 35 ---------------------------------------------------------------------- UndefinedObject>>unboundMethod Receiver: an UndefinedObject Context PC = 15 ---------------------------------------------------------------------- UndefinedObject(Object)>>performMethod:arguments: Receiver: an UndefinedObject Arguments: method = AnnotatedMethod UndefinedObject>>unboundMethod args = an Array[0] Context PC = 5 ---------------------------------------------------------------------- UndefinedObject(Object)>>performMethod: Receiver: an UndefinedObject Arguments: method = AnnotatedMethod UndefinedObject>>unboundMethod Context PC = 5 ---------------------------------------------------------------------- TextEditorController>>evaluateCompiled: Receiver: a TextEditorController Instance Variables: model = a PluggableAdaptor view = a TextEditorView menuHolder = a ValueHolder on: a Menu performer = a WorkspacePage beginTypeInIndex = nil anchorIndex = 501 emphasisHere = nil dispatchTable = a DispatchTable charComposer = a CharacterComposer textHasChanged = true feelPolicy = a MotifFeelPolicy supportCodeEditingFeels = true localMenuItems = an Array[21] extendingDown = true keyboardHook = nil readOnly = false accepted = false autoAccept = false continuousAccept = false tabMeansNextField = true tabRequiresControl = true dispatcher = an UIDispatcher selectable = false maxChars = nil nextUndoBlock = BlockClosure [] in TextEditorController>>appendToSelection: currentUndo = a TextUndo #Typing [-]xhgqndvlhvid37p[-][+]baz[+] Arguments: aMethod = AnnotatedMethod UndefinedObject>>unboundMethod Temporaries: context = nil Context PC = 13 ---------------------------------------------------------------------- optimized [] in TextEditorController>>evaluateSelection Receiver: an UndefinedObject Temporaries: .self = a TextEditorController .code = AnnotatedMethod UndefinedObject>>unboundMethod Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in TextEditorController>>evaluateSelection outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in Cursor>>showWhile: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Cursor>>showWhile: Receiver: a Cursor Instance Variables: errorCode = 0 handle = a ByteArray[4] image = Depth1Image(extent: 16 @ 16 depth: 1) mask = Depth1Image(extent: 16 @ 16 depth: 1) hotSpot = 1 @ 1 name = 'xeq' Arguments: aBlock = BlockClosure [] in TextEditorController>>evaluateSelection Temporaries: oldcursor = Cursor normal Context PC = 23 ---------------------------------------------------------------------- TextEditorController>>evaluateSelection Receiver: a TextEditorController Instance Variables: model = a PluggableAdaptor view = a TextEditorView menuHolder = a ValueHolder on: a Menu performer = a WorkspacePage beginTypeInIndex = nil anchorIndex = 501 emphasisHere = nil dispatchTable = a DispatchTable charComposer = a CharacterComposer textHasChanged = true feelPolicy = a MotifFeelPolicy supportCodeEditingFeels = true localMenuItems = an Array[21] extendingDown = true keyboardHook = nil readOnly = false accepted = false autoAccept = false continuousAccept = false tabMeansNextField = true tabRequiresControl = true dispatcher = an UIDispatcher selectable = false maxChars = nil nextUndoBlock = BlockClosure [] in TextEditorController>>appendToSelection: currentUndo = a TextUndo #Typing [-]xhgqndvlhvid37p[-][+]baz[+] Temporaries: code = AnnotatedMethod UndefinedObject>>unboundMethod result = nil Context PC = 14 ---------------------------------------------------------------------- optimized [] in TextEditorController>>doIt Receiver: an UndefinedObject Temporaries: .self = a TextEditorController Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in TextEditorController>>doIt outerContext = nil copiedValues = a TextEditorController Arguments: anExceptionSelector = CompilationError handlerBlock = BlockClosure [] in TextEditorController>>doIt Context PC = 18 ---------------------------------------------------------------------- TextEditorController>>doIt Receiver: a TextEditorController Instance Variables: model = a PluggableAdaptor view = a TextEditorView menuHolder = a ValueHolder on: a Menu performer = a WorkspacePage beginTypeInIndex = nil anchorIndex = 501 emphasisHere = nil dispatchTable = a DispatchTable charComposer = a CharacterComposer textHasChanged = true feelPolicy = a MotifFeelPolicy supportCodeEditingFeels = true localMenuItems = an Array[21] extendingDown = true keyboardHook = nil readOnly = false accepted = false autoAccept = false continuousAccept = false tabMeansNextField = true tabRequiresControl = true dispatcher = an UIDispatcher selectable = false maxChars = nil nextUndoBlock = BlockClosure [] in TextEditorController>>appendToSelection: currentUndo = a TextUndo #Typing [-]xhgqndvlhvid37p[-][+]baz[+] Context PC = 20 ---------------------------------------------------------------------- WorkspacePage>>doIt Receiver: a WorkspacePage Instance Variables: dependents = a PluggableAdaptor builder = an UIBuilder uiSession = nil eventHandlers = nil workspace = a Workbook label = an UserMessage('Page 1', #Page1, #dialogs) verboseLabel = nil filename = nil fileTimestamp = nil textModel = a PluggableAdaptor unacceptedText = nil savedSelection = an Array[2] savedFileTimestamp = nil textModelOverride = a ValueHolder on: Text for '| pem bundle | pem := (HttpClient get: ''http://curl.haxx.se/ca/cacert.pem'') contents. bundle := CertificateFileReader new readFrom: pem readStream. X509Registry trustedCertificates addAll: bundle. pem := ''trusted-certs.crt'' asFilename. bundle := CertificateFileReader new readFrom: pem readStream. X509Registry trustedCertificates addAll: bundle. session := DropboxSession consumerKey: ''5patmmhoipec1v8'' consumerSecret: ''xhgqndvlhvid37p'' accessType: ''app_folder'' locale: nil . rt := session obtainRequestToken. url := session buildAuthorizeUrlRequestToken: rt callback: nil. self halt: ''Authenticate at: '' , url, '' then press proceed.''. session obtainAccessToken. client := DropboxClient session: session client: Dropbox.RESTClient new. client accountInfo. client putFileTo: ''frog.pdf'' file: ''/home/shaffer/Desktop/ToReadSoon/weave.pdf'' overwrite: false parentRev: nil. client getFileMetadata: ''frog.pdf'' rev: nil. client delta: nil. client fileCreateFolder: ''new_folder''. client fileDelete: ''new_folder''. client fileMoveFrom: ''frog.pdf'' to: ''cat.pdf'' client metadataPath: ''/''. client thumbnail: ''cat.pdf''. client revisionsPath: ''cat.pdf'' revLimit: nil. client mediaPath: ''cat.pdf''. client sharePath: ''cat.pdf''. client getFile: ''Exam1.tex'' rev: nil. cr := client createCopyRef: ''Exam1.tex''. client fileCreateFolder: ''Foo''. client addCopyRef: cr to: ''/Foo/Blah.tex''. client fileMoveFrom: ''/Foo/Dog.tex'' to: ''/Foo/Cat.tex''. md := client metadataPath: ''/Foo/Cat.tex''. client putFileTo: ''/Foo/Cat.tex'' stream: #(65 66 67) readStream overwrite: true parentRev: (md at: ''rev''). client getFile: ''/Foo/Cat.tex'' rev: nil. client restorePath: ''/Foo/Cat.tex'' rev: (md at: ''rev''). client searchPath: ''/Foo'' query: ''Cat'' fileLimit: 10 includeDeleted: false.' Context PC = 20 ---------------------------------------------------------------------- Workbook(AbstractWorkspace)>>smalltalkDoIt Receiver: a Workbook Instance Variables: dependents = a ScheduledWindow 5106208 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil locals = a WorkspaceVariablePool[6] importAll = true specificImports = an Array[3] importSummaryHolder = a ValueHolder on: 'All' pageExplanationHolder = a ValueHolder on: 'Text or Smalltalk code' statusBarVisible = true encodingChannel = a ValueHolder on: #Source menuBarHolder = a ValueHolder on: a Menu pageHolder = a SelectionInList lastInstalledPage = a WorkspacePage Context PC = 5 ---------------------------------------------------------------------- MenuBarButtonController>>dispatchMenuSymbol: Receiver: a MenuBarButtonController Instance Variables: model = nil view = a MacOSXMenuBarButtonView highlightOnOpen = false Arguments: menuSelection = #smalltalkDoIt Context PC = 38 ---------------------------------------------------------------------- MenuBarButtonController>>dispatchMenuSelection: Receiver: a MenuBarButtonController Instance Variables: model = nil view = a MacOSXMenuBarButtonView highlightOnOpen = false Arguments: menuSelection = #smalltalkDoIt Context PC = 17 ---------------------------------------------------------------------- optimized [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Receiver: an UndefinedObject Temporaries: .self = a MacOSXMenuBarButtonView .theValue = #smalltalkDoIt Context PC = 12 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- optimized [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Receiver: an UndefinedObject Temporaries: .self = a MacOSXMenuBarButtonView .theValue = #smalltalkDoIt Context PC = 14 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = VetoAction handlerBlock = BlockClosure [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Context PC = 18 ---------------------------------------------------------------------- MacOSXMenuBarButtonView(MenuBarButtonView)>>processCommandEventAsMenuItemAccessor: Receiver: a MacOSXMenuBarButtonView Instance Variables: container = a BoundedWrapper on: a MacOSXMenuBarButtonView eventHandlers = nil properties = nil model = nil controller = a MenuBarButtonController state = a WidgetState isInTransition = true latestValue = nil referenceValue = true label = Label for 'Smalltalk' textStyle = a TextAttributes menuHolder = a Menu menuBar = a MacOSXMenuBar Arguments: aCommandEvent = a CommandEvent Set (#doIt) Temporaries: theMenu = a Menu matchingMenuItem = a MenuItem 'Do it' theValue = #smalltalkDoIt Context PC = 45 ---------------------------------------------------------------------- [] in MacOSXMenuBar(MenuBar)>>commandEvent: Receiver: a MacOSXMenuBar Instance Variables: container = a MenuBarWrapper on: a MacOSXMenuBar eventHandlers = nil properties = nil components = an OrderedCollection[5] preferredBounds = 0 @ 0 corner: 239.564 @ 24 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a Workbook menuButtons = an OrderedCollection[5] nextMenuButton = nil Arguments: each = a MacOSXMenuBarButtonView Temporaries: .aCommandEvent = a CommandEvent Set (#doIt) Context PC = 10 ---------------------------------------------------------------------- OrderedCollection>>do: Receiver: an OrderedCollection Instance Variables: firstIndex = 1 lastIndex = 5 Arguments: aBlock = BlockClosure [] in MenuBar>>commandEvent: Temporaries: index = 3 Context PC = 17 ---------------------------------------------------------------------- MacOSXMenuBar(MenuBar)>>commandEvent: Receiver: a MacOSXMenuBar Instance Variables: container = a MenuBarWrapper on: a MacOSXMenuBar eventHandlers = nil properties = nil components = an OrderedCollection[5] preferredBounds = 0 @ 0 corner: 239.564 @ 24 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a Workbook menuButtons = an OrderedCollection[5] nextMenuButton = nil Arguments: aCommandEvent = a CommandEvent Set (#doIt) Context PC = 23 ---------------------------------------------------------------------- CommandEvent>>dispatchTo: Receiver: a CommandEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil commands = a Set[1] Arguments: anObject = a MacOSXMenuBar Context PC = 4 ---------------------------------------------------------------------- optimized [] in KeyboardProcessor>>broadcastCommandEvent: Receiver: an UndefinedObject Temporaries: .aCommandEvent = a CommandEvent Set (#doIt) .self = a KeyboardProcessor Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in KeyboardProcessor>>broadcastCommandEvent: outerContext = nil copiedValues = an Array[2] Arguments: anObject = a MacOSXMenuBar Context PC = 10 ---------------------------------------------------------------------- MacOSXMenuBar(Object)>>ifNotNil: Receiver: a MacOSXMenuBar Instance Variables: container = a MenuBarWrapper on: a MacOSXMenuBar eventHandlers = nil properties = nil components = an OrderedCollection[5] preferredBounds = 0 @ 0 corner: 239.564 @ 24 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a Workbook menuButtons = an OrderedCollection[5] nextMenuButton = nil Arguments: aBlock = BlockClosure [] in KeyboardProcessor>>broadcastCommandEvent: Context PC = 4 ---------------------------------------------------------------------- KeyboardProcessor>>broadcastCommandEvent: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Arguments: aCommandEvent = a CommandEvent Set (#doIt) Context PC = 8 ---------------------------------------------------------------------- [] in KeyboardProcessor>>processKeyboardEvent: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Temporaries: .self = a KeyboardProcessor .commandEvent = a CommandEvent Set (#doIt) Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in KeyboardProcessor>>processKeyboardEvent: outerContext = KeyboardProcessor>>processKeyboardEvent: copiedValues = an Array[2] Arguments: anObject = a CommandEvent Set (#doIt) Context PC = 10 ---------------------------------------------------------------------- CommandEvent(Object)>>ifNotNil: Receiver: a CommandEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil commands = a Set[1] Arguments: aBlock = BlockClosure [] in KeyboardProcessor>>processKeyboardEvent: Context PC = 4 ---------------------------------------------------------------------- KeyboardProcessor>>processKeyboardEvent: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Arguments: aKeyboardEvent = a KeyPressedEvent Temporaries: commandEvent = a CommandEvent Set (#doIt) Context PC = 11 ---------------------------------------------------------------------- KeyboardProcessor>>processKeyboardEvent:for: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Arguments: keyboardEvent = a KeyPressedEvent aController = an ApplicationStandardSystemController Temporaries: ev = a KeyPressedEvent Context PC = 26 ---------------------------------------------------------------------- EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a KeyPressedEvent Temporaries: objectWantingControl = nil targetKeyboardProcessor = a KeyboardProcessor Context PC = 103 ---------------------------------------------------------------------- KeyPressedEvent(Event)>>dispatch Receiver: a KeyPressedEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil keyCharacter = $d "16r0064" metaState = 16 alternativeKeyCharacter = $d "16r0064" Context PC = 16 ---------------------------------------------------------------------- KeyPressedEvent(Event)>>dispatchForWindowManager: Receiver: a KeyPressedEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil keyCharacter = $d "16r0064" metaState = 16 alternativeKeyCharacter = $d "16r0064" Arguments: aWinMgr = a WindowManager Context PC = 4 ---------------------------------------------------------------------- optimized [] in WindowManager>>safelyDispatchForWindowManager: Receiver: an UndefinedObject Temporaries: .event = a KeyPressedEvent .self = a WindowManager Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = BadControllerError handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: Context PC = 18 ---------------------------------------------------------------------- WindowManager>>safelyDispatchForWindowManager: Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[4] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Arguments: event = a KeyPressedEvent Context PC = 13 ---------------------------------------------------------------------- WindowManager>>processNextEvent Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[4] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Temporaries: event = a KeyPressedEvent Context PC = 9 ---------------------------------------------------------------------- optimized [] in [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess Context PC = 18 ---------------------------------------------------------------------- optimized [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Process class>>forBlock:priority: Receiver: an UndefinedObject Temporaries: .aBlock = BlockClosure [] in WindowManager>>newProcess Context PC = 9 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Please try the attached, I believe our 7.10.1 version is identical. -Boris DeepCove Labs From: [hidden email] [mailto:[hidden email]]
On Behalf Of David Shaffer I have certificates signed using SHA256 (these are the certificate authorities provided by Dropbox — attached). These don’t work in VisualWorks 7.10.1 and newer as noted in the Security Guide: It suggests a workaround but I don’t see how to directly apply this to certificate signatures except by hacking up Cincom’s code and if it were that easy I’d assume they wouldn't have this limitation in the first place. I have attached
a stack trace for reference. Has anyone else hit this? Anyone have a suggestion? BTW, my Dropbox client is in the open repository and works very well in VW7.9 and older as long as you’re using a version that includes a working security package. David Unhandled exception: Message not understood: #derEncodedDigestInfo Security.SHA256 class(Object)>>doesNotUnderstand: Security.RSAPublicKey>>verify:of:hash:padding: Xtreams.SecurityPublicKey>>verify:of:hash:padding: optimized [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: BlockClosure>>cull: ByteString(Object)>>ifNil:ifNotNil: optimized [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: BlockClosure>>ensure: optimized [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: optimized [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: BlockClosure>>cull: Array(Object)>>ifNil:ifNotNil: Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Security.X509.Certificate>>verifySignedBy: Security.X509.Certificate>>verifyIssuedBy: optimized [] in Security.X509.X509Registry>>verify:isIssuedBy: BlockClosure>>on:do: Security.X509.X509Registry>>verify:isIssuedBy: optimized [] in [] in Security.X509.X509Registry>>validateCertificateChain: BlockClosure>>cull: Security.X509.Certificate(Object)>>ifNotNil: optimized [] in Security.X509.X509Registry>>validateCertificateChain: optimized [] in Collection>>inject:into: Array(SequenceableCollection)>>do: Array(Collection)>>inject:into: Security.X509.X509Registry>>validateCertificateChain: optimized [] in [] in Xtreams.TLSCertificateStore>>validate:for: BlockClosure>>on:do: optimized [] in Xtreams.TLSCertificateStore>>validate:for: BlockClosure>>ifCurtailed: Xtreams.TLSCertificateStore>>validate:for: Xtreams.TLSSession>>validateCertificate:for:using: Xtreams.TLSConnection>>validateCertificate: Xtreams.TLSHandshake>>receiveCertificate Xtreams.TLSRSAKeyExchange>>clientHandshake Xtreams.TLSHandshake>>connect BlockClosure>>tlsConnect: optimized [] in Xtreams.TLSConnection>>connect: Xtreams.TLSConnection>>writeProtectDo: Xtreams.TLSConnection>>connect: optimized [] in Net.TLSConnection>>startTLS BlockClosure>>ifCurtailed: Net.HttpsConnection(Net.TLSConnection)>>startTLS Net.HttpsConnection(Net.TLSConnection)>>openStreamFor:port:timeout: Net.HttpProtocolInterpreter(Net.NetProtocolInterpreter)>>connectToHost:port:timeout: Net.HttpProtocolInterpreter>>connect Net.HttpProtocolInterpreter>>executeRequest: Net.HttpClient>>privateExecuteRequest Net.HttpClient>>executeRequestDo: Net.HttpClient>>executeAndGetResponse Net.HttpClient>>executeRequest: optimized [] in Net.HttpRequest>>execute BlockClosure>>ensure: Net.HttpRequest>>execute Dropbox.RESTClient>>request:url:postParams:body:headers:rawResponse: Dropbox.RESTClient>>postUrl:headers:params:rawResponse: Dropbox.DropboxSession>>obtainRequestToken UndefinedObject>>unboundMethod UndefinedObject(Object)>>performMethod:arguments: UndefinedObject(Object)>>performMethod: TextEditorController>>evaluateCompiled: optimized [] in TextEditorController>>evaluateSelection BlockClosure>>ensure: Cursor>>showWhile: TextEditorController>>evaluateSelection optimized [] in TextEditorController>>doIt BlockClosure>>on:do: TextEditorController>>doIt WorkspacePage>>doIt Workbook(AbstractWorkspace)>>smalltalkDoIt MenuBarButtonController>>dispatchMenuSymbol: MenuBarButtonController>>dispatchMenuSelection: optimized [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: BlockClosure>>ensure: optimized [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: BlockClosure>>on:do: MacOSXMenuBarButtonView(MenuBarButtonView)>>processCommandEventAsMenuItemAccessor: [] in MacOSXMenuBar(MenuBar)>>commandEvent: OrderedCollection>>do: MacOSXMenuBar(MenuBar)>>commandEvent: CommandEvent>>dispatchTo: optimized [] in KeyboardProcessor>>broadcastCommandEvent: BlockClosure>>cull: MacOSXMenuBar(Object)>>ifNotNil: KeyboardProcessor>>broadcastCommandEvent: [] in KeyboardProcessor>>processKeyboardEvent: BlockClosure>>cull: CommandEvent(Object)>>ifNotNil: KeyboardProcessor>>processKeyboardEvent: KeyboardProcessor>>processKeyboardEvent:for: EventDispatcher>>dispatchEvent: KeyPressedEvent(Event)>>dispatch KeyPressedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority: ---------------------------------------------------------------------- Security.SHA256 class(Object)>>doesNotUnderstand: Receiver: a Security.SHA256 class Instance Variables: superclass = Security.SHAHash methodDict = a MethodDictionary[13] format = 16409 subclasses = nil instanceVariables = an Array[9] organization = ('private-algorithm' #Sigma256_0: #Sigma256_1: #doBlock #prepareWorkingRegisters #sigma256_0: #sigma256_1: #updateDigestRegisters #updateWAt:) ('initialize-release' #initialize) ('services-basic' #reset) ('private-digest' #backupRegisters #restoreRegisters: #writeDigestInto:startingAt:) name = #SHA256 classPool = a NameSpaceOfClass[1] environment = a NameSpace[66] Arguments: aMessage = a Message with selector: #derEncodedDigestInfo and arguments: #() Temporaries: excpt = a MessageNotUnderstood resumeValue = nil Context PC = 25 ---------------------------------------------------------------------- Security.RSAPublicKey>>verify:of:hash:padding: Receiver: a Security.RSAPublicKey Instance Variables: n = 23464936089672074238558227240738642188401652750559322139110223472800898724452171193507830144175059459702529905676615071074993228771373136540482674196545025295733738196449583666610315977490986925474739841268554665863093665527055011951462798054655387514678326260004075182975117421140397782473200702068600919372009187240660911098390145147467211797777009862056159391483377819086435980778585967055870497149033762110952962582355410428105094882392320868563187123866160347835848217107617930191075074037337201254401445272297107644739005851884807909929228393436982535239808806968215135043030563617161016982313909247836020691707 e = 65537 Arguments: signature = a ByteArray[256] digestBytes = a ByteArray[32] hashID = 'SHA256' paddingID = 'PKCS1' Temporaries: bytes = nil hash = Security.SHA256 Context PC = 22 ---------------------------------------------------------------------- Xtreams.SecurityPublicKey>>verify:of:hash:padding: Receiver: a Xtreams.SecurityPublicKey Instance Variables: type = #RSA key = a Security.RSAPublicKey Arguments: signature = a ByteArray[256] digestBytes = a ByteArray[32] hashID = 'SHA256' paddingID = 'PKCS1' Context PC = 8 ---------------------------------------------------------------------- optimized [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Temporaries: .key = a Xtreams.SecurityPublicKey signature = a ByteArray[256] .digest = a ByteArray[32] .hash = 'SHA256' .padding = 'PKCS1' Context PC = 11 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: outerContext = nil copiedValues = an Array[5] Arguments: anObject = 'PKCS1' Context PC = 10 ---------------------------------------------------------------------- ByteString(Object)>>ifNil:ifNotNil: Receiver: a ByteString Arguments: nilBlock = BlockClosure [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: notNilBlock = BlockClosure [] in [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Context PC = 4 ---------------------------------------------------------------------- optimized [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Temporaries: .aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .key = a Xtreams.SecurityPublicKey signature = a ByteArray[256] .padding = 'PKCS1' .digest = a ByteArray[32] .hash = 'SHA256' Context PC = 24 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: outerContext = nil copiedValues = an Array[6] Arguments: aBlock = BlockClosure [] in [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- optimized [] in [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Arguments: pkAlg = 'RSA' hash = 'SHA256' padding = 'PKCS1' Temporaries: key = a Xtreams.SecurityPublicKey signature = a ByteArray[256] digest = a ByteArray[32] .aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .anIssuerCertificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 39 ---------------------------------------------------------------------- optimized [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an UndefinedObject Arguments: arguments = an Array[3] Temporaries: .aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .anIssuerCertificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 11 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: outerContext = nil copiedValues = an Array[2] Arguments: anObject = an Array[3] Context PC = 15 ---------------------------------------------------------------------- Array(Object)>>ifNil:ifNotNil: Receiver: an Array Arguments: nilBlock = BlockClosure [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: notNilBlock = BlockClosure [] in Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Context PC = 4 ---------------------------------------------------------------------- Security.X509.AlgorithmIdentifier>>verify:isSignedBy: Receiver: an Security.X509.AlgorithmIdentifier Instance Variables: oid = OID:sha256WithRSAEncryption/1.2.840.113549.1.1.11 oidDescription = 'sha256WithRSAEncryption' parameters = nil Arguments: aSubjectCertificate = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> anIssuerCertificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 14 ---------------------------------------------------------------------- Security.X509.Certificate>>verifySignedBy: Receiver: a Security.X509.Certificate Instance Variables: encoding = <1(5)1319> tbsCertificate = a Security.X509.TBSCertificate signatureAlgorithm = AlgorithmIdentifier: sha256WithRSAEncryption signatureValue = BitString(256/0/84...57) signature = a ByteArray[256] Arguments: certificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 21 ---------------------------------------------------------------------- Security.X509.Certificate>>verifyIssuedBy: Receiver: a Security.X509.Certificate Instance Variables: encoding = <1(5)1319> tbsCertificate = a Security.X509.TBSCertificate signatureAlgorithm = AlgorithmIdentifier: sha256WithRSAEncryption signatureValue = BitString(256/0/84...57) signature = a ByteArray[256] Arguments: certificate = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 18 ---------------------------------------------------------------------- optimized [] in Security.X509.X509Registry>>verify:isIssuedBy: Receiver: an UndefinedObject Temporaries: .subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> .issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Security.X509.X509Registry>>verify:isIssuedBy: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Security.X509.IssuerMismatch handlerBlock = BlockClosure [] in Security.X509.X509Registry>>verify:isIssuedBy: Context PC = 18 ---------------------------------------------------------------------- Security.X509.X509Registry>>verify:isIssuedBy: Receiver: a Security.X509.X509Registry Instance Variables: trustedCertificates = a Set[15] revokedCertificates = a Set[0] strict = false Arguments: subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Context PC = 15 ---------------------------------------------------------------------- optimized [] in [] in Security.X509.X509Registry>>validateCertificateChain: Receiver: an UndefinedObject Temporaries: .self = a Security.X509.X509Registry .issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> .subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Security.X509.X509Registry>>validateCertificateChain: outerContext = nil copiedValues = an Array[3] Arguments: anObject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 10 ---------------------------------------------------------------------- Security.X509.Certificate(Object)>>ifNotNil: Receiver: a Security.X509.Certificate Instance Variables: encoding = <1(5)1319> tbsCertificate = a Security.X509.TBSCertificate signatureAlgorithm = AlgorithmIdentifier: sha256WithRSAEncryption signatureValue = BitString(256/0/84...57) signature = a ByteArray[256] Arguments: aBlock = BlockClosure [] in [] in Security.X509.X509Registry>>validateCertificateChain: Context PC = 4 ---------------------------------------------------------------------- optimized [] in Security.X509.X509Registry>>validateCertificateChain: Receiver: an UndefinedObject Arguments: subject = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> issuer = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Temporaries: .self = a Security.X509.X509Registry Context PC = 24 ---------------------------------------------------------------------- optimized [] in Collection>>inject:into: Receiver: an UndefinedObject Arguments: each = X509v3: Go Daddy Secure Certificate Authority - G2 <Go Daddy Root Certificate Authority - G2> Temporaries: .binaryBlock = BlockClosure [] in Security.X509.X509Registry>>validateCertificateChain: nextValue = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 9 ---------------------------------------------------------------------- Array(SequenceableCollection)>>do: Receiver: an Array Arguments: aBlock = BlockClosure [] in Collection>>inject:into: Temporaries: i = 2 Context PC = 19 ---------------------------------------------------------------------- Array(Collection)>>inject:into: Receiver: an Array Arguments: thisValue = nil binaryBlock = BlockClosure [] in Security.X509.X509Registry>>validateCertificateChain: Temporaries: nextValue = X509v3: *.dropbox.com <Go Daddy Secure Certificate Authority - G2> Context PC = 15 ---------------------------------------------------------------------- Security.X509.X509Registry>>validateCertificateChain: Receiver: a Security.X509.X509Registry Instance Variables: trustedCertificates = a Set[15] revokedCertificates = a Set[0] strict = false Arguments: chain = an Array[3] Context PC = 11 ---------------------------------------------------------------------- optimized [] in [] in Xtreams.TLSCertificateStore>>validate:for: Receiver: an UndefinedObject Temporaries: .self = a Xtreams.TLSCertificateStore .chain = an Array[3] Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Xtreams.TLSCertificateStore>>validate:for: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Security.X509.X509Error handlerBlock = BlockClosure [] in [] in Xtreams.TLSCertificateStore>>validate:for: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Xtreams.TLSCertificateStore>>validate:for: Receiver: an UndefinedObject Temporaries: .self = a Xtreams.TLSCertificateStore .chain = an Array[3] alert = nil Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>ifCurtailed: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Xtreams.TLSCertificateStore>>validate:for: outerContext = nil copiedValues = an Array[3] Arguments: terminationBlock = BlockClosure [] in Xtreams.TLSCertificateStore>>validate:for: Context PC = 4 ---------------------------------------------------------------------- Xtreams.TLSCertificateStore>>validate:for: Receiver: a Xtreams.TLSCertificateStore Instance Variables: owned = an OrderedCollection[0] known = a Set[0] trusted = a Security.X509.X509Registry Arguments: chain = an Array[3] connection = a Xtreams.TLSConnection Temporaries: alert = nil Context PC = 25 ---------------------------------------------------------------------- Xtreams.TLSSession>>validateCertificate:for:using: Receiver: a Xtreams.TLSSession Instance Variables: nextLink = nil previousLink = nil id = nil key = 'api.dropbox.com:443' created = nil compression = null suite = TLS_RSA_WITH_AES_256_CBC_SHA256 versionMinor = 3 certificate = nil peerCertificate = an Array[3] subjectVerifier = nil isServer = false secret = nil Arguments: bytes = an Array[3] connection = a Xtreams.TLSConnection certificates = a Xtreams.TLSCertificateStore Context PC = 10 ---------------------------------------------------------------------- Xtreams.TLSConnection>>validateCertificate: Receiver: a Xtreams.TLSConnection Instance Variables: subscriptionRegistry = a SubscriptionRegistry context = a Xtreams.TLSContext session = TLSSession 'api.dropbox.com:443' handshake = a Xtreams.TLSHandshake writeLock = nil output = TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor input = TLSRecordReadStream.FMB TLSMarshalingReadStream.CFJ ExternalReadStream.PN an active Net.HttpSocketAccessor socket = an active Net.HttpSocketAccessor client_random = a ByteArray[32] server_random = a ByteArray[32] write_mac_key = nil read_mac_key = nil write_key = nil read_key = nil write_iv = nil read_iv = nil Arguments: certificate = <- TLSCertificate Context PC = 10 ---------------------------------------------------------------------- Xtreams.TLSHandshake>>receiveCertificate Receiver: a Xtreams.TLSHandshake Instance Variables: connection = a Xtreams.TLSConnection verifier = BlockClosure [] in [] in Net.TLSConnection>>startTLS clientHello = -> TLSClientHello(3.3; suites: 10; extensions: #signature_algorithms) serverHello = <- TLSServerHello(3.3; TLS_RSA_WITH_AES_256_CBC_SHA256) writing = DuplicateWriteStream TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor reading = DuplicateReadStream.GIH StitchReadStream.DBP BlockClosureReadStream.AKG BlockClosure [] in [] in [] in Xtreams.TLSRecordReadStream>>initiateRuns resuming = false digest = DigestWriteStream NullWriteStream nil keyExchange = a Xtreams.TLSRSAKeyExchange queue = an OrderedCollection[0] nextMessage = nil signatureAlgorithms = TLSSignatureAlgorithms: dsa/sha1 Temporaries: certificate = <- TLSCertificate subject = nil Context PC = 9 ---------------------------------------------------------------------- Xtreams.TLSRSAKeyExchange>>clientHandshake Receiver: a Xtreams.TLSRSAKeyExchange Instance Variables: handshake = a Xtreams.TLSHandshake connection = a Xtreams.TLSConnection Temporaries: pms = nil epms = nil kex = nil Context PC = 3 ---------------------------------------------------------------------- Xtreams.TLSHandshake>>connect Receiver: a Xtreams.TLSHandshake Instance Variables: connection = a Xtreams.TLSConnection verifier = BlockClosure [] in [] in Net.TLSConnection>>startTLS clientHello = -> TLSClientHello(3.3; suites: 10; extensions: #signature_algorithms) serverHello = <- TLSServerHello(3.3; TLS_RSA_WITH_AES_256_CBC_SHA256) writing = DuplicateWriteStream TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor reading = DuplicateReadStream.GIH StitchReadStream.DBP BlockClosureReadStream.AKG BlockClosure [] in [] in [] in Xtreams.TLSRecordReadStream>>initiateRuns resuming = false digest = DigestWriteStream NullWriteStream nil keyExchange = a Xtreams.TLSRSAKeyExchange queue = an OrderedCollection[0] nextMessage = nil signatureAlgorithms = TLSSignatureAlgorithms: dsa/sha1 Context PC = 62 ---------------------------------------------------------------------- BlockClosure>>tlsConnect: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Net.TLSConnection>>startTLS outerContext = nil copiedValues = a Net.HttpsConnection Arguments: handshake = a Xtreams.TLSHandshake Context PC = 7 ---------------------------------------------------------------------- optimized [] in Xtreams.TLSConnection>>connect: Receiver: an UndefinedObject Temporaries: .subject = BlockClosure [] in [] in Net.TLSConnection>>startTLS .self = a Xtreams.TLSConnection Context PC = 8 ---------------------------------------------------------------------- Xtreams.TLSConnection>>writeProtectDo: Receiver: a Xtreams.TLSConnection Instance Variables: subscriptionRegistry = a SubscriptionRegistry context = a Xtreams.TLSContext session = TLSSession 'api.dropbox.com:443' handshake = a Xtreams.TLSHandshake writeLock = nil output = TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor input = TLSRecordReadStream.FMB TLSMarshalingReadStream.CFJ ExternalReadStream.PN an active Net.HttpSocketAccessor socket = an active Net.HttpSocketAccessor client_random = a ByteArray[32] server_random = a ByteArray[32] write_mac_key = nil read_mac_key = nil write_key = nil read_key = nil write_iv = nil read_iv = nil Arguments: aBlock = BlockClosure [] in Xtreams.TLSConnection>>connect: Context PC = 7 ---------------------------------------------------------------------- Xtreams.TLSConnection>>connect: Receiver: a Xtreams.TLSConnection Instance Variables: subscriptionRegistry = a SubscriptionRegistry context = a Xtreams.TLSContext session = TLSSession 'api.dropbox.com:443' handshake = a Xtreams.TLSHandshake writeLock = nil output = TLSRecordWriteStream TLSMarshalingWriteStream BufferedWriteStream buffered: 32768 #[] ExternalWriteStream an active Net.HttpSocketAccessor input = TLSRecordReadStream.FMB TLSMarshalingReadStream.CFJ ExternalReadStream.PN an active Net.HttpSocketAccessor socket = an active Net.HttpSocketAccessor client_random = a ByteArray[32] server_random = a ByteArray[32] write_mac_key = nil read_mac_key = nil write_key = nil read_key = nil write_iv = nil read_iv = nil Arguments: subject = BlockClosure [] in [] in Net.TLSConnection>>startTLS Context PC = 16 ---------------------------------------------------------------------- optimized [] in Net.TLSConnection>>startTLS Receiver: an UndefinedObject Temporaries: .self = a Net.HttpsConnection Context PC = 10 ---------------------------------------------------------------------- BlockClosure>>ifCurtailed: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Net.TLSConnection>>startTLS outerContext = nil copiedValues = a Net.HttpsConnection Arguments: terminationBlock = BlockClosure [] in Net.TLSConnection>>startTLS Context PC = 4 ---------------------------------------------------------------------- Net.HttpsConnection(Net.TLSConnection)>>startTLS Receiver: a Net.HttpsConnection Instance Variables: stream = an ExternalReadAppendStream settings = a Net.HttpSettings tlsConnection = a Xtreams.TLSConnection hostName = 'api.dropbox.com' socket = an active Net.HttpSocketAccessor port = 443 Context PC = 31 ---------------------------------------------------------------------- Net.HttpsConnection(Net.TLSConnection)>>openStreamFor:port:timeout: Receiver: a Net.HttpsConnection Instance Variables: stream = an ExternalReadAppendStream settings = a Net.HttpSettings tlsConnection = a Xtreams.TLSConnection hostName = 'api.dropbox.com' socket = an active Net.HttpSocketAccessor port = 443 Arguments: hostNameString = 'api.dropbox.com' aNumber = 443 tmNumber = 20000 Context PC = 14 ---------------------------------------------------------------------- Net.HttpProtocolInterpreter(Net.NetProtocolInterpreter)>>connectToHost:port:timeout: Receiver: a Net.HttpProtocolInterpreter Instance Variables: connection = a Net.HttpsConnection settings = a Net.HttpSettings authPolicy = nil proxyAuthPolicy = nil cookieAgent = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- hostName = 'api.dropbox.com' portNumber = 443 readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions Arguments: aHostName = 'api.dropbox.com' aNumber = 443 tmNumber = 20000 Context PC = 9 ---------------------------------------------------------------------- Net.HttpProtocolInterpreter>>connect Receiver: a Net.HttpProtocolInterpreter Instance Variables: connection = a Net.HttpsConnection settings = a Net.HttpSettings authPolicy = nil proxyAuthPolicy = nil cookieAgent = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- hostName = 'api.dropbox.com' portNumber = 443 readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions Context PC = 35 ---------------------------------------------------------------------- Net.HttpProtocolInterpreter>>executeRequest: Receiver: a Net.HttpProtocolInterpreter Instance Variables: connection = a Net.HttpsConnection settings = a Net.HttpSettings authPolicy = nil proxyAuthPolicy = nil cookieAgent = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- hostName = 'api.dropbox.com' portNumber = 443 readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions Arguments: aRequest = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- Context PC = 11 ---------------------------------------------------------------------- Net.HttpClient>>privateExecuteRequest Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Context PC = 11 ---------------------------------------------------------------------- Net.HttpClient>>executeRequestDo: Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Arguments: aBlock = nil Temporaries: streamx = nil Context PC = 4 ---------------------------------------------------------------------- Net.HttpClient>>executeAndGetResponse Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Context PC = 11 ---------------------------------------------------------------------- Net.HttpClient>>executeRequest: Receiver: a Net.HttpClient Instance Variables: user = nil hostName = nil portNumber = nil clientPI = a Net.HttpProtocolInterpreter retries = nil timeout = nil delaySeconds = nil state = nil request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- protocol = nil Arguments: aRequest = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- Context PC = 7 ---------------------------------------------------------------------- optimized [] in Net.HttpRequest>>execute Receiver: an UndefinedObject Temporaries: .client = aHttpClient on:
api.dropbox.com:443 .self = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Net.HttpRequest>>execute outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in Net.HttpRequest>>execute Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Net.HttpRequest>>execute Receiver: a Net.HttpRequest Instance Variables: source = nil parent = nil value = ------ (172 bytes) ----- header = Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 Host: api.dropbox.com headerCharset = nil readingOptions = a Net.HttpReadingOptions writingOptions = a Net.HttpWritingOptions nextNamespaceId = nil requestLine = POST /1/oauth/request_token HTTP/1.1 Temporaries: client = aHttpClient on:
api.dropbox.com:443 Context PC = 16 ---------------------------------------------------------------------- Dropbox.RESTClient>>request:url:postParams:body:headers:rawResponse: Receiver: a Dropbox.RESTClient Arguments: method = 'POST' postParams = a Dictionary[6] theBody = nil theHeaders = a Dictionary[0] theRawResponse = true Temporaries: headers = a Dictionary[1] request = POST /1/oauth/request_token HTTP/1.1 Host: api.dropbox.com Content-type: application/x-www-form-urlencoded Content-length: 172 User-agent: UnofficialVisualWorksSDK1.0 ------ (172 bytes) ----- body = nil rawResponse = true Context PC = 66 ---------------------------------------------------------------------- Dropbox.RESTClient>>postUrl:headers:params:rawResponse: Receiver: a Dropbox.RESTClient Arguments: headers = a Dictionary[0] params = a Dictionary[6] aBoolean = true Context PC = 10 ---------------------------------------------------------------------- Dropbox.DropboxSession>>obtainRequestToken Receiver: a Dropbox.DropboxSession Instance Variables: consumerCreds = a Dropbox.OAuthToken (key=biz,secret=baz) token = nil requestToken = nil accessType = 'app_folder' root = 'sandbox' locale = nil Temporaries: headers = a Dictionary[0] params = a Dictionary[6] response = nil Context PC = 35 ---------------------------------------------------------------------- UndefinedObject>>unboundMethod Receiver: an UndefinedObject Context PC = 15 ---------------------------------------------------------------------- UndefinedObject(Object)>>performMethod:arguments: Receiver: an UndefinedObject Arguments: method = AnnotatedMethod UndefinedObject>>unboundMethod args = an Array[0] Context PC = 5 ---------------------------------------------------------------------- UndefinedObject(Object)>>performMethod: Receiver: an UndefinedObject Arguments: method = AnnotatedMethod UndefinedObject>>unboundMethod Context PC = 5 ---------------------------------------------------------------------- TextEditorController>>evaluateCompiled: Receiver: a TextEditorController Instance Variables: model = a PluggableAdaptor view = a TextEditorView menuHolder = a ValueHolder on: a Menu performer = a WorkspacePage beginTypeInIndex = nil anchorIndex = 501 emphasisHere = nil dispatchTable = a DispatchTable charComposer = a CharacterComposer textHasChanged = true feelPolicy = a MotifFeelPolicy supportCodeEditingFeels = true localMenuItems = an Array[21] extendingDown = true keyboardHook = nil readOnly = false accepted = false autoAccept = false continuousAccept = false tabMeansNextField = true tabRequiresControl = true dispatcher = an UIDispatcher selectable = false maxChars = nil nextUndoBlock = BlockClosure [] in TextEditorController>>appendToSelection: currentUndo = a TextUndo #Typing [-]xhgqndvlhvid37p[-][+]baz[+] Arguments: aMethod = AnnotatedMethod UndefinedObject>>unboundMethod Temporaries: context = nil Context PC = 13 ---------------------------------------------------------------------- optimized [] in TextEditorController>>evaluateSelection Receiver: an UndefinedObject Temporaries: .self = a TextEditorController .code = AnnotatedMethod UndefinedObject>>unboundMethod Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in TextEditorController>>evaluateSelection outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in Cursor>>showWhile: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Cursor>>showWhile: Receiver: a Cursor Instance Variables: errorCode = 0 handle = a ByteArray[4] image = Depth1Image(extent: 16 @ 16 depth: 1) mask = Depth1Image(extent: 16 @ 16 depth: 1) hotSpot = 1 @ 1 name = 'xeq' Arguments: aBlock = BlockClosure [] in TextEditorController>>evaluateSelection Temporaries: oldcursor = Cursor normal Context PC = 23 ---------------------------------------------------------------------- TextEditorController>>evaluateSelection Receiver: a TextEditorController Instance Variables: model = a PluggableAdaptor view = a TextEditorView menuHolder = a ValueHolder on: a Menu performer = a WorkspacePage beginTypeInIndex = nil anchorIndex = 501 emphasisHere = nil dispatchTable = a DispatchTable charComposer = a CharacterComposer textHasChanged = true feelPolicy = a MotifFeelPolicy supportCodeEditingFeels = true localMenuItems = an Array[21] extendingDown = true keyboardHook = nil readOnly = false accepted = false autoAccept = false continuousAccept = false tabMeansNextField = true tabRequiresControl = true dispatcher = an UIDispatcher selectable = false maxChars = nil nextUndoBlock = BlockClosure [] in TextEditorController>>appendToSelection: currentUndo = a TextUndo #Typing [-]xhgqndvlhvid37p[-][+]baz[+] Temporaries: code = AnnotatedMethod UndefinedObject>>unboundMethod result = nil Context PC = 14 ---------------------------------------------------------------------- optimized [] in TextEditorController>>doIt Receiver: an UndefinedObject Temporaries: .self = a TextEditorController Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in TextEditorController>>doIt outerContext = nil copiedValues = a TextEditorController Arguments: anExceptionSelector = CompilationError handlerBlock = BlockClosure [] in TextEditorController>>doIt Context PC = 18 ---------------------------------------------------------------------- TextEditorController>>doIt Receiver: a TextEditorController Instance Variables: model = a PluggableAdaptor view = a TextEditorView menuHolder = a ValueHolder on: a Menu performer = a WorkspacePage beginTypeInIndex = nil anchorIndex = 501 emphasisHere = nil dispatchTable = a DispatchTable charComposer = a CharacterComposer textHasChanged = true feelPolicy = a MotifFeelPolicy supportCodeEditingFeels = true localMenuItems = an Array[21] extendingDown = true keyboardHook = nil readOnly = false accepted = false autoAccept = false continuousAccept = false tabMeansNextField = true tabRequiresControl = true dispatcher = an UIDispatcher selectable = false maxChars = nil nextUndoBlock = BlockClosure [] in TextEditorController>>appendToSelection: currentUndo = a TextUndo #Typing [-]xhgqndvlhvid37p[-][+]baz[+] Context PC = 20 ---------------------------------------------------------------------- WorkspacePage>>doIt Receiver: a WorkspacePage Instance Variables: dependents = a PluggableAdaptor builder = an UIBuilder uiSession = nil eventHandlers = nil workspace = a Workbook label = an UserMessage('Page 1', #Page1, #dialogs) verboseLabel = nil filename = nil fileTimestamp = nil textModel = a PluggableAdaptor unacceptedText = nil savedSelection = an Array[2] savedFileTimestamp = nil textModelOverride = a ValueHolder on: Text for '| pem bundle | pem := (HttpClient get: ''http://curl.haxx.se/ca/cacert.pem'') contents. bundle := CertificateFileReader new readFrom: pem readStream. X509Registry trustedCertificates addAll: bundle. pem := ''trusted-certs.crt'' asFilename. bundle := CertificateFileReader new readFrom: pem readStream. X509Registry trustedCertificates addAll: bundle. session := DropboxSession
consumerKey: ''5patmmhoipec1v8''
consumerSecret: ''xhgqndvlhvid37p''
accessType: ''app_folder''
locale: nil . rt := session obtainRequestToken. url := session buildAuthorizeUrlRequestToken: rt callback: nil. self halt: ''Authenticate at: '' , url, '' then press proceed.''. session obtainAccessToken. client := DropboxClient session: session client: Dropbox.RESTClient new. client accountInfo. client putFileTo: ''frog.pdf'' file: ''/home/shaffer/Desktop/ToReadSoon/weave.pdf'' overwrite: false parentRev: nil. client getFileMetadata: ''frog.pdf'' rev: nil. client delta: nil. client fileCreateFolder: ''new_folder''. client fileDelete: ''new_folder''. client fileMoveFrom: ''frog.pdf'' to: ''cat.pdf'' client metadataPath: ''/''. client thumbnail: ''cat.pdf''. client revisionsPath: ''cat.pdf'' revLimit: nil. client mediaPath: ''cat.pdf''. client sharePath: ''cat.pdf''. client getFile: ''Exam1.tex'' rev: nil. cr := client createCopyRef: ''Exam1.tex''. client fileCreateFolder: ''Foo''. client addCopyRef: cr to: ''/Foo/Blah.tex''. client fileMoveFrom: ''/Foo/Dog.tex'' to: ''/Foo/Cat.tex''. md := client metadataPath: ''/Foo/Cat.tex''. client putFileTo: ''/Foo/Cat.tex'' stream: #(65 66 67) readStream overwrite: true parentRev: (md at: ''rev''). client getFile: ''/Foo/Cat.tex'' rev: nil. client restorePath: ''/Foo/Cat.tex'' rev: (md at: ''rev''). client searchPath: ''/Foo'' query: ''Cat'' fileLimit: 10 includeDeleted: false.' Context PC = 20 ---------------------------------------------------------------------- Workbook(AbstractWorkspace)>>smalltalkDoIt Receiver: a Workbook Instance Variables: dependents = a ScheduledWindow 5106208 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil locals = a WorkspaceVariablePool[6] importAll = true specificImports = an Array[3] importSummaryHolder = a ValueHolder on: 'All' pageExplanationHolder = a ValueHolder on: 'Text or Smalltalk code' statusBarVisible = true encodingChannel = a ValueHolder on: #Source menuBarHolder = a ValueHolder on: a Menu pageHolder = a SelectionInList lastInstalledPage = a WorkspacePage Context PC = 5 ---------------------------------------------------------------------- MenuBarButtonController>>dispatchMenuSymbol: Receiver: a MenuBarButtonController Instance Variables: model = nil view = a MacOSXMenuBarButtonView highlightOnOpen = false Arguments: menuSelection = #smalltalkDoIt Context PC = 38 ---------------------------------------------------------------------- MenuBarButtonController>>dispatchMenuSelection: Receiver: a MenuBarButtonController Instance Variables: model = nil view = a MacOSXMenuBarButtonView highlightOnOpen = false Arguments: menuSelection = #smalltalkDoIt Context PC = 17 ---------------------------------------------------------------------- optimized [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Receiver: an UndefinedObject Temporaries: .self = a MacOSXMenuBarButtonView .theValue = #smalltalkDoIt Context PC = 12 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- optimized [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Receiver: an UndefinedObject Temporaries: .self = a MacOSXMenuBarButtonView .theValue = #smalltalkDoIt Context PC = 14 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = VetoAction handlerBlock = BlockClosure [] in MenuBarButtonView>>processCommandEventAsMenuItemAccessor: Context PC = 18 ---------------------------------------------------------------------- MacOSXMenuBarButtonView(MenuBarButtonView)>>processCommandEventAsMenuItemAccessor: Receiver: a MacOSXMenuBarButtonView Instance Variables: container = a BoundedWrapper on: a MacOSXMenuBarButtonView eventHandlers = nil properties = nil model = nil controller = a MenuBarButtonController state = a WidgetState isInTransition = true latestValue = nil referenceValue = true label = Label for 'Smalltalk' textStyle = a TextAttributes menuHolder = a Menu menuBar = a MacOSXMenuBar Arguments: aCommandEvent = a CommandEvent Set (#doIt) Temporaries: theMenu = a Menu matchingMenuItem = a MenuItem 'Do it' theValue = #smalltalkDoIt Context PC = 45 ---------------------------------------------------------------------- [] in MacOSXMenuBar(MenuBar)>>commandEvent: Receiver: a MacOSXMenuBar Instance Variables: container = a MenuBarWrapper on: a MacOSXMenuBar eventHandlers = nil properties = nil components = an OrderedCollection[5] preferredBounds = 0 @ 0 corner: 239.564 @ 24 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a Workbook menuButtons = an OrderedCollection[5] nextMenuButton = nil Arguments: each = a MacOSXMenuBarButtonView Temporaries: .aCommandEvent = a CommandEvent Set (#doIt) Context PC = 10 ---------------------------------------------------------------------- OrderedCollection>>do: Receiver: an OrderedCollection Instance Variables: firstIndex = 1 lastIndex = 5 Arguments: aBlock = BlockClosure [] in MenuBar>>commandEvent: Temporaries: index = 3 Context PC = 17 ---------------------------------------------------------------------- MacOSXMenuBar(MenuBar)>>commandEvent: Receiver: a MacOSXMenuBar Instance Variables: container = a MenuBarWrapper on: a MacOSXMenuBar eventHandlers = nil properties = nil components = an OrderedCollection[5] preferredBounds = 0 @ 0 corner: 239.564 @ 24 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a Workbook menuButtons = an OrderedCollection[5] nextMenuButton = nil Arguments: aCommandEvent = a CommandEvent Set (#doIt) Context PC = 23 ---------------------------------------------------------------------- CommandEvent>>dispatchTo: Receiver: a CommandEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil commands = a Set[1] Arguments: anObject = a MacOSXMenuBar Context PC = 4 ---------------------------------------------------------------------- optimized [] in KeyboardProcessor>>broadcastCommandEvent: Receiver: an UndefinedObject Temporaries: .aCommandEvent = a CommandEvent Set (#doIt) .self = a KeyboardProcessor Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in KeyboardProcessor>>broadcastCommandEvent: outerContext = nil copiedValues = an Array[2] Arguments: anObject = a MacOSXMenuBar Context PC = 10 ---------------------------------------------------------------------- MacOSXMenuBar(Object)>>ifNotNil: Receiver: a MacOSXMenuBar Instance Variables: container = a MenuBarWrapper on: a MacOSXMenuBar eventHandlers = nil properties = nil components = an OrderedCollection[5] preferredBounds = 0 @ 0 corner: 239.564 @ 24 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a Workbook menuButtons = an OrderedCollection[5] nextMenuButton = nil Arguments: aBlock = BlockClosure [] in KeyboardProcessor>>broadcastCommandEvent: Context PC = 4 ---------------------------------------------------------------------- KeyboardProcessor>>broadcastCommandEvent: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Arguments: aCommandEvent = a CommandEvent Set (#doIt) Context PC = 8 ---------------------------------------------------------------------- [] in KeyboardProcessor>>processKeyboardEvent: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Temporaries: .self = a KeyboardProcessor .commandEvent = a CommandEvent Set (#doIt) Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in KeyboardProcessor>>processKeyboardEvent: outerContext = KeyboardProcessor>>processKeyboardEvent: copiedValues = an Array[2] Arguments: anObject = a CommandEvent Set (#doIt) Context PC = 10 ---------------------------------------------------------------------- CommandEvent(Object)>>ifNotNil: Receiver: a CommandEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil commands = a Set[1] Arguments: aBlock = BlockClosure [] in KeyboardProcessor>>processKeyboardEvent: Context PC = 4 ---------------------------------------------------------------------- KeyboardProcessor>>processKeyboardEvent: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Arguments: aKeyboardEvent = a KeyPressedEvent Temporaries: commandEvent = a CommandEvent Set (#doIt) Context PC = 11 ---------------------------------------------------------------------- KeyboardProcessor>>processKeyboardEvent:for: Receiver: a KeyboardProcessor Instance Variables: keyboardHook = nil focusIsShifting = false acceptOnControlChange = false menuBar = a MacOSXMenuBar parentVisual = a ScheduledWindow 5106208 focusedView = a TextEditorView Arguments: keyboardEvent = a KeyPressedEvent aController = an ApplicationStandardSystemController Temporaries: ev = a KeyPressedEvent Context PC = 26 ---------------------------------------------------------------------- EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a KeyPressedEvent Temporaries: objectWantingControl = nil targetKeyboardProcessor = a KeyboardProcessor Context PC = 103 ---------------------------------------------------------------------- KeyPressedEvent(Event)>>dispatch Receiver: a KeyPressedEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil keyCharacter = $d "16r0064" metaState = 16 alternativeKeyCharacter = $d "16r0064" Context PC = 16 ---------------------------------------------------------------------- KeyPressedEvent(Event)>>dispatchForWindowManager: Receiver: a KeyPressedEvent Instance Variables: time = nil initiator = an EventDispatcher window = a ScheduledWindow 5106208 wasHandled = false state = nil keyCharacter = $d "16r0064" metaState = 16 alternativeKeyCharacter = $d "16r0064" Arguments: aWinMgr = a WindowManager Context PC = 4 ---------------------------------------------------------------------- optimized [] in WindowManager>>safelyDispatchForWindowManager: Receiver: an UndefinedObject Temporaries: .event = a KeyPressedEvent .self = a WindowManager Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = BadControllerError handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: Context PC = 18 ---------------------------------------------------------------------- WindowManager>>safelyDispatchForWindowManager: Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[4] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Arguments: event = a KeyPressedEvent Context PC = 13 ---------------------------------------------------------------------- WindowManager>>processNextEvent Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[4] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Temporaries: event = a KeyPressedEvent Context PC = 9 ---------------------------------------------------------------------- optimized [] in [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess Context PC = 18 ---------------------------------------------------------------------- optimized [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Process class>>forBlock:priority: Receiver: an UndefinedObject Temporaries: .aBlock = BlockClosure [] in WindowManager>>newProcess Context PC = 9 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc HTTPS-SHA256.zip (2K) Download Attachment |
Thanks Boris! For 7.10 I moved the derEncodedDigestInfo over to the class side but otherwise it worked perfectly. Do you know if Cincom has this on their radar? It seems odd that this problem existed through so many releases. David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
David, I'm not sure. I think I posted this to vw-dev also at some point.
-Boris
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by cdavidshaffer
David,
I reported that same issue 3 month ago to the VW dev development list, and apparently it was overlooked. Here it goes again: --Mark
David Shaffer wrote:
I have certificates signed using SHA256 (these are the certificate authorities provided by Dropbox attached). These dont work in VisualWorks 7.10.1 and newer as noted in the Security Guide: ____________________________________________________________ Old School Yearbook Pics View Class Yearbooks Online Free. Search by School & Year. Look Now! classmates.com _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |