mirror of
				https://gogs.blitter.com/RLabs/xs
				synced 2024-08-14 10:26:42 +00:00 
			
		
		
		
	Fixed login timeout term handling/restoreState * NOTE breaking change to exit codes
Also some value => ref fixes for Conn receiver methods Signed-off-by: Russ Magee <rmagee@gmail.com>
This commit is contained in:
		
							parent
							
								
									06de51630e
								
							
						
					
					
						commit
						02641f21e5
					
				
					 8 changed files with 56 additions and 18 deletions
				
			
		
							
								
								
									
										10
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								go.mod
									
										
									
									
									
								
							|  | @ -11,17 +11,17 @@ require ( | ||||||
| 	blitter.com/go/newhope v0.0.0-20200130200750-192fc08a8aae | 	blitter.com/go/newhope v0.0.0-20200130200750-192fc08a8aae | ||||||
| 	github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da | 	github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da | ||||||
| 	github.com/jameskeane/bcrypt v0.0.0-20120420032655-c3cd44c1e20f | 	github.com/jameskeane/bcrypt v0.0.0-20120420032655-c3cd44c1e20f | ||||||
| 	github.com/klauspost/cpuid v1.2.3 // indirect | 	github.com/klauspost/reedsolomon v1.9.9 // indirect | ||||||
| 	github.com/klauspost/reedsolomon v1.9.4 // indirect |  | ||||||
| 	github.com/kr/pty v1.1.8 | 	github.com/kr/pty v1.1.8 | ||||||
| 	github.com/mattn/go-isatty v0.0.12 | 	github.com/mattn/go-isatty v0.0.12 | ||||||
|  | 	github.com/mmcloughlin/avo v0.0.0-20200523190732-4439b6b2c061 // indirect | ||||||
| 	github.com/pkg/errors v0.9.1 // indirect | 	github.com/pkg/errors v0.9.1 // indirect | ||||||
| 	github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161 // indirect | 	github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161 // indirect | ||||||
| 	github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b // indirect | 	github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b // indirect | ||||||
| 	github.com/tjfoc/gmsm v1.3.0 // indirect | 	github.com/tjfoc/gmsm v1.3.1 // indirect | ||||||
| 	github.com/xtaci/kcp-go v5.4.20+incompatible | 	github.com/xtaci/kcp-go v5.4.20+incompatible | ||||||
| 	golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5 | 	golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 | ||||||
| 	golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f | 	golang.org/x/sys v0.0.0-20200523222454-059865788121 | ||||||
| 	gopkg.in/hlandau/easymetric.v1 v1.0.0 // indirect | 	gopkg.in/hlandau/easymetric.v1 v1.0.0 // indirect | ||||||
| 	gopkg.in/hlandau/measurable.v1 v1.0.1 // indirect | 	gopkg.in/hlandau/measurable.v1 v1.0.1 // indirect | ||||||
| 	gopkg.in/hlandau/passlib.v1 v1.0.10 | 	gopkg.in/hlandau/passlib.v1 v1.0.10 | ||||||
|  |  | ||||||
							
								
								
									
										29
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								go.sum
									
										
									
									
									
								
							|  | @ -25,12 +25,18 @@ github.com/jameskeane/bcrypt v0.0.0-20120420032655-c3cd44c1e20f h1:UWGE8Vi+1Agt0 | ||||||
| github.com/jameskeane/bcrypt v0.0.0-20120420032655-c3cd44c1e20f/go.mod h1:u+9Snq0w+ZdYKi8BBoaxnEwWu0fY4Kvu9ByFpM51t1s= | github.com/jameskeane/bcrypt v0.0.0-20120420032655-c3cd44c1e20f/go.mod h1:u+9Snq0w+ZdYKi8BBoaxnEwWu0fY4Kvu9ByFpM51t1s= | ||||||
| github.com/klauspost/cpuid v1.2.3 h1:CCtW0xUnWGVINKvE/WWOYKdsPV6mawAtvQuSl8guwQs= | github.com/klauspost/cpuid v1.2.3 h1:CCtW0xUnWGVINKvE/WWOYKdsPV6mawAtvQuSl8guwQs= | ||||||
| github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= | github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= | ||||||
|  | github.com/klauspost/cpuid v1.2.4 h1:EBfaK0SWSwk+fgk6efYFWdzl8MwRWoOO1gkmiaTXPW4= | ||||||
|  | github.com/klauspost/cpuid v1.2.4/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= | ||||||
| github.com/klauspost/reedsolomon v1.9.4 h1:FB9jDBGqUNyhUg4Gszz384ulFqVSc61Pdap+HRPgnSo= | github.com/klauspost/reedsolomon v1.9.4 h1:FB9jDBGqUNyhUg4Gszz384ulFqVSc61Pdap+HRPgnSo= | ||||||
| github.com/klauspost/reedsolomon v1.9.4/go.mod h1:CwCi+NUr9pqSVktrkN+Ondf06rkhYZ/pcNv7fu+8Un4= | github.com/klauspost/reedsolomon v1.9.4/go.mod h1:CwCi+NUr9pqSVktrkN+Ondf06rkhYZ/pcNv7fu+8Un4= | ||||||
|  | github.com/klauspost/reedsolomon v1.9.9 h1:qCL7LZlv17xMixl55nq2/Oa1Y86nfO8EqDfv2GHND54= | ||||||
|  | github.com/klauspost/reedsolomon v1.9.9/go.mod h1:O7yFFHiQwDR6b2t63KPUpccPtNdp5ADgh1gg4fd12wo= | ||||||
| github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= | github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= | ||||||
| github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= | github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= | ||||||
| github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= | github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= | ||||||
| github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | ||||||
|  | github.com/mmcloughlin/avo v0.0.0-20200523190732-4439b6b2c061 h1:UCU8+cLbbvyxi0sQ9fSeoEhZgvrrD9HKMtX6Gmc1vk8= | ||||||
|  | github.com/mmcloughlin/avo v0.0.0-20200523190732-4439b6b2c061/go.mod h1:wqKykBG2QzQDJEzvRkcS8x6MiSJkF52hXZsXcjaB3ls= | ||||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||||
| github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
|  | @ -42,24 +48,46 @@ github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b h1:fj5tQ8acgNUr6O8LE | ||||||
| github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b/go.mod h1:5XA7W9S6mni3h5uvOC75dA3m9CCCaS83lltmc0ukdi4= | github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b/go.mod h1:5XA7W9S6mni3h5uvOC75dA3m9CCCaS83lltmc0ukdi4= | ||||||
| github.com/tjfoc/gmsm v1.3.0 h1:i7c6Za/IlgBvnGxYpfD7L3TGuaS+v6oGcgq+J9/ecEA= | github.com/tjfoc/gmsm v1.3.0 h1:i7c6Za/IlgBvnGxYpfD7L3TGuaS+v6oGcgq+J9/ecEA= | ||||||
| github.com/tjfoc/gmsm v1.3.0/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= | github.com/tjfoc/gmsm v1.3.0/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= | ||||||
|  | github.com/tjfoc/gmsm v1.3.1 h1:+k3IAlF81c31/TllJmIfuCYnjl8ziMdTWGWJcP9J1uo= | ||||||
|  | github.com/tjfoc/gmsm v1.3.1/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= | ||||||
| github.com/xtaci/kcp-go v1.0.1 h1:SEZn2Iick6ualQpV8yY9cXdDTgbfBHPIwJl7UvxfxLQ= | github.com/xtaci/kcp-go v1.0.1 h1:SEZn2Iick6ualQpV8yY9cXdDTgbfBHPIwJl7UvxfxLQ= | ||||||
| github.com/xtaci/kcp-go v5.4.20+incompatible h1:TN1uey3Raw0sTz0Fg8GkfM0uH3YwzhnZWQ1bABv5xAg= | github.com/xtaci/kcp-go v5.4.20+incompatible h1:TN1uey3Raw0sTz0Fg8GkfM0uH3YwzhnZWQ1bABv5xAg= | ||||||
| github.com/xtaci/kcp-go v5.4.20+incompatible/go.mod h1:bN6vIwHQbfHaHtFpEssmWsN45a+AZwO7eyRCmEIbtvE= | github.com/xtaci/kcp-go v5.4.20+incompatible/go.mod h1:bN6vIwHQbfHaHtFpEssmWsN45a+AZwO7eyRCmEIbtvE= | ||||||
|  | github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||||
|  | golang.org/x/arch v0.0.0-20190909030613-46d78d1859ac/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= | ||||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||||
| golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
|  | golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
| golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
| golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5 h1:Q7tZBpemrlsc2I7IyODzhtallWRSm4Q0d09pL6XbQtU= | golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5 h1:Q7tZBpemrlsc2I7IyODzhtallWRSm4Q0d09pL6XbQtU= | ||||||
| golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
|  | golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 h1:cg5LA/zNPRzIXIWSCxQW10Rvpy94aQh3LT/ShoCpkHw= | ||||||
|  | golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
|  | golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= | ||||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||||
|  | golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
|  | golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8= | ||||||
|  | golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
|  | golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
|  | golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f h1:gWF768j/LaZugp8dyS4UwsslYCYz9XgFxvlgsn0n9H8= | golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f h1:gWF768j/LaZugp8dyS4UwsslYCYz9XgFxvlgsn0n9H8= | ||||||
| golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o= | ||||||
|  | golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
|  | golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
|  | golang.org/x/tools v0.0.0-20200425043458-8463f397d07c h1:iHhCR0b26amDCiiO+kBguKZom9aMF+NrFxh9zeKR/XU= | ||||||
|  | golang.org/x/tools v0.0.0-20200425043458-8463f397d07c/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= | ||||||
|  | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||||
|  | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||||
|  | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= | ||||||
|  | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
| gopkg.in/hlandau/easymetric.v1 v1.0.0 h1:ZbfbH7W3giuVDjWUoFhDOjjv20hiPr5HZ2yMV5f9IeE= | gopkg.in/hlandau/easymetric.v1 v1.0.0 h1:ZbfbH7W3giuVDjWUoFhDOjjv20hiPr5HZ2yMV5f9IeE= | ||||||
| gopkg.in/hlandau/easymetric.v1 v1.0.0/go.mod h1:yh75hypuFzAxmvECh3ZKGCvFnIfapYJh2wv7ASaX2RE= | gopkg.in/hlandau/easymetric.v1 v1.0.0/go.mod h1:yh75hypuFzAxmvECh3ZKGCvFnIfapYJh2wv7ASaX2RE= | ||||||
|  | @ -68,3 +96,4 @@ gopkg.in/hlandau/measurable.v1 v1.0.1/go.mod h1:6N+SYJGMTmetsx7wskULP+juuO+++tsH | ||||||
| gopkg.in/hlandau/passlib.v1 v1.0.10 h1:q5xh9ZHp907XTjVw8/EqG03//fnlITnIYQmv4Gn7TpE= | gopkg.in/hlandau/passlib.v1 v1.0.10 h1:q5xh9ZHp907XTjVw8/EqG03//fnlITnIYQmv4Gn7TpE= | ||||||
| gopkg.in/hlandau/passlib.v1 v1.0.10/go.mod h1:wxGAv2CtQHlzWY8NJp+p045yl4WHyX7v2T6XbOcmqjM= | gopkg.in/hlandau/passlib.v1 v1.0.10/go.mod h1:wxGAv2CtQHlzWY8NJp+p045yl4WHyX7v2T6XbOcmqjM= | ||||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||||
|  | rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= | ||||||
|  |  | ||||||
|  | @ -27,7 +27,7 @@ type State struct { | ||||||
| // MakeRaw put the terminal connected to the given file descriptor into raw | // MakeRaw put the terminal connected to the given file descriptor into raw | ||||||
| // mode and returns the previous state of the terminal so that it can be | // mode and returns the previous state of the terminal so that it can be | ||||||
| // restored. | // restored. | ||||||
| func MakeRaw(fd int) (*State, error) { | func MakeRaw(fd uintptr) (*State, error) { | ||||||
| 	// This doesn't really work. The exec.Command() runs a sub-shell | 	// This doesn't really work. The exec.Command() runs a sub-shell | ||||||
| 	// so the stty mods don't affect the client process. | 	// so the stty mods don't affect the client process. | ||||||
| 	cmd := exec.Command("stty", "-echo raw") | 	cmd := exec.Command("stty", "-echo raw") | ||||||
|  | @ -43,7 +43,7 @@ func GetState(fd int) (*State, error) { | ||||||
| 
 | 
 | ||||||
| // Restore restores the terminal connected to the given file descriptor to a | // Restore restores the terminal connected to the given file descriptor to a | ||||||
| // previous state. | // previous state. | ||||||
| func Restore(fd int, state *State) error { | func Restore(fd uintptr, state *State) error { | ||||||
| 	cmd := exec.Command("stty", "echo cooked") | 	cmd := exec.Command("stty", "echo cooked") | ||||||
| 	cmd.Run() | 	cmd.Run() | ||||||
| 	return nil | 	return nil | ||||||
|  | @ -52,7 +52,7 @@ func Restore(fd int, state *State) error { | ||||||
| // ReadPassword reads a line of input from a terminal without local echo.  This | // ReadPassword reads a line of input from a terminal without local echo.  This | ||||||
| // is commonly used for inputting passwords and other sensitive data. The slice | // is commonly used for inputting passwords and other sensitive data. The slice | ||||||
| // returned does not include the \n. | // returned does not include the \n. | ||||||
| func ReadPassword(fd int) ([]byte, error) { | func ReadPassword(fd uintptr) ([]byte, error) { | ||||||
| 	return readPasswordLine(passwordReader(fd)) | 	return readPasswordLine(passwordReader(fd)) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								xs/xs.go
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								xs/xs.go
									
										
									
									
									
								
							|  | @ -256,7 +256,7 @@ func buildCmdRemoteToLocal(copyQuiet bool, copyLimitBPS uint, destPath, files st | ||||||
| 		cmd = xs.GetTool("tar") | 		cmd = xs.GetTool("tar") | ||||||
| 
 | 
 | ||||||
| 		args = []string{"-xz", "-C", destPath} | 		args = []string{"-xz", "-C", destPath} | ||||||
| } else { | 	} else { | ||||||
| 		// TODO: Query remote side for total file/dir size | 		// TODO: Query remote side for total file/dir size | ||||||
| 		bandwidthInBytesPerSec := " -L " + fmt.Sprintf("%d ", copyLimitBPS) | 		bandwidthInBytesPerSec := " -L " + fmt.Sprintf("%d ", copyLimitBPS) | ||||||
| 		displayOpts := " -pre " | 		displayOpts := " -pre " | ||||||
|  | @ -309,7 +309,7 @@ func buildCmdLocalToRemote(copyQuiet bool, copyLimitBPS uint, files string) (cap | ||||||
| 		bandwidthInBytesPerSec := " -L " + fmt.Sprintf("%d", copyLimitBPS) | 		bandwidthInBytesPerSec := " -L " + fmt.Sprintf("%d", copyLimitBPS) | ||||||
| 		displayOpts := " -pre " | 		displayOpts := " -pre " | ||||||
| 		cmd = xs.GetTool("bash") | 		cmd = xs.GetTool("bash") | ||||||
| 		args = []string{"-c", xs.GetTool("tar")+" -cz -f /dev/stdout "} | 		args = []string{"-c", xs.GetTool("tar") + " -cz -f /dev/stdout "} | ||||||
| 		files = strings.TrimSpace(files) | 		files = strings.TrimSpace(files) | ||||||
| 		// Awesome fact: tar actually can take multiple -C args, and | 		// Awesome fact: tar actually can take multiple -C args, and | ||||||
| 		// changes to the dest dir *as it sees each one*. This enables | 		// changes to the dest dir *as it sees each one*. This enables | ||||||
|  | @ -939,8 +939,13 @@ func main() { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Start login timeout here and disconnect if user/pass phase stalls | 	// Start login timeout here and disconnect if user/pass phase stalls | ||||||
|  | 	//iloginImpatience := time.AfterFunc(20*time.Second, func() { | ||||||
|  | 	//i	fmt.Printf(" .. [you still there? Waiting for a password.]") | ||||||
|  | 	//i}) | ||||||
| 	loginTimeout := time.AfterFunc(30*time.Second, func() { | 	loginTimeout := time.AfterFunc(30*time.Second, func() { | ||||||
| 		fmt.Printf(" .. [login timeout]") | 		restoreTermState(oldState) | ||||||
|  | 		fmt.Printf(" .. [login timeout]\n") | ||||||
|  | 		exitWithStatus(xsnet.CSOLoginTimeout) | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	if len(authCookie) == 0 { | 	if len(authCookie) == 0 { | ||||||
|  | @ -953,7 +958,8 @@ func main() { | ||||||
| 		} | 		} | ||||||
| 		authCookie = string(ab) | 		authCookie = string(ab) | ||||||
| 	} | 	} | ||||||
| 
 | 	 | ||||||
|  | 	//i_ = loginImpatience.Stop() | ||||||
| 	_ = loginTimeout.Stop() | 	_ = loginTimeout.Stop() | ||||||
| 	// Security scrub | 	// Security scrub | ||||||
| 	runtime.GC() | 	runtime.GC() | ||||||
|  |  | ||||||
|  | @ -59,7 +59,7 @@ func expandKeyMat(keymat []byte, blocksize int) []byte { | ||||||
| /* Support functionality to set up encryption after a channel has | /* Support functionality to set up encryption after a channel has | ||||||
| been negotiated via xsnet.go | been negotiated via xsnet.go | ||||||
| */ | */ | ||||||
| func (hc Conn) getStream(keymat []byte) (rc cipher.Stream, mc hash.Hash, err error) { | func (hc *Conn) getStream(keymat []byte) (rc cipher.Stream, mc hash.Hash, err error) { | ||||||
| 	var key []byte | 	var key []byte | ||||||
| 	var block cipher.Block | 	var block cipher.Block | ||||||
| 	var iv []byte | 	var iv []byte | ||||||
|  |  | ||||||
|  | @ -62,9 +62,12 @@ const ( | ||||||
| 	CSOTermSize           // set term size (rows:cols) | 	CSOTermSize           // set term size (rows:cols) | ||||||
| 	CSOExitStatus         // Remote cmd exit status | 	CSOExitStatus         // Remote cmd exit status | ||||||
| 	CSOChaff              // Dummy packet, do not pass beyond decryption | 	CSOChaff              // Dummy packet, do not pass beyond decryption | ||||||
|  | 	 | ||||||
|  | 	// Client side errors | ||||||
|  | 	CSOLoginTimeout = 16 | ||||||
| 
 | 
 | ||||||
| 	// Tunnel setup/control/status | 	// Tunnel setup/control/status | ||||||
| 	CSOTunSetup     // client -> server tunnel setup request (dstport) | 	CSOTunSetup = 32     // client -> server tunnel setup request (dstport) | ||||||
| 	CSOTunSetupAck  // server -> client tunnel setup ack | 	CSOTunSetupAck  // server -> client tunnel setup ack | ||||||
| 	CSOTunRefused   // server -> client: tunnel rport connection refused | 	CSOTunRefused   // server -> client: tunnel rport connection refused | ||||||
| 	CSOTunData      // packet contains tunnel data [rport:data] | 	CSOTunData      // packet contains tunnel data [rport:data] | ||||||
|  |  | ||||||
|  | @ -40,7 +40,7 @@ func getKCPalgnum(extensions []string) (k KCPAlg) { | ||||||
| 		switch s { | 		switch s { | ||||||
| 		case "KCP_NONE": | 		case "KCP_NONE": | ||||||
| 			k = KCP_NONE | 			k = KCP_NONE | ||||||
| 			break //out of for | 			break //golint:ignore SA4011 out of for | ||||||
| 		case "KCP_AES": | 		case "KCP_AES": | ||||||
| 			k = KCP_AES | 			k = KCP_AES | ||||||
| 			break //out of for | 			break //out of for | ||||||
|  |  | ||||||
|  | @ -191,11 +191,11 @@ func (hc *Conn) Unlock() { | ||||||
| 	hc.m.Unlock() | 	hc.m.Unlock() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (hc Conn) KEX() KEXAlg { | func (hc *Conn) KEX() KEXAlg { | ||||||
| 	return hc.kex | 	return hc.kex | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (hc Conn) GetStatus() CSOType { | func (hc *Conn) GetStatus() CSOType { | ||||||
| 	return *hc.closeStat | 	return *hc.closeStat | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -209,7 +209,7 @@ func (hc *Conn) SetStatus(stat CSOType) { | ||||||
| // | // | ||||||
| // (Used for protocol-level negotiations after KEx such as | // (Used for protocol-level negotiations after KEx such as | ||||||
| // cipher/HMAC algorithm options etc.) | // cipher/HMAC algorithm options etc.) | ||||||
| func (hc Conn) ConnOpts() uint32 { | func (hc *Conn) ConnOpts() uint32 { | ||||||
| 	return hc.cipheropts | 	return hc.cipheropts | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue