mirror of
https://github.com/bobbimanners/emailler.git
synced 2025-03-03 07:29:58 +00:00
Fixed error value.
So far the error value was set to KPR_ERROR_TIMEOUT_ON_RECEIVE on negative answer from the DNS server. Now KPR_ERROR_DNS_LOOKUP_FAILED (which was already defined) is set.
This commit is contained in:
parent
1a5bd8c7e5
commit
e3b941008c
35
ip65/dns.s
35
ip65/dns.s
@ -13,7 +13,6 @@ MAX_DNS_MESSAGES_SENT = 8 ; timeout after sending 8 messages will be about
|
|||||||
.export dns_set_hostname
|
.export dns_set_hostname
|
||||||
.export dns_resolve
|
.export dns_resolve
|
||||||
.export dns_ip
|
.export dns_ip
|
||||||
.export dns_status
|
|
||||||
.export dns_hostname_is_dotted_quad
|
.export dns_hostname_is_dotted_quad
|
||||||
.import ip65_error
|
.import ip65_error
|
||||||
.import cfg_dns
|
.import cfg_dns
|
||||||
@ -79,7 +78,6 @@ dns_state: .res 1 ; flag indicating the current stage in the dns r
|
|||||||
dns_timer: .res 1
|
dns_timer: .res 1
|
||||||
dns_loop_count: .res 1
|
dns_loop_count: .res 1
|
||||||
dns_break_polling_loop: .res 1
|
dns_break_polling_loop: .res 1
|
||||||
dns_status: .res 2 ; for debugging purposes only (behaviour not garuanteed)
|
|
||||||
|
|
||||||
hostname_copied: .res 1
|
hostname_copied: .res 1
|
||||||
|
|
||||||
@ -246,20 +244,25 @@ dns_resolve:
|
|||||||
bpl @too_many_messages_sent
|
bpl @too_many_messages_sent
|
||||||
jmp @dns_polling_loop
|
jmp @dns_polling_loop
|
||||||
|
|
||||||
@complete:
|
|
||||||
lda #53
|
|
||||||
ldx dns_client_port_low_byte
|
|
||||||
jsr udp_remove_listener
|
|
||||||
rts
|
|
||||||
|
|
||||||
@too_many_messages_sent:
|
@too_many_messages_sent:
|
||||||
@failed:
|
|
||||||
lda #53
|
|
||||||
ldx dns_client_port_low_byte
|
|
||||||
jsr udp_remove_listener
|
|
||||||
lda #KPR_ERROR_TIMEOUT_ON_RECEIVE
|
lda #KPR_ERROR_TIMEOUT_ON_RECEIVE
|
||||||
|
bne @error ; always
|
||||||
|
|
||||||
|
@failed:
|
||||||
|
lda #KPR_ERROR_DNS_LOOKUP_FAILED
|
||||||
|
@error:
|
||||||
sta ip65_error
|
sta ip65_error
|
||||||
sec ; signal an error
|
sec ; signal an error
|
||||||
|
bcs @done ; always
|
||||||
|
|
||||||
|
@complete:
|
||||||
|
clc ; signal success
|
||||||
|
@done:
|
||||||
|
php
|
||||||
|
lda #53
|
||||||
|
ldx dns_client_port_low_byte
|
||||||
|
jsr udp_remove_listener
|
||||||
|
plp
|
||||||
rts
|
rts
|
||||||
|
|
||||||
send_dns_query:
|
send_dns_query:
|
||||||
@ -331,8 +334,6 @@ dns_in:
|
|||||||
cmp #0
|
cmp #0
|
||||||
beq @not_an_error_response
|
beq @not_an_error_response
|
||||||
|
|
||||||
sta dns_status ; anything non-zero is a permanent error (invalid domain, server doesn't support recursion etc)
|
|
||||||
sta dns_status+1
|
|
||||||
lda #dns_failed
|
lda #dns_failed
|
||||||
sta dns_state
|
sta dns_state
|
||||||
rts
|
rts
|
||||||
@ -399,10 +400,6 @@ dns_in:
|
|||||||
@last_byte_of_cname:
|
@last_byte_of_cname:
|
||||||
sta dns_packed_hostname,y
|
sta dns_packed_hostname,y
|
||||||
|
|
||||||
lda #$ff ; set a status marker so we know whats going on
|
|
||||||
sta dns_status
|
|
||||||
stx dns_status+1
|
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta dns_break_polling_loop
|
sta dns_break_polling_loop
|
||||||
rts ; finished processing - the main dns polling loop should now resend a query, this time for the hostname from the CNAME record
|
rts ; finished processing - the main dns polling loop should now resend a query, this time for the hostname from the CNAME record
|
||||||
@ -440,8 +437,6 @@ dns_in:
|
|||||||
sta dns_break_polling_loop
|
sta dns_break_polling_loop
|
||||||
|
|
||||||
@error_in_response:
|
@error_in_response:
|
||||||
sta dns_status
|
|
||||||
stx dns_status+1
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user