profile
viewpoint
Russ Butler c1728p9 Austin, Texas

ARMmbed/fpga-ci-test-shield 3

Verilog source code, tests and utilities for the FPGA CI Test Shield

ARMmbed/pal 3

DEPRECATED: public repository for the PAL

ARMmbed/fpga-ci-test-shield-updater 2

Mbed program and python scripts to apply firmware updates to the FPGA CI Test Shield

c1728p9/CMSIS-DAP 2

Interface Firmware providing USB CMSIS-DAP for debugging, USB MSD for programming, USB Serial for communication.

pull request commentPelionIoT/maestro

Fix logically dead

CI seems unstable. It's failing for various reasons, such as 'go' not found, or the VM failing to boot.

~/work/gostuff/src/github.com/armPelionEdge/maestro ~/work/gostuff/bin ~/work/gostuff/src/github.com/armPelionEdge/maestro ./build.sh: line 75: go: command not found ./build.sh:75: 'go build ${GOTAGS} "$@" github.com/armPelionEdge/maestro/maestro' failed with '127'

The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'aborted' state. Please verify everything is configured properly and try again.

costanic

comment created time in 41 minutes

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

CI seems unstable. It's failing for various reasons, such as 'go' not found, or the VM failing to boot.

~/work/gostuff/src/github.com/armPelionEdge/maestro ~/work/gostuff/bin ~/work/gostuff/src/github.com/armPelionEdge/maestro ./build.sh: line 75: go: command not found ./build.sh:75: 'go build ${GOTAGS} "$@" github.com/armPelionEdge/maestro/maestro' failed with '127'

The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'aborted' state. Please verify everything is configured properly and try again.

costanic

comment created time in 42 minutes

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

CI seems unstable. It's failing for various reasons, such as 'go' not found, or the VM failing to boot.

~/work/gostuff/src/github.com/armPelionEdge/maestro ~/work/gostuff/bin ~/work/gostuff/src/github.com/armPelionEdge/maestro ./build.sh: line 75: go: command not found ./build.sh:75: 'go build ${GOTAGS} "$@" github.com/armPelionEdge/maestro/maestro' failed with '127'

The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'aborted' state. Please verify everything is configured properly and try again.

costanic

comment created time in 42 minutes

pull request commentPelionIoT/maestro

Fix logically dead

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/161/

costanic

comment created time in an hour

PR opened PelionIoT/maestro

Fix logically dead

Remove code identified as logically dead by static analysis.

+2 -17

0 comment

4 changed files

pr created time in an hour

create barnchPelionIoT/maestro

branch : fix-logically-dead

created branch time in an hour

pull request commentARMmbed/mbed-os

lorawan: increase uplink framecounter on retransmission

I agree that this is not in the spirit that retransmissions are designed for and is against the defined LoRaWAN protocol.

If the retransmission has a new FCNT then it cannot be de-duplicated by the network. The application may receive the packet data several time due to lost ACK.

A frame with the FCNT increased is not a retransmission. The FCNT and MIC have changed. This is a new packet as far as the network is concerned.

martinichka

comment created time in an hour

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/160/

costanic

comment created time in an hour

push eventPelionIoT/maestro

Nic Costa

commit sha 5a299037533abd6bc403bcc7e8bd1fd722fba0c5

fix null dereference fix a possible null dereference identified by static code analysis.

view details

push time in an hour

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/159/

costanic

comment created time in an hour

push eventPelionIoT/maestro

Nic Costa

commit sha f937d492f16663e31f5d5072d513973f247ebaca

fix null dereference fix a possible null dereference identified by static code analysis.

view details

push time in 2 hours

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/158/

costanic

comment created time in 2 hours

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/157/

costanic

comment created time in 2 hours

push eventPelionIoT/maestro

Nic Costa

commit sha f466ad3852344c9e45d862a97e1aa4985579899b

fix null dereference fix a possible null dereference identified by static code analysis.

view details

push time in 2 hours

push eventPelionIoT/maestro

Nic Costa

commit sha f2e07e3df5263b9cc5d948b1002ef568651c5080

fix null dereference fix a possible null dereference identified by static code analysis.

view details

push time in 2 hours

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/156/

costanic

comment created time in 2 hours

push eventPelionIoT/maestro

Nic Costa

commit sha d30cba7f3bea45d31092d6e5a366aa2fc411c55d

fix null dereference fix a possible null dereference identified by static code analysis.

view details

push time in 2 hours

issue commentARMmbed/DAPLink

Gang-programming support?

cortexprog's gang programming is referring to the ability to use multiple debug probes. I know pyocd will let you choose between multiple CMSIS-DAP probes based on the USB serial descriptor string reported by the probe. Although many MCUs have some form of a UUID, it's not part of the Cortex-M spec AFAIK, so it would be dependant on the specific MCU that DAPLink is running on.

raveslave

comment created time in 2 hours

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/155/

costanic

comment created time in 2 hours

push eventPelionIoT/maestro

Nic Costa

commit sha 905aab2c1810f4a97edd2207214a828253f194a1

fix null dereference fix a possible null dereference identified by static code analysis.

view details

push time in 2 hours

pull request commentPelionIoT/edge-proxy

Add HTTPS proxy to edge-proxy

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-edge_proxy/51/

moonchen

comment created time in 2 hours

pull request commentPelionIoT/maestro

fix null dereferences found by static analysis

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-maestro/154/

costanic

comment created time in 2 hours

Pull request review commentPelionIoT/edge-proxy

Add HTTPS proxy to edge-proxy

+package https++import (+	"crypto/tls"+	"io"+	"log"+	"net"+	"net/http"+	"time"+)++func handleTunneling(w http.ResponseWriter, r *http.Request) {+	destConn, err := net.DialTimeout("tcp", r.Host, 10*time.Second)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	w.WriteHeader(http.StatusOK)+	hijacker, ok := w.(http.Hijacker)+	if !ok {+		http.Error(w, "Hijacking not supported", http.StatusInternalServerError)+		return+	}+	clientConn, _, err := hijacker.Hijack()+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+	}+	go transfer(destConn, clientConn)+	go transfer(clientConn, destConn)+}++func transfer(destination io.WriteCloser, source io.ReadCloser) {+	defer destination.Close()+	defer source.Close()+	io.Copy(destination, source)+}++func handleHTTP(w http.ResponseWriter, req *http.Request) {+	resp, err := http.DefaultTransport.RoundTrip(req)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	defer resp.Body.Close()+	copyHeader(w.Header(), resp.Header)+	w.WriteHeader(resp.StatusCode)+	io.Copy(w, resp.Body)+}++func copyHeader(dst, src http.Header) {+	for k, vv := range src {+		for _, v := range vv {+			dst.Add(k, v)+		}+	}+}++// StartHTTPSProxy starts a proxy that accepts to the HTTP CONNECT method to proxy arbitrary HTTPS requests+func StartHTTPSProxy() {+	server := &http.Server{+		Addr: ":8888",+		Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {+			if r.Method == http.MethodConnect {+				handleTunneling(w, r)+			} else {+				handleHTTP(w, r)+			}+		}),+		// Disable HTTP/2.+		TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler)),

Added.

moonchen

comment created time in 2 hours

push eventPelionIoT/edge-proxy

Mo Chen

commit sha 0a5bc07e52f26ab0d5bb35556b2e9ce1459cfa67

PR comment fix: Add link to explain disabling HTTP/2

view details

push time in 2 hours

Pull request review commentPelionIoT/edge-proxy

Add HTTPS proxy to edge-proxy

+package https++import (+	"crypto/tls"+	"io"+	"log"+	"net"+	"net/http"+	"time"+)++func handleTunneling(w http.ResponseWriter, r *http.Request) {+	destConn, err := net.DialTimeout("tcp", r.Host, 10*time.Second)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	w.WriteHeader(http.StatusOK)+	hijacker, ok := w.(http.Hijacker)+	if !ok {+		http.Error(w, "Hijacking not supported", http.StatusInternalServerError)+		return+	}+	clientConn, _, err := hijacker.Hijack()+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+	}+	go transfer(destConn, clientConn)+	go transfer(clientConn, destConn)+}++func transfer(destination io.WriteCloser, source io.ReadCloser) {+	defer destination.Close()+	defer source.Close()+	io.Copy(destination, source)+}++func handleHTTP(w http.ResponseWriter, req *http.Request) {+	resp, err := http.DefaultTransport.RoundTrip(req)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	defer resp.Body.Close()+	copyHeader(w.Header(), resp.Header)+	w.WriteHeader(resp.StatusCode)+	io.Copy(w, resp.Body)+}++func copyHeader(dst, src http.Header) {+	for k, vv := range src {+		for _, v := range vv {+			dst.Add(k, v)+		}+	}+}++// StartHTTPSProxy starts a proxy that accepts to the HTTP CONNECT method to proxy arbitrary HTTPS requests+func StartHTTPSProxy() {+	server := &http.Server{+		Addr: ":8888",+		Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {+			if r.Method == http.MethodConnect {+				handleTunneling(w, r)+			} else {+				handleHTTP(w, r)

handleHTTP handles non-CONNECT methods. This allows the proxy to proxy plain HTTP requests.

moonchen

comment created time in 2 hours

push eventPelionIoT/maestro

Nic Costa

commit sha 7fcc786c2bb90f8679b7ca501d35996e7572eaa1

fix null dereference fix a possible null dereference identified by static code analysis

view details

Nic Costa

commit sha 9be52f92a5b1e4d4158a10d21491c4be9b2e4fc0

fix null dereference fix a possible null dereference identified by static code analysis. in this case, the function isn't used so could be deleted.

view details

Nic Costa

commit sha 8253a1290bfe1a5a8c41b31fae731f8054ef0bf2

fix null dereference fix a possible null dereference identified by static code analysis. in this case, the function isn't used so could be deleted.

view details

push time in 2 hours

Pull request review commentPelionIoT/edge-proxy

Add HTTPS proxy to edge-proxy

+package https++import (+	"crypto/tls"+	"io"+	"log"+	"net"+	"net/http"+	"time"+)++func handleTunneling(w http.ResponseWriter, r *http.Request) {+	destConn, err := net.DialTimeout("tcp", r.Host, 10*time.Second)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	w.WriteHeader(http.StatusOK)+	hijacker, ok := w.(http.Hijacker)+	if !ok {+		http.Error(w, "Hijacking not supported", http.StatusInternalServerError)+		return+	}+	clientConn, _, err := hijacker.Hijack()+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+	}+	go transfer(destConn, clientConn)

done

moonchen

comment created time in 2 hours

Pull request review commentPelionIoT/edge-proxy

Add HTTPS proxy to edge-proxy

+package https++import (+	"crypto/tls"+	"io"+	"log"+	"net"+	"net/http"+	"time"+)++func handleTunneling(w http.ResponseWriter, r *http.Request) {+	destConn, err := net.DialTimeout("tcp", r.Host, 10*time.Second)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	w.WriteHeader(http.StatusOK)+	hijacker, ok := w.(http.Hijacker)+	if !ok {+		http.Error(w, "Hijacking not supported", http.StatusInternalServerError)+		return+	}+	clientConn, _, err := hijacker.Hijack()+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+	}+	go transfer(destConn, clientConn)+	go transfer(clientConn, destConn)+}++func transfer(destination io.WriteCloser, source io.ReadCloser) {+	defer destination.Close()+	defer source.Close()+	io.Copy(destination, source)+}++func handleHTTP(w http.ResponseWriter, req *http.Request) {+	resp, err := http.DefaultTransport.RoundTrip(req)+	if err != nil {+		http.Error(w, err.Error(), http.StatusServiceUnavailable)+		return+	}+	defer resp.Body.Close()+	copyHeader(w.Header(), resp.Header)+	w.WriteHeader(resp.StatusCode)+	io.Copy(w, resp.Body)+}++func copyHeader(dst, src http.Header) {+	for k, vv := range src {+		for _, v := range vv {+			dst.Add(k, v)+		}+	}+}++// StartHTTPSProxy starts a proxy that accepts to the HTTP CONNECT method to proxy arbitrary HTTPS requests+func StartHTTPSProxy() {

I've updated the PR description. I propose we use that as the commit message.

moonchen

comment created time in 2 hours

pull request commentPelionIoT/snap-pelion-edge

Update edge-proxy

TODO: update the SHA after https://github.com/PelionIoT/edge-proxy/pull/11 has been merged.

moonchen

comment created time in 2 hours

pull request commentPelionIoT/edge-proxy

Add HTTPS proxy to edge-proxy

Refer to this link for build results (access rights to CI server needed): https://edge-jenkins.isgtesting.com/job/test_team-build-edge_proxy/50/

moonchen

comment created time in 2 hours

more