dreadl0ck / ja3

Go package for Ja3 TLS client and server hello fingerprints
BSD 3-Clause "New" or "Revised" License
144 stars 21 forks source link

use of dreadl0ck/gopacket produces duplicate symbols #4

Closed karlhiramoto closed 4 years ago

karlhiramoto commented 4 years ago

Commit https://github.com/dreadl0ck/ja3/commit/3e0281e06aec688b978e2def1373faec3e4d21a3 broke my code. I use google/gopacket for my own analysis, and dreadl0ck/gopacket is producing conflicts.

When I try and run my code, I see

duplicate symbol '_pcap_wait' in:
    /var/folders/lt/fwtf8x396cbbd39911cdfrl400724v/T/go-link-974407391/000019.o
    /var/folders/lt/fwtf8x396cbbd39911cdfrl400724v/T/go-link-974407391/000021.o
duplicate symbol '_pcap_next_ex_escaping' in:
    /var/folders/lt/fwtf8x396cbbd39911cdfrl400724v/T/go-link-974407391/000019.o
    /var/folders/lt/fwtf8x396cbbd39911cdfrl400724v/T/go-link-974407391/000021.o
duplicate symbol '_pcap_offline_filter_escaping' in:
    /var/folders/lt/fwtf8x396cbbd39911cdfrl400724v/T/go-link-974407391/000019.o
    /var/folders/lt/fwtf8x396cbbd39911cdfrl400724v/T/go-link-974407391/000021.o
ld: 3 duplicate symbols for architecture x86_64

duplicate symbols:

grep -r _pcap_wait *
Binary file pkg/darwin_amd64/github.com/google/gopacket/pcap.a matches
Binary file pkg/darwin_amd64/github.com/dreadl0ck/gopacket/pcap.a matches

objdump -syms pkg/darwin_amd64/github.com/dreadl0ck/gopacket/pcap.a  |grep pcap_wait
0000000000000bb0 g     F __TEXT,__text  __cgo_216e6da8ebe5_Cfunc_pcap_wait
0000000000000030 g     F __TEXT,__text  _pcap_wait

objdump -syms pkg/darwin_amd64/github.com/google/gopacket/pcap.a   |grep pcap_wait
0000000000000bb0 g     F __TEXT,__text  __cgo_193fe916b310_Cfunc_pcap_wait
0000000000000030 g     F __TEXT,__text  _pcap_wait

I'm trying to use dreadl0ck/ja3 as an import in my own code.

dreadl0ck commented 4 years ago

Hi there,

sorry for late reply, I was very busy and didn't catch up with my mail.

I've reverted back to using google/gopacket on master with commit 64f6bac, and will use a different branch for the version with my gopacket fork in the future.