Forum for I2P-related discussions, feel free to create issues.
Форум для обсуждения различных тем, связанных с I2P.
🛡 I2P: End-to-End encrypted and anonymous Internet
Home Page: https://i2pd.website
License: BSD 3-Clause "New" or "Revised" License
Queue.h should be implemented without mutexes, but atomic ops from std::stomic
Случилось всего один раз. Ничего особенного в этот момент не делал.
commit 43a9898, CentOS7.
...
16:52:16 - TunnelData
16:52:16 - TunnelData
16:52:16 - TunnelData
16:52:16 - TunnelMessage: zero found at 4
16:52:16 - Follow on fragment 1 of message 1766200948 non-last
16:52:16 - Fragment size=996
16:52:16 - TunnelMessage: zero found at 14
16:52:16 - Follow on fragment 2 of message 1766200948 last
16:52:16 - Fragment size=396
16:52:16 - TunnelMessage: handle fragment of 2388 bytes. Msg type 11
16:52:16 - Garlic
16:52:16 - Delivery type local
16:52:16 - Fragment size=308
16:52:16 - TunnelMessage: handle fragment of 308 bytes. Msg type 11
16:52:16 - Garlic
16:52:16 - Delivery type local
16:52:16 - Fragment size=276
16:52:16 - TunnelMessage: handle fragment of 276 bytes. Msg type 11
16:52:16 - Garlic
16:52:16 - TunnelMessage: zero found at 184
16:52:16 - Delivery type local
16:52:16 - Fragment size=820
16:52:16 - TunnelMessage: handle fragment of 820 bytes. Msg type 11
16:52:16 - Garlic
16:52:16 - 1 cloves
16:52:16 - Garlic type destination
16:52:16 - Packet 0 acknowledged
16:52:16 - Received seqn=0
16:52:16 - Process seqn=0, flags=233
16:52:16 - Synchronize
16:52:16 - From identity 3t5Ar2NCTIOId70uzX2bZyJljR0aBogxMEzNyHirB7A=
16:52:16 - Max packet size 1730
16:52:16 - Signature
16:52:16 - 1 cloves
16:52:16 - Garlic type destination
16:52:16 - Received seqn=1
16:52:16 - Process seqn=1, flags=64
16:52:16 - 1 cloves
16:52:16 - Garlic type destination
16:52:16 - Received seqn=2
16:52:16 - Process seqn=2, flags=74
16:52:16 - Signature
16:52:16 - Closed
16:52:16 - Quick Ack sent
16:52:16 - 1 cloves
16:52:16 - Garlic type destination
16:52:16 - Received seqn=6
16:52:16 - Duplicate message 6 received
16:52:16 - Quick Ack sent
16:52:16 - TunnelData
16:52:16 - TunnelMessage: zero found at 168
16:52:16 - Delivery type local
16:52:16 - Fragment size=836
16:52:16 - TunnelMessage: handle fragment of 836 bytes. Msg type 11
16:52:16 - Garlic
16:52:16 - 1 cloves
16:52:16 - Garlic type destination
16:52:16 - Received seqn=7
16:52:16 - Duplicate message 7 received
16:52:16 - Quick Ack sent
16:52:17 - Quick Ack sent
16:52:17 - TunnelData
16:52:17 - TunnelMessage: zero found at 56
16:52:17 - Delivery type local
16:52:17 - Fragment size=948
16:52:17 - TunnelMessage: handle fragment of 948 bytes. Msg type 11
16:52:17 - Garlic
16:52:17 - 1 cloves
16:52:17 - Garlic type destination
16:52:17 - Packet 0 acknowledged
16:52:17 - Received seqn=0
16:52:17 - Process seqn=0, flags=233
16:52:17 - Synchronize
16:52:17 - From identity 3t5Ar2NCTIOId70uzX2bZyJljR0aBogxMEzNyHirB7A=
16:52:17 - Max packet size 1730
16:52:17 - Signature
16:52:17 - FIN sent
*** Error in `./i2pd': free(): invalid pointer: 0x00007f9efc3ef060 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d1ad)[0x7f9f29b551ad]
./i2pd(_ZN3i2p6stream6Stream18ConcatenatePacketsEPhm+0xd2)[0x4ed732]
./i2pd(ZN3i2p6stream6Stream18HandleReceiveTimerIN5boost4asio17mutable_buffers_1ENS3_3_bi6bind_tIvNS3_4_mfi3mf2IvNS_4util14HTTPConnectionERKNS3_6system10error_codeEmEENS6_5list3INS6_5valueIPSB_EEPFNS3_3argILi1EEEvEPFNSL_ILi2EEEvEEEEEEEvSF_RKT_T0+0x32)[0x4a4312]
./i2pd(_ZN5boost4asio6detail12wait_handlerIZN3i2p6stream6Stream12AsyncReceiveINS0_17mutable_buffers_1ENS_3_bi6bind_tIvNS_4_mfi3mf2IvNS3_4util14HTTPConnectionERKNS_6system10error_codeEmEENS8_5list3INS8_5valueIPSD_EEPFNS_3argILi1EEEvEPFNSN_ILi2EEEvEEEEEEEvRKT_T0_iEUlSH_E0_E11do_completeEPNS1_15task_io_serviceEPNS1_25task_io_service_operationESH_m+0x131)[0x4a4621]
./i2pd(_ZN5boost4asio6detail15task_io_service3runERNS_6system10error_codeE+0x314)[0x4a2624]
./i2pd(_ZN3i2p6client17ClientDestination3RunEv+0x2e)[0x4f13fe]
/lib64/libstdc++.so.6(+0xb4da0)[0x7f9f2a465da0]
/lib64/libpthread.so.0(+0x7df3)[0x7f9f2a6bfdf3]
/lib64/libc.so.6(clone+0x6d)[0x7f9f29bce01d]
======= Memory map: ========
00400000-00562000 r-xp 00000000 fd:00 35072609 /root/build/i2pd/build/i2pd
00761000-00762000 r--p 00161000 fd:00 35072609 /root/build/i2pd/build/i2pd
00762000-00763000 rw-p 00162000 fd:00 35072609 /root/build/i2pd/build/i2pd
00763000-00769000 rw-p 00000000 00:00 0
01f6c000-020bd000 rw-p 00000000 00:00 0 [heap]
7f9ef8000000-7f9ef82a3000 rw-p 00000000 00:00 0
7f9ef82a3000-7f9efc000000 ---p 00000000 00:00 0
7f9efc000000-7f9efc439000 rw-p 00000000 00:00 0
7f9efc439000-7f9f00000000 ---p 00000000 00:00 0
7f9f00000000-7f9f00475000 rw-p 00000000 00:00 0
7f9f00475000-7f9f04000000 ---p 00000000 00:00 0
7f9f04000000-7f9f0408f000 rw-p 00000000 00:00 0
7f9f0408f000-7f9f08000000 ---p 00000000 00:00 0
7f9f08000000-7f9f08021000 rw-p 00000000 00:00 0
7f9f08021000-7f9f0c000000 ---p 00000000 00:00 0
7f9f0c000000-7f9f0c065000 rw-p 00000000 00:00 0
7f9f0c065000-7f9f10000000 ---p 00000000 00:00 0
7f9f10000000-7f9f10021000 rw-p 00000000 00:00 0
7f9f10021000-7f9f14000000 ---p 00000000 00:00 0
7f9f17ff8000-7f9f17ff9000 ---p 00000000 00:00 0
7f9f17ff9000-7f9f187f9000 rw-p 00000000 00:00 0 [stack:25117]
7f9f187f9000-7f9f187fa000 ---p 00000000 00:00 0
7f9f187fa000-7f9f18ffa000 rw-p 00000000 00:00 0 [stack:25116]
7f9f18ffa000-7f9f18ffb000 ---p 00000000 00:00 0
7f9f18ffb000-7f9f197fb000 rw-p 00000000 00:00 0 [stack:25115]
7f9f197fb000-7f9f197fc000 ---p 00000000 00:00 0
7f9f197fc000-7f9f19ffc000 rw-p 00000000 00:00 0 [stack:25114]
7f9f19ffc000-7f9f19ffd000 ---p 00000000 00:00 0
7f9f19ffd000-7f9f1a7fd000 rw-p 00000000 00:00 0 [stack:25113]
7f9f1a7fd000-7f9f1a7fe000 ---p 00000000 00:00 0
7f9f1a7fe000-7f9f1affe000 rw-p 00000000 00:00 0 [stack:25112]
7f9f1affe000-7f9f1afff000 ---p 00000000 00:00 0
7f9f1afff000-7f9f1b7ff000 rw-p 00000000 00:00 0 [stack:25111]
7f9f1b7ff000-7f9f1b800000 ---p 00000000 00:00 0
7f9f1b800000-7f9f1c000000 rw-p 00000000 00:00 0 [stack:25110]
7f9f1c000000-7f9f1c021000 rw-p 00000000 00:00 0
7f9f1c021000-7f9f20000000 ---p 00000000 00:00 0
7f9f20458000-7f9f20459000 ---p 00000000 00:00 0
7f9f20459000-7f9f20c59000 rw-p 00000000 00:00 0 [stack:25109]
7f9f20c59000-7f9f20c5a000 ---p 00000000 00:00 0
7f9f20c5a000-7f9f2145a000 rw-p 00000000 00:00 0 [stack:25108]
7f9f2145a000-7f9f27981000 r--p 00000000 fd:00 18178617 /usr/lib/locale/locale-archive
7f9f27981000-7f9f27984000 r-xp 00000000 fd:00 33707432 /usr/lib64/libdl-2.17.so
7f9f27984000-7f9f27b83000 ---p 00003000 fd:00 33707432 /usr/lib64/libdl-2.17.so
7f9f27b83000-7f9f27b84000 r--p 00002000 fd:00 33707432 /usr/lib64/libdl-2.17.so
7f9f27b84000-7f9f27b85000 rw-p 00003000 fd:00 33707432 /usr/lib64/libdl-2.17.so
7f9f27b85000-7f9f28f58000 r-xp 00000000 fd:00 33849972 /usr/lib64/libicudata.so.50.1.2
7f9f28f58000-7f9f29157000 ---p 013d3000 fd:00 33849972 /usr/lib64/libicudata.so.50.1.2
7f9f29157000-7f9f29158000 r--p 013d2000 fd:00 33849972 /usr/lib64/libicudata.so.50.1.2
7f9f29158000-7f9f29159000 rw-p 013d3000 fd:00 33849972 /usr/lib64/libicudata.so.50.1.2
7f9f29159000-7f9f29348000 r-xp 00000000 fd:00 33849974 /usr/lib64/libicui18n.so.50.1.2
7f9f29348000-7f9f29548000 ---p 001ef000 fd:00 33849974 /usr/lib64/libicui18n.so.50.1.2
7f9f29548000-7f9f29554000 r--p 001ef000 fd:00 33849974 /usr/lib64/libicui18n.so.50.1.2
7f9f29554000-7f9f29556000 rw-p 001fb000 fd:00 33849974 /usr/lib64/libicui18n.so.50.1.2
7f9f29556000-7f9f29557000 rw-p 00000000 00:00 0
7f9f29557000-7f9f296bb000 r-xp 00000000 fd:00 33667744 /usr/lib64/libicuuc.so.50.1.2
7f9f296bb000-7f9f298bb000 ---p 00164000 fd:00 33667744 /usr/lib64/libicuuc.so.50.1.2
7f9f298bb000-7f9f298cb000 r--p 00164000 fd:00 33667744 /usr/lib64/libicuuc.so.50.1.2
7f9f298cb000-7f9f298cc000 rw-p 00174000 fd:00 33667744 /usr/lib64/libicuuc.so.50.1.2
7f9f298cc000-7f9f298d0000 rw-p 00000000 00:00 0
7f9f298d0000-7f9f298d7000 r-xp 00000000 fd:00 33707488 /usr/lib64/librt-2.17.so
7f9f298d7000-7f9f29ad6000 ---p 00007000 fd:00 33707488 /usr/lib64/librt-2.17.so
7f9f29ad6000-7f9f29ad7000 r--p 00006000 fd:00 33707488 /usr/lib64/librt-2.17.so
7f9f29ad7000-7f9f29ad8000 rw-p 00007000 fd:00 33707488 /usr/lib64/librt-2.17.so
7f9f29ad8000-7f9f29c8e000 r-xp 00000000 fd:00 33623665 /usr/lib64/libc-2.17.so
7f9f29c8e000-7f9f29e8e000 ---p 001b6000 fd:00 33623665 /usr/lib64/libc-2.17.so
7f9f29e8e000-7f9f29e92000 r--p 001b6000 fd:00 33623665 /usr/lib64/libc-2.17.so
7f9f29e92000-7f9f29e94000 rw-p 001ba000 fd:00 33623665 /usr/lib64/libc-2.17.so
7f9f29e94000-7f9f29e99000 rw-p 00000000 00:00 0
7f9f29e99000-7f9f29eae000 r-xp 00000000 fd:00 34736884 /usr/lib64/libgcc_s-4.8.2-20140120.so.1Aborted
How i see 0.6.0 version support Addressbook, where can i find docs hot to configure it?
https://github.com/PrivacySolutions/i2pd/releases/tag/0.6.0
I have FreeBSD10-i386 and devel/gmake security/cryptopp devel/cmake devel/boost-libs installed. While trying to compile i2pd with cmake I got this errors:
[100%] Building CXX object CMakeFiles/i2pd.dir/root/i2pd/DaemonLinux.cpp.o
Linking CXX executable i2pd
CMakeFiles/i2pd.dir/root/i2pd/Garlic.cpp.o: In function i2p::garlic::GarlicRoutingSession::CreateAESBlock(unsigned char*, i2p::I2NPMessage const*, i2p::I2NPMessage const*)': /root/i2pd/Garlic.cpp:(.text+0xea0): undefined reference to
i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned int, unsigned char_)'
CMakeFiles/i2pd.dir/root/i2pd/Garlic.cpp.o: In function `i2p::garlic::GarlicRouting::ProcessGarlicMessage(i2p::I2NPMessage*)'
please, make it compilable under FreeBSD
No pull requests will be accepted
I ran i2pd over night, and it crashed while trying to build a tunnel it seems.
Phase 1 sent: 288
Connected
Phase 1 sent: 288
Phase 2 received: 304
Phase 3 sent: 448
No activity fo 60 seconds
Read error: Operation canceled
NTCP session terminated
Phase 4 received: 48
NTCP session connected
Msg sent: 16
Msg sent: 672
Msg sent: 560
Phase 2 received: 304
Phase 3 sent: 448
No activity fo 60 seconds
Read error: Operation canceled
NTCP session terminated
Phase 4 received: 48
NTCP session connected
Msg sent: 16
Msg sent: 672
Msg sent: 560
Pending tunnel build request 5630 has not been responded. Deleted
Pending tunnel build request 5631 has not been responded. Deleted
Creating one hop inbound tunnel...
Creating one hop outbound tunnel...
Connecting to X.X.X.X:10907
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff1a7b700 (LWP 22079)]
0x00000000004814cd in i2p::tunnel::Tunnel::Build (this=0x7fffe4379990, replyMsgID=5633, outboundTunnel=0x0) at Tunnel.cpp:41
41 CreateBuildRequestRecord (hop->router->GetIdentHash (),
(gdb) bt
#0 0x00000000004814cd in i2p::tunnel::Tunnel::Build (this=0x7fffe4379990, replyMsgID=5633, outboundTunnel=0x0) at Tunnel.cpp:41
#1 0x00000000004854a8 in i2p::tunnel::Tunnels::CreateTunnel<i2p::tunnel::OutboundTunnel> (this=0x751740 <i2p::tunnel::tunnels>,
config=0x7fffe434f6b0, outboundTunnel=0x0) at Tunnel.cpp:486
#2 0x0000000000482b6c in i2p::tunnel::Tunnels::ManageOutboundTunnels (this=0x751740 <i2p::tunnel::tunnels>) at Tunnel.cpp:394
#3 0x0000000000482936 in i2p::tunnel::Tunnels::ManageTunnels (this=0x751740 <i2p::tunnel::tunnels>) at Tunnel.cpp:350
#4 0x00000000004827dd in i2p::tunnel::Tunnels::Run (this=0x751740 <i2p::tunnel::tunnels>) at Tunnel.cpp:327
#5 0x000000000048bf6d in std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()>::operator() (this=0x115bb70,
__object=0x751740 <i2p::tunnel::tunnels>) at /usr/include/c++/4.7/functional:554
#6 0x000000000048becc in std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x115bb70, __args=...) at /usr/include/c++/4.7/functional:1156
#7 0x000000000048be3e in std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)>::operator()<, void>() (
this=0x115bb70) at /usr/include/c++/4.7/functional:1215
#8 0x000000000048bdd0 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)> ()>::_M_invoke<>(std::_Index_tuple<>) (this=0x115bb70) at /usr/include/c++/4.7/functional:1598
#9 0x000000000048bc7f in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)> ()>::operator()() (this=0x115bb70) at /usr/include/c++/4.7/functional:1586
#10 0x000000000048bbf0 in std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)> ()> >::_M_run() (this=0x115bb58) at /usr/include/c++/4.7/thread:115
#11 0x00007ffff68cd9f0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007ffff6b25f8e in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x00007ffff6336a0d in clone () from /lib/x86_64-linux-gnu/libc.so.6
I'm looking at the streaming now. Would it be best with two queues? One for receive and one for sending? or maybe merge them, with a tag in the packet struct with to be sent "in" or "out"?
I downloaded the latest release version 0.5.0 and when I try to compile it I get the following error
Reseed.cpp:375:10: error: no viable conversion from 'std::istream' (aka 'basic_istream') to 'bool'
return s;
After successfully reseeding, i2pd (git revision c8cdeea) crashed with the following:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
what(): send_to: Network is unreachable
Aborted
I also couldn't ping anything because the network interface was not configured properly (bad routing info). After fixing the network configuration, i2pd was able to connect to the I2P network.
(This non-graceful failure might be one of the "known issues".)
Кстати, а зачем фрагментировать на несколько проектов? Слейтесь с i2pcpp и разработка пойдёт быстрее.
Hello,
I've started on the implementation of reseeding v2. The main difference is that we're going to transfer all RouterInfo files in one request, and this requires some kind of packaging. The first suggestion was the ZIP format since Java supports it native. But I disagree strongly in using a such advanced data structure for packing some files. What I want with this issue is to hear if any reading this has any purposal to an archive format?
I've been looking at CPIO and Tar for example. The key feature here is lightweight, and not magic functions with flying unicorns. ZIP is in other words an overkill format with too much functions vs. what we need from it.
Orignal, what do you think? I want to find a archive format that both i2pd and the java i2p router can read easily without a bunch of libraries.
/Meeh
Собственно вопрос - работает ли данный демон как полноценный I2P узел т.е пропуская через себя транзитный трафик, если да - то где настройки по скорости?
Gitian scripts for release building agains Win32, OSX and Linux (static, 64/32)
Just wanted to give you a heads up that I've started on the "client" part. In other words classes to link i2p::stream::Stream to a configured tcp port. I will commit when I got something, but it might take a while since I need to learn the ASIO library better. Still learning C++ in depth.
My initial design thoughts is close to this, if you change the server with the Stream object. http://www.partow.net/programming/tcpproxy/index.html
Если на сайте есть относительные ссылки - они не работают нужно либо исправить
т.е есть сайт
http://localhost:7070/4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
А у изображения на сайте будет адрес (как видит браузер)
http://localhost:7070/images/stickers_15feb2013.jpg
cmake version 2.8.12.2
GNU Make 3.82
Built for x86_64-pc-linux-gnu
sys-libs/glibc 2.17
Linking CXX executable i2pd
CMakeFiles/i2pd.dir/root/src/i2pd/Garlic.cpp.o: In function i2p::garlic::GarlicRoutingSession::CreateAESBlock(unsigned char*, i2p::I2NPMessage const*, i2p::I2NPMessage const*)': Garlic.cpp:(.text+0xb1a): undefined reference to
i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)'
CMakeFiles/i2pd.dir/root/src/i2pd/Garlic.cpp.o: In function i2p::garlic::GarlicRouting::ProcessGarlicMessage(i2p::I2NPMessage*)': Garlic.cpp:(.text+0x17fc): undefined reference to
i2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)'
Garlic.cpp:(.text+0x19c2): undefined reference to i2p::crypto::CBCDecryption::Decrypt(unsigned char const*, unsigned long, unsigned char*)' CMakeFiles/i2pd.dir/root/src/i2pd/Garlic.cpp.o: In function
i2p::crypto::ElGamalEncryption::ElGamalEncryption(unsigned char const_)':
Garlic.cpp:(.text.ZN3i2p6crypto17ElGamalEncryptionC2EPKh[ZN3i2p6crypto17ElGamalEncryptionC5EPKh]+0x71): undefined reference to i2p::crypto::elgp' Garlic.cpp:(.text._ZN3i2p6crypto17ElGamalEncryptionC2EPKh[_ZN3i2p6crypto17ElGamalEncryptionC5EPKh]+0xdb): undefined reference to
i2p::crypto::elgp'
Garlic.cpp:(.text.ZN3i2p6crypto17ElGamalEncryptionC2EPKh[ZN3i2p6crypto17ElGamalEncryptionC5EPKh]+0xe0): undefined reference to i2p::crypto::elgg' Garlic.cpp:(.text._ZN3i2p6crypto17ElGamalEncryptionC2EPKh[_ZN3i2p6crypto17ElGamalEncryptionC5EPKh]+0x10a): undefined reference to
i2p::crypto::elgp'
CMakeFiles/i2pd.dir/root/src/i2pd/Garlic.cpp.o: In function i2p::crypto::ElGamalEncryption::Encrypt(unsigned char const_, int, unsigned char_, bool)': Garlic.cpp:(.text._ZN3i2p6crypto17ElGamalEncryption7EncryptEPKhiPhb[i2p::crypto::ElGamalEncryption::Encrypt(unsigned char const_, int, unsigned char_, bool)]+0xf6): undefined reference to
i2p::crypto::elgp'
CMakeFiles/i2pd.dir/root/src/i2pd/Garlic.cpp.o: In functioni2p::crypto::ElGamalDecrypt(unsigned char const_, unsigned char const_, unsigned char_, bool)': Garlic.cpp:(.text._ZN3i2p6crypto14ElGamalDecryptEPKhS2_Phb[i2p::crypto::ElGamalDecrypt(unsigned char const_, unsigned char const_, unsigned char_, bool)]+0xe0): undefined reference to
i2p:
:crypto::elgp'
Garlic.cpp:(.text.ZN3i2p6crypto14ElGamalDecryptEPKhS2_Phb[i2p::crypto::ElGamalDecrypt(unsigned char const, unsigned char const, unsigned char, bool)]+0x122): undefined reference to i2p ::crypto::elgp' Garlic.cpp:(.text._ZN3i2p6crypto14ElGamalDecryptEPKhS2_Phb[i2p::crypto::ElGamalDecrypt(unsigned char const*, unsigned char const*, unsigned char*, bool)]+0x144): undefined reference to
i2p
::crypto::elgp'
CMakeFiles/i2pd.dir/root/src/i2pd/Identity.cpp.o: In function i2p::data::CreateRandomKeys()': Identity.cpp:(.text+0x3f8): undefined reference to
i2p::crypto::elgg'
Identity.cpp:(.text+0x3fd): undefined reference to i2p::crypto::elgp' Identity.cpp:(.text+0x462): undefined reference to
i2p::crypto::dsag'
Identity.cpp:(.text+0x467): undefined reference to i2p::crypto::dsaq' Identity.cpp:(.text+0x46c): undefined reference to
i2p::crypto::dsap'
CMakeFiles/i2pd.dir/root/src/i2pd/Identity.cpp.o: In function i2p::data::CreateRandomDHKeysPair(i2p::data::DHKeysPair*)': Identity.cpp:(.text+0x5d7): undefined reference to
i2p::crypto::elgg'
Identity.cpp:(.text+0x5dc): undefined reference to i2p::crypto::elgp' CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function
i2p::ntcp::NTCPSession::CreateAESKey(unsigned char, unsigned char)':
NTCPSession.cpp:(.text+0x50d): undefined reference to i2p::crypto::elgg' CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function
i2p::ntcp::NTCPSession::CreateAESKey(unsigned char_, unsigned char_)': [47/1890]
NTCPSession.cpp:(.text+0x50d): undefined reference to i2p::crypto::elgg' NTCPSession.cpp:(.text+0x512): undefined reference to
i2p::crypto::elgp'
CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function i2p::ntcp::NTCPSession::SendPhase2()': NTCPSession.cpp:(.text+0x1032): undefined reference to
i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)'
CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function i2p::ntcp::NTCPSession::HandlePhase2Received(boost::system::error_code const&, unsigned long)': NTCPSession.cpp:(.text+0x13e8): undefined reference to
i2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)'
CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function i2p::ntcp::NTCPSession::SendPhase3()': NTCPSession.cpp:(.text+0x16b5): undefined reference to
i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)'
CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function i2p::ntcp::NTCPSession::HandlePhase3Received(boost::system::error_code const&, unsigned long, unsigned int)': NTCPSession.cpp:(.text+0x1978): undefined reference to
i2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)'
NTCPSession.cpp:(.text+0x1aa5): undefined reference to i2p::crypto::dsag' NTCPSession.cpp:(.text+0x1aaa): undefined reference to
i2p::crypto::dsaq'
NTCPSession.cpp:(.text+0x1aaf): undefined reference to i2p::crypto::dsap' CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function
i2p::ntcp::NTCPSession::SendPhase4(unsigned int)':
NTCPSession.cpp:(.text+0x1d0b): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const*, unsigned long, unsigned char*)' CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function
i2p::ntcp::NTCPSession::HandlePhase4Received(boost::system::error_code const&, unsigned long, unsigned int)':
NTCPSession.cpp:(.text+0x1f82): undefined reference to i2p::crypto::CBCDecryption::Decrypt(unsigned char const*, unsigned long, unsigned char*)' NTCPSession.cpp:(.text+0x2088): undefined reference to
i2p::crypto::dsag'
NTCPSession.cpp:(.text+0x208d): undefined reference to i2p::crypto::dsaq' NTCPSession.cpp:(.text+0x2092): undefined reference to
i2p::crypto::dsap'
CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function i2p::ntcp::NTCPSession::DecryptNextBlock(unsigned char const*)': NTCPSession.cpp:(.text+0x2490): undefined reference to
i2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned char_)'
NTCPSession.cpp:(.text+0x255f): undefined reference to i2p::crypto::CBCDecryption::Decrypt(unsigned char const*, unsigned char*)' CMakeFiles/i2pd.dir/root/src/i2pd/NTCPSession.cpp.o: In function
i2p::ntcp::NTCPSession::Send(i2p::I2NPMessage_)':
NTCPSession.cpp:(.text+0x2706): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/RouterContext.cpp.o: In function
i2p::RouterContext::CreateNewRouter()':
RouterContext.cpp:(.text+0x328): undefined reference toi2p::crypto::dsag' RouterContext.cpp:(.text+0x32d): undefined reference to
i2p::crypto::dsaq'
RouterContext.cpp:(.text+0x332): undefined reference toi2p::crypto::dsap' CMakeFiles/i2pd.dir/root/src/i2pd/RouterContext.cpp.o: In function
i2p::RouterContext::Load()':
RouterContext.cpp:(.text+0x846): undefined reference toi2p::crypto::dsag' RouterContext.cpp:(.text+0x84b): undefined reference to
i2p::crypto::dsaq'
RouterContext.cpp:(.text+0x850): undefined reference toi2p::crypto::dsap' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::CreateAESandMacKey(unsigned char const_)':
SSU.cpp:(.text+0x604): undefined reference to i2p::crypto::elgg' SSU.cpp:(.text+0x609): undefined reference to
i2p::crypto::elgp'
CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function i2p::ssu::SSUSession::ProcessSessionCreated(unsigned char*, unsigned long)': SSU.cpp:(.text+0x1026): undefined reference to
i2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)'
SSU.cpp:(.text+0x1078): undefined reference to i2p::crypto::dsag' SSU.cpp:(.text+0x107d): undefined reference to
i2p::crypto::dsaq'
SSU.cpp:(.text+0x1082): undefined reference to i2p::crypto::dsap' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::SendSessionCreated(unsigned char const_)':
SSU.cpp:(.text+0x1857): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::FillHeaderAndEncrypt(unsigned char, unsigned char_, unsigned long, unsigned char const_, unsigned char const_
, unsigned char const_)':
SSU.cpp:(.text+0x23af): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::FillHeaderAndEncrypt(unsigned char, unsigned char_, unsigned long)':
SSU.cpp:(.text+0x253b): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const*, unsigned long, unsigned char*)' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::FillHeaderAndEncrypt(unsigned char, unsigned char_, unsigned long)': [0/1890]
SSU.cpp:(.text+0x253b): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::Decrypt(unsigned char_, unsigned long, unsigned char const_)':
SSU.cpp:(.text+0x268a): undefined reference to i2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/SSU.cpp.o: In function
i2p::ssu::SSUSession::DecryptSessionKey(unsigned char_, unsigned long)':
SSU.cpp:(.text+0x2764): undefined reference to i2p::crypto::CBCDecryption::Decrypt(unsigned char const*, unsigned long, unsigned char*)' CMakeFiles/i2pd.dir/root/src/i2pd/TransitTunnel.cpp.o: In function
i2p::tunnel::TransitTunnel::EncryptTunnelMsg(i2p::I2NPMessage_)':
TransitTunnel.cpp:(.text+0x32b): undefined reference to i2p::crypto::TunnelEncryption::Encrypt(unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/Tunnel.cpp.o: In function
i2p::tunnel::Tunnel::Build(unsigned int, i2p::tunnel::OutboundTunnel*)':
Tunnel.cpp:(.text+0x7a1): undefined reference toi2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/Tunnel.cpp.o: In function
i2p::tunnel::Tunnel::HandleTunnelBuildResponse(unsigned char*, unsigned long)':
Tunnel.cpp:(.text+0x9bd): undefined reference toi2p::crypto::CBCDecryption::Decrypt(unsigned char const_, unsigned long, unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/Tunnel.cpp.o: In function
i2p::tunnel::Tunnel::EncryptTunnelMsg(i2p::I2NPMessage*)':
Tunnel.cpp:(.text+0xbac): undefined reference toi2p::crypto::TunnelDecryption::Decrypt(unsigned char_)' CMakeFiles/i2pd.dir/root/src/i2pd/I2NPProtocol.cpp.o: In function
i2p::HandleBuildRequestRecords(int, i2p::I2NPBuildRequestRecordElGamalEncrypted_, i2p::I2NPBuildRequestRecordClearText&)':
I2NPProtocol.cpp:(.text+0x106a): undefined reference to i2p::crypto::CBCEncryption::Encrypt(unsigned char const*, unsigned long, unsigned char*)' CMakeFiles/i2pd.dir/root/src/i2pd/LeaseSet.cpp.o: In function
i2p::data::LeaseSet::LeaseSet(unsigned char const*, int)':
LeaseSet.cpp:(.text+0x502): undefined reference to i2p::crypto::dsag' LeaseSet.cpp:(.text+0x507): undefined reference to
i2p::crypto::dsaq'
LeaseSet.cpp:(.text+0x50c): undefined reference to i2p::crypto::dsap' CMakeFiles/i2pd.dir/root/src/i2pd/RouterInfo.cpp.o: In function
i2p::data::RouterInfo::ReadFromBuffer()':
RouterInfo.cpp:(.text+0x76d): undefined reference to i2p::crypto::dsag' RouterInfo.cpp:(.text+0x772): undefined reference to
i2p::crypto::dsaq'
RouterInfo.cpp:(.text+0x777): undefined reference to i2p::crypto::dsap' CMakeFiles/i2pd.dir/root/src/i2pd/Streaming.cpp.o: In function
i2p::stream::StreamingDestination::StreamingDestination()':
Streaming.cpp:(.text+0x1447): undefined reference to i2p::crypto::dsag' Streaming.cpp:(.text+0x144c): undefined reference to
i2p::crypto::dsaq'
Streaming.cpp:(.text+0x1451): undefined reference to i2p::crypto::dsap' Streaming.cpp:(.text+0x1471): undefined reference to
i2p::crypto::elgg'
Streaming.cpp:(.text+0x1476): undefined reference to i2p::crypto::elgp' CMakeFiles/i2pd.dir/root/src/i2pd/Streaming.cpp.o: In function
i2p::stream::StreamingDestination::StreamingDestination(std::basic_string<char, std::char_traits, std::allocator
const&)':
Streaming.cpp:(.text+0x1739): undefined reference toi2p::crypto::dsag' Streaming.cpp:(.text+0x173e): undefined reference to
i2p::crypto::dsaq'
Streaming.cpp:(.text+0x1743): undefined reference toi2p::crypto::dsap' Streaming.cpp:(.text+0x1763): undefined reference to
i2p::crypto::elgg'
Streaming.cpp:(.text+0x1768): undefined reference to `i2p::crypto::elgp'
collect2: ld returned 1 exit status
make[2]: *** [i2pd] Error 1
make[1]: *** [CMakeFiles/i2pd.dir/all] Error 2
make: *** [all] Error 2
Port 7070 just non-responding.
приветствую!
проект для меня крайне интересен, и я мельком взглянул в код дабы оценить его качество, и оказался несколько озадачен...
в общем - есть желание "почистить" код, но хотелось бы понять, вдруг у автора сырые указатели и new/delete - принципиальная позиция?
зы
прошу простить меня, если мои вопросы кажутся провоцирующими и/или резкими.
Unsolicited DatabaseStore must be flooded if newer than one in local netDb
Бинарник, запущенный с --help не обращает на нее внимания, и сразу начинает фигачить.
Это не безопасное и не ожидаемое поведение. Хорошо бы напечатать справочку по ключам, и exit().
P.S. Чтоб два раза не вставать: А чем мне сделать файлик с ключиком для опции --eepkeys ?
I got a short answer;
we (Java I2P) don't do it now, it may be older routers, you(orignal) can do it if you wants, we (Java I2P) don't because it's expensive
из gdb:
Program received signal SIGINT, Interrupt.
0x00007ffff6ad539d in nanosleep () from /lib64/libpthread.so.0
(gdb) bt
#0 0x00007ffff6ad539d in nanosleep () from /lib64/libpthread.so.0
#1 0x000000000043aaa1 in std::this_thread::sleep_for<long, std::ratio<1l, 1l> > (__rtime=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/thread:277
#2 0x0000000000439102 in main (argc=1, argv=0x7fffffffd748) at i2p.cpp:167
без gdb:
i2p: pthread_mutex_lock.c:317: __pthread_mutex_lock_full: Assertion `(-(e)) != 3 || !robust' failed.
Аварийный останов
I found another crash that seems related to transports, but does not seem to be in relation to #29 (gdb backtrace at bottom)
Any clues?
Another note (not related): Seems like if an routerInfo contains a domain instead of an IP, i2pd will get an unexpected address, but this does not crash it.
Connect error: No route to host
NTCP session terminated
Connect error: No route to host
NTCP session terminated
Connect error: Connection timed out
NTCP session terminated
Exploring new routers ...
Msg sent: 1056
Msg sent: 1056
Connect error: Connection timed out
NTCP session terminated
Connect error: Connection timed out
NTCP session terminated
Connect error: Connection timed out
NTCP session terminated
No activity fo 60 seconds
Read error: Operation canceled
NTCP session terminated
Couldn't send msg: Operation canceled
i2p: /usr/include/cryptopp/secblock.h:197: void CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::deallocate(void*, CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::size_type) [with T = unsigned int; long unsigned int S = 60ul; A = CryptoPP::NullAllocator<unsigned int>; bool T_Align16 = true; CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::size_type = long unsigned int]: Assertion `m_allocated' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff227c700 (LWP 7412)]
0x00007ffff6273037 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff6273037 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff6276698 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff626be03 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff626beb2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x000000000044fd75 in CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 60ul, CryptoPP::NullAllocator<unsigned int>, true>::deallocate (this=0x7fffe801f988, p=0x7fffe801f990, n=60) at /usr/include/cryptopp/secblock.h:197
#5 0x000000000044c651 in CryptoPP::SecBlock<unsigned int, CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 60ul, CryptoPP::NullAllocator<unsigned int>, true> >::~SecBlock (this=0x7fffe801f988, __in_chrg=<optimized out>) at /usr/include/cryptopp/secblock.h:261
#6 0x0000000000447098 in CryptoPP::FixedSizeSecBlock<unsigned int, 60u, CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 60ul, CryptoPP::NullAllocator<unsigned int>, true> >::~FixedSizeSecBlock (this=0x7fffe801f988, __in_chrg=<optimized out>)
at /usr/include/cryptopp/secblock.h:422
#7 0x00000000004470b2 in CryptoPP::FixedSizeAlignedSecBlock<unsigned int, 60u, true>::~FixedSizeAlignedSecBlock (
this=0x7fffe801f988, __in_chrg=<optimized out>) at /usr/include/cryptopp/secblock.h:429
#8 0x00000000004470e8 in CryptoPP::Rijndael::Base::~Base (this=0x7fffe801f970, __in_chrg=<optimized out>)
at /usr/include/cryptopp/rijndael.h:21
#9 0x0000000000447815 in CryptoPP::Rijndael::Enc::~Enc (this=0x7fffe801f970, __in_chrg=<optimized out>)
at /usr/include/cryptopp/rijndael.h:40
#10 0x0000000000447893 in CryptoPP::ClonableImpl<CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>, CryptoPP::Rijndael::Enc>::~ClonableImpl (this=0x7fffe801f970, __in_chrg=<optimized out>) at /usr/include/cryptopp/simple.h:16
#11 0x0000000000447911 in CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>::~BlockCipherFinal (
this=0x7fffe801f970, __in_chrg=<optimized out>) at /usr/include/cryptopp/seckey.h:151
#12 0x0000000000447992 in CryptoPP::ObjectHolder<CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc> >::~ObjectHolder (this=0x7fffe801f970, __in_chrg=<optimized out>) at /usr/include/cryptopp/misc.h:83
#13 0x0000000000457a00 in CryptoPP::CipherModeFinalTemplate_CipherHolder<CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>, CryptoPP::CBC_Encryption>::~CipherModeFinalTemplate_CipherHolder (this=0x7fffe801f928, __in_chrg=<optimized out>)
at /usr/include/cryptopp/modes.h:248
#14 0x0000000000442334 in i2p::ntcp::NTCPSession::~NTCPSession (this=0x7fffe801f730, __in_chrg=<optimized out>) at NTCPSession.h:69
#15 0x00000000004423e6 in i2p::ntcp::NTCPSession::~NTCPSession (this=0x7fffe801f730, __in_chrg=<optimized out>) at NTCPSession.h:69
#16 0x0000000000436c97 in i2p::ntcp::NTCPSession::Terminate (this=0x7fffe801f730) at NTCPSession.cpp:58
#17 0x0000000000438f08 in i2p::ntcp::NTCPSession::HandleSent (this=0x7fffe801f730, ecode=..., bytes_transferred=0,
msg=0x7fffdc08a430) at NTCPSession.cpp:477
#18 0x0000000000453e97 in boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>::operator() (this=0x7ffff227bb08, p=0x7fffe801f730, a1=..., a2=0, a3=0x7fffdc08a430)
at /usr/local/include/boost/bind/mem_fn_template.hpp:393
#19 0x0000000000452287 in boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> >::operator()<boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> > (this=0x7ffff227bb18,
f=..., a=...) at /usr/local/include/boost/bind/bind.hpp:457
#20 0x00000000004505a6 in boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(---Type <return> to continue, or q <return> to quit---
), boost::_bi::value<i2p::I2NPMessage*> > >::operator()<boost::system::error_code, unsigned long> (this=0x7ffff227bb08, a1=...,
a2=@0x7ffff227bb00: 0) at /usr/local/include/boost/bind/bind_template.hpp:102
#21 0x000000000044da68 in boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > >::operator() (this=0x7ffff227bae0, ec=..., bytes_transferred=0, start=0) at /usr/local/include/boost/asio/impl/write.hpp:269
#22 0x0000000000457720 in boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > >, boost::system::error_code, unsigned long>::operator() (this=0x7ffff227bae0)
at /usr/local/include/boost/asio/detail/bind_handler.hpp:127
#23 0x0000000000457517 in boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > >, boost::system::error_code, unsigned long> > (function=...)
at /usr/local/include/boost/asio/handler_invoke_hook.hpp:69
#24 0x000000000045724e in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > > (
function=..., context=...) at /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#25 0x0000000000456fdd in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > > (function=..., this_handler=0x7ffff227bae0)
at /usr/local/include/boost/asio/impl/write.hpp:565
#26 0x0000000000456cdd in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::erro---Type <return> to continue, or q <return> to quit---
r_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > >, boost::system::error_code, unsigned long>, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > > > (function=..., context=...)
at /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#27 0x000000000045651b in boost::asio::detail::reactive_socket_send_op<boost::asio::mutable_buffers_1, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long, i2p::I2NPMessage*>, boost::_bi::list4<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)(), boost::_bi::value<i2p::I2NPMessage*> > > > >::do_complete (owner=0x74c680, base=0x7fffe81419d0)
at /usr/local/include/boost/asio/detail/reactive_socket_send_op.hpp:107
#28 0x000000000043cf16 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffe81419d0, owner=..., ec=...,
bytes_transferred=0) at /usr/local/include/boost/asio/detail/task_io_service_operation.hpp:38
#29 0x0000000000463bcd in boost::asio::detail::task_io_service::do_run_one (this=0x74c680, lock=..., this_thread=..., ec=...)
at /usr/local/include/boost/asio/detail/impl/task_io_service.ipp:384
#30 0x000000000046390b in boost::asio::detail::task_io_service::run (this=0x74c680, ec=...)
at /usr/local/include/boost/asio/detail/impl/task_io_service.ipp:153
#31 0x0000000000463ead in boost::asio::io_service::run (this=0x74a330 <i2p::transports+16>)
at /usr/local/include/boost/asio/impl/io_service.ipp:59
#32 0x00000000004623ad in i2p::Transports::Run (this=0x74a320 <i2p::transports>) at Transports.cpp:85
#33 0x000000000046a8cf in std::_Mem_fn<void (i2p::Transports::*)()>::operator() (this=0xd8d8f0, __object=0x74a320 <i2p::transports>)
at /usr/include/c++/4.7/functional:554
#34 0x000000000046a82e in std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0xd8d8f0, __args=...) at /usr/include/c++/4.7/functional:1156
#35 0x000000000046a7a0 in std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::operator()<, void>() (
this=0xd8d8f0) at /usr/include/c++/4.7/functional:1215
#36 0x000000000046a72c in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()>::_M_invoke<>(std::_Index_tuple<>) (this=0xd8d8f0) at /usr/include/c++/4.7/functional:1598
#37 0x000000000046a679 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()>::operator()() (this=0xd8d8f0) at /usr/include/c++/4.7/functional:1586
#38 0x000000000046a5f4 in std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()> >::_M_run() (this=0xd8d8d8) at /usr/include/c++/4.7/thread:115
#39 0x00007ffff68cd9f0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#40 0x00007ffff6b25f8e in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#41 0x00007ffff6336a0d in clone () from /lib/x86_64-linux-gnu/libc.so.6
What do you think of making the Makefile more or less as an forwarder (as seen in Qt projects) to a OS specific file. Like renaming the current one to Makefile.linux, and a new Makefile containing for example such code as in?; http://stackoverflow.com/questions/714100/os-detecting-makefile
22:34:42/info - Version 0.4.0
22:34:42/info - data directory: /home/h/.i2pd
22:34:42/info - CMD parameters:
22:34:42/info - 0 ./build/tmp/i2pd
22:34:42/info - HTTP Server started
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://uk.reseed.i2p2.no/
22:34:42/info - Can't connect to http://uk.reseed.i2p2.no/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://ieb9oopo.mooo.com
22:34:42/info - Reseed failed [46/199]
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://uk.reseed.i2p2.no/
22:34:42/info - Can't connect to http://uk.reseed.i2p2.no/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://reseed.i2p-projekt.de/
22:34:42/info - Can't connect to http://reseed.i2p-projekt.de/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://netdb.i2p2.no/
22:34:42/info - Can't connect to http://netdb.i2p2.no/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://i2p.mooo.com/netDb/
22:34:42/info - Can't connect to http://i2p.mooo.com/netDb/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://193.150.121.66/netDb/
22:34:42/info - Can't connect to http://193.150.121.66/netDb/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://uk.reseed.i2p2.no/
22:34:42/info - Can't connect to http://uk.reseed.i2p2.no/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://cowpuncher.drollette.com/netdb/
22:34:42/info - Can't connect to http://cowpuncher.drollette.com/netdb/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - Reseeding from http://netdb.i2p2.no/
22:34:42/info - Can't connect to http://netdb.i2p2.no/
22:34:42/info - Reseed failed
22:34:42/info - 0 routers loaded
22:34:42/info - 0 floodfills loaded
22:34:42/info - NetDB started
22:34:42/info - Start listening UDP port 12251
22:34:42/info - Start listening TCP port 12251
22:34:42/info - Transports started
22:34:42/info - Tunnels started
22:34:42/info - HTTP Proxy started
22:34:42/info - SOCKS Proxy Started
22:34:42/info - Client started
22:34:42/info - --- socks4a run
22:34:44/info - Creating zero hops inbound tunnel...
22:34:44/info - I2NP msg received len=2657, type=23, msgID=0
22:34:44/info - VariableTunnelBuild
22:34:44/info - VariableTunnelBuild 5 records
22:34:44/info - Record 1 is ours
22:34:44/info - TransitTunnel gateway: 734851594 created
22:34:44/info - I2NP msg received len=2657, type=23, msgID=1362010400
22:34:44/info - VariableTunnelBuild
22:34:44/info - VariableTunnelBuild 5 records
22:34:44/info - VariableTunnelBuild reply for tunnel 1894165301
22:34:44/info - TunnelBuildResponse 5 records.
22:34:44/info - Ret code=0
22:34:44/info - Inbound tunnel 1894165301 has been created
22:34:44/info - I2NP msg received len=2657, type=23, msgID=1
22:34:44/info - VariableTunnelBuild
22:34:44/info - VariableTunnelBuild 5 records
22:34:44/info - Record 3 is ours
22:34:44/info - TransitTunnel endpoint: 1392230752 created
22:34:44/info - TunnelGateway
22:34:44/info - TunnelGateway of 2657 bytes for tunnel 734851594. Msg type 24
22:34:44/info - TunnelData
22:34:44/info - TunnelData
22:34:44/info - TunnelData
22:34:44/info - Creating one hop outbound tunnel...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff17dd700 (LWP 15470)]
0x000055555572ef6a in i2p::tunnel::Tunnel::Build(unsigned int, i2p::tunnel::OutboundTunnel_) ()
(gdb) bt
#0 0x000055555572ef6a in i2p::tunnel::Tunnel::Build(unsigned int, i2p::tunnel::OutboundTunnel_) ()
#1 0x0000555555733c0d in i2p::tunnel::OutboundTunnel* i2p::tunnel::Tunnels::CreateTunneli2p::tunnel::OutboundTunnel(i2p::tunnel::TunnelConfig_, i2p::tunnel::OutboundTunnel_) ()
#2 0x00005555557305a0 in i2p::tunnel::Tunnels::ManageOutboundTunnels() ()
#3 0x0000555555730bbe in i2p::tunnel::Tunnels::Run() ()
#4 0x00007ffff7274400 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff74cbb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6 0x00007ffff6a767bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7 0x0000000000000000 in ?? ()
<@zzz> orion, orignal, getting reports of errors on java routers, possibly originating from i2pd or i2pcpp, please check:
<@zzz> 1) tunnel followon fragments with fragment number 0;
<@zzz> 2) database store messages where the hash does not match the included leaseset/routerinfo
<@zzz> thanks
Думаю будет нелишнем написать принцип оформления кода и его комментирования.
Нужность этого действия неоспорима и в обсуждении не нуждается, а вот правила стандарта предлагаю обсудить здесь.
Привет.
Хочу присоединит, но с принципами i2p не знаком и не вижу списка TODO.
Может набросаешь?
latest commit 692cde5, CentOS7.
23:21:57/info - DatabaseStore
23:21:57/info - RouterInfo
23:21:57/info - RouterInfo updated
^C
23:21:57/info - Shutdown started.
23:21:57/info - HTTP Proxy stoped
23:21:57/info - SOCKS Proxy stoped
23:21:57/info - Client stoped
23:21:57/info - Tunnels stoped
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
23:21:57/debug - SSU session destroyed sent
i2p: /usr/include/cryptopp/secblock.h:197: void CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::deallocate(void*, CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::size_type) [with T = unsigned int; long unsigned int S = 60ul; A = CryptoPP::NullAllocator; bool T_Align16 = true; CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::size_type = long unsigned int]: Assertion `m_allocated' failed.
Aborted
[i2pd@i2p ~]$
I've found out I can setup CI for all systems above, including ofc. Linux too if needed. What do you think of that? We would probably need to move the i2pd project into the I2P org. or create a new one for that sake, since I will need access to the git triggers on this repository AFAIK. Maybe github got a API that removes the need of that, I can check it out if you sounds like a good idea to setup CI for all systems. (I got the servers needed)
I've seen this error sometimes now, finally I catched it while running in gdb.
Unsure where to go from here, but it seems to happen because of an unexpected close of transport.
Phase 1 sent: 288
Phase 2 received: 304
Phase 3 sent: 448
Phase 4 received: 48
NTCP session connected
Msg sent: 16
Msg sent: 656
Msg sent: 560
Exploring new routers ...
Msg sent: 1056
Msg sent: 1056
1 routers deleted
[Thread 0x7ffff1a7b700 (LWP 30903) exited]
Read error: Operation canceled
Transports: close: Bad file descriptor
Read error: Operation canceled
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff227c700 (LWP 30902)]
0x00000000004451a7 in boost::system::error_code::operator=<boost::asio::error::basic_errors> (
this=<error reading variable: Could not find the frame base for "boost::system::error_code::operator=<boost::asio::error::basic_errors>(boost::asio::error::basic_errors)".>,
val=<error reading variable: Could not find the frame base for "boost::system::error_code::operator=<boost::asio::error::basic_errors>(boost::asio::error::basic_errors)".>) at /usr/local/include/boost/system/error_code.hpp:344
344 *this = make_error_code(val);
(gdb)
(gdb)
(gdb) bt
#0 0x00000000004451a7 in boost::system::error_code::operator=<boost::asio::error::basic_errors> (
this=<error reading variable: Could not find the frame base for "boost::system::error_code::operator=<boost::asio::error::basic_errors>(boost::asio::error::basic_errors)".>,
val=<error reading variable: Could not find the frame base for "boost::system::error_code::operator=<boost::asio::error::basic_errors>(boost::asio::error::basic_errors)".>) at /usr/local/include/boost/system/error_code.hpp:344
#1 0x000000000043e17a in boost::asio::detail::epoll_reactor::deregister_descriptor (
this=<error reading variable: Could not find the frame base for "boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool)".>,
descriptor=<error reading variable: Could not find the frame base for "boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool)".>,
descriptor_data=<error reading variable: Could not find the frame base for "boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool)".>,
closing=<error reading variable: Could not find the frame base for "boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool)".>) at /usr/local/include/boost/asio/detail/impl/epoll_reactor.ipp:327
#2 0x0000000000440251 in boost::asio::detail::reactive_socket_service_base::close (
this=<error reading variable: Could not find the frame base for "boost::asio::detail::reactive_socket_service_base::close(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, boost::system::error_code&)".>,
impl=<error reading variable: Could not find the frame base for "boost::asio::detail::reactive_socket_service_base::close(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, boost::system::error_code&)".>,
ec=<error reading variable: Could not find the frame base for "boost::asio::detail::reactive_socket_service_base::close(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, boost::system::error_code&)".>)
at /usr/local/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:104
#3 0x000000000044c7b9 in boost::asio::stream_socket_service<boost::asio::ip::tcp>::close (
this=<error reading variable: Could not find the frame base for "boost::asio::stream_socket_service<boost::asio::ip::tcp>::close(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&, boost::system::error_code&)".>,
impl=<error reading variable: Could not find the frame base for "boost::asio::stream_socket_service<boost::asio::ip::tcp>::close(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&, boost::system::error_code&)".>,
ec=<error reading variable: Could not find the frame base for "boost::asio::stream_socket_service<boost::asio::ip::tcp>::close(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&, boost::system::error_code&)".>)
at /usr/local/include/boost/asio/stream_socket_service.hpp:170
#4 0x000000000044826d in boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >::close (
this=<error reading variable: Could not find the frame base for "boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >::close()".>) at /usr/local/include/boost/asio/basic_socket.hpp:356
#5 0x0000000000436be4 in i2p::ntcp::NTCPSession::Terminate (
this=<error reading variable: Could not find the frame base for "i2p::ntcp::NTCPSession::Terminate()".>) at NTCPSession.cpp:52
#6 0x00000000004389cb in i2p::ntcp::NTCPSession::HandleReceived (
this=<error reading variable: Could not find the frame base for "i2p::ntcp::NTCPSession::HandleReceived(boost::system::error_code const&, unsigned long)".>,
ecode=<error reading variable: Could not find the frame base for "i2p::ntcp::NTCPSession::HandleReceived(boost::system::error_code---Type <return> to continue, or q <return> to quit---
const&, unsigned long)".>,
bytes_transferred=<error reading variable: Could not find the frame base for "i2p::ntcp::NTCPSession::HandleReceived(boost::system::error_code const&, unsigned long)".>) at NTCPSession.cpp:368
#7 0x0000000000453440 in boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>::operator()
(
this=<error reading variable: Could not find the frame base for "boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>::operator()(i2p::ntcp::NTCPSession*, boost::system::error_code const&, unsigned long) const".>,
p=<error reading variable: Could not find the frame base for "boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>::operator()(i2p::ntcp::NTCPSession*, boost::system::error_code const&, unsigned long) const".>,
a1=<error reading variable: Could not find the frame base for "boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>::operator()(i2p::ntcp::NTCPSession*, boost::system::error_code const&, unsigned long) const".>,
a2=<error reading variable: Could not find the frame base for "boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>::operator()(i2p::ntcp::NTCPSession*, boost::system::error_code const&, unsigned long) const".>)
at /usr/local/include/boost/bind/mem_fn_template.hpp:280
#8 0x0000000000451e14 in boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> > (
this=<error reading variable: Could not find the frame base for "boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>&, boost::_bi::list2<boost::system::error_code const&, unsigned long const&>&, int)".>,
f=<error reading variable: Could not find the frame base for "boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>&, boost::_bi::list2<boost::system::error_code const&, unsigned long const&>&, int)".>,
a=<error reading variable: Could not find the frame base for "boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>&, boost::_bi::list2<boost::system::error_code const&, unsigned long const&>&, int)".>) at /usr/local/include/boost/bind/bind.hpp:392
#9 0x000000000045008e in boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code, unsigned long> (
this=<error reading variable: Could not find the frame base for "boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&)".>,
a1=<error reading variable: Could not find the frame base for "boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSess---Type <return> to continue, or q <return> to quit---
ion, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&)".>,
a2=<error reading variable: Could not find the frame base for "boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&)".>) at /usr/local/include/boost/bind/bind_template.hpp:102
#10 0x0000000000456bc5 in boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>::operator() (
this=<error reading variable: Could not find the frame base for "boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>::operator()()".>)
at /usr/local/include/boost/asio/detail/bind_handler.hpp:127
#11 0x00000000004562c4 in boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> > (
function=<error reading variable: Could not find the frame base for "boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, ...)".>) at /usr/local/include/boost/asio/handler_invoke_hook.hpp:69
#12 0x00000000004551e1 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > (
function=<error reading variable: Could not find the frame base for "boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&)".>,
context=<error reading variable: Could not find the frame base for "boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, uns---Type <return> to continue, or q <return> to quit---
igned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&)".>)
at /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#13 0x0000000000453b7d in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::do_complete (
owner=<error reading variable: Could not find the frame base for "boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)".>,
base=<error reading variable: Could not find the frame base for "boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::ntcp::NTCPSession, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<i2p::ntcp::NTCPSession*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)".>)
at /usr/local/include/boost/asio/detail/reactive_socket_recv_op.hpp:110
#14 0x000000000043cf16 in boost::asio::detail::task_io_service_operation::complete (
this=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long)".>,
owner=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long)".>,
ec=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long)".>,
bytes_transferred=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long)".>)
at /usr/local/include/boost/asio/detail/task_io_service_operation.hpp:38
#15 0x0000000000463ab5 in boost::asio::detail::task_io_service::do_run_one (
this=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&)".>,
lock=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&)".>,
this_thread=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&)".>,
ec=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service::do_run_one(boost::asio::detai---Type <return> to continue, or q <return> to quit---
l::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&)".>) at /usr/local/include/boost/asio/detail/impl/task_io_service.ipp:384
#16 0x00000000004637f3 in boost::asio::detail::task_io_service::run (
this=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service::run(boost::system::error_code&)".>,
ec=<error reading variable: Could not find the frame base for "boost::asio::detail::task_io_service::run(boost::system::error_code&)".>) at /usr/local/include/boost/asio/detail/impl/task_io_service.ipp:153
#17 0x0000000000463d95 in boost::asio::io_service::run (
this=<error reading variable: Could not find the frame base for "boost::asio::io_service::run()".>)
at /usr/local/include/boost/asio/impl/io_service.ipp:59
#18 0x0000000000462295 in i2p::Transports::Run (
this=<error reading variable: Could not find the frame base for "i2p::Transports::Run()".>) at Transports.cpp:85
#19 0x000000000046a7b7 in std::_Mem_fn<void (i2p::Transports::*)()>::operator() (
this=<error reading variable: Could not find the frame base for "std::_Mem_fn<void (i2p::Transports::*)()>::operator()(i2p::Transports*) const".>,
__object=<error reading variable: Could not find the frame base for "std::_Mem_fn<void (i2p::Transports::*)()>::operator()(i2p::Transports*) const".>) at /usr/include/c++/4.7/functional:554
#20 0x000000000046a716 in std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (
this=<error reading variable: Could not find the frame base for "std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)".>,
__args=<error reading variable: Could not find the frame base for "std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)".>) at /usr/include/c++/4.7/functional:1156
#21 0x000000000046a688 in std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::operator()<, void>() (
this=<error reading variable: Could not find the frame base for "std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)>::operator()<, void>()".>) at /usr/include/c++/4.7/functional:1215
#22 0x000000000046a614 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()>::_M_invoke<>(std::_Index_tuple<>) (
this=<error reading variable: Could not find the frame base for "std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()>::_M_invoke<>(std::_Index_tuple<>)".>) at /usr/include/c++/4.7/functional:1598
#23 0x000000000046a561 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()>::operator()() (
this=<error reading variable: Could not find the frame base for "std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()>::operator()()".>) at /usr/include/c++/4.7/functional:1586
#24 0x000000000046a4dc in std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()> >::_M_run() (
this=<error reading variable: Could not find the frame base for "std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::Transports::*)()> (i2p::Transports*)> ()> >::_M_run()".>) at /usr/include/c++/4.7/thread:115
#25 0x00007ffff68cd9f0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#26 0x00007ffff6b25f8e in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#27 0x00007ffff6336a0d in clone () from /lib/x86_64-linux-gnu/libc.so.6
MacBook-Pro:i2pd Shift$ make -j 2
mkdir -p obj
g++ -o obj/i2p.o i2p.cpp -c -g -Wall -std=c++0x
g++ -o obj/base64.o base64.cpp -c -g -Wall -std=c++0x
g++ -o obj/NTCPSession.o NTCPSession.cpp -c -g -Wall -std=c++0x
NTCPSession.cpp:5:10: fatal error: 'cryptopp/dh.h' file not found
^
i2p.cpp:7:10: fatal error: 'cryptopp/integer.h' file not found
^
1 error generated.
make: *** [obj/NTCPSession.o] Error 1
make: *** Waiting for unfinished jobs....
1 error generated.
make: *** [obj/i2p.o] Error 1
~$ git clone https://github.com/PrivacySolutions/i2pd.git
Cloning into 'i2pd'...
remote: Counting objects: 5862, done.
remote: Compressing objects: 100% (117/117), done.
Receiving objects: 100% (5862/5862), 2.10 MiB | 1.23 MiB/s, done.
remote: Total 5862 (delta 59), reused 1 (delta 0)
Resolving deltas: 100% (4079/4079), done.
Checking connectivity... done.
~$ cd i2pd/
~/i2pd$ make
test -d obj || mkdir obj
g++ -g -Wall -fPIC -std=c++11 -c -o obj/AddressBook.o AddressBook.cpp
AddressBook.cpp:10:28: fatal error: cryptopp/osrng.h: No such file or directory
#include <cryptopp/osrng.h>
^
compilation terminated.
make: *** [obj/AddressBook.o] Error 1
uname -a
Linux cjdns.ru 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
I've been playing with the idea to have an script-able interface for statistics retrieval, triggers on i2p events and control of i2pd (for example beeing able to create client tunnels, keys, etc).
And my idea was to use mruby. Much because I don't program Lua, and it seems too big. mruby is really lightweight, but again strong because of the Ruby syntax. Do you have any opinions here? (Good idea/Waste of time?) It would ofc. be worked on in a own branch.
На хабре я опять read-only, поэтому спрошу здесь. Как работает HTTP over I2P, если в данных требуется содержать возвратный адрес. Машрутизатор инспектирует траффик(в прокси), и добавляет заголовок?
Streaming.cpp line 552
if (buf[9] == 6) // streaming protocol
Should support type 17 - Datagram as well
Add implement to pure telnet connections like irc plz :-)
....
22:57:22/info - DatabaseStore
22:57:22/info - RouterInfo
22:57:22/info - DatabaseStore
22:57:22/info - RouterInfo
22:57:22/info - RouterInfo updated
22:57:22/info - DatabaseStore
22:57:22/info - RouterInfo
22:57:22/info - RouterInfo updated
22:57:22/info - DatabaseStore
22:57:22/info - RouterInfo
22:57:22/info - RouterInfo updated
22:57:22/info - Phase 2 received: 304
22:57:22/info - Phase 3 sent: 448
22:57:22/info - Phase 4 received: 48
22:57:22/info - NTCP session connected
22:57:23/info - DatabaseStore
22:57:23/info - RouterInfo
22:57:23/info - RouterInfo updated
Bad header line: GET http://forum.rus.i2p/ HTTP/1.1
22:57:24/info - method is: GET
Request is: http://forum.rus.i2p/
22:57:24/info - server is: forum.rus.i2p port is: 80
path is: /
22:57:24/info - Requesting forum.rus.i2p:80 with path / and method GET
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe57fa700 (LWP 11740)]
__memcpy_sse2 () at ../sysdeps/x86_64/memcpy.S:272
272 rep
(gdb) bt
#0 __memcpy_sse2 () at ../sysdeps/x86_64/memcpy.S:272
#1 0x00000000004e1e49 in i2p::data::IdentityEx::FromBuffer (this=0x7fffe57f9100, buf=0x7fffe57f8ec0 "\020\217\177\345\377\177", len=18446744073709551615) at Identity.cpp:132
#2 0x00000000004e206d in i2p::data::IdentityEx::FromBase64 (this=0x7fffe57f9100,
s="CRayYfxrPBELUQ4tYi723g8atsyHwkR0--N8fXggNqJgHsnrKxle0ovH5qj6aqUGToay4ktJEz~opIV2lF605gdGE9rSrPONOU0v737~gzjmLpJoyW03yOhr6lGvTxTKWjgx5xRHctt11DEMlMufY4Q72~EZETE4k5E45V3YqSWGyYIzxdpzzw9zvMe9TaLZTs0ZYFgX"...) at Identity.cpp:159
#3 0x000000000052ee49 in i2p::client::AddressBook::LoadHosts (this=0x82a0e0 i2p::client::context+96) at AddressBook.cpp:122
#4 0x000000000052e85d in i2p::client::AddressBook::FindAddress (this=0x82a0e0 i2p::client::context+96, address="forum.rus.i2p") at AddressBook.cpp:48
#5 0x000000000052e7ee in i2p::client::AddressBook::GetIdentHash (this=0x82a0e0 i2p::client::context+96, address="forum.rus.i2p", ident=...) at AddressBook.cpp:34
#6 0x00000000004c6a4e in i2p::util::HTTPConnection::SendToAddress (this=0x7fffcc000960, address="forum.rus.i2p", port=80,
buf=0x7fffcc0009b8 "GET http://forum.rus.i2p/ HTTP/1.1\r\nHost: forum.rus.i2p\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9"..., len=387) at HTTPServer.cpp:854
#7 0x000000000052cf50 in i2p::proxy::HTTPProxyConnection::RunRequest (this=0x7fffcc000960) at HTTPProxy.cpp:82
#8 0x00000000004c46ca in i2p::util::HTTPConnection::HandleReceive (this=0x7fffcc000960, ecode=..., bytes_transferred=387) at HTTPServer.cpp:542
#9 0x00000000004ce178 in boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>::operator() (this=0x7fffe57f9a80, p=0x7fffcc000960, a1=..., a2=387)
at /usr/include/boost/bind/mem_fn_template.hpp:280
#10 0x00000000004d13b8 in boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()>::operator()<boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list2<boost::system::error_code const&, unsigned long const&> > (this=0x7fffe57f9a90, f=..., a=...) at /usr/include/boost/bind/bind.hpp:392
#11 0x00000000004d0e40 in boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()> >::operator()<boost::system::error_code, unsigned long> (this=0x7fffe57f9a80, a1=..., a2=@0x7fffe57f9aa8: 387) at /usr/include/boost/bind/bind_template.hpp:102
#12 0x00000000004d07d1 in boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long>::operator() (this=0x7fffe57f9a80)
at /usr/include/boost/asio/detail/bind_handler.hpp:118
#13 0x00000000004cfbd5 in boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long> > (function=...)
at /usr/include/boost/asio/handler_invoke_hook.hpp:64
#14 0x00000000004cef98 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()> > > (function=...,
context=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:39
#15 0x00000000004cdd9b in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, i2p::util::HTTPConnection, boost::system::error_code const&, unsigned long>, boost::bi::list3boost::bi::value<i2p::util::HTTPConnection*, boost::arg<1> ()(), boost::arg<2> ()()> > >::do_complete (owner=0x842030, base=0x844b40)
at /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110
#16 0x0000000000446160 in boost::asio::detail::task_io_service_operation::complete (this=0x844b40, owner=..., ec=..., bytes_transferred=0) at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37
#17 0x0000000000447b15 in boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x842030, base=0x7fffcc0008c0, ec=..., bytes_transferred=1)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:650
#18 0x0000000000446160 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffcc0008c0, owner=..., ec=..., bytes_transferred=1)
at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37
#19 0x0000000000474623 in boost::asio::detail::task_io_service::do_run_one (this=0x842030, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:412
#20 0x0000000000474379 in boost::asio::detail::task_io_service::run (this=0x842030, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153
#21 0x00000000004748e1 in boost::asio::io_service::run (this=0x8485e0) at /usr/include/boost/asio/impl/io_service.ipp:59
#22 0x00000000004c76e0 in i2p::util::HTTPServer::Run (this=0x8485d0) at HTTPServer.cpp:971
#23 0x00000000004d22f1 in std::_Mem_fn<void (i2p::util::HTTPServer::)()>::operator()<, void>(i2p::util::HTTPServer) const (this=0x846640, __object=0x8485d0) at /usr/include/c++/4.8.2/functional:601
#24 0x00000000004d2250 in std::_Bind<std::_Mem_fn<void (i2p::util::HTTPServer::)()> (i2p::util::HTTPServer)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x846640,
__args=<unknown type in /usr/local/sbin/i2p, CU 0x4354de, DIE 0x4b9722>) at /usr/include/c++/4.8.2/functional:1296
#25 0x00000000004d21c2 in std::_Bind<std::_Mem_fn<void (i2p::util::HTTPServer::)()> (i2p::util::HTTPServer)>::operator()<, void>() (this=0x846640) at /usr/include/c++/4.8.2/functional:1355
#26 0x00000000004d2154 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::util::HTTPServer::)()> (i2p::util::HTTPServer)> ()>::_M_invoke<>(std::_Index_tuple<>) (this=0x846640)
at /usr/include/c++/4.8.2/functional:1732
#27 0x00000000004d20a1 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::util::HTTPServer::)()> (i2p::util::HTTPServer)> ()>::operator()() (this=0x846640) at /usr/include/c++/4.8.2/functional:1720
#28 0x00000000004d203a in std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::util::HTTPServer::)()> (i2p::util::HTTPServer)> ()> >::_M_run() (this=0x846628)
at /usr/include/c++/4.8.2/thread:115
#29 0x00007ffff66afda0 in std::(anonymous namespace)::execute_native_thread_routine (__p=) at ../../../../../libstdc++-v3/src/c++11/thread.cc:84
#30 0x00007ffff6909df3 in start_thread (arg=0x7fffe57fa700) at pthread_create.c:308
#31 0x00007ffff5e1801d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb)
Differentiate "good" and "bad" routers
I'm running Win 7 and compiled i2pd with visual studio 2013 (vc120) x64 bit (crypto++ and boost are x64 too). When I start i2pd console window becomes very small for some reason and text in it is unreadable and console cannot be scrolled up/down with middle mouse or resized. After short while it crashes with this message: Access violation 0x5 at 0x18.
Below is the result of running i2pd in visual studio local debugger (other arguments yield same results)
Commit: 98e930b
debug arguments: --host=myipv6address --log=1 --service=0 --v6=1 --ircdest=irc.postman.i2p
Debug Output
7:38:21/info - Creating zero hops inbound tunnel...
7:38:21/info - Creating destination inbound tunnel...
7:38:21/info - I2NP msg received len=2657, type=23, msgID=0
7:38:21/info - VariableTunnelBuild
7:38:21/info - VariableTunnelBuild 5 records
7:38:21/info - Record 4 is ours
7:38:21/info - TransitTunnel gateway: 3496317626 created
7:38:21/info - I2NP msg received len=2657, type=23, msgID=368376533
7:38:21/info - VariableTunnelBuild
7:38:21/info - VariableTunnelBuild 5 records
7:38:21/info - VariableTunnelBuild reply for tunnel 679230028
7:38:21/info - TunnelBuildResponse 5 records.
7:38:21/info - Ret code=0
7:38:21/info - Inbound tunnel 679230028 has been created
7:38:21/info - I2NP msg received len=2657, type=23, msgID=1
7:38:21/info - VariableTunnelBuild
7:38:21/info - VariableTunnelBuild 5 records
7:38:21/info - Record 4 is ours
7:38:21/info - TransitTunnel endpoint: 1375811784 created
7:38:21/info - TunnelGateway
7:38:21/info - TunnelGateway of 2657 bytes for tunnel 3496317626. Msg type 24
7:38:21/info - TunnelData
7:38:21/info - TunnelData
7:38:21/info - TunnelData
Call Stack at crash
> i2pd_d.exe!boost::asio::use_service<boost::asio::stream_socket_service<boost::asio::ip::tcp> >(boost::asio::io_service & ios) Line 33 + 0x5 bytes C++
i2pd_d.exe!boost::asio::basic_io_object<boost::asio::stream_socket_service<boost::asio::ip::tcp>,1>::basic_io_object<boost::asio::stream_socket_service<boost::asio::ip::tcp>,1>(boost::asio::io_service & io_service) Line 184 + 0x44 bytes C++
i2pd_d.exe!boost::asio::basic_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> >::basic_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> >(boost::asio::io_service & io_service) Line 73 C++
i2pd_d.exe!boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> >::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> >(boost::asio::io_service & io_service) Line 75 C++
i2pd_d.exe!i2p::transport::NTCPSession::NTCPSession(i2p::transport::NTCPServer & server, std::shared_ptr<i2p::data::RouterInfo const > * in_RemoteRouter) Line 25 + 0x87 bytes C++
i2pd_d.exe!std::_Ref_count_obj<i2p::transport::NTCPSession>::_Ref_count_obj<i2p::transport::NTCPSession><i2p::transport::NTCPServer & __ptr64,std::shared_ptr<i2p::data::RouterInfo const > & __ptr64>() Line 932 + 0x79 bytes C++
i2pd_d.exe!std::make_shared<i2p::transport::NTCPSession,i2p::transport::NTCPServer & __ptr64,std::shared_ptr<i2p::data::RouterInfo const > & __ptr64>() Line 1003 + 0x51 bytes C++
i2pd_d.exe!i2p::transport::Transports::ConnectToPeer(const i2p::data::Tag<32> & ident, i2p::transport::Peer & peer) Line 224 + 0x34 bytes C++
i2pd_d.exe!i2p::transport::Transports::PostMessageA(const i2p::data::Tag<32> & ident, i2p::I2NPMessage * msg) Line 202 + 0x26 bytes C++
i2pd_d.exe!boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>::operator()(i2p::transport::Transports * p, const i2p::data::Tag<32> & a1, i2p::I2NPMessage * a2) Line 281 C++
i2pd_d.exe!boost::_bi::list3<boost::_bi::value<i2p::transport::Transports * __ptr64>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage * __ptr64> >::operator()<boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>,boost::_bi::list0>(boost::_bi::type<void> __formal, boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const &,i2p::I2NPMessage *> & f, boost::_bi::list0 & a, boost::_bi::type<void> __formal) Line 393 C++
i2pd_d.exe!boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports * __ptr64>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage * __ptr64> > >::operator()() Line 21 C++
i2pd_d.exe!boost::asio::asio_handler_invoke<boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports * __ptr64>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage * __ptr64> > > >(boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const &,i2p::I2NPMessage *>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports *>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage *> > > & function, ...) Line 70 C++
i2pd_d.exe!boost_asio_handler_invoke_helpers::invoke<boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports * __ptr64>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage * __ptr64> > >,boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports * __ptr64>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage * __ptr64> > > >(boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const &,i2p::I2NPMessage *>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports *>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage *> > > & function, boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const &,i2p::I2NPMessage *>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports *>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage *> > > & context) Line 39 C++
i2pd_d.exe!boost::asio::detail::completion_handler<boost::_bi::bind_t<void,boost::_mfi::mf2<void,i2p::transport::Transports,i2p::data::Tag<32> const & __ptr64,i2p::I2NPMessage * __ptr64>,boost::_bi::list3<boost::_bi::value<i2p::transport::Transports * __ptr64>,boost::_bi::value<i2p::data::Tag<32> >,boost::_bi::value<i2p::I2NPMessage * __ptr64> > > >::do_complete(boost::asio::detail::win_iocp_io_service * owner, boost::asio::detail::win_iocp_operation * base, const boost::system::error_code & __formal, const boost::system::error_code & __formal) Line 68 + 0xf bytes C++
i2pd_d.exe!boost::asio::detail::win_iocp_operation::complete(boost::asio::detail::win_iocp_io_service & owner, const boost::system::error_code & ec, unsigned __int64 bytes_transferred) Line 47 C++
i2pd_d.exe!boost::asio::detail::win_iocp_io_service::do_one(bool block, boost::system::error_code & ec) Line 406 C++
i2pd_d.exe!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec) Line 164 + 0x17 bytes C++
i2pd_d.exe!boost::asio::io_service::run() Line 59 + 0x13 bytes C++
i2pd_d.exe!i2p::transport::Transports::Run() Line 173 + 0x11 bytes C++
i2pd_d.exe!std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>::operator()(i2p::transport::Transports * _Pfnobj) Line 1231 C++
i2pd_d.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>,i2p::transport::Transports * __ptr64 const>::_Do_call<,0>(std::tuple<> * _Myfargs, std::_Arg_idx<0> __formal) Line 1150 C++
i2pd_d.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>,i2p::transport::Transports * __ptr64 const>::operator()<>() Line 1138 C++
i2pd_d.exe!std::_Bind<0,void,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>,i2p::transport::Transports * __ptr64 const> >::_Do_call<>(std::tuple<> * _Myfargs, std::_Arg_idx<> __formal) Line 1150 C++
i2pd_d.exe!std::_Bind<0,void,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>,i2p::transport::Transports * __ptr64 const> >::operator()<>() Line 1138 C++
i2pd_d.exe!std::_LaunchPad<std::_Bind<0,void,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>,i2p::transport::Transports * __ptr64 const> > >::_Run(std::_LaunchPad<std::_Bind<0,void,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void),void,i2p::transport::Transports>,i2p::transport::Transports * const> > > * _Ln) Line 196 C++
i2pd_d.exe!std::_LaunchPad<std::_Bind<0,void,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl i2p::transport::Transports::*)(void) __ptr64,void,i2p::transport::Transports>,i2p::transport::Transports * __ptr64 const> > >::_Go() Line 188 C++
i2pd_d.exe!_Call_func(void * _Data) Line 28 + 0xf bytes C++
i2pd_d.exe!_callthreadstartex() Line 376 + 0x17 bytes C
i2pd_d.exe!_threadstartex(void * ptd) Line 359 C
kernel32.dll!BaseThreadInitThunk() + 0xd bytes
ntdll.dll!RtlUserThreadStart() + 0x21 bytes
Считаю, что буст следует заменить на С++11 везде, где возможно.
If hosts.txt is not presented in .i2pd directory, it should be downloaded from
http://i2p-projekt.i2p/hosts.txt (http://udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna.b32.i2p/hosts.txt)
Base32 address doesn't require hosts.txt.
Собрал исходники с помощью Visual Studio 2013. Вроде бы компилируется, запускается, но есть проблемы. При первом запуске создает два файла router.info и router.keys (в них какая-то каша). Виндовский фаервол спросил разрешить или нет, видимо сервер открыл порт.
Пишет такой лог:
netDb doesn't exist
Start listening port 17007
Creating zero hops inbound tunnel...
I2NP msg received len=545, type=23, msgID=0
VariableTunnelBuild
VariableTunnelBuild 1 records
Record 0 is ours
TransitTunnel gateway: 1736841068 created
I2NP msg received len=545, type=23, msgID=555
VariableTunnelBuild
VariableTunnelBuild 1 records
VariableTunnelBuild reply for tunnel 1847386387
TunnelBuildResponse 1 records.
Ret code=0
Inbound tunnel 1847386387 has been created
I2NP msg received len=545, type=23, msgID=1
VariableTunnelBuild
VariableTunnelBuild 1 records
Record 0 is ours
TransitTunnel endp
и падает в void Tunnel::Build (uint32_t replyMsgID, OutboundTunnel * outboundTunnel) в этой точке:
EncryptBuildRequestRecord (*hop->router,
CreateBuildRequestRecord (hop->router->GetIdentHash (),
...
При последующих запусках не может распарсить router.info и соответственно вылетает.
При компиляции был собран boost 1.55 и crypto++ 5.6.2 и возникли следующие проблемы:
Компилятор vs2013 пока не умеет спецификаторы default, но, к счастью, их всего несколько. В коде эти конструкторы не использовались, поэтому большую часть просто закомментил (классы IdentHash и RouterInfo).
В винде нету endian.h, использовал такую версию https://gist.github.com/panzi/6856583
тип ssize_t отсутствует, не разбирался пока, просто убрал одну s)
Отсутствует gmtime_r. Пока оставил так:
#ifdef _WIN32
gmtime_s(&tm, &t);
#else
gmtime_r(&t, &tm);
#endif
Под линуксом не собирал, думаю стоит поставить линукс и искать 10 отличий)
Очень бы хотелось иметь кросплатформенные исходники и собирать проект родным компилятором под виндой.
in function i2p::util::net::GetSSU
TunnelGateway.cpp line 140
memset (buf + 24, 1, paddingSize);
This buffer must be filled with random non-zero bytes.
Due non-zero requirement, we can't use random data generator in place, so it must be prepared somewhere else.
За натом находится выделенный роутер, "listening TCP port" проброшен наружу
При попытке http://igw:7070/4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
LeaseSet not found
в логе
Logging to file /root/.i2pd/debug.log enabled.
CMD parameters:
0 ./i2p
1 --host=88.xx.xx.xxx
2 --help
HTTPServer started
Unexpected address i2p.chaotique.fr
Unexpected address dyn.interpano360.de
Unexpected address dyn.interpano360.de
Unexpected address raddatz.no-ip.org
Unexpected address raddatz.no-ip.org
Unexpected address anthila.dyndns.org
Unexpected address anthila.dyndns.org
Unexpected address aracool.dd-dns.de
Unexpected address aracool.dd-dns.de
Unexpected address voodoo.b0ne.com
Unexpected address stargrave.org
Unexpected address chinkov.net
Unexpected address home.fmy.be
Unexpected address zion.uk.to
Unexpected address zion.uk.to
Unexpected address cellarnet.co.uk
Unexpected address cellarnet.co.uk
Unexpected address uriel-fanelli.no-ip.org
Unexpected address uriel-fanelli.no-ip.org
1500 routers loaded
449 floodfills loaded
NetDB started
Start listening UDP port 17007
Creating new SSU session to [Ye~y] 151.24.39.120:22355
SSU sent 304 bytes
Creating new SSU session to [ufHN] 67.250.249.233:9179
SSU sent 304 bytes
Creating new SSU session to [w2nA] through introducer 92.53.64.137:9751
New session to introducer created
SSU sent 96 bytes
Creating new SSU session to [txR1] through introducer 77.125.156.209:24768
New session to introducer created
SSU sent 96 bytes
Creating new SSU session to [tCrN] 24.140.131.110:13550
SSU sent 304 bytes
Start listening TCP port 17007
Transports started
Tunnels started
Routing started
Streaming started
Proxy started
SSU session was not established after 5 second
SSU session was not established after 5 second
SSU session was not established after 5 second
SSU session was not established after 5 second
SSU session was not established after 5 second
SSU session was not established after 5 second
SSU session was not established after 5 second
LeaseSet requested
No outbound tunnels found
Invalid Base32 address favicon.ico
latest commit 692cde5, CentOS7
большое количество
close: Bad file descriptor при выходе.
А когда я стал запускать под strace, чтобы посмотреть, не были ли они уже закрыты ранее,
стабильно получается AssertionFailed, описанный в #111
...
23:25:48/info - DatabaseStore
23:25:48/info - RouterInfo
23:25:48/info - RouterInfo updated
23:25:48/info - Phase 4 received: 48
23:25:48/info - NTCP session connected
23:25:48/info - DatabaseStore
23:25:48/info - RouterInfo
23:25:48/info - RouterInfo updated
23:25:49/info - SSU session was not established after 5 second
^C
23:25:55/info - Shutdown started.
23:25:55/info - HTTP Proxy stoped
23:25:55/info - SOCKS Proxy stoped
23:25:55/info - Client stoped
23:25:55/info - Tunnels stoped
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/debug - SSU session destroyed sent
23:25:55/info - Connect error: Operation canceled
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Connect error: Operation canceled
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Phase 4 read error: Operation canceled
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Read error: Operation canceled
23:25:55/info - Transports: close: Bad file descriptor
23:25:55/info - Transports stoped
23:25:55/info - NetDB stoped
Tried to find exception, or error handling in CryptoPP. No luck.
Maybe verify data before Verifier::VerifyMessage ?
GDB backtrace.
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a4efe0 in CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long) () from /usr/lib/libcrypto++.so.9
(gdb) bt
#0 0x00007ffff7a4efe0 in CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long) () from /usr/lib/libcrypto++.so.9
#1 0x00007ffff7a4f83c in CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long) () from /usr/lib/libcrypto++.so.9
#2 0x000000000043b990 in CryptoPP::PK_MessageAccumulatorBase::Update (this=0x76c4a0, input=0x76b0f0 "", length=18446744073709551576)
at /usr/include/cryptopp/pubkey.h:292
#3 0x00007ffff799ce2c in CryptoPP::PK_Verifier::VerifyMessage(unsigned char const*, unsigned long, unsigned char const*, unsigned long) const () from /usr/lib/libcrypto++.so.9
#4 0x000000000045c3fc in i2p::data::RouterInfo::ReadFromBuffer (this=0x76aef0) at RouterInfo.cpp:74
#5 0x000000000045c192 in i2p::data::RouterInfo::ReadFromFile (this=0x76aef0,
filename=0x754898 "/home/meeh/.i2pd/netDb/rt/routerInfo-tNtnzINKGef6lVhj0BlM-t8-~8iW6~g249w7~KwJegQ=.dat") at RouterInfo.cpp:54
#6 0x000000000045be68 in i2p::data::RouterInfo::RouterInfo (this=0x76aef0,
filename=0x754898 "/home/meeh/.i2pd/netDb/rt/routerInfo-tNtnzINKGef6lVhj0BlM-t8-~8iW6~g249w7~KwJegQ=.dat") at RouterInfo.cpp:23
#7 0x000000000046fea9 in i2p::data::NetDb::Load (this=0x74b4e0 <i2p::data::netdb>,
directory=0x4d6bf0 <i2p::data::NetDb::m_NetDbPath> "/netDb") at NetDb.cpp:243
#8 0x000000000046f2e0 in i2p::data::NetDb::Start (this=0x74b4e0 <i2p::data::netdb>) at NetDb.cpp:69
#9 0x0000000000433d3b in main (argc=1, argv=0x7fffffffe028) at i2p.cpp:42
(gdb) f
#0 0x00007ffff7a4efe0 in CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long) () from /usr/lib/libcrypto++.so.9
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.