mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 12:01:41 +02:00
main/asterisk: rebase ASTERISK-19106.patch for 10.1.0
It was from 10-branch, but appears that chan_sip already got incompatible changes for 10.2.0-rc1 that conflict with this commit.
This commit is contained in:
parent
1ca00eb194
commit
be8765cd3a
@ -167,7 +167,7 @@ b794636266cc573f0dda730fba634567 900-tryinclude.patch
|
||||
da5a3c500192dee4275aae5235d25f97 ASTERISK-18976.patch
|
||||
1ddadef41aa7120e168738b6f3ed8917 ASTERISK-18977.patch
|
||||
bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch
|
||||
2581cf79297ebf4ce4a7145f07512c7e ASTERISK-19106.patch
|
||||
cbe5e2363570c5417c9edc68ed849b0d ASTERISK-19106.patch
|
||||
a22bb1d513d026564cb40ec213b1ae7f ASTERISK-19109.patch
|
||||
74cd25a5638a94ef51e9f4ede2fd28f2 asterisk.initd
|
||||
ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd
|
||||
|
||||
@ -210,19 +210,19 @@ index e1dfaea..698894f 100644
|
||||
|
||||
/* If the initial tranmission failed, we may not have an existing dialog,
|
||||
@@ -13510,7 +13576,12 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
|
||||
* or peer NULL. Since we're only concerned with its existence, we're not going to
|
||||
* bother getting a ref to the proxy*/
|
||||
if (!obproxy_get(r->call, peer)) {
|
||||
- ast_dnsmgr_lookup(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL);
|
||||
+ registry_addref(r, "add reg ref for dnsmgr");
|
||||
+ ast_dnsmgr_lookup_cb(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL, on_dns_update_registry, r);
|
||||
+ if (!r->dnsmgr) {
|
||||
+ /*dnsmgr refresh disabled, no reference added! */
|
||||
+ registry_unref(r, "remove reg ref, dnsmgr disabled");
|
||||
+ }
|
||||
}
|
||||
peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0);
|
||||
snprintf(transport, sizeof(transport), "_%s._%s",get_srv_service(r->transport), get_srv_protocol(r->transport)); /* have to use static sip_get_transport function */
|
||||
r->us.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
|
||||
- ast_dnsmgr_lookup(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL);
|
||||
+ registry_addref(r, "add reg ref for dnsmgr");
|
||||
+ ast_dnsmgr_lookup_cb(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL, on_dns_update_registry, r);
|
||||
+ if (!r->dnsmgr) {
|
||||
+ /*dnsmgr refresh disabled, no reference added! */
|
||||
+ registry_unref(r, "remove reg ref, dnsmgr disabled");
|
||||
+ }
|
||||
if (peer) {
|
||||
peer = sip_unref_peer(peer, "removing peer ref for dnsmgr_lookup");
|
||||
}
|
||||
@@ -13543,18 +13614,21 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
|
||||
}
|
||||
|
||||
@ -287,9 +287,9 @@ index e1dfaea..698894f 100644
|
||||
ast_string_field_set(peer, tohost, srvlookup);
|
||||
|
||||
@@ -28817,7 +28895,7 @@ static void cleanup_all_regs(void)
|
||||
/* First, destroy all outstanding registry calls */
|
||||
/* This is needed, since otherwise active registry entries will not be destroyed */
|
||||
ASTOBJ_CONTAINER_TRAVERSE(®l, 1, do { /* regl is locked */
|
||||
|
||||
- ASTOBJ_RDLOCK(iterator); /* now regl is locked, and the object is also locked */
|
||||
+ ASTOBJ_WRLOCK(iterator); /* now regl is locked, and the object is also locked */
|
||||
if (iterator->call) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user