diff options
Diffstat (limited to '.github')
| -rw-r--r-- | .github/NPTest.cache | 5 | ||||
| -rw-r--r-- | .github/dependabot.yml | 11 | ||||
| -rwxr-xr-x | .github/prepare_debian.sh | 92 | ||||
| -rw-r--r-- | .github/workflows/codeql-analysis.yml | 73 | ||||
| -rw-r--r-- | .github/workflows/test.yml | 41 |
5 files changed, 189 insertions, 33 deletions
diff --git a/.github/NPTest.cache b/.github/NPTest.cache index 232305a7..d488d1b9 100644 --- a/.github/NPTest.cache +++ b/.github/NPTest.cache | |||
| @@ -25,8 +25,9 @@ | |||
| 25 | 'NP_HOST_TCP_POP' => 'pop.web.de', | 25 | 'NP_HOST_TCP_POP' => 'pop.web.de', |
| 26 | 'NP_HOST_TCP_PROXY' => 'localhost', | 26 | 'NP_HOST_TCP_PROXY' => 'localhost', |
| 27 | 'NP_HOST_TCP_SMTP' => 'localhost', | 27 | 'NP_HOST_TCP_SMTP' => 'localhost', |
| 28 | 'NP_HOST_TCP_SMTP_NOTLS' => '', | 28 | 'NP_HOST_TCP_SMTP_NOSTARTTLS' => '', |
| 29 | 'NP_HOST_TCP_SMTP_TLS' => '', | 29 | 'NP_HOST_TCP_SMTP_STARTTLS' => 'localhost', |
| 30 | 'NP_HOST_TCP_SMTP_TLS' => 'localhost', | ||
| 30 | 'NP_HOST_TLS_CERT' => 'localhost', | 31 | 'NP_HOST_TLS_CERT' => 'localhost', |
| 31 | 'NP_HOST_TLS_HTTP' => 'localhost', | 32 | 'NP_HOST_TLS_HTTP' => 'localhost', |
| 32 | 'NP_HOST_UDP_TIME' => 'none', | 33 | 'NP_HOST_UDP_TIME' => 'none', |
diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..07073644 --- /dev/null +++ b/.github/dependabot.yml | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | --- | ||
| 2 | version: 2 | ||
| 3 | updates: | ||
| 4 | - package-ecosystem: github-actions | ||
| 5 | directory: "/" | ||
| 6 | schedule: | ||
| 7 | interval: daily | ||
| 8 | time: "04:00" | ||
| 9 | pull-request-branch-name: | ||
| 10 | separator: "-" | ||
| 11 | open-pull-requests-limit: 10 | ||
diff --git a/.github/prepare_debian.sh b/.github/prepare_debian.sh index 4021c104..dcf778bc 100755 --- a/.github/prepare_debian.sh +++ b/.github/prepare_debian.sh | |||
| @@ -5,27 +5,63 @@ set -e | |||
| 5 | 5 | ||
| 6 | export DEBIAN_FRONTEND=noninteractive | 6 | export DEBIAN_FRONTEND=noninteractive |
| 7 | 7 | ||
| 8 | apt-get update | 8 | source /etc/os-release |
| 9 | apt-get -y install software-properties-common | 9 | |
| 10 | if [ $(lsb_release -is) = "Debian" ]; then | 10 | if [ ${ID} = "debian" ]; then |
| 11 | apt-add-repository non-free | 11 | if [ -f /etc/apt/sources.list.d/debian.sources ]; then |
| 12 | apt-get update | 12 | sed "s/main/non-free contrib/g" /etc/apt/sources.list.d/debian.sources > /etc/apt/sources.list.d/debian-nonfree.sources |
| 13 | else | ||
| 14 | apt-get update | ||
| 15 | apt-get -y install software-properties-common | ||
| 16 | apt-add-repository non-free | ||
| 17 | fi | ||
| 13 | fi | 18 | fi |
| 14 | apt-get -y install perl autotools-dev libdbi-dev libldap2-dev libpq-dev libradcli-dev libnet-snmp-perl procps | 19 | apt-get update |
| 15 | apt-get -y install libdbi0-dev libdbd-sqlite3 libssl-dev dnsutils snmp-mibs-downloader libsnmp-perl snmpd | 20 | apt-get -y install perl \ |
| 16 | apt-get -y install fping snmp netcat-openbsd smbclient vsftpd apache2 ssl-cert postfix libhttp-daemon-ssl-perl | 21 | autotools-dev \ |
| 17 | apt-get -y install libdbd-sybase-perl libnet-dns-perl | 22 | libdbi-dev \ |
| 18 | apt-get -y install slapd ldap-utils | 23 | libldap2-dev \ |
| 19 | apt-get -y install gcc make autoconf automake gettext | 24 | libpq-dev \ |
| 20 | apt-get -y install faketime | 25 | libradcli-dev \ |
| 21 | apt-get -y install libmonitoring-plugin-perl | 26 | libnet-snmp-perl \ |
| 22 | apt-get -y install libcurl4-openssl-dev | 27 | procps \ |
| 23 | apt-get -y install liburiparser-dev | 28 | libdbi0-dev \ |
| 24 | apt-get -y install squid | 29 | libdbd-sqlite3 \ |
| 25 | apt-get -y install openssh-server | 30 | libssl-dev \ |
| 26 | apt-get -y install mariadb-server mariadb-client libmariadb-dev | 31 | dnsutils \ |
| 27 | apt-get -y install cron iputils-ping | 32 | snmp-mibs-downloader \ |
| 28 | apt-get -y install iproute2 | 33 | libsnmp-perl \ |
| 34 | snmpd \ | ||
| 35 | fping \ | ||
| 36 | snmp \ | ||
| 37 | netcat-openbsd \ | ||
| 38 | smbclient \ | ||
| 39 | vsftpd \ | ||
| 40 | apache2 \ | ||
| 41 | ssl-cert \ | ||
| 42 | postfix \ | ||
| 43 | libhttp-daemon-ssl-perl \ | ||
| 44 | libdbd-sybase-perl \ | ||
| 45 | libnet-dns-perl \ | ||
| 46 | slapd \ | ||
| 47 | ldap-utils \ | ||
| 48 | gcc \ | ||
| 49 | make \ | ||
| 50 | autoconf \ | ||
| 51 | automake \ | ||
| 52 | gettext \ | ||
| 53 | faketime \ | ||
| 54 | libmonitoring-plugin-perl \ | ||
| 55 | libcurl4-openssl-dev \ | ||
| 56 | liburiparser-dev \ | ||
| 57 | squid \ | ||
| 58 | openssh-server \ | ||
| 59 | mariadb-server \ | ||
| 60 | mariadb-client \ | ||
| 61 | libmariadb-dev \ | ||
| 62 | cron \ | ||
| 63 | iputils-ping \ | ||
| 64 | iproute2 | ||
| 29 | 65 | ||
| 30 | # remove ipv6 interface from hosts | 66 | # remove ipv6 interface from hosts |
| 31 | if [ $(ip addr show | grep "inet6 ::1" | wc -l) -eq "0" ]; then | 67 | if [ $(ip addr show | grep "inet6 ::1" | wc -l) -eq "0" ]; then |
| @@ -37,7 +73,6 @@ ip addr show | |||
| 37 | 73 | ||
| 38 | cat /etc/hosts | 74 | cat /etc/hosts |
| 39 | 75 | ||
| 40 | |||
| 41 | # apache | 76 | # apache |
| 42 | a2enmod ssl | 77 | a2enmod ssl |
| 43 | a2ensite default-ssl | 78 | a2ensite default-ssl |
| @@ -53,7 +88,7 @@ cp tools/squid.conf /etc/squid/squid.conf | |||
| 53 | service squid start | 88 | service squid start |
| 54 | 89 | ||
| 55 | # mariadb | 90 | # mariadb |
| 56 | service mariadb start | 91 | service mariadb start || service mysql start |
| 57 | mysql -e "create database IF NOT EXISTS test;" -uroot | 92 | mysql -e "create database IF NOT EXISTS test;" -uroot |
| 58 | 93 | ||
| 59 | # ldap | 94 | # ldap |
| @@ -73,12 +108,7 @@ ssh -tt localhost </dev/null >/dev/null 2>/dev/null & | |||
| 73 | disown %1 | 108 | disown %1 |
| 74 | 109 | ||
| 75 | # snmpd | 110 | # snmpd |
| 76 | for DIR in /usr/share/snmp/mibs /usr/share/mibs; do | 111 | service snmpd stop |
| 77 | rm -f $DIR/ietf/SNMPv2-PDU \ | ||
| 78 | $DIR/ietf/IPSEC-SPD-MIB \ | ||
| 79 | $DIR/ietf/IPATM-IPMC-MIB \ | ||
| 80 | $DIR/iana/IANA-IPPM-METRICS-REGISTRY-MIB | ||
| 81 | done | ||
| 82 | mkdir -p /var/lib/snmp/mib_indexes | 112 | mkdir -p /var/lib/snmp/mib_indexes |
| 83 | sed -e 's/^agentaddress.*/agentaddress 127.0.0.1/' -i /etc/snmp/snmpd.conf | 113 | sed -e 's/^agentaddress.*/agentaddress 127.0.0.1/' -i /etc/snmp/snmpd.conf |
| 84 | service snmpd start | 114 | service snmpd start |
| @@ -86,7 +116,11 @@ service snmpd start | |||
| 86 | # start cron, will be used by check_nagios | 116 | # start cron, will be used by check_nagios |
| 87 | cron | 117 | cron |
| 88 | 118 | ||
| 89 | # start postfix | 119 | # postfix |
| 120 | cat <<EOD >> /etc/postfix/master.cf | ||
| 121 | smtps inet n - n - - smtpd | ||
| 122 | -o smtpd_tls_wrappermode=yes | ||
| 123 | EOD | ||
| 90 | service postfix start | 124 | service postfix start |
| 91 | 125 | ||
| 92 | # start ftpd | 126 | # start ftpd |
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..0317c8c0 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml | |||
| @@ -0,0 +1,73 @@ | |||
| 1 | --- | ||
| 2 | # For most projects, this workflow file will not need changing; you simply need | ||
| 3 | # to commit it to your repository. | ||
| 4 | # | ||
| 5 | # You may wish to alter this file to override the set of languages analyzed, | ||
| 6 | # or to provide custom queries or build logic. | ||
| 7 | # | ||
| 8 | # ******** NOTE ******** | ||
| 9 | # We have attempted to detect the languages in your repository. Please check | ||
| 10 | # the `language` matrix defined below to confirm you have the correct set of | ||
| 11 | # supported CodeQL languages. | ||
| 12 | # | ||
| 13 | name: "CodeQL" | ||
| 14 | |||
| 15 | on: | ||
| 16 | push: | ||
| 17 | branches: [master] | ||
| 18 | pull_request: | ||
| 19 | # The branches below must be a subset of the branches above | ||
| 20 | branches: [master] | ||
| 21 | schedule: | ||
| 22 | - cron: '15 18 * * 0' | ||
| 23 | |||
| 24 | jobs: | ||
| 25 | analyze: | ||
| 26 | name: Analyze | ||
| 27 | runs-on: ubuntu-latest | ||
| 28 | permissions: | ||
| 29 | actions: read | ||
| 30 | contents: read | ||
| 31 | security-events: write | ||
| 32 | |||
| 33 | strategy: | ||
| 34 | fail-fast: false | ||
| 35 | matrix: | ||
| 36 | language: ['cpp'] | ||
| 37 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] | ||
| 38 | # Learn more: | ||
| 39 | # 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 | ||
| 40 | |||
| 41 | steps: | ||
| 42 | - name: Checkout repository | ||
| 43 | uses: actions/checkout@v4 | ||
| 44 | |||
| 45 | # Initializes the CodeQL tools for scanning. | ||
| 46 | - name: Initialize CodeQL | ||
| 47 | uses: github/codeql-action/init@v2 | ||
| 48 | with: | ||
| 49 | languages: ${{ matrix.language }} | ||
| 50 | # If you wish to specify custom queries, you can do so here or in a config file. | ||
| 51 | # By default, queries listed here will override any specified in a config file. | ||
| 52 | # Prefix the list here with "+" to use these queries and those in the config file. | ||
| 53 | # queries: ./path/to/local/query, your-org/your-repo/queries@main | ||
| 54 | |||
| 55 | - name: Install packages | ||
| 56 | run: | | ||
| 57 | sudo apt update | ||
| 58 | sudo apt-get install -y --no-install-recommends m4 gettext automake autoconf make build-essential | ||
| 59 | sudo apt-get install -y --no-install-recommends perl autotools-dev libdbi-dev libldap2-dev libpq-dev \ | ||
| 60 | libmysqlclient-dev libradcli-dev libkrb5-dev libdbi0-dev \ | ||
| 61 | libdbd-sqlite3 libssl-dev libcurl4-openssl-dev liburiparser-dev | ||
| 62 | |||
| 63 | - name: Configure build | ||
| 64 | run: | | ||
| 65 | ./tools/setup | ||
| 66 | ./configure --enable-libtap | ||
| 67 | |||
| 68 | - name: Build | ||
| 69 | run: | | ||
| 70 | make | ||
| 71 | |||
| 72 | - name: Perform CodeQL Analysis | ||
| 73 | uses: github/codeql-action/analyze@v2 | ||
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0f93930a..77b09f43 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml | |||
| @@ -1,15 +1,48 @@ | |||
| 1 | --- | ||
| 1 | name: Test | 2 | name: Test |
| 2 | 3 | ||
| 3 | on: | 4 | on: |
| 4 | push: | 5 | push: |
| 5 | branches: | 6 | branches: |
| 6 | - '*' | 7 | - '*' |
| 8 | # Run test for any PRs | ||
| 7 | pull_request: | 9 | pull_request: |
| 8 | 10 | ||
| 9 | jobs: | 11 | jobs: |
| 12 | codespell: | ||
| 13 | name: codespell | ||
| 14 | strategy: | ||
| 15 | fail-fast: false | ||
| 16 | runs-on: ubuntu-latest | ||
| 17 | steps: | ||
| 18 | - name: Checkout | ||
| 19 | uses: actions/checkout@v4 | ||
| 20 | - name: Codespell | ||
| 21 | uses: codespell-project/actions-codespell@v2 | ||
| 22 | with: | ||
| 23 | skip: "./.git,./.gitignore,./ABOUT-NLS,*.po,./gl,./po,./tools/squid.conf,./build-aux/ltmain.sh" | ||
| 24 | ignore_words_list: allright,gord,didi,hda,nd,alis,clen,scrit,ser,fot,te,parm,isnt,consol,oneliners | ||
| 25 | check_filenames: true | ||
| 26 | check_hidden: true | ||
| 27 | # super-linter: | ||
| 28 | # name: super-linter | ||
| 29 | # strategy: | ||
| 30 | # fail-fast: false | ||
| 31 | # runs-on: ubuntu-latest | ||
| 32 | # steps: | ||
| 33 | # - name: Checkout | ||
| 34 | # uses: actions/checkout@v4 | ||
| 35 | # - name: Lint Code Base | ||
| 36 | # uses: github/super-linter@v5.0.0 | ||
| 37 | # env: | ||
| 38 | # DEFAULT_BRANCH: master | ||
| 39 | # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| 10 | # macos: | 40 | # macos: |
| 11 | # ... | 41 | # ... |
| 12 | linux: | 42 | linux: |
| 43 | needs: | ||
| 44 | - codespell | ||
| 45 | # - super-linter | ||
| 13 | runs-on: ubuntu-latest | 46 | runs-on: ubuntu-latest |
| 14 | name: Running tests on ${{ matrix.distro }} | 47 | name: Running tests on ${{ matrix.distro }} |
| 15 | strategy: | 48 | strategy: |
| @@ -24,7 +57,7 @@ jobs: | |||
| 24 | #... | 57 | #... |
| 25 | steps: | 58 | steps: |
| 26 | - name: Git clone repository | 59 | - name: Git clone repository |
| 27 | uses: actions/checkout@v2 | 60 | uses: actions/checkout@v4 |
| 28 | #- name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate | 61 | #- name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate |
| 29 | # uses: mxschmitt/action-tmate@v3 | 62 | # uses: mxschmitt/action-tmate@v3 |
| 30 | - name: Run the tests on ${{ matrix.distro }} | 63 | - name: Run the tests on ${{ matrix.distro }} |
| @@ -40,7 +73,11 @@ jobs: | |||
| 40 | ${{ matrix.distro }} \ | 73 | ${{ matrix.distro }} \ |
| 41 | /bin/sh -c '${{ matrix.prepare }} && \ | 74 | /bin/sh -c '${{ matrix.prepare }} && \ |
| 42 | tools/setup && \ | 75 | tools/setup && \ |
| 43 | ./configure --enable-libtap --with-ipv6=no && \ | 76 | ./configure --enable-libtap --with-ipv6=no && \ |
| 77 | set -x && \ | ||
| 78 | tmp_dir=$(mktemp -d -t test-XXXX) && cp -a po/ $tmp_dir/ && \ | ||
| 79 | cd po && make update-po && cd .. && \ | ||
| 80 | diff -Nur $tmp_dir/po/*.po po/*.po | tee -a /tmp/po.diff && diff -Nur $tmp_dir/po/*.pot po/*.pot | tee -a /tmp/po.diff && if [ $(wc -l /tmp/po.diff | cut -f 1 -d" ") -gt 0 ]; then echo "Error: Translations needs to be updated with make update-po!" && exit 1; fi && \ | ||
| 44 | make && \ | 81 | make && \ |
| 45 | make test' | 82 | make test' |
| 46 | docker container prune -f | 83 | docker container prune -f |
