In dockerfile, we can set the default RTC candidate to env:
```
ENV SRS_RTC_SERVER_CANDIDATE=\$CANDIDATE
CMD ["./objs/srs", "-e"]
```
When starts a docker container, user can setup the candidate by env:
```
docker run --rm -it --env CANDIDATE=1.2.3.4 ossrs/srs:5
```
We should parse the content of SRS_RTC_SERVER_CANDIDATE as env variable name and parse it again.
PICK b34255c3d0
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
If your OS is not CentOS, Ubuntu, macOS, cygwin64, run of configure will fail with:
```
Your OS Linux is not supported.
```
For other linux systems, we should support an option:
```
./configure --generic-linux=on
```
Please note that you might still fail for other issues while configuring or building.
PICK b31940a15a
-------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: ChenGH <chengh_math@126.com>
* Asan: Disable asan for CentOS and use statically link if possible. v5.0.127 (#3347)
1. Disable asan for all CentOS by default, however user could enable it.
2. Link asan statically if possible.
* Update version to v5.0.127
Co-authored-by: winlin <winlin@vip.126.com>
1. Support github actions on Windows Server 2022.
2. Use cygwin64 in windows-latest to build SRS.
3. Package SRS-xxx-setup.exe by NSIS.exe
4. Patch crypto/include/config.h for libsrtp.
5. Support run as administrator.
6. Apply utest for cygwin.
7. Enable srtp over openssl.
1. Support cygwin by '--cygwin64=on'
2. Detect cygwin automatically.
3. Disalbe sanitizer, srt and srtp with openssl.
4. Disable multiple threads, use single threads.
5. Support utest for cygwin64.
6. Query features for windows by API.
7. Disable stat APIs for cygwin.
8. Use ST select event driver.
Co-authored-by: wenjie.zhao <740936897@qq.com>
1. Replase ln by cp for windows.
2. Refine OS and CPU arch detecting.
3. Support configure from any directory by `SRS_WORKDIR`.
4. Support output to any directory by `SRS_OUTPUT`.
5. Disable sanitizer for gperf.
6. Use parallels build for make.
7. Refine bash variable check.
* Sanitizer: Support address sanitizer for x86_64 platform
* Sanitizer: Not mac os need -static-libasan
* Sanitizer: Add script for docker test.
* Sanitizer: Refine build script.
* Santizer: Fix ossrs/srs:dev-gcc7-cache cannot find libasan bug
* Sanitizer: Support sanitizer when use ossrs/srs:dev-cache and ubuntuxx-cache
* Sanitizer: Add sanitizer-static config
Co-authored-by: winlin <winlin@vip.126.com>