Changes of Revision 209
libosmocore.spec
Changed
x
1
2
3
Name: libosmocore
4
Requires: osmocom-master
5
-Version: 1.8.0.226.aea7
6
+Version: 1.8.0.227.e8322
7
Release: 0
8
Summary: The Open Source Mobile Communications Core Library
9
License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later
10
Group: Productivity/Telephony/Utilities
11
Url: https://osmocom.org/projects/libosmocore/wiki/Libosmocore
12
-Source: libosmocore_1.8.0.226.aea7.tar.xz
13
+Source: libosmocore_1.8.0.227.e8322.tar.xz
14
Source1: rpmlintrc
15
BuildRequires: automake >= 1.6
16
BuildRequires: libtool >= 2
17
commit_aea78a248324e2e52218132ba25377ac437d7cc9.txt
Deleted
commit_e83227f735e214d269e6d009436601e812cba59a.txt
Added
libosmocore_1.8.0.226.aea7.dsc -> libosmocore_1.8.0.227.e8322.dsc
Changed
22
1
2
Source: libosmocore
3
Binary: libosmocore, libosmocodec0, libosmocodec-doc, libosmocoding0, libosmocoding-doc, libosmocore20, libosmocore-doc, libosmogb14, libosmogb-doc, libosmogsm18, libosmogsm-doc, libosmoisdn0, libosmoisdn-doc, libosmovty9, libosmovty-doc, libosmoctrl0, libosmoctrl-doc, libosmosim2, libosmosim-doc, libosmousb0, libosmousb-doc, libosmocore-dev, libosmocore-utils, libosmocore-dbg
4
Architecture: any all
5
-Version: 1.8.0.226.aea7
6
+Version: 1.8.0.227.e8322
7
Maintainer: Osmocom team <openbsc@lists.osmocom.org>
8
Homepage: https://projects.osmocom.org/projects/libosmocore
9
Standards-Version: 3.9.8
10
11
libosmovty-doc deb doc optional arch=all
12
libosmovty9 deb libs optional arch=any
13
Checksums-Sha1:
14
- 3af66c591d2a704ae08556e5f36a3e0691a0f606 1064744 libosmocore_1.8.0.226.aea7.tar.xz
15
+ d70a5d7339d8dfa7a16cbfe688d2202c9091a326 1064652 libosmocore_1.8.0.227.e8322.tar.xz
16
Checksums-Sha256:
17
- 901ee9743ad8ae6407b976624e3684944e0fbfcf8b1b91918739b4b754aba9d5 1064744 libosmocore_1.8.0.226.aea7.tar.xz
18
+ 31a36889e6792018868704977233975af083174df2659b68ab02b0116f7d4046 1064652 libosmocore_1.8.0.227.e8322.tar.xz
19
Files:
20
- f6ec460eccdba3894ddf3116cb8a56d0 1064744 libosmocore_1.8.0.226.aea7.tar.xz
21
+ c985b9c36cd2016d2124867a8e33a17c 1064652 libosmocore_1.8.0.227.e8322.tar.xz
22
libosmocore_1.8.0.226.aea7.tar.xz/.tarball-version -> libosmocore_1.8.0.227.e8322.tar.xz/.tarball-version
Changed
4
1
2
-1.8.0.226-aea7
3
+1.8.0.227-e8322
4
libosmocore_1.8.0.226.aea7.tar.xz/debian/changelog -> libosmocore_1.8.0.227.e8322.tar.xz/debian/changelog
Changed
12
1
2
-libosmocore (1.8.0.226.aea7) unstable; urgency=medium
3
+libosmocore (1.8.0.227.e8322) unstable; urgency=medium
4
5
* Automatically generated changelog entry for building the Osmocom master feed
6
7
- -- Osmocom OBS scripts <info@osmocom.org> Sun, 20 Aug 2023 14:37:28 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org> Mon, 21 Aug 2023 08:35:35 +0000
9
10
libosmocore (1.8.0) unstable; urgency=medium
11
12
libosmocore_1.8.0.226.aea7.tar.xz/include/osmocom/core/socket.h -> libosmocore_1.8.0.227.e8322.tar.xz/include/osmocom/core/socket.h
Changed
10
1
2
#define OSMO_SOCK_F_NO_MCAST_ALL (1 << 4)
3
/*! use SO_REUSEADDR on UDP ports (required for multicast) */
4
#define OSMO_SOCK_F_UDP_REUSEADDR (1 << 5)
5
+/*! use SCTP_AUTH_SUPPORTED + SCTP_ASCONF_SUPPORTED on SCTP socket (required for ASCONF / Peer Primary Address feature) */
6
+#define OSMO_SOCK_F_SCTP_ASCONF_SUPPORTED (1 << 6)
7
8
/*! use OSMO_SOCK_F_DSCP(x) to set IP DSCP 'x' for packets transmitted on the socket */
9
#define OSMO_SOCK_F_DSCP(x) (((x)&0x3f) << 24)
10
libosmocore_1.8.0.226.aea7.tar.xz/src/core/socket.c -> libosmocore_1.8.0.227.e8322.tar.xz/src/core/socket.c
Changed
68
1
2
return 0;
3
}
4
5
+static int setsockopt_sctp_auth_supported(int fd)
6
+{
7
+#ifdef SCTP_AUTH_SUPPORTED
8
+ struct sctp_assoc_value assoc_val = {
9
+ .assoc_id = SCTP_FUTURE_ASSOC,
10
+ .assoc_value = 1,
11
+ };
12
+ return setsockopt(fd, IPPROTO_SCTP, SCTP_AUTH_SUPPORTED, &assoc_val, sizeof(assoc_val));
13
+#else
14
+#pragma message "setsockopt(SCTP_AUTH_SUPPORTED) not supported! some SCTP features may not be available!"
15
+ LOGP(DLGLOBAL, LOGL_NOTICE, "Built without support for setsockopt(SCTP_AUTH_SUPPORTED), skipping\n");
16
+ return 0;
17
+#endif
18
+}
19
+
20
+static int setsockopt_sctp_asconf_supported(int fd)
21
+{
22
+#ifdef SCTP_ASCONF_SUPPORTED
23
+ struct sctp_assoc_value assoc_val = {
24
+ .assoc_id = SCTP_FUTURE_ASSOC,
25
+ .assoc_value = 1,
26
+ };
27
+ return setsockopt(fd, IPPROTO_SCTP, SCTP_ASCONF_SUPPORTED, &assoc_val, sizeof(assoc_val));
28
+#else
29
+#pragma message "setsockopt(SCTP_ASCONF_SUPPORTED) not supported! some SCTP features may not be available!"
30
+ LOGP(DLGLOBAL, LOGL_NOTICE, "Built without support for setsockopt(SCTP_ASCONF_SUPPORTED), skipping\n");
31
+ return 0;
32
+#endif
33
+}
34
+
35
/*! Initialize a socket (including bind and/or connect) with multiple local or remote addresses.
36
* \paramin family Address Family like AF_INET, AF_INET6, AF_UNSPEC
37
* \paramin type Socket type like SOCK_DGRAM, SOCK_STREAM
38
39
goto ret_close;
40
}
41
42
+ if (flags & OSMO_SOCK_F_SCTP_ASCONF_SUPPORTED) {
43
+ /* RFC 5061 4.2.7: ASCONF also requires AUTH feature. */
44
+ rc = setsockopt_sctp_auth_supported(sfd);
45
+ if (rc < 0) {
46
+ int err = errno;
47
+ multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt);
48
+ LOGP(DLGLOBAL, LOGL_ERROR,
49
+ "cannot setsockopt(SCTP_AUTH_SUPPORTED) socket: %s:%u: %s\n",
50
+ strbuf, local_port, strerror(err));
51
+ goto ret_close;
52
+ }
53
+
54
+ rc = setsockopt_sctp_asconf_supported(sfd);
55
+ if (rc < 0) {
56
+ int err = errno;
57
+ multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt);
58
+ LOGP(DLGLOBAL, LOGL_ERROR,
59
+ "cannot setsockopt(SCTP_ASCONF_SUPPORTED) socket: %s:%u: %s\n",
60
+ strbuf, local_port, strerror(err));
61
+ goto ret_close;
62
+ }
63
+ }
64
+
65
/* Build array of addresses taking first entry for each host.
66
TODO: Ideally we should use backtracking storing last used
67
indexes and trying next combination if connect() fails .*/
68