Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add preferrence ipv6/ipv4 switch for dht connection |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e961e252cc6d3378ab16576d1dc50315 |
User & Date: | bernd 2019-08-21 20:04:30.647 |
Context
2019-08-21
| ||
21:01 | Test otrify, works check-in: 901360a4c6 user: bernd tags: trunk | |
20:04 | Add preferrence ipv6/ipv4 switch for dht connection check-in: e961e252cc user: bernd tags: trunk | |
2019-08-20
| ||
12:49 | Fix chat lock with GUI check-in: b463747f63 user: bernd tags: trunk | |
Changes
Changes to addr.fs.
︙ | ︙ | |||
42 43 44 45 46 47 48 | 64>n dup host:portv4 w! host:portv6 w! ; +net2o: addr-route ( $:net2o -- ) \g net2o routing part $> host:route $! ; +net2o: addr-key ( $:addr -- ) \g key for connection setup $> host:key sec! ; +net2o: addr-revoke ( $:revoke -- ) \g revocation info $> host:revoke $! ; | | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 64>n dup host:portv4 w! host:portv6 w! ; +net2o: addr-route ( $:net2o -- ) \g net2o routing part $> host:route $! ; +net2o: addr-key ( $:addr -- ) \g key for connection setup $> host:key sec! ; +net2o: addr-revoke ( $:revoke -- ) \g revocation info $> host:revoke $! ; +net2o: addr-ekey ( $:ekey -- ) \g ephemeral key $> host:ekey $! ; }scope address-table $save ' context-table is gen-table : $[]o-map { addr xt -- } \G execute @var{xt} for all elements of the object array @var{addr}. |
︙ | ︙ | |||
84 85 86 87 88 89 90 | host:portv4 w@ ulit, addr-port ELSE host:portv4 w@ ?dup-IF ulit, addr-portv4 THEN host:portv6 w@ ?dup-IF ulit, addr-portv6 THEN THEN host:route $@ dup IF $, addr-route ELSE 2drop THEN host:key sec@ dup IF sec$, addr-key ELSE 2drop THEN | | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | host:portv4 w@ ulit, addr-port ELSE host:portv4 w@ ?dup-IF ulit, addr-portv4 THEN host:portv6 w@ ?dup-IF ulit, addr-portv6 THEN THEN host:route $@ dup IF $, addr-route ELSE 2drop THEN host:key sec@ dup IF sec$, addr-key ELSE 2drop THEN host:ekey $@ dup IF $, addr-ekey ELSE 2drop THEN host:revoke $@ dup IF $, addr-revoke ELSE 2drop THEN o> ; previous : o>addr ( o -- addr u ) cmdbuf-o @ >r code-buf$ cmdreset o-genaddr cmdbuf$ r> cmdbuf-o ! ; : .addr ( o -- ) \G print addr >o |
︙ | ︙ | |||
125 126 127 128 129 130 131 | : addr>4sock ( -- ) host:key @ dest-0key< ! host:portv4 w@ sockaddr1 port be-w! host:ipv4 be-ul@ sockaddr1 ipv4! host:route $@ !temp-addr ; | | > > | | | > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | : addr>4sock ( -- ) host:key @ dest-0key< ! host:portv4 w@ sockaddr1 port be-w! host:ipv4 be-ul@ sockaddr1 ipv4! host:route $@ !temp-addr ; : addr>sock6 { xt -- } ipv6( host:ipv6 ip6? IF addr>6sock o o> >r xt execute r> >o THEN ) ; : addr>sock4 { xt -- } ipv4( host:ipv4 be-ul@ IF addr>4sock o o> >r xt execute r> >o THEN ) ; : addr>sock ( o xt -- ) { xt } >o ipv64( xt addr>sock6 xt addr>sock4 )else( xt addr>sock4 xt addr>sock6 ) o> ; : +my-id ( -- ) config:prio# @ host:pri# ! host$ $@ host:id $! my-0key @ IF my-0key sec@ host:key sec! THEN ; : +my-addrs ( port o:addr -- ) |
︙ | ︙ | |||
160 161 162 163 164 165 166 | my-addr$ $[]free pub-addr$ $[]free priv-addr$ $[]free ; : !my-addr$ ( -- ) my-key-default 0= ?EXIT now>never my-addr[] [: | | > > | | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | my-addr$ $[]free pub-addr$ $[]free priv-addr$ $[]free ; : !my-addr$ ( -- ) my-key-default 0= ?EXIT now>never my-addr[] [: nat( ." insert into my-addr$: " dup .addr forth:cr ) dup .host:ekey-to 64@ 64dup 64-0= n>64 64+ sigdate 64'+ le-64! o>addr gen-host my-addr$ $ins[]sig drop ;] $[]o-map ; : .my-addrs ( -- ) my-addr[] [: .addr cr ;] $[]o-map ; : .my-addr$s ( -- ) my-addr$ [: sigsize# - .addr$ cr ;] $[]map ; : .pub-addr$s ( -- ) pub-addr$ [: sigsize# - .addr$ cr ;] $[]map ; |
︙ | ︙ |
Changes to debugging.fs.
︙ | ︙ | |||
50 51 52 53 54 55 56 57 58 59 60 61 62 63 | debug: file( \ file read/write debugging debug: file1( \ simple file read/write debugging debug: nat( \ NAT traversal stuff debug: netlink( \ Netlink changes debug: route( \ do routing debug: ipv6( \ use ipv6 debug: ipv4( \ use ipv4 debug: request( \ track requests debug: beacon( \ debug sending beacons debug: invalid( \ print invalid packets debug: regen( \ regenerate keys debug: recvfrom( debug: sendto( debug: avalanche( \ distribution tree | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | debug: file( \ file read/write debugging debug: file1( \ simple file read/write debugging debug: nat( \ NAT traversal stuff debug: netlink( \ Netlink changes debug: route( \ do routing debug: ipv6( \ use ipv6 debug: ipv4( \ use ipv4 debug: ipv64( \ prefer ipv4 over 6 debug: request( \ track requests debug: beacon( \ debug sending beacons debug: invalid( \ print invalid packets debug: regen( \ regenerate keys debug: recvfrom( debug: sendto( debug: avalanche( \ distribution tree |
︙ | ︙ | |||
83 84 85 86 87 88 89 90 91 92 93 94 95 96 | debug: unhandled( \ unhandled commands debug: syncfile( \ synchronous file operations debug: newvault( \ new style vault keys -db profile( \ don't profile by default ) +db ipv6( \ ipv6 should be on by default ) +db ipv4( \ ipv4 should be on by default ) -db newvault( \ new vault disabled for now ) +db syncfile( \ disable async file operations for now ) \ key debugging task : toggle ( addr -- ) dup @ 0= swap ! ; | > | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | debug: unhandled( \ unhandled commands debug: syncfile( \ synchronous file operations debug: newvault( \ new style vault keys -db profile( \ don't profile by default ) +db ipv6( \ ipv6 should be on by default ) +db ipv4( \ ipv4 should be on by default ) +db ipv64( \ ipv6 over 4 -db newvault( \ new vault disabled for now ) +db syncfile( \ disable async file operations for now ) \ key debugging task : toggle ( addr -- ) dup @ 0= swap ! ; |
︙ | ︙ |
Changes to net2o.fs.
︙ | ︙ | |||
1054 1055 1056 1057 1058 1059 1060 | }scope : send-dX ( addr n -- ) +sendX2 over data-map .mapc:resend#+ set-dest# >send ack@ .bandwidth+ send-data-packet ; | | | 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 | }scope : send-dX ( addr n -- ) +sendX2 over data-map .mapc:resend#+ set-dest# >send ack@ .bandwidth+ send-data-packet ; Forward addr>sock \ uses locals Forward punch-reply Forward new-addr : send-punch ( addr u -- addr u ) check-addr1 0= IF 2drop EXIT THEN temp-addr ret-addr $10 move insert-address ret-addr ins-dest |
︙ | ︙ |
Changes to wiki/commands.md.
1 2 | # Commands # | | | 1 2 3 4 5 6 7 8 9 10 | # Commands # Version 0.9.0-20190801. net2o separates data and commands. Data is passed through to higher layers, commands are interpreted when they arrive. For connection requests, a special bit is set, and the address then isn't used as address, but as IV for the opportunistic encoding. The command interpreter is a stack machine with two data types: 64 |
︙ | ︙ | |||
306 307 308 309 310 311 312 | ip port, both protocols * $19 addr-route ( $:net2o -- ) net2o routing part * $1A addr-key ( $:addr -- ) key for connection setup * $1B addr-revoke ( $:revoke -- ) revocation info | | | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | ip port, both protocols * $19 addr-route ( $:net2o -- ) net2o routing part * $1A addr-key ( $:addr -- ) key for connection setup * $1B addr-revoke ( $:revoke -- ) revocation info * $1C addr-ekey ( $:ekey -- ) ephemeral key ### dht commands ### * $33 dht-id ( $:string -- o:o ) set DHT id for further operations on it * $20 dht-host+ ( $:string -- ) |
︙ | ︙ |