|
|
|
|
@ -199,11 +199,16 @@ struct control_udp *control_udp_new(struct poller *p, struct in6_addr ip, u_int1
|
|
|
|
|
c->stale_chunks = g_string_chunk_new(4 * 1024);
|
|
|
|
|
c->oven_time = p->now;
|
|
|
|
|
c->parse_re = pcre_compile(
|
|
|
|
|
"^(\\S+)\\s+(?:([ul])(\\S*)\\s+([^;]+)(?:;(\\S+))?\\s+" \ /* cookie cmd flags callid viabranch:5 */
|
|
|
|
|
"(?:([\\d.]+)|([\\da-f:]+(?::ffff:[\\d.]+)?))" \ /* addr4 addr6:7 */
|
|
|
|
|
"\\s+(\\d+)\\s+(\\S+?);(\\d+)(?:\\s+(\\S+?);\\d+(?:\\s+.*)?)?\r?\n?$" \ /* port fromtag num totag:11 */
|
|
|
|
|
"|(d)(\\S*)\\s+([^;\\s]+)(?:;(\\S+))?\\s+" \ /* "d" flags callid viabranch:15 */
|
|
|
|
|
"|(v)(\\S*)(?:\\s+(\\S+))?)", /* v flags params:18 */
|
|
|
|
|
/* cookie cmd flags callid viabranch:5 */
|
|
|
|
|
"^(\\S+)\\s+(?:([ul])(\\S*)\\s+([^;]+)(?:;(\\S+))?\\s+" \
|
|
|
|
|
/* addr4 addr6:7 */
|
|
|
|
|
"(?:([\\d.]+)|([\\da-f:]+(?::ffff:[\\d.]+)?))" \
|
|
|
|
|
/* port fromtag num totag:11 */
|
|
|
|
|
"\\s+(\\d+)\\s+(\\S+?);(\\d+)(?:\\s+(\\S+?);\\d+(?:\\s+.*)?)?\r?\n?$" \
|
|
|
|
|
/* "d" flags callid viabranch fromtag totag:17 */
|
|
|
|
|
"|(d)(\\S*)\\s+([^;\\s]+)(?:;(\\S+))?\\s+(\\S+?)(?:\\s+(\\S+?))?\r?\n?$" \
|
|
|
|
|
/* v flags params:20 */
|
|
|
|
|
"|(v)(\\S*)(?:\\s+(\\S+))?)",
|
|
|
|
|
PCRE_DOLLAR_ENDONLY | PCRE_DOTALL | PCRE_CASELESS, &errptr, &erroff, NULL);
|
|
|
|
|
c->parse_ree = pcre_study(c->parse_re, 0, &errptr);
|
|
|
|
|
/* cookie cmd flags callid addr port */
|
|
|
|
|
|