Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
K
koko
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
koko
Commits
9db0ff5d
Commit
9db0ff5d
authored
Jun 21, 2019
by
Eric
Committed by
Eric_Lee
Jun 21, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix rz/sz reply record bugs
parent
957dfbb0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
6 additions
and
6 deletions
+6
-6
parser.go
pkg/proxy/parser.go
+5
-3
recorder.go
pkg/proxy/recorder.go
+1
-1
transport.go
pkg/proxy/transport.go
+0
-2
No files found.
pkg/proxy/parser.go
View file @
9db0ff5d
...
...
@@ -164,13 +164,13 @@ func (p *Parser) ParseUserInput(b []byte) []byte {
// parseZmodemState 解析数据,查看是不是处于zmodem状态
// 处于zmodem状态不会再解析命令
func
(
p
*
Parser
)
parseZmodemState
(
b
[]
byte
)
{
if
len
(
b
)
<
2
5
{
if
len
(
b
)
<
2
0
{
return
}
p
.
lock
.
Lock
()
defer
p
.
lock
.
Unlock
()
if
p
.
zmodemState
==
""
{
if
len
(
b
)
>
50
&&
bytes
.
Contains
(
b
[
:
50
],
zmodemRecvStartMark
)
{
if
len
(
b
)
>
25
&&
bytes
.
Contains
(
b
[
:
50
],
zmodemRecvStartMark
)
{
p
.
zmodemState
=
zmodemStateRecv
logger
.
Debug
(
"Zmodem in recv state"
)
}
else
if
bytes
.
Contains
(
b
[
:
24
],
zmodemSendStartMark
)
{
...
...
@@ -204,6 +204,8 @@ func (p *Parser) parseVimState(b []byte) {
func
(
p
*
Parser
)
splitCmdStream
(
b
[]
byte
)
{
p
.
parseVimState
(
b
)
p
.
parseZmodemState
(
b
)
p
.
lock
.
RLock
()
defer
p
.
lock
.
RUnlock
()
if
p
.
zmodemState
!=
""
||
p
.
inVimState
||
!
p
.
inputInitial
{
return
}
...
...
@@ -248,7 +250,7 @@ func (p *Parser) IsCommandForbidden() (string, bool) {
func
(
p
*
Parser
)
IsInZmodemRecvState
()
bool
{
p
.
lock
.
RLock
()
defer
p
.
lock
.
RUnlock
()
return
p
.
zmodemState
==
zmodemStateRecv
return
p
.
zmodemState
!=
""
}
// Close 关闭parser
...
...
pkg/proxy/recorder.go
View file @
9db0ff5d
...
...
@@ -104,7 +104,6 @@ type ReplyRecorder struct {
}
func
(
r
*
ReplyRecorder
)
initial
()
{
r
.
backOffStorage
=
defaultReplayStorage
r
.
prepare
()
}
...
...
@@ -170,6 +169,7 @@ func (r *ReplyRecorder) uploadReplay() {
func
(
r
*
ReplyRecorder
)
UploadGzipFile
(
maxRetry
int
)
{
if
r
.
storage
==
nil
{
r
.
backOffStorage
=
defaultReplayStorage
r
.
storage
=
NewReplayStorage
()
}
for
i
:=
0
;
i
<=
maxRetry
;
i
++
{
...
...
pkg/proxy/transport.go
View file @
9db0ff5d
...
...
@@ -52,8 +52,6 @@ func (dt *DirectTransport) Keep() {
if
!
dt
.
closed
{
dt
.
ch
<-
buf
[
:
n
]
}
else
{
// 解决用户终端返回时, 数据丢失
_
,
_
=
dt
.
readWriter
.
Write
(
buf
[
:
n
])
logger
.
Debug
(
"Transport closed"
)
break
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment