Check-in [16ee7bd49e]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix xlat464 initialization problem
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 16ee7bd49eef71527c8152d104f616d159bcdd18
User & Date: bernd 2020-02-02 16:02:48
Context
2020-02-03
17:06
minimum blocksize check-in: e4211e87dc user: bernd tags: trunk
2020-02-02
16:02
Fix xlat464 initialization problem check-in: 16ee7bd49e user: bernd tags: trunk
2020-01-31
23:24
More fixes check-in: 1a894f33cb user: bernd tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ip.fs.

81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
: .ip6w ( addr len -- addr' len' )
    over be-uw@ [: ?dup-IF 0 .r ip6:# off  ELSE  1 ip6:# +! THEN ;] $10 base-execute
    2 /string ;

: .ip6a ( addr len -- addr' len' )
    2dup fake-ip4 12 string-prefix? IF  12 /string .ip4a  EXIT  THEN
    -1 ip6:# !
    '[' 8 0 DO  ip6:# @ 2 < IF  emit  ELSE drop  THEN .ip6w ':'  LOOP
    drop ." ]" ;
: .ip6 ( addr len -- )
    .ip6a .port .net2o ;

: .ip64 ( addr len -- )
    over $10 ip6::0 over str= IF  16 /string  ELSE  .ip6a  THEN
    over   4 ip6::0 over str= IF  4 /string   ELSE  .ip4a  THEN







|







81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
: .ip6w ( addr len -- addr' len' )
    over be-uw@ [: ?dup-IF 0 .r ip6:# off  ELSE  1 ip6:# +! THEN ;] $10 base-execute
    2 /string ;

: .ip6a ( addr len -- addr' len' )
    2dup fake-ip4 12 string-prefix? IF  12 /string .ip4a  EXIT  THEN
    -1 ip6:# !
    '[' over 2/ 0 DO  ip6:# @ 2 < IF  emit  ELSE drop  THEN .ip6w ':'  LOOP
    drop ." ]" ;
: .ip6 ( addr len -- )
    .ip6a .port .net2o ;

: .ip64 ( addr len -- )
    over $10 ip6::0 over str= IF  16 /string  ELSE  .ip6a  THEN
    over   4 ip6::0 over str= IF  4 /string   ELSE  .ip4a  THEN

Changes to socks.fs.

175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
: dns64? ( -- flag )
    net2o-ipv4 $@ net2o-port get-info info@
    sockaddr_in6 = over family w@ AF_INET6 = and dup IF
	[: ." xlat464 discovered" cr ;] do-debug
	swap sin6_addr dup $C nat64-ip4 over str= IF
	    drop \ normal nat64-ip4 prefix
	ELSE
	    [: ." unusual xlat464 prefix: " dup $C .ip6a cr ;] do-debug
	    nat64-ip4 $C move \ update nat64-ip4 prefix
	THEN
    ELSE  nip  THEN ;

\ route an incoming packet

: >rpath-len ( rpath -- rpath len )







|







175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
: dns64? ( -- flag )
    net2o-ipv4 $@ net2o-port get-info info@
    sockaddr_in6 = over family w@ AF_INET6 = and dup IF
	[: ." xlat464 discovered" cr ;] do-debug
	swap sin6_addr dup $C nat64-ip4 over str= IF
	    drop \ normal nat64-ip4 prefix
	ELSE
	    [: ." unusual xlat464 prefix: " dup $C .ip6a 2drop cr ;] do-debug
	    nat64-ip4 $C move \ update nat64-ip4 prefix
	THEN
    ELSE  nip  THEN ;

\ route an incoming packet

: >rpath-len ( rpath -- rpath len )