mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	Merge branch '4.0release' into merge/develop
This commit is contained in:
		
						commit
						7f48d9fceb
					
				
					 3 changed files with 74 additions and 20 deletions
				
			
		
							
								
								
									
										66
									
								
								.github/workflows/codeql-analysis.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								.github/workflows/codeql-analysis.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					# For most projects, this workflow file will not need changing; you simply need
 | 
				
			||||||
 | 
					# to commit it to your repository.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You may wish to alter this file to override the set of languages analyzed,
 | 
				
			||||||
 | 
					# or to provide custom queries or build logic.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# ******** NOTE ********
 | 
				
			||||||
 | 
					# We have attempted to detect the languages in your repository. Please check
 | 
				
			||||||
 | 
					# the `language` matrix defined below to confirm you have the correct set of
 | 
				
			||||||
 | 
					# supported CodeQL languages.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					name: "CodeQL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches: [ 4.0release, develop ]
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    # The branches below must be a subset of the branches above
 | 
				
			||||||
 | 
					    branches: [ 4.0release, develop ]
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: '43 11 * * 0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  analyze:
 | 
				
			||||||
 | 
					    name: Analyze
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strategy:
 | 
				
			||||||
 | 
					      fail-fast: false
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        language: [ 'cpp' ]
 | 
				
			||||||
 | 
					        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
 | 
				
			||||||
 | 
					        # Learn more:
 | 
				
			||||||
 | 
					        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout repository
 | 
				
			||||||
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Initializes the CodeQL tools for scanning.
 | 
				
			||||||
 | 
					      - name: Initialize CodeQL
 | 
				
			||||||
 | 
					        uses: github/codeql-action/init@v1
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          languages: ${{ matrix.language }}
 | 
				
			||||||
 | 
					          # If you wish to specify custom queries, you can do so here or in a config file.
 | 
				
			||||||
 | 
					          # By default, queries listed here will override any specified in a config file.
 | 
				
			||||||
 | 
					          # Prefix the list here with "+" to use these queries and those in the config file.
 | 
				
			||||||
 | 
					          # queries: ./path/to/local/query, your-org/your-repo/queries@main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
 | 
				
			||||||
 | 
					      # If this step fails, then you should remove it and run the build manually (see below)
 | 
				
			||||||
 | 
					      #- name: Autobuild
 | 
				
			||||||
 | 
					      #  uses: github/codeql-action/autobuild@v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # ℹ️ Command-line programs to run using the OS shell.
 | 
				
			||||||
 | 
					      # 📚 https://git.io/JvXDl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
 | 
				
			||||||
 | 
					      #    and modify them (or add more) to build your code if your project
 | 
				
			||||||
 | 
					      #    uses a compiled language
 | 
				
			||||||
 | 
					      - name: Build SRS
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					         cd trunk && ./configure && make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Perform CodeQL Analysis
 | 
				
			||||||
 | 
					        uses: github/codeql-action/analyze@v1
 | 
				
			||||||
| 
						 | 
					@ -552,18 +552,6 @@ fi
 | 
				
			||||||
#####################################################################################
 | 
					#####################################################################################
 | 
				
			||||||
# srtp
 | 
					# srtp
 | 
				
			||||||
#####################################################################################
 | 
					#####################################################################################
 | 
				
			||||||
# For openssl-1.1.*, we should disable SRTP ASM, because SRTP only works with openssl-1.0.*
 | 
					 | 
				
			||||||
if [[ $SRS_SRTP_ASM == YES ]]; then
 | 
					 | 
				
			||||||
    echo "  #include <openssl/ssl.h>                              " > ${SRS_OBJS}/_tmp_srtp_asm_detect.c
 | 
					 | 
				
			||||||
    echo "  #if OPENSSL_VERSION_NUMBER >= 0x10100000L // v1.1.x   " >> ${SRS_OBJS}/_tmp_srtp_asm_detect.c
 | 
					 | 
				
			||||||
    echo "  #error \"SRTP only works with openssl-1.0.*\"         " >> ${SRS_OBJS}/_tmp_srtp_asm_detect.c
 | 
					 | 
				
			||||||
    echo "  #endif                                                " >> ${SRS_OBJS}/_tmp_srtp_asm_detect.c
 | 
					 | 
				
			||||||
    ${SRS_TOOL_CC} -c ${SRS_OBJS}/_tmp_srtp_asm_detect.c -I${SRS_OBJS}/openssl/include -o /dev/null >/dev/null 2>&1
 | 
					 | 
				
			||||||
    if [[ $? -ne 0 ]]; then
 | 
					 | 
				
			||||||
        SRS_SRTP_ASM=NO && echo "Warning: Disable SRTP-ASM optimization, please update docker";
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    rm -f ${SRS_OBJS}/_tmp_srtp_asm_detect.c
 | 
					 | 
				
			||||||
fi;
 | 
					 | 
				
			||||||
SRTP_CONFIG="echo SRTP without openssl(ASM) optimization" && SRTP_OPTIONS=""
 | 
					SRTP_CONFIG="echo SRTP without openssl(ASM) optimization" && SRTP_OPTIONS=""
 | 
				
			||||||
# If use ASM for SRTP, we enable openssl(with ASM).
 | 
					# If use ASM for SRTP, we enable openssl(with ASM).
 | 
				
			||||||
if [[ $SRS_SRTP_ASM == YES ]]; then
 | 
					if [[ $SRS_SRTP_ASM == YES ]]; then
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1116,14 +1116,6 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data)
 | 
				
			||||||
        return err;
 | 
					        return err;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // If payload type is configed to drop, ignore this packet.
 | 
					 | 
				
			||||||
    if (pt_to_drop_) {
 | 
					 | 
				
			||||||
        uint8_t pt = srs_rtp_fast_parse_pt(data, nb_data);
 | 
					 | 
				
			||||||
        if (pt_to_drop_ == pt) {
 | 
					 | 
				
			||||||
            return err;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Decode the header first.
 | 
					    // Decode the header first.
 | 
				
			||||||
    if (twcc_id_) {
 | 
					    if (twcc_id_) {
 | 
				
			||||||
        // We must parse the TWCC from RTP header before SRTP unprotect, because:
 | 
					        // We must parse the TWCC from RTP header before SRTP unprotect, because:
 | 
				
			||||||
| 
						 | 
					@ -1140,6 +1132,14 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // If payload type is configed to drop, ignore this packet.
 | 
				
			||||||
 | 
					    if (pt_to_drop_) {
 | 
				
			||||||
 | 
					        uint8_t pt = srs_rtp_fast_parse_pt(data, nb_data);
 | 
				
			||||||
 | 
					        if (pt_to_drop_ == pt) {
 | 
				
			||||||
 | 
					            return err;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Decrypt the cipher to plaintext RTP data.
 | 
					    // Decrypt the cipher to plaintext RTP data.
 | 
				
			||||||
    char* plaintext = data;
 | 
					    char* plaintext = data;
 | 
				
			||||||
    int nb_plaintext = nb_data;
 | 
					    int nb_plaintext = nb_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue