gets value from cache for the corresponding entry * Params : * name - what is wished to be resolved - binary IP for PTR and strings for other queries * r_type - type of DNS query * name_len - only used in case of PTR */
| 739 | * name_len - only used in case of PTR |
| 740 | */ |
| 741 | int get_dnscache_strvalue(char *name,int r_type,int name_len,str *res) |
| 742 | { |
| 743 | str key; |
| 744 | |
| 745 | /* generate key */ |
| 746 | key.s=create_keyname_for_record(name,r_type,name_len,&key.len); |
| 747 | if (key.s == NULL) { |
| 748 | LM_ERR("failed to create key\n"); |
| 749 | return -1; |
| 750 | } |
| 751 | |
| 752 | LM_DBG("gen key [%.*s]\n",key.len,key.s); |
| 753 | |
| 754 | /* fetch from backend */ |
| 755 | if (cdbf.get(cdbc, &key, res) < 0) { |
| 756 | LM_DBG("cannot retrieve key\n"); |
| 757 | return -1; |
| 758 | } |
| 759 | |
| 760 | return 0; |
| 761 | } |
| 762 | |
| 763 | #define FAILURE_MARKER_CHAR '|' |
| 764 | #define FAILURE_MARKER "|" |
no test coverage detected