Comments (5)
Can you confirm the version of the library you are using?
This looks to be the same as #24 (which was fixed in #25).
If you are not using 0.4.1 or newer, I would suggest upgrading and seeing if the issue persists.
from govici.
Seeing as this sample code uses Session.Listen
, which was changed to Subscribe
in v0.4.0, the fix for this (c46d911) is not in your version of the package.
Please upgrade to at least v0.4.1 as @seglberg suggested.
from govici.
Thank you, I get it.
from govici.
I have another issue, this is the code:
func (t *transport) recv() (*packet, error) {
buf := make([]byte, headerLength)
t.conn.SetReadDeadline(time.Now().Add(time.Second * 20))
_, err := t.conn.Read(buf)
if err != nil {
if ne, ok := err.(net.Error); ok && ne.Timeout() {
return nil, ne
}
return nil, fmt.Errorf("%v: %v", errTransport, err)
}
================================================================
pl := binary.BigEndian.Uint32(buf)
//netbank.cn
need check the validity of buf length, because sometime the length may be a very very big number, I don't know why
if pl > 1024*10 {
fmt.Fprintf(os.Stderr, "vici recv len %v\n, %s", pl, debug.Stack())
return nil, fmt.Errorf("vici error: recv wrong data len %v", pl)
}
//netbank.cn
buf = make([]byte, int(pl))
_, err = t.conn.Read(buf)
if err != nil {
return nil, fmt.Errorf("%v: %v", errTransport, err)
}
p := &packet{}
err = p.parse(buf)
if err != nil {
return nil, err
}
return p, nil
}
from govici.
@weixiaolan2019 Please open a separate issue so we can keep things organized. 😄
from govici.
Related Issues (20)
- tag go module v0.1.0 HOT 1
- session/events: expose event name from packet HOT 1
- session/events: re-work event listening API
- Expose ability to pass in conn HOT 1
- Possible Deadlock when Vici Socket Disappears HOT 1
- why not has unload-cert method HOT 2
- message: "empty message element" needs to be explicitly defined, documented, and verified HOT 3
- test load_conn command failed HOT 2
- transport: partial/interrupted Read()'s cause incorrect packet length decoding HOT 18
- The event-listener example has a panic HOT 2
- build: use github actions
- swanctl --load-creds equivalent in govici HOT 4
- rekey fails and child SA disappears HOT 1
- vici: remove MessageStream from API HOT 1
- vici: investigate use of generics in API
- vici: add `NotifyEvents` and `StopEvents` methods to `Session` HOT 1
- Event dispatching could silently drop messages if a receiver channel is full HOT 2
- Event notification channels are not closed when event transport recv() fails HOT 3
- More examples required HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from govici.