Coder Social home page Coder Social logo

quictor's People

Contributors

3405691582 avatar 4zm avatar arlolra avatar asn-d6 avatar atagar avatar cristiantoader avatar dgoulet avatar donnchac avatar emanchado avatar intrigeri avatar ioerror avatar kloesing avatar lixf avatar ln5 avatar m0ntr0s3 avatar majek avatar mansourmoufid avatar meejah avatar nmathewson avatar olabini avatar puellavulnerata avatar rl1987 avatar rransom8774 avatar ryman avatar shahn avatar sjmurdoch avatar stewartsmith avatar sysrqb avatar teor2345 avatar yawning avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

quictor's Issues

bridge and hidden services

I'm not sure if these two are within the scope of this research project but not much attention was paid to making sure bridges and hidden services still work.
Most likely should be concerns of production code.

unused TLS code cleanup

At some point, we need to clean up the unused TLS code in Tor and pass everything to QUIC.

  • Is it necessary to have any function inside channeltls.c?
  • How to do key management?
  • Security related analysis?

[Shadow] sha3_256 and sha3_512 symbol not found

They are used in crypto_digest256() and crypto_digest512() in common/crypto.c. Failing to lookup symbol implies that they are not defined libcrypto. Unsure of the reason.

Is it ok for us to comment that code path out? Do we ever use DIGEST_SHA3_256 or DIGEST_SHA3_512 as the digest algorithm in Tor?

support TCP/QUIC duel path

We should work on switching on/off QUIC with one config statement in torrc file.
This will enable deployment in existing TOR networks.

wide_circ_id issue

The wide_circ_id checking in command.c used to cause me problems and the fix was simply commenting out the code. See here.

Not sure what impact this might have.

handling digest in channels

Currently, I haven't paid much attention to how we handle digest and there might be an issue.
The main concern is: when I read thru the debugging logs, for a brief period of time, the digest of a channel is empty (i.e. 0000..000).

One possible impact is the requirement of "RefuseUnknownExit". Currently, without this flag, no connection can be established.

More investigation on its impact is needed.

QUIC-related build problems on 16.04 LTS

I'm getting a build error on QUIC after a distro update.. (Sorry I updated..)

lib/libquic/build/libquic.a(stubs.cc.o): In function `net::ConvertIPv4NumberToIPv6Number(std::vector<unsigned char, std::allocator<unsigned char> > const&)':
stubs.cc:(.text+0xd30): multiple definition of `net::ConvertIPv4NumberToIPv6Number(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
objs/chromium/net/base/ip_address_number.o:/home/xli/Private/class/15744/quictor/src/simple-quic/chromium/net/base/ip_address_number.cc:194: first defined here
collect2: error: ld returned 1 exit status
Makefile:72: recipe for target 'libquicsock.so' failed
make: *** [libquicsock.so] Error 1

Any idea?

[Shadow] Runtime error with libcrypto

In ~/shadow-plugin-tor/resource/quic, running shadow-tor -i shadow.config.xml outputs stack trace and crashes:

> /tmp/XYXMMY-libshadow-plugin-tor.so(+0x1d8f2f)[0x7f04068b4f2f]
> /lib/x86_64-linux-gnu/libc.so.6(fgets+0x1b)[0x7f040abd917b]
> /lib/x86_64-linux-gnu/libc.so.6(fgets+0x1b)[0x7f040abd917b]
> /home/ubuntu/.shadow/lib/libcrypto.so.1.0.0(+0xfa0f5)[0x7f040a19b0f5]
> /home/ubuntu/.shadow/lib/libcrypto.so.1.0.0(BIO_gets+0x6b)[0x7f040a199a0b]
> /home/ubuntu/.shadow/lib/libcrypto.so.1.0.0(PEM_read_bio+0xa0)[0x7f040a1dd010]
> /home/ubuntu/.shadow/lib/libcrypto.so.1.0.0(PEM_bytes_read_bio+0xa6)[0x7f040a1dd856]
> /home/ubuntu/.shadow/lib/libcrypto.so.1.0.0(PEM_ASN1_read_bio+0x3f)[0x7f040a1dee0f]
> /home/ubuntu/.shadow/lib/libquicsock.so(_ZN3net18ProofSourceOpenSSL10InitializeERKSsS2_S2_+0x4c)[0x7f0406efcfac]
> /home/ubuntu/.shadow/lib/libquicsock.so(_ZN8quicsock17ServerEventThread6ListenEPN3net10IPEndPointE+0x146)[0x7f0406ecf4d6]
> /home/ubuntu/.shadow/lib/libquicsock.so(qs_listen+0x65)[0x7f0406ed09f5]
> /tmp/XYXMMY-libshadow-plugin-tor.so(+0x14e497)[0x7f040682a497]
> /tmp/XYXMMY-libshadow-plugin-tor.so(+0x14767f)[0x7f040682367f]
> /tmp/XYXMMY-libshadow-plugin-tor.so(retry_all_listeners+0x106)[0x7f040681e0f6]
> /tmp/XYXMMY-libshadow-plugin-tor.so(+0x157359)[0x7f0406833359]
> /tmp/XYXMMY-libshadow-plugin-tor.so(set_options+0x3d)[0x7f040682dbdd]
> /tmp/XYXMMY-libshadow-plugin-tor.so(options_init_from_string+0x6b3)[0x7f0406830a83]
> /tmp/XYXMMY-libshadow-plugin-tor.so(options_init_from_torrc+0x4b2)[0x7f040682fff2]
> /tmp/XYXMMY-libshadow-plugin-tor.so(tor_init+0x4d4)[0x7f040677cb84]
> /home/ubuntu/.shadow/lib/libshadow-preload-tor.so(tor_init+0x3b)[0x7f040c40f07b]
> /tmp/XYXMMY-libshadow-plugin-tor.so(tor_main+0x112)[0x7f040677d322]
> /tmp/XYXMMY-libshadow-plugin-tor.so(+0x4edaf)[0x7f040672adaf]
> /tmp/XYXMMY-libshadow-plugin-tor.so(main+0x22)[0x7f040672acf2]
> /home/ubuntu/.shadow/bin/shadow[0x427d1e]
> /home/ubuntu/.shadow/bin/shadow[0x45b680]
> /lib/x86_64-linux-gnu/libc.so.6(+0x49800)[0x7f040abb4800]

Guess: libquic's openssl version difference issue.

connectivity problem with path restriction

When path is being restricted, the client node is stuck at 80% bootstrap because it cannot contact the middle relay.
This code segment in circuitbuild.c might be the issue. node_t is not NULL but some fields used inside this variable are NULL and causes the client to give up.

Might also be an issue with the consensus.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.