From a76977af62010a392c16010c367185e61e856ffe Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 30 Oct 2019 20:04:56 +0100 Subject: mv to docs --- j1demo/firmware/dns.fs | 81 -------------------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 j1demo/firmware/dns.fs (limited to 'j1demo/firmware/dns.fs') diff --git a/j1demo/firmware/dns.fs b/j1demo/firmware/dns.fs deleted file mode 100644 index 96ec36c..0000000 --- a/j1demo/firmware/dns.fs +++ /dev/null @@ -1,81 +0,0 @@ -( DNS JCB 19:44 11/27/10) -module[ dns" - -: ip-dns@ ip-dns 2@ ; - -\ ( offset -- offset' ) advance pointer past DNS label -\ 0 means end -\ >h# c0 means ptr to end -\ N means word of N bytes - -: dns-skiplabel - begin - dup 1+ swap mac-inoffset macc@ \ offset+1 v - dup 0= if - drop exit - then - dup h# c0 >= if - drop 1+ exit - then - + - again -; - -\ Query DNS. xt is a word that appends domainname to packet. id is DNS -\ id field, used to route responses. - -: dns-query ( xt id -- ) - >r - \ dst-port src-port dst-ip src-ip *ethaddr - d# 53 d# 31947 - ip-dns@ - net-my-ip - ip-dns@ arp-lookup - udp-header - r> \ IDENTIFICATION - h# 0100 \ FLAGS - d# 1 \ NOQ - mac-pkt-3, - d# 3 mac-pkt-,0 - - execute - - d# 1 \ query type A - dup \ query class internet - mac-pkt-2, - udp-wrapup - - ip-dns@ arp-lookup if - mac-send - then -; - -: dns-handler ( srcport dstport -- 0 / ip. id 1 ) - d# 53 d# 31947 d= - OFFSET_DNS_FLAGS packet@ 0< and - OFFSET_DNS_NOA packet@ 0<> and - if - OFFSET_DNS_QUERY - dns-skiplabel - d# 4 + - dns-skiplabel - d# 10 + - mac-inoffset d# 2 swap mac@n - OFFSET_DNS_IDENTIFICATION packet@ - d# 1 - else - d# 0 - then -; - -: dns-appendname ( str -- ) - dup mac-pkt-c, - mac-pkt-s, -; - -: dns-append.com ( str -- ) - dns-appendname - s" com" dns-appendname - d# 0 mac-pkt-c, -; -]module -- cgit v1.2.3