-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add nosearch argument to skip auto search lib path #70
Conversation
test to capture another container TLS traffic from container netshoot with ecapture
|
2607155
to
2283706
Compare
I think that root cause must be found to solve the problem. |
oh, I should explain it better, in https://github.com/ehids/ecapture/blob/master/cli/cmd/tls.go#L60-L120, the
when let's look at gnutls
and
so in line 120, ecapture tries to search
after I take a further look,
so when but in the container,
my guess is the fatal/panic error may eventually coming from line 135 loop for above
let me know if I am missing anything, so my solution is to skip |
When run ecapture in Kubernetes pod, ecapture is given --libssl, --pthread to specific lib location, but ecapture continues to search gnutls lib and result in error 2022/06/05 16:46:48 pid info :3305486 2022/06/05 16:46:48 start to run EBPFProbeOPENSSL module 2022/06/05 16:46:48 start to run EBPFProbeGNUTLS module <==== 2022/06/05 16:46:48 lstat /etc/ld.so.conf: no such file or directory <=== 2022/06/05 16:46:48 invalid argument <==== see gojue#69 add nosearch argument to require specifying lib path for each TLS modules when nosearch is true. this solves problems when auto search lib path failed for ecapture running in container that standard lib path does not exist. Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2283706
to
5f68399
Compare
I pushed new changes, and I think this is better approach to solve the problem, it works for each TLS modules and solves the container auto lib search issue. specifying
specifying both
normal run without
|
Thanks for your ideas. I found rootcause. fd value was nil ,so coredump with root cause of fd nil value, the reason is the same as you said.
wget require two lib so. but |
I send a commit in 97d8216 . can you test it ,and merge into this PR ? |
ok I will test your commit |
your commit also solves the problem, so I will include your commit and my commit together in this PR, correct? I still prefer to keep my commit because it gives user option to not rely on lib auto search, what do you think @cfc4n
|
fixed: gojue#69 Tested-by: Vincent Li <vincent.mc.li@gmail.com> Signed-off-by: CFC4N <cfc4n.cs@gmail.com>
I included both commits in this PR :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM,thanks.
When run ecapture in Kubernetes pod, ecapture is given
--libssl, --pthread to specific lib location, but ecapture
continues to auto search gnutls lib and result in error
2022/06/05 16:46:48 pid info :3305486
2022/06/05 16:46:48 start to run EBPFProbeOPENSSL module
2022/06/05 16:46:48 start to run EBPFProbeGNUTLS module <====
2022/06/05 16:46:48 lstat /etc/ld.so.conf: no such file or directory <===
2022/06/05 16:46:48 invalid argument <====
see #69
add nosearch argument to skip the auto search of tls libs when
in container that
/etc/ld.so.conf
and standard lib path like/lib64
,/usr/lib64
do not existSigned-off-by: Vincent Li vincent.mc.li@gmail.com