<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>EMAIL_NOTIFICATIONS</name><value>jenkins-notifications@lists.osmocom.org laforge@gnumonks.org</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>78254</buildingDurationMillis><executingTimeMillis>78254</executingTimeMillis><executorUtilization>1.0</executorUtilization><queuingDurationMillis>5910</queuingDurationMillis><queuingTimeMillis>5910</queuingTimeMillis><subTaskCount>0</subTaskCount><totalDurationMillis>84164</totalDurationMillis><waitingDurationMillis>5909</waitingDurationMillis><waitingTimeMillis>5909</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>7952</buildNumber><marked><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><branch><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><name>origin/master</name></branch></marked><revision><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><branch><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>4893</buildNumber><marked><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><branch><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><branch><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><branch><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/osmo-pcap</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://jenkins.osmocom.org/jenkins/view/Sysmocom/job/master-osmo-pcap/7952/artifact</artifactsUrl><changesUrl>https://jenkins.osmocom.org/jenkins/view/Sysmocom/job/master-osmo-pcap/changes</changesUrl><displayUrl>https://jenkins.osmocom.org/jenkins/view/Sysmocom/job/master-osmo-pcap/7952/</displayUrl><testsUrl>https://jenkins.osmocom.org/jenkins/view/Sysmocom/job/master-osmo-pcap/7952/testReport</testsUrl></action><building>false</building><displayName>#7952</displayName><duration>78254</duration><estimatedDuration>94948</estimatedDuration><fullDisplayName>master-osmo-pcap #7952</fullDisplayName><id>7952</id><inProgress>false</inProgress><keepLog>false</keepLog><number>7952</number><queueId>150496</queueId><result>SUCCESS</result><timestamp>1782202806285</timestamp><url>https://jenkins.osmocom.org/jenkins/view/Sysmocom/job/master-osmo-pcap/7952/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_server_network.c</affectedPath><commitId>f3c6fdb7a5cf16371ac50d66fd2e84ab1cb7c363</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>server: do not abort process on short conn message

conn_read_cb() used OSMO_ASSERT() to check that the received
message holds at least a full osmo_pcap_data header.  Although
conn_segmentation_cb2() should only ever hand up complete frames,
asserting on a length derived from network input means a framing
anomaly would abort the entire server (taking down all other clients'
captures).  Close the offending connection gracefully instead,
consistent with the other error paths in this function.

Change-Id: Ia102ff918ef8152d212e10a860f5dc70efec880b
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>f3c6fdb7a5cf16371ac50d66fd2e84ab1cb7c363</id><msg>server: do not abort process on short conn message</msg><path><editType>edit</editType><file>src/osmo_server_network.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_client_network.c</affectedPath><commitId>cf35aeb857c61350989741dbb19cd047f5f929ed</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>client: Fix 32-bit overflow when computing pcapng EPB timestamp

tv_sec * 1000 * 1000 was evaluated in int arithmetic.  Where time_t /
tv_sec is 32-bit, this overflows for any tv_sec &gt; ~2147, corrupting
the 64-bit timestamp_usec well before the year 2038.  Cast tv_sec to
uint64_t before the multiplication so the whole expression
is computed in 64 bits.

Change-Id: I20d3282b8cba1675ce2d0860e66027e5ee8245ef
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>cf35aeb857c61350989741dbb19cd047f5f929ed</id><msg>client: Fix 32-bit overflow when computing pcapng EPB timestamp</msg><path><editType>edit</editType><file>src/osmo_client_network.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_server_core.c</affectedPath><commitId>3e9ac602a1f9a31a779cd50240acb0289d139cb0</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>server: fix zmq message leak on send failure

zmq_msg_send() only transfers ownership of the message to ZeroMQ on
success.  On failure the caller retains ownership, so the previously
init'd zmq_msg_t was leaked on every failed publish.  Close it
explicitly on the error path.

Change-Id: I501b1bf55bede4e69fa5d9b3f38d87341482ff49
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>3e9ac602a1f9a31a779cd50240acb0289d139cb0</id><msg>server: fix zmq message leak on send failure</msg><path><editType>edit</editType><file>src/osmo_server_core.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_server_network.c</affectedPath><commitId>29c207405fc07709fc96dd3a448e88c712737a89</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>server: fix msgb leak on duplicate link header

rx_link_hdr() takes ownership of msg on success (rx_link() only frees
it on failure).  Both branches that call update_conn_file_hdr_msg()
free msg, but when an identical link header was already stored neither
branch ran and msg was leaked.

This happens on every duplicate PKT_LINK_HDR, e.g. a client that
periodically resends its header.  Free msg explicitly in that case.

Change-Id: I79344fe942342f2a736878142b3cf036fc982eef
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>29c207405fc07709fc96dd3a448e88c712737a89</id><msg>server: fix msgb leak on duplicate link header</msg><path><editType>edit</editType><file>src/osmo_server_network.c</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><description></description><fullName>laforge</fullName><id>laforge</id></culprit><run><action _class='hudson.matrix.MatrixChildParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>EMAIL_NOTIFICATIONS</name><value>jenkins-notifications@lists.osmocom.org laforge@gnumonks.org</value></parameter></action><action></action><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UpstreamCause'><shortDescription>Started by upstream project "master-osmo-pcap" build number 7,952</shortDescription><upstreamBuild>7952</upstreamBuild><upstreamProject>master-osmo-pcap</upstreamProject><upstreamUrl>job/master-osmo-pcap/</upstreamUrl></cause></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>2</buildableDurationMillis><buildableTimeMillis>2</buildableTimeMillis><buildingDurationMillis>74986</buildingDurationMillis><executingTimeMillis>74986</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>0</waitingDurationMillis><waitingTimeMillis>0</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>7952</buildNumber><marked><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><branch><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><name>origin/master</name></branch></marked><revision><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><branch><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>4893</buildNumber><marked><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><branch><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><branch><SHA1>af54579bd49100c2d837044d7336d9df8377808f</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><branch><SHA1>29c207405fc07709fc96dd3a448e88c712737a89</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/osmo-pcap</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#7952</displayName><duration>74986</duration><estimatedDuration>80556</estimatedDuration><fullDisplayName>master-osmo-pcap » a1=default,a2=default,a3=default,a4=default,osmocom-master #7952</fullDisplayName><id>7952</id><inProgress>false</inProgress><keepLog>false</keepLog><number>7952</number><queueId>150498</queueId><result>SUCCESS</result><timestamp>1782202806285</timestamp><url>https://jenkins.osmocom.org/jenkins/view/Sysmocom/job/master-osmo-pcap/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/7952/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_server_network.c</affectedPath><commitId>f3c6fdb7a5cf16371ac50d66fd2e84ab1cb7c363</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>server: do not abort process on short conn message

conn_read_cb() used OSMO_ASSERT() to check that the received
message holds at least a full osmo_pcap_data header.  Although
conn_segmentation_cb2() should only ever hand up complete frames,
asserting on a length derived from network input means a framing
anomaly would abort the entire server (taking down all other clients'
captures).  Close the offending connection gracefully instead,
consistent with the other error paths in this function.

Change-Id: Ia102ff918ef8152d212e10a860f5dc70efec880b
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>f3c6fdb7a5cf16371ac50d66fd2e84ab1cb7c363</id><msg>server: do not abort process on short conn message</msg><path><editType>edit</editType><file>src/osmo_server_network.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_client_network.c</affectedPath><commitId>cf35aeb857c61350989741dbb19cd047f5f929ed</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>client: Fix 32-bit overflow when computing pcapng EPB timestamp

tv_sec * 1000 * 1000 was evaluated in int arithmetic.  Where time_t /
tv_sec is 32-bit, this overflows for any tv_sec &gt; ~2147, corrupting
the 64-bit timestamp_usec well before the year 2038.  Cast tv_sec to
uint64_t before the multiplication so the whole expression
is computed in 64 bits.

Change-Id: I20d3282b8cba1675ce2d0860e66027e5ee8245ef
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>cf35aeb857c61350989741dbb19cd047f5f929ed</id><msg>client: Fix 32-bit overflow when computing pcapng EPB timestamp</msg><path><editType>edit</editType><file>src/osmo_client_network.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_server_core.c</affectedPath><commitId>3e9ac602a1f9a31a779cd50240acb0289d139cb0</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>server: fix zmq message leak on send failure

zmq_msg_send() only transfers ownership of the message to ZeroMQ on
success.  On failure the caller retains ownership, so the previously
init'd zmq_msg_t was leaked on every failed publish.  Close it
explicitly on the error path.

Change-Id: I501b1bf55bede4e69fa5d9b3f38d87341482ff49
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>3e9ac602a1f9a31a779cd50240acb0289d139cb0</id><msg>server: fix zmq message leak on send failure</msg><path><editType>edit</editType><file>src/osmo_server_core.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/osmo_server_network.c</affectedPath><commitId>29c207405fc07709fc96dd3a448e88c712737a89</commitId><timestamp>1782202665000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></author><authorEmail>laforge@osmocom.org</authorEmail><comment>server: fix msgb leak on duplicate link header

rx_link_hdr() takes ownership of msg on success (rx_link() only frees
it on failure).  Both branches that call update_conn_file_hdr_msg()
free msg, but when an identical link header was already stored neither
branch ran and msg was leaked.

This happens on every duplicate PKT_LINK_HDR, e.g. a client that
periodically resends its header.  Free msg explicitly in that case.

Change-Id: I79344fe942342f2a736878142b3cf036fc982eef
AI-Assisted: yes (Claude)
</comment><date>2026-06-23 08:17:45 +0000</date><id>29c207405fc07709fc96dd3a448e88c712737a89</id><msg>server: fix msgb leak on duplicate link header</msg><path><editType>edit</editType><file>src/osmo_server_network.c</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/laforge</absoluteUrl><fullName>laforge</fullName></culprit></run></matrixBuild>