From 6ba153c0390b5ccc2647a0c8f9ac2067ef5d664c Mon Sep 17 00:00:00 2001 From: Maksym Sobolyev Date: Sun, 23 May 2021 10:02:40 -0700 Subject: [PATCH 1/3] Add "S[r] ttl=XXX" and "S[r] tos=XXX" sub-commands. PR: #59 --- modules/dtls_gw/rtpp_dtls_gw.c | 3 +- src/Makefile.am | 3 +- src/commands/rpcpv1_copy.c | 7 +- src/commands/rpcpv1_query.c | 3 +- src/commands/rpcpv1_ul.c | 12 ++- src/commands/rpcpv1_ul_subc.c | 10 +- src/commands/rpcpv1_ul_subc_set.c | 148 ++++++++++++++++++++++++++++++ src/commands/rpcpv1_ul_subc_set.h | 49 ++++++++++ src/commands/rpcpv1_ver.c | 1 + src/rtpp_command.c | 10 +- src/rtpp_command.h | 2 +- src/rtpp_command_sub.h | 2 + src/rtpp_record.h | 1 + src/rtpp_session.c | 2 +- src/rtpp_stream.c | 2 + src/rtpp_stream.h | 3 + src/rtpp_util.c | 25 +++++ src/rtpp_util.h | 2 + 18 files changed, 268 insertions(+), 17 deletions(-) create mode 100644 src/commands/rpcpv1_ul_subc_set.c create mode 100644 src/commands/rpcpv1_ul_subc_set.h diff --git a/modules/dtls_gw/rtpp_dtls_gw.c b/modules/dtls_gw/rtpp_dtls_gw.c index 5145bb241..84f5ed912 100644 --- a/modules/dtls_gw/rtpp_dtls_gw.c +++ b/modules/dtls_gw/rtpp_dtls_gw.c @@ -248,7 +248,8 @@ rtpp_dtls_gw_setup_sender(struct rtpp_module_priv *pvt, abort(); } - if (rtpp_create_listener(pvt->cfsp, dtls_strmp->laddr, &lport, fds) == -1) + if (rtpp_create_listener(pvt->cfsp, dtls_strmp->laddr, &lport, fds, + dtls_strmp->tos) == -1) return (-1); CALL_SMETHOD(pvt->cfsp->sessinfo, append, spa, sidx, fds); CALL_METHOD(pvt->cfsp->rtpp_proc_cf, nudge); diff --git a/src/Makefile.am b/src/Makefile.am index 64ab67a52..b43170b32 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -75,7 +75,8 @@ BASE_SOURCES=main.c rtp.h rtpp_server.c \ $(CMDSRCDIR)/rpcpv1_norecord.c $(CMDSRCDIR)/rpcpv1_norecord.h \ $(CMDSRCDIR)/rpcpv1_ul_subc.c $(CMDSRCDIR)/rpcpv1_ul_subc.h \ $(RTPP_AUTOSRC_SOURCES) rtpp_epoll.c rtpp_str.c rtpp_str.h \ - rtpp_sbuf.c rtpp_sbuf.h rtpp_refproxy.c rtpp_command_reply.c + rtpp_sbuf.c rtpp_sbuf.h rtpp_refproxy.c rtpp_command_reply.c \ + $(CMDSRCDIR)/rpcpv1_ul_subc_set.c $(CMDSRCDIR)/rpcpv1_ul_subc_set.h BASE_SOURCES+=$(ADV_DIR)/packet_observer.h $(ADV_DIR)/pproc_manager.c \ $(ADV_DIR)/pproc_manager.h BASE_SOURCES+=rtpp_modman.c rtpp_module_if_static.c rtpp_module_if_static.h diff --git a/src/commands/rpcpv1_copy.c b/src/commands/rpcpv1_copy.c index d23832124..6e4289059 100644 --- a/src/commands/rpcpv1_copy.c +++ b/src/commands/rpcpv1_copy.c @@ -80,7 +80,7 @@ get_args4remote(const struct rtpp_cfg *cfsp, const char *rname, struct rtpp_log if (laddr == NULL) return (-1); int lport; - if (rtpp_create_listener(cfsp, laddr, &lport, fds) != 0) { + if (rtpp_create_listener(cfsp, laddr, &lport, fds, ap->tos) != 0) { RTPP_LOG(log, RTPP_LOG_ERR, "can't create listener"); return (-1); } @@ -97,7 +97,6 @@ handle_copy(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, struct rtpp_s int idx, const char *rname, const struct record_opts *rop) { int remote; - struct remote_copy_args rargs = {0}; remote = (rname != NULL && strncmp("udp:", rname, 4) == 0)? 1 : 0; @@ -134,9 +133,11 @@ handle_copy(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, struct rtpp_s } int rval = -1; - if (remote) + struct remote_copy_args rargs = {.tos = spa->rtp->stream[idx]->tos}; + if (remote) { if (get_args4remote(cfsp, rname, spa->log, &rargs) != 0) return (-1); + } if (spa->rtp->stream[idx]->rrc == NULL) { spa->rtp->stream[idx]->rrc = rtpp_record_ctor(cfsp, &rargs, spa, rname, idx, RECORD_RTP); diff --git a/src/commands/rpcpv1_query.c b/src/commands/rpcpv1_query.c index 89ca102e4..094b5c3f1 100644 --- a/src/commands/rpcpv1_query.c +++ b/src/commands/rpcpv1_query.c @@ -260,7 +260,8 @@ handle_query(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, .strmp_in = spp->stream[idx], .strmp_out = spp->stream[NOT(idx)], .subc_args = &(cmd->subc.args[i]), - .resp = &(cmd->subc.res[i]) + .resp = &(cmd->subc.res[i]), + .log = spp->log, }; rsc.resp->result = cmd->after_success[i].handler( &cmd->after_success[i].args, &rsc); diff --git a/src/commands/rpcpv1_ul.c b/src/commands/rpcpv1_ul.c index ade18c0ac..887702ef6 100644 --- a/src/commands/rpcpv1_ul.c +++ b/src/commands/rpcpv1_ul.c @@ -442,6 +442,7 @@ rtpp_command_ul_handle(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, in struct rtpp_session *spa, *spb; struct rtpp_socket *fd; struct ul_opts *ulop; + int desired_tos; pidx = 1; lport = 0; @@ -460,6 +461,7 @@ rtpp_command_ul_handle(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, in if (sidx != -1) { RTPP_DBG_ASSERT(cmd->cca.op == UPDATE || cmd->cca.op == LOOKUP); spa = cmd->sp; + desired_tos = spa->rtp->stream[sidx]->tos; fd = CALL_SMETHOD(spa->rtp->stream[sidx], get_skt, HEREVAL); if (fd == NULL || ulop->new_port != 0) { if (ulop->local_addr != NULL) { @@ -467,7 +469,8 @@ rtpp_command_ul_handle(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, in } else if (ulop->new_port != 0 && ulop->lidx == -1 && spa->rtp->stream[sidx]->laddr != ulop->lia[0]) { spa->rtp->stream[sidx]->laddr = ulop->lia[0]; } - if (rtpp_create_listener(cfsp, spa->rtp->stream[sidx]->laddr, &lport, fds) == -1) { + if (rtpp_create_listener(cfsp, spa->rtp->stream[sidx]->laddr, &lport, fds, + desired_tos) == -1) { if (fd != NULL) RTPP_OBJ_DECREF(fd); RTPP_LOG(spa->log, RTPP_LOG_ERR, "can't create listener"); @@ -490,9 +493,9 @@ rtpp_command_ul_handle(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, in if (spa->complete == 0) { rtpp_command_get_stats(cmd)->nsess_complete.cnt++; CALL_SMETHOD(spa->rtp->stream[0]->ttl, reset_with, - cfsp->max_ttl); + spa->rtp->stream[0]->stream_ttl); CALL_SMETHOD(spa->rtp->stream[1]->ttl, reset_with, - cfsp->max_ttl); + spa->rtp->stream[1]->stream_ttl); } spa->complete = 1; } @@ -692,7 +695,8 @@ rtpp_command_ul_handle(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd, in .strmp_in = spa->rtp->stream[pidx], .strmp_out = spa->rtp->stream[NOT(pidx)], .subc_args = &(cmd->subc.args[i]), - .resp = &(cmd->subc.res[i]) + .resp = &(cmd->subc.res[i]), + .log = spa->log, }; rsc.resp->result = cmd->after_success[i].handler( &cmd->after_success[i].args, &rsc); diff --git a/src/commands/rpcpv1_ul_subc.c b/src/commands/rpcpv1_ul_subc.c index b3f7dac78..4f07f1656 100644 --- a/src/commands/rpcpv1_ul_subc.c +++ b/src/commands/rpcpv1_ul_subc.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2020 Sippy Software, Inc., http://www.sippysoft.com + * Copyright (c) 2006-2025 Sippy Software, Inc., http://www.sippysoft.com * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -45,6 +45,7 @@ #include "commands/rpcpv1_ul.h" #include "commands/rpcpv1_ul_subc.h" #include "commands/rpcpv1_delete.h" +#include "commands/rpcpv1_ul_subc_set.h" #if ENABLE_MODULE_IF static int @@ -98,6 +99,13 @@ rtpp_subcommand_ul_opts_parse(const struct rtpp_cfg *cfsp, struct rtpp_command * asp->handler = handle_delete_as_subc; break; + case 'S': + case 's': + if (subc_args->c != 2 || subc_args->v[0].len < 1 || subc_args->v[0].len > 2) + return (-1); + return (handle_set_subc_parse(cfsp, &subc_args->v[0].s[1], &subc_args->v[1], asp)); + break; + default: return (-1); } diff --git a/src/commands/rpcpv1_ul_subc_set.c b/src/commands/rpcpv1_ul_subc_set.c new file mode 100644 index 000000000..8a40837bb --- /dev/null +++ b/src/commands/rpcpv1_ul_subc_set.c @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2025 Sippy Software, Inc., http://www.sippysoft.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +#include +#include +#include + +#include "config.h" + +#include "rtpp_codeptr.h" +#include "rtpp_types.h" +#include "rtpp_refcnt.h" +#include "rtpp_log.h" +#include "rtpp_log_obj.h" +#include "rtpp_pipe.h" +#include "rtpp_socket.h" +#include "rtpp_session.h" +#include "rtpp_stream.h" +#include "rtpp_ttl.h" +#include "rtpp_command.h" +#include "rtpp_command_sub.h" +#include "rtpp_command_args.h" +#include "rtpp_command_private.h" +#include "rtpp_mallocs.h" +#include "rtpp_util.h" +#include "commands/rpcpv1_ul.h" +#include "commands/rpcpv1_ul_subc_set.h" + +static int +strmp_settos(const struct rtpp_subc_ctx *rscp, struct rtpp_stream *strmp, int val) +{ + if (strmp->laddr->sa_family != AF_INET) + return (-1); + struct rtpp_socket *fd = CALL_SMETHOD(strmp, get_skt, HEREVAL); + if (fd == NULL) + goto out; + int tres = CALL_SMETHOD(fd, settos, val); + RTPP_OBJ_DECREF(fd); + if (tres == -1) { + RTPP_ELOG(rscp->log, RTPP_LOG_ERR, "unable to set TOS to %d", val); + return (-1); + } +out: + strmp->tos = val; + return (0); +} + +static int +rtpp_subcommand_set_handler(const struct after_success_h_args *ashap, + const struct rtpp_subc_ctx *rscp) +{ + const struct rtpp_subcommand_set *tap; + struct rtpp_stream *strmp; + + tap = (struct rtpp_subcommand_set *)ashap->dyn; + switch (tap->direction) { + case SET_FORWARD: + strmp = rscp->strmp_in; + break; + + case SET_REVERSE: + strmp = rscp->strmp_out; + if (strmp == NULL) + return (-1); + break; + + default: + abort(); + } + + switch (tap->param) { + case SET_PRM_TTL: + strmp->stream_ttl = tap->val; + CALL_SMETHOD(strmp->ttl, reset_with, tap->val); + break; + + case SET_PRM_TOS: + if (strmp_settos(rscp, strmp, tap->val) != 0) + return (-1); + struct rtpp_stream_pair rtcp = get_rtcp_pair(rscp->sessp, strmp); + if (rtcp.ret != 0 || rtcp.in == NULL) + break; + if (strmp_settos(rscp, rtcp.in, tap->val) != 0) + return (-1); + break; + + default: + abort(); + } + return (0); +} + +int +handle_set_subc_parse(const struct rtpp_cfg *cfsp, const char *cp, + const rtpp_str_const_t *v, struct after_success_h *asp) +{ + struct rtpp_subcommand_set set_arg, *tap; + + if (cp[0] == 'r' || cp[0] == 'R') { + set_arg.direction = SET_REVERSE; + } else { + set_arg.direction = SET_FORWARD; + } + if (strcmp(v->s, "ttl=") == 0) { + set_arg.param = SET_PRM_TTL; + cp = v->s + 4; + } else if (strcmp(v->s, "tos=") == 0) { + set_arg.param = SET_PRM_TOS; + cp = v->s + 4; + } else { + return (-1); + } + if (atoi_safe(cp, &set_arg.val) != ATOI_OK) + return (-1); + if (set_arg.val <= 0) + return (-1); + tap = rtpp_zmalloc(sizeof(set_arg)); + if (tap == NULL) + return (-1); + *tap = set_arg; + asp->args.dyn = tap; + asp->handler = rtpp_subcommand_set_handler; + return (0); +} diff --git a/src/commands/rpcpv1_ul_subc_set.h b/src/commands/rpcpv1_ul_subc_set.h new file mode 100644 index 000000000..81261832a --- /dev/null +++ b/src/commands/rpcpv1_ul_subc_set.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2025 Sippy Software, Inc., http://www.sippysoft.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +struct rtpp_subc_ctx; +struct after_success_h_args; + +enum rtpp_subcommand_set_direction { + SET_FORWARD = 0, + SET_REVERSE = 1 +}; + +enum rtpp_subcommand_set_param { + SET_PRM_TTL, + SET_PRM_TOS, + SET_PRM_SSRC_IN, + SET_PRM_SSRC_OUT, +}; + +struct rtpp_subcommand_set { + int val; + enum rtpp_subcommand_set_param param; + enum rtpp_subcommand_set_direction direction; +}; + +int handle_set_subc_parse(const struct rtpp_cfg *, const char *, + const rtpp_str_const_t *, struct after_success_h *); diff --git a/src/commands/rpcpv1_ver.c b/src/commands/rpcpv1_ver.c index a78950875..c71b04c32 100644 --- a/src/commands/rpcpv1_ver.c +++ b/src/commands/rpcpv1_ver.c @@ -70,6 +70,7 @@ const static struct proto_cap proto_caps[] = { { "20230314", "Support for for \"fusing\" G and D commands" }, { "20230424", "Support for for \"longest_ipi\", \"rtpa_jlast\", \"rtpa_jmax\" and \"rtpa_javg\" counters" }, { "20250523", "Support for the \"P\" modifier in the C command"}, + { "20251015", "Support for changing session's ttl / IP tos via S subcommand" }, { NULL, NULL } }; diff --git a/src/rtpp_command.c b/src/rtpp_command.c index 923bc4085..95bccdd41 100644 --- a/src/rtpp_command.c +++ b/src/rtpp_command.c @@ -101,6 +101,7 @@ struct create_listener_args { const struct sockaddr *ia; struct rtpp_socket **fds; int *port; + int tos; }; static enum rtpp_ptu_rval @@ -129,9 +130,9 @@ create_listener(struct create_listener_args *ctap, unsigned int port, struct rtp } goto e1; } - if ((ctap->ia->sa_family == AF_INET) && (ctap->cfs->tos >= 0) && - (CALL_SMETHOD(fd, settos, ctap->cfs->tos) == -1)) - RTPP_ELOG(ctap->cfs->glog, RTPP_LOG_ERR, "unable to set TOS to %d", ctap->cfs->tos); + if ((ctap->ia->sa_family == AF_INET) && (ctap->tos >= 0) && + (CALL_SMETHOD(fd, settos, ctap->tos) == -1)) + RTPP_ELOG(ctap->cfs->glog, RTPP_LOG_ERR, "unable to set TOS to %d", ctap->tos); so_rcvbuf = 256 * 1024; if (CALL_SMETHOD(fd, setrbuf, so_rcvbuf) == -1) RTPP_ELOG(ctap->cfs->glog, RTPP_LOG_ERR, "unable to set 256K receive buffer size"); @@ -178,7 +179,7 @@ create_twinlistener(unsigned int port, void *ap) int rtpp_create_listener(const struct rtpp_cfg *cfsp, const struct sockaddr *ia, int *port, - struct rtpp_socket **fds) + struct rtpp_socket **fds, int tos) { struct create_listener_args cta; int i; @@ -189,6 +190,7 @@ rtpp_create_listener(const struct rtpp_cfg *cfsp, const struct sockaddr *ia, int cta.fds = fds; cta.ia = ia; cta.port = port; + cta.tos = tos; for (i = 0; i < 2; i++) fds[i] = NULL; diff --git a/src/rtpp_command.h b/src/rtpp_command.h index 27523fc21..38b3a5e11 100644 --- a/src/rtpp_command.h +++ b/src/rtpp_command.h @@ -52,7 +52,7 @@ struct rtpp_command *get_command(const struct rtpp_cfg *, struct rtpp_ctrl_sock const struct rtpp_timestamp *, struct rtpp_command_stats *csp, struct rtpp_cmd_rcache *); int rtpp_create_listener(const struct rtpp_cfg *, const struct sockaddr *, int *, - struct rtpp_socket **) RTPP_EXPORT; + struct rtpp_socket **, int) RTPP_EXPORT; struct rtpp_command *rtpp_command_ctor(const struct rtpp_cfg *, int, const struct rtpp_timestamp *, struct rtpp_command_stats *, int); int rtpp_command_split(struct rtpp_command *, int, int *, struct rtpp_cmd_rcache *); diff --git a/src/rtpp_command_sub.h b/src/rtpp_command_sub.h index 01d298fa4..54d889ff9 100644 --- a/src/rtpp_command_sub.h +++ b/src/rtpp_command_sub.h @@ -30,6 +30,7 @@ struct rtpp_session; struct rtpp_stream; struct rtpp_command_args; +struct rtpp_log; struct rtpp_subc_resp { int result; @@ -42,6 +43,7 @@ struct rtpp_subc_ctx { struct rtpp_stream *strmp_out; const struct rtpp_command_args *subc_args; struct rtpp_subc_resp *resp; + struct rtpp_log *log; }; #endif /* _RTPP_COMMAND_SUB_H_ */ diff --git a/src/rtpp_record.h b/src/rtpp_record.h index be14458a9..0f6e55fdf 100644 --- a/src/rtpp_record.h +++ b/src/rtpp_record.h @@ -42,6 +42,7 @@ struct remote_copy_args { const struct sockaddr *laddr; int lport; struct rtpp_socket *fds[2]; + int tos; }; DECLARE_CLASS(rtpp_record, const struct rtpp_cfg *, const struct remote_copy_args *, struct rtpp_session *, diff --git a/src/rtpp_session.c b/src/rtpp_session.c index c85158980..811faa0bf 100644 --- a/src/rtpp_session.c +++ b/src/rtpp_session.c @@ -96,7 +96,7 @@ rtpp_session_ctor(const struct rtpp_session_ctor_args *ap) goto e0; } - if (rtpp_create_listener(cfs, ap->lia[0], &lport, fds) == -1) { + if (rtpp_create_listener(cfs, ap->lia[0], &lport, fds, cfs->tos) == -1) { RTPP_LOG(log, RTPP_LOG_ERR, "can't create listener"); goto e1; } diff --git a/src/rtpp_stream.c b/src/rtpp_stream.c index 2b2b2084f..32003acea 100644 --- a/src/rtpp_stream.c +++ b/src/rtpp_stream.c @@ -322,9 +322,11 @@ rtpp_stream_ctor(const struct r_stream_ctor_args *ap) pvt->rtpp_stats = cfs->rtpp_stats; pvt->pub.side = ap->side; pvt->pub.pipe_type = pap->pipe_type; + pvt->pub.tos = cfs->tos; pvt->pub.stuid = CALL_SMETHOD(cfs->guid, gen); pvt->pub.seuid = pap->seuid; + pvt->pub.stream_ttl = cfs->max_ttl; for (unsigned int i = 0; i < nmodules; i++) { atomic_init(&(pvt->pmod_data.adp[i]), NULL); } diff --git a/src/rtpp_stream.h b/src/rtpp_stream.h index 839a527e2..791c7216a 100644 --- a/src/rtpp_stream.h +++ b/src/rtpp_stream.h @@ -141,6 +141,7 @@ DECLARE_CLASS_PUBTYPE(rtpp_stream, { const struct sockaddr *laddr; int port; int asymmetric; + int stream_ttl; enum rtpp_stream_side side; /* Flags: strong create/delete; weak ones */ int weak; @@ -153,6 +154,8 @@ DECLARE_CLASS_PUBTYPE(rtpp_stream, { char *codecs; /* Requested ptime */ int ptime; + /* Desired IP TOS/DSCP value */ + int tos; /* UID, read-only */ uint64_t stuid; /* UID of the session we belong to, read-only */ diff --git a/src/rtpp_util.c b/src/rtpp_util.c index ee3cdb7fa..b98c20872 100644 --- a/src/rtpp_util.c +++ b/src/rtpp_util.c @@ -399,6 +399,31 @@ atoi_saferange(const char *s, int *res, int min, int max) return (ATOI_OK); } +enum atoi_rval +strtol_saferange(const char *s, long *res, long min, long max, + const char **next) +{ + char *cp; + long rval; + + errno = 0; + rval = strtol(s, &cp, 10); + if (cp == s) { + return (ATOI_NOTINT); + } + if (errno == ERANGE) { + return (ATOI_OUTRANGE); + } + if (rval < min || (max >= min && rval > max)) { + return (ATOI_OUTRANGE); + } + if (next != NULL) { + *next = cp; + } + *res = rval; + return (ATOI_OK); +} + #if defined(_SC_CLK_TCK) && !defined(__FreeBSD__) #if defined(LINUX_XXX) static int diff --git a/src/rtpp_util.h b/src/rtpp_util.h index 14ca0d4e3..e7edcef0a 100644 --- a/src/rtpp_util.h +++ b/src/rtpp_util.h @@ -61,6 +61,8 @@ enum atoi_rval {ATOI_OK = 0, ATOI_NOTINT = -1, ATOI_OUTRANGE = -2}; enum atoi_rval atoi_safe_sep(const char *, int *, char, const char **); enum atoi_rval atoi_safe(const char *, int *); enum atoi_rval atoi_saferange(const char *, int *, int, int) RTPP_EXPORT; +enum atoi_rval strtol_saferange(const char *, long *, long, long, + const char **) RTPP_EXPORT; void rtpp_strsplit(char *, char *, size_t, size_t); void generate_random_string(char *, int) RTPP_EXPORT; From 34014ec3fc7ff6c7be3de368270c75ab5cfce14f Mon Sep 17 00:00:00 2001 From: Maksym Sobolyev Date: Mon, 24 May 2021 02:44:34 -0700 Subject: [PATCH 2/3] Re-gen. PR: #59 --- src/Makefile.in | 50 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index b6cfc89f0..6f9af64a4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -212,7 +212,8 @@ am__librtpproxy_la_SOURCES_DIST = main.c rtp.h rtpp_server.c \ rtpp_command_rcache.h rtpp_log_obj.h rtpp_port_table.h \ rtpp_timed_task.h rtpp_modman.h rtpp_module_if.h rtpp_epoll.c \ rtpp_str.c rtpp_str.h rtpp_sbuf.c rtpp_sbuf.h rtpp_refproxy.c \ - rtpp_command_reply.c $(ADV_DIR)/packet_observer.h \ + rtpp_command_reply.c $(CMDSRCDIR)/rpcpv1_ul_subc_set.c \ + $(CMDSRCDIR)/rpcpv1_ul_subc_set.h $(ADV_DIR)/packet_observer.h \ $(ADV_DIR)/pproc_manager.c $(ADV_DIR)/pproc_manager.h \ rtpp_modman.c rtpp_module_if_static.c rtpp_module_if_static.h \ rtpp_module_if.c rtpp_module.h rtpp_log_stand.c \ @@ -295,6 +296,7 @@ am__objects_6 = librtpproxy_la-main.lo librtpproxy_la-rtpp_server.lo \ librtpproxy_la-rtpp_epoll.lo librtpproxy_la-rtpp_str.lo \ librtpproxy_la-rtpp_sbuf.lo librtpproxy_la-rtpp_refproxy.lo \ librtpproxy_la-rtpp_command_reply.lo \ + $(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo \ $(ADV_DIR)/librtpproxy_la-pproc_manager.lo \ librtpproxy_la-rtpp_modman.lo \ librtpproxy_la-rtpp_module_if_static.lo $(am__objects_3) \ @@ -661,7 +663,8 @@ am__rtpproxy_debug_SOURCES_DIST = main.c rtp.h rtpp_server.c \ rtpp_command_rcache.h rtpp_log_obj.h rtpp_port_table.h \ rtpp_timed_task.h rtpp_modman.h rtpp_module_if.h rtpp_epoll.c \ rtpp_str.c rtpp_str.h rtpp_sbuf.c rtpp_sbuf.h rtpp_refproxy.c \ - rtpp_command_reply.c $(ADV_DIR)/packet_observer.h \ + rtpp_command_reply.c $(CMDSRCDIR)/rpcpv1_ul_subc_set.c \ + $(CMDSRCDIR)/rpcpv1_ul_subc_set.h $(ADV_DIR)/packet_observer.h \ $(ADV_DIR)/pproc_manager.c $(ADV_DIR)/pproc_manager.h \ rtpp_modman.c rtpp_module_if_static.c rtpp_module_if_static.h \ rtpp_module_if.c rtpp_module.h rtpp_log_stand.c \ @@ -816,6 +819,7 @@ am__objects_122 = rtpproxy_debug-main.$(OBJEXT) \ rtpproxy_debug-rtpp_sbuf.$(OBJEXT) \ rtpproxy_debug-rtpp_refproxy.$(OBJEXT) \ rtpproxy_debug-rtpp_command_reply.$(OBJEXT) \ + $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.$(OBJEXT) \ $(ADV_DIR)/rtpproxy_debug-pproc_manager.$(OBJEXT) \ rtpproxy_debug-rtpp_modman.$(OBJEXT) \ rtpproxy_debug-rtpp_module_if_static.$(OBJEXT) \ @@ -926,6 +930,7 @@ am__depfiles_remade = \ $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_stats.Plo \ $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul.Plo \ $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc.Plo \ + $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Plo \ $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ver.Plo \ $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_copy.Po \ $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_delete.Po \ @@ -936,6 +941,7 @@ am__depfiles_remade = \ $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_stats.Po \ $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul.Po \ $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc.Po \ + $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Po \ $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ver.Po \ $(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_autoglitch.Po \ $(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_coverage.Po \ @@ -1621,9 +1627,10 @@ BASE_SOURCES = main.c rtp.h rtpp_server.c rtpp_defines.h rtpp_log.h \ $(CMDSRCDIR)/rpcpv1_ul_subc.c $(CMDSRCDIR)/rpcpv1_ul_subc.h \ $(RTPP_AUTOSRC_SOURCES) rtpp_epoll.c rtpp_str.c rtpp_str.h \ rtpp_sbuf.c rtpp_sbuf.h rtpp_refproxy.c rtpp_command_reply.c \ - $(ADV_DIR)/packet_observer.h $(ADV_DIR)/pproc_manager.c \ - $(ADV_DIR)/pproc_manager.h rtpp_modman.c \ - rtpp_module_if_static.c rtpp_module_if_static.h \ + $(CMDSRCDIR)/rpcpv1_ul_subc_set.c \ + $(CMDSRCDIR)/rpcpv1_ul_subc_set.h $(ADV_DIR)/packet_observer.h \ + $(ADV_DIR)/pproc_manager.c $(ADV_DIR)/pproc_manager.h \ + rtpp_modman.c rtpp_module_if_static.c rtpp_module_if_static.h \ $(am__append_5) $(am__append_8) $(am__append_9) rtpproxy_LDADD = librtpproxy.la -lm -lpthread $(am__append_6) \ $(am__append_10) @@ -1892,6 +1899,9 @@ $(CMDSRCDIR)/librtpproxy_la-rpcpv1_norecord.lo: \ $(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc.lo: \ $(CMDSRCDIR)/$(am__dirstamp) \ $(CMDSRCDIR)/$(DEPDIR)/$(am__dirstamp) +$(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo: \ + $(CMDSRCDIR)/$(am__dirstamp) \ + $(CMDSRCDIR)/$(DEPDIR)/$(am__dirstamp) $(ADV_DIR)/$(am__dirstamp): @$(MKDIR_P) $(ADV_DIR) @: >>$(ADV_DIR)/$(am__dirstamp) @@ -2330,6 +2340,9 @@ $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_norecord.$(OBJEXT): \ $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc.$(OBJEXT): \ $(CMDSRCDIR)/$(am__dirstamp) \ $(CMDSRCDIR)/$(DEPDIR)/$(am__dirstamp) +$(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.$(OBJEXT): \ + $(CMDSRCDIR)/$(am__dirstamp) \ + $(CMDSRCDIR)/$(DEPDIR)/$(am__dirstamp) $(ADV_DIR)/rtpproxy_debug-pproc_manager.$(OBJEXT): \ $(ADV_DIR)/$(am__dirstamp) \ $(ADV_DIR)/$(DEPDIR)/$(am__dirstamp) @@ -2476,6 +2489,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_stats.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ver.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_copy.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_delete.Po@am__quote@ # am--include-marker @@ -2486,6 +2500,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_stats.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ver.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_autoglitch.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@$(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_coverage.Po@am__quote@ # am--include-marker @@ -3381,6 +3396,13 @@ librtpproxy_la-rtpp_command_reply.lo: rtpp_command_reply.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librtpproxy_la_CPPFLAGS) $(CPPFLAGS) $(librtpproxy_la_CFLAGS) $(CFLAGS) -c -o librtpproxy_la-rtpp_command_reply.lo `test -f 'rtpp_command_reply.c' || echo '$(srcdir)/'`rtpp_command_reply.c +$(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo: $(CMDSRCDIR)/rpcpv1_ul_subc_set.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librtpproxy_la_CPPFLAGS) $(CPPFLAGS) $(librtpproxy_la_CFLAGS) $(CFLAGS) -MT $(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo -MD -MP -MF $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Tpo -c -o $(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo `test -f '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' || echo '$(srcdir)/'`$(CMDSRCDIR)/rpcpv1_ul_subc_set.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Tpo $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' object='$(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librtpproxy_la_CPPFLAGS) $(CPPFLAGS) $(librtpproxy_la_CFLAGS) $(CFLAGS) -c -o $(CMDSRCDIR)/librtpproxy_la-rpcpv1_ul_subc_set.lo `test -f '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' || echo '$(srcdir)/'`$(CMDSRCDIR)/rpcpv1_ul_subc_set.c + $(ADV_DIR)/librtpproxy_la-pproc_manager.lo: $(ADV_DIR)/pproc_manager.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librtpproxy_la_CPPFLAGS) $(CPPFLAGS) $(librtpproxy_la_CFLAGS) $(CFLAGS) -MT $(ADV_DIR)/librtpproxy_la-pproc_manager.lo -MD -MP -MF $(ADV_DIR)/$(DEPDIR)/librtpproxy_la-pproc_manager.Tpo -c -o $(ADV_DIR)/librtpproxy_la-pproc_manager.lo `test -f '$(ADV_DIR)/pproc_manager.c' || echo '$(srcdir)/'`$(ADV_DIR)/pproc_manager.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(ADV_DIR)/$(DEPDIR)/librtpproxy_la-pproc_manager.Tpo $(ADV_DIR)/$(DEPDIR)/librtpproxy_la-pproc_manager.Plo @@ -6741,6 +6763,20 @@ rtpproxy_debug-rtpp_command_reply.obj: rtpp_command_reply.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rtpproxy_debug_CPPFLAGS) $(CPPFLAGS) $(rtpproxy_debug_CFLAGS) $(CFLAGS) -c -o rtpproxy_debug-rtpp_command_reply.obj `if test -f 'rtpp_command_reply.c'; then $(CYGPATH_W) 'rtpp_command_reply.c'; else $(CYGPATH_W) '$(srcdir)/rtpp_command_reply.c'; fi` +$(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.o: $(CMDSRCDIR)/rpcpv1_ul_subc_set.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rtpproxy_debug_CPPFLAGS) $(CPPFLAGS) $(rtpproxy_debug_CFLAGS) $(CFLAGS) -MT $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.o -MD -MP -MF $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Tpo -c -o $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.o `test -f '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' || echo '$(srcdir)/'`$(CMDSRCDIR)/rpcpv1_ul_subc_set.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Tpo $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' object='$(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rtpproxy_debug_CPPFLAGS) $(CPPFLAGS) $(rtpproxy_debug_CFLAGS) $(CFLAGS) -c -o $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.o `test -f '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' || echo '$(srcdir)/'`$(CMDSRCDIR)/rpcpv1_ul_subc_set.c + +$(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.obj: $(CMDSRCDIR)/rpcpv1_ul_subc_set.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rtpproxy_debug_CPPFLAGS) $(CPPFLAGS) $(rtpproxy_debug_CFLAGS) $(CFLAGS) -MT $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.obj -MD -MP -MF $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Tpo -c -o $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.obj `if test -f '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c'; then $(CYGPATH_W) '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c'; else $(CYGPATH_W) '$(srcdir)/$(CMDSRCDIR)/rpcpv1_ul_subc_set.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Tpo $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(CMDSRCDIR)/rpcpv1_ul_subc_set.c' object='$(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rtpproxy_debug_CPPFLAGS) $(CPPFLAGS) $(rtpproxy_debug_CFLAGS) $(CFLAGS) -c -o $(CMDSRCDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.obj `if test -f '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c'; then $(CYGPATH_W) '$(CMDSRCDIR)/rpcpv1_ul_subc_set.c'; else $(CYGPATH_W) '$(srcdir)/$(CMDSRCDIR)/rpcpv1_ul_subc_set.c'; fi` + $(ADV_DIR)/rtpproxy_debug-pproc_manager.o: $(ADV_DIR)/pproc_manager.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(rtpproxy_debug_CPPFLAGS) $(CPPFLAGS) $(rtpproxy_debug_CFLAGS) $(CFLAGS) -MT $(ADV_DIR)/rtpproxy_debug-pproc_manager.o -MD -MP -MF $(ADV_DIR)/$(DEPDIR)/rtpproxy_debug-pproc_manager.Tpo -c -o $(ADV_DIR)/rtpproxy_debug-pproc_manager.o `test -f '$(ADV_DIR)/pproc_manager.c' || echo '$(srcdir)/'`$(ADV_DIR)/pproc_manager.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(ADV_DIR)/$(DEPDIR)/rtpproxy_debug-pproc_manager.Tpo $(ADV_DIR)/$(DEPDIR)/rtpproxy_debug-pproc_manager.Po @@ -7530,6 +7566,7 @@ distclean: distclean-am -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_stats.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc.Plo + -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ver.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_copy.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_delete.Po @@ -7540,6 +7577,7 @@ distclean: distclean-am -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_stats.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc.Po + -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ver.Po -rm -f $(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_autoglitch.Po -rm -f $(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_coverage.Po @@ -7942,6 +7980,7 @@ maintainer-clean: maintainer-clean-am -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_stats.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc.Plo + -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ul_subc_set.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/librtpproxy_la-rpcpv1_ver.Plo -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_copy.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_delete.Po @@ -7952,6 +7991,7 @@ maintainer-clean: maintainer-clean-am -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_stats.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc.Po + -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ul_subc_set.Po -rm -f $(CMDSRCDIR)/$(DEPDIR)/rtpproxy_debug-rpcpv1_ver.Po -rm -f $(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_autoglitch.Po -rm -f $(MAINSRCDIR)/$(DEPDIR)/rtpp_fintest-rtpp_coverage.Po From 9aafa2a840a12e76a917bc0cec335219c3314c6f Mon Sep 17 00:00:00 2001 From: Maksym Sobolyev Date: Fri, 31 Oct 2025 23:03:32 -0700 Subject: [PATCH 3/3] Disable most jobs. Disable concurrency. --- .github/workflows.cfg | 12 ++++++------ .github/workflows/rtpproxy_ci.yml | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows.cfg b/.github/workflows.cfg index 758305e12..9957d2ae3 100644 --- a/.github/workflows.cfg +++ b/.github/workflows.cfg @@ -1,9 +1,9 @@ # Comment the line(s) below to disable particular pipeline(s): do_Docker=true -do_FullBuild=true -do_FuncTest=true -do_Fuzzing=true -do_Glitch=true -do_MinBuild=true -do_BuildPackages=true +do_FullBuild=false +do_FuncTest=false +do_Fuzzing=false +do_Glitch=false +do_MinBuild=false +do_BuildPackages=false diff --git a/.github/workflows/rtpproxy_ci.yml b/.github/workflows/rtpproxy_ci.yml index 217d1b5bc..84df2589a 100644 --- a/.github/workflows/rtpproxy_ci.yml +++ b/.github/workflows/rtpproxy_ci.yml @@ -16,9 +16,9 @@ permissions: contents: write # Cancels previous runs of this workflow for the same PR -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: ${{ github.event_name == 'pull_request' || startsWith(github.ref_name, 'codex/') || github.ref_name == 'wip' }} +#concurrency: +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} +# cancel-in-progress: ${{ github.event_name == 'pull_request' || startsWith(github.ref_name, 'codex/') || github.ref_name == 'wip' }} jobs: LoadJobs_conf: