[ZBXNEXT-689] ability to choose tcp or udp for dns items Created: 2011 Mar 04  Updated: 2017 May 31  Resolved: 2014 Oct 13

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: 2.5.0

Type: Change Request Priority: Major
Reporter: richlv Assignee: Unassigned
Resolution: Fixed Votes: 2
Labels: dns, trivial
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

currently zabbix dns items always use udp. it would be useful to specify either udp or tcp.



 Comments   
Comment by Andris Zeila [ 2014 Sep 30 ]

Fixed in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-689

Comment by Andris Zeila [ 2014 Sep 30 ]

(1) Documentation updates:

asaveljevs In the first link, it should say which version <protocol> parameter is supported from. REOPENED.

wiper Thanks, RESOLVED

asaveljevs CLOSED.

Comment by Aleksandrs Saveljevs [ 2014 Oct 09 ]

(2) r49701 rewrites dealing with the new sixth parameter in the same way as for other parameters. Please take a look.

wiper CLOSED

Comment by Aleksandrs Saveljevs [ 2014 Oct 09 ]

(3) If "tcp" is present, we do this:

+	if (0 != use_tcp)
+		_res.options |= RES_USEVC;

However, this has the same problem as ZBX-7648: once a DNS query is done over TCP, all following queries will also be done via TCP.

So _res.options should be restored after the query, same as it is done with _res.retrans and _res.retry.

wiper RESOLVED in r49721

asaveljevs If DNS server IP is invalid, then _res.options is not restored. REOPENED.

asaveljevs I would propose to move the setting of _res.options lower, to the same place where _res.retrans and _res.retry are set.

wiper RESOLVED in r49800

asaveljevs CLOSED

Comment by Aleksandrs Saveljevs [ 2014 Oct 09 ]

(5) frontends/php/include/classes/items/CHelpItems.php should be updated.

wiper RESOLVED in r49722

asaveljevs CLOSED.

Comment by Aleksandrs Saveljevs [ 2014 Oct 13 ]

(6) On Linux, _res.options is of type "u_long":

struct __res_state {
	int	retrans;		/* retransmition time interval */
	int	retry;			/* number of times to retransmit */
	u_long	options;		/* option flags - see below. */
	int	nscount;		/* number of name servers */
	...

We might wish to make "saved_options" variable to be of the same type.

wiper RESOLVED in r49804

asaveljevs CLOSED

Comment by Andris Zeila [ 2014 Oct 13 ]

Released in:

  • pre-2.5.0 r49812
Generated at Thu Apr 25 14:15:49 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.