Commit Graph

74 Commits

Author SHA1 Message Date
OSSRS-AI
c0fc8cb093 AI: Improve converage for app rtc module. 2025-09-27 09:40:57 -04:00
Winlin
2384f3fb06
AI: Fix naming problem for app module. v7.0.85 (#4485)
Co-authored-by: OSSRS-AI <winlinam@gmail.com>
2025-09-12 19:44:43 -04:00
Winlin
1fa2cba7c0
Organize utility functions to kernel. v7.0.65 (#4455) 2025-08-27 21:35:58 -04:00
Winlin
6e1134fe9b
Use clang format. v7.0.52 (#4433)
---------

Co-authored-by: ChenGH <chengh_math@126.com>
2025-08-11 23:19:19 -04:00
ChenGH
13597d1b7f
update copyright to 2025. v5.0.218 v6.0.159 v7.0.21 (#4271)
update copyright to 2025

---------

Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: winlin <winlinvip@gmail.com>
2025-01-14 17:35:18 +08:00
Winlin
23d2602c34
UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109)
To manage an object:

```cpp
// Before
MyClass* ptr = new MyClass();
SrsAutoFree(MyClass, ptr);
ptr->do_something();

// Now
SrsUniquePtr<MyClass> ptr(new MyClass());
ptr->do_something();
```

To manage an array of objects:

```cpp
// Before
char* ptr = new char[10];
SrsAutoFreeA(char, ptr);
ptr[0] = 0xf;

// Now
SrsUniquePtr<char[]> ptr(new char[10]);
ptr[0] = 0xf;
```

In fact, SrsUniquePtr is a limited subset of SrsAutoFree, mainly
managing pointers and arrays. SrsUniquePtr is better than SrsAutoFree
because it has the same API to standard unique ptr.

```cpp
SrsUniquePtr<MyClass> ptr(new MyClass());
ptr->do_something();
MyClass* p = ptr.get();
```

SrsAutoFree actually uses a pointer to a pointer, so it can be set to
NULL, allowing the pointer's value to be changed later (this usage is
different from SrsUniquePtr).

```cpp
// OK to free ptr correctly.
MyClass* ptr;
SrsAutoFree(MyClass, ptr);
ptr = new MyClass();

// Crash because ptr is an invalid pointer.
MyClass* ptr;
SrsUniquePtr<MyClass> ptr(ptr);
ptr = new MyClass();
```

Additionally, SrsAutoFreeH can use specific release functions, which
SrsUniquePtr does not support.

---------

Co-authored-by: Jacob Su <suzp1984@gmail.com>
2024-07-09 10:29:36 +08:00
winlin
2a2da2253f Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
winlin
29eff1a242 Refine LICENSE. 2023-10-23 14:33:19 +08:00
Winlin
104cf14d68 DTLS: Use bio callback to get fragment packet. v5.0.156, v6.0.47 (#3565)
1. The MTU is effective, with the certificate being split into two DTLS records to comply with the limit.
2. The issue occurs when using BIO_get_mem_data, which retrieves all DTLS packets in a single call, even though each is smaller than the MTU.
3. An alternative callback is available for using BIO_new with BIO_s_mem.
4. Improvements to the MTU setting were made, including adding the DTLS_set_link_mtu function and removing the SSL_set_max_send_fragment function.
5. The handshake process was refined, calling SSL_do_handshake only after ICE completion, and using SSL_read to handle handshake messages.
6. The session close code was improved to enable immediate closure upon receiving an SSL CloseNotify or fatal message.

------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-06-05 10:45:14 +08:00
chundonglinlin
27f9db9762
SSL: Fix SSL_get_error get the error of other coroutine. v5.0.155, v6.0.46 (#3513)
---------

Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: winlin <winlin@vip.126.com>
2023-05-29 13:00:41 +08:00
chundonglinlin
c0e931ae7a
Replace sprintf with snprintf to eliminate compile warnings. v6.0.45 (#3534)
* Replaced all occurrences of sprintf with snprintf to address deprecation warnings
* Ensured proper buffer size is passed to snprintf to prevent potential buffer overflows
* Ran tests to confirm that the changes do not introduce any new issues or regressions

---------

Co-authored-by: ChenGH <chengh_math@126.com>
2023-05-14 13:04:21 +08:00
winlin
c46ef81ff2 SRS5: Update license date to 2023. v5.0.123
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
winlin
d9cf874033 Build: Refine build script. 2022-10-12 20:21:23 +08:00
winlin
d117145b95 Update date from 2021 to 2022. 2022-06-20 19:22:25 +08:00
winlin
fa78cf3354 Prefix with srs_protocol in protocol directory. 2022-06-09 20:26:58 +08:00
winlin
d5c86dc5fa Switch LICENSE from MIT to **MIT or MulanPSL-2.0**. v5.0.21 2022-01-13 18:40:22 +08:00
winlin
5042117034 Squash: Merge SRS 4.0 2021-10-07 21:10:44 +08:00
Winlin
c8a1e0f3da
Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8 (#2464)
* Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8

* Update README.md

* Update README.md

* Refine format for AUTHORS.md
2021-07-08 14:30:47 +08:00
winlin
13d015b8fd Squash: Fix random bug 2021-07-04 16:04:51 +08:00
winlin
15901cacee SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +08:00
winlin
8b74c7cb89 SquashSRS4: Happy 2021 2021-04-16 09:29:43 +08:00
winlin
237c1e4d3d SquashSRS4: Fix DTLS warnings for HTTP api 2021-04-05 08:29:29 +08:00
winlin
e74810230a SquashSRS4: Regine DTLS and add regression tests. 4.0.84 2021-03-10 08:29:40 +08:00
winlin
dc93836489 SquashSRS4: Refine DTLS init, use specified API by role 2021-03-09 12:01:23 +08:00
winlin
de65a331f1 SquashSRS4: Fix DTLS config bug, dup Alert bug. 4.0.83 2021-03-08 12:39:25 +08:00
winlin
ef279a8b1e RTC: Refine the SRTP protect api 2021-02-07 16:57:48 +08:00
winlin
9f91351f3c RTC: Refine SRTP unprotect rtp and rtcp, without copy 2021-02-07 16:21:25 +08:00
winlin
0c07459d19 RTC: Refine unprotect_rtp to reuse cipher 2021-02-07 16:04:19 +08:00
winlin
c7c6d8778a RTC: Fix warnings 2020-12-08 16:59:43 +08:00
winlin
d552a1a5fb For #1657, support HTTPS client, for http-callback. 4.0.45 2020-11-03 15:45:52 +08:00
winlin
a14f26971b RTC: add comment for DTLS packet 2020-10-19 12:04:28 +08:00
winlin
ba6462aab4 RTC: Refine DTLS ARQ, use step interval 2020-10-03 21:34:34 +08:00
winlin
a19aa82029 RTC: Refine log 2020-09-17 16:34:10 +08:00
winlin
5b3f278243 RTC: Refine log 2020-09-17 16:25:24 +08:00
winlin
dd7587c497 Dispose session when DTLS alert 2020-09-14 10:47:06 +08:00
winlin
5c6946f484 RTC: Refine DTLS alert close_notify log 2020-09-01 16:12:29 +08:00
winlin
b5296d82f4 RTC: Show dtls info 2020-09-01 11:14:41 +08:00
winlin
a826926073 SRS: Fix bug 2020-08-21 21:14:18 +08:00
winlin
2b725b8167 Fix bug 2020-08-20 18:46:11 +08:00
winlin
036cc2a7a2 RTC: Limit the ARQ for DTLS 2020-08-19 21:28:06 +08:00
winlin
1ffea2bcc5 RTC: Refine code 2020-08-19 19:11:42 +08:00
winlin
306a0121ff RTC: Refine code 2020-08-19 19:09:31 +08:00
winlin
9416fddd2b RTC: Refine DTLS impl, extract client and server 2020-08-19 19:06:00 +08:00
winlin
e4b0dd56f0 RTC: Covert server ARQ for DTLS 2020-08-19 17:22:34 +08:00
winlin
17bef0402e RTC: Fix error code for DTLS 2020-08-18 19:29:35 +08:00
winlin
c33dfd2313 RTC: Add utest for DTLS 2020-08-18 19:20:07 +08:00
winlin
9ca6b2e50f RTC: Refine DTLS 2020-08-18 14:45:30 +08:00
winlin
314e3159f0 RTC: Refine log 2020-08-13 17:23:22 +08:00
winlin
4c7de039ba RTC: Refine code 2020-08-13 16:27:50 +08:00
winlin
761c880e55 RTC: Refine code 2020-08-13 16:25:56 +08:00