瀏覽代碼

dns: fixed missing sctp SRV queries

- support for sctp SRV queries was missing
Andrei Pelinescu-Onciul 17 年之前
父節點
當前提交
887ca9955a
共有 2 個文件被更改,包括 8 次插入0 次删除
  1. 3 0
      config.h
  2. 5 0
      resolve.c

+ 3 - 0
config.h

@@ -126,6 +126,9 @@
 #define SRV_TLS_PREFIX "_sips._tcp."
 #define SRV_TLS_PREFIX "_sips._tcp."
 #define SRV_TLS_PREFIX_LEN (sizeof(SRV_TLS_PREFIX) - 1)
 #define SRV_TLS_PREFIX_LEN (sizeof(SRV_TLS_PREFIX) - 1)
 
 
+#define SRV_SCTP_PREFIX "_sip._sctp."
+#define SRV_SCTP_PREFIX_LEN (sizeof(SRV_SCTP_PREFIX) - 1)
+
 #define SRV_MAX_PREFIX_LEN SRV_TLS_PREFIX_LEN
 #define SRV_MAX_PREFIX_LEN SRV_TLS_PREFIX_LEN
 
 
 /*used only if PKG_MALLOC is defined*/
 /*used only if PKG_MALLOC is defined*/

+ 5 - 0
resolve.c

@@ -1019,6 +1019,11 @@ struct hostent* srv_sip_resolvehost(str* name, int zt, unsigned short* port,
 					memcpy(tmp+SRV_TLS_PREFIX_LEN, name->s, name->len);
 					memcpy(tmp+SRV_TLS_PREFIX_LEN, name->s, name->len);
 					tmp[SRV_TLS_PREFIX_LEN + name->len] = '\0';
 					tmp[SRV_TLS_PREFIX_LEN + name->len] = '\0';
 					break;
 					break;
+				case PROTO_SCTP:
+					memcpy(tmp, SRV_SCTP_PREFIX, SRV_SCTP_PREFIX_LEN);
+					memcpy(tmp+SRV_SCTP_PREFIX_LEN, name->s, name->len);
+					tmp[SRV_SCTP_PREFIX_LEN + name->len] = '\0';
+					break;
 				default:
 				default:
 					LOG(L_CRIT, "BUG: sip_resolvehost: unknown proto %d\n",
 					LOG(L_CRIT, "BUG: sip_resolvehost: unknown proto %d\n",
 							srv_proto);
 							srv_proto);