Skip to content

Commit 751d082

Browse files
authored
Merge pull request open62541#8098 from o6-automation/merge_15_master
2 parents 1b28680 + 52cd975 commit 751d082

36 files changed

Lines changed: 635 additions & 86 deletions

.github/workflows/build_windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
cc_name: "Clang"
2727
cc_shortname: clang-mingw
2828
generator: "Ninja"
29-
runs-on: windows-latest
29+
runs-on: windows-2022
3030
env:
3131
CC_NAME: ${{ matrix.cc_name }}
3232
CC_SHORTNAME: ${{ matrix.cc_shortname }}

.github/workflows/doc_upload.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: "Documentation Upload"
22

33
on:
44
push:
5-
branches: [ main, master ]
5+
branches: [ main, master, 1.5 ]
66
tags:
77
- v1.*
88

@@ -20,7 +20,7 @@ jobs:
2020
- name: Install Dependencies
2121
run: |
2222
sudo apt-get update
23-
sudo apt-get install -y -qq texlive-fonts-recommended texlive-latex-extra texlive-plain-generic texlive-latex-recommended latexmk texlive-fonts-extra
23+
sudo apt-get install -y -qq texlive-fonts-recommended texlive-latex-extra texlive-plain-generic texlive-latex-recommended latexmk texlive-fonts-extra texlive-luatex graphviz
2424
pip install -r doc/requirements.txt
2525
- name: Build Documentation
2626
run: source tools/ci/linux/ci.sh && build_docs_pdf

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1718,7 +1718,8 @@ install(DIRECTORY ${UA_SCHEMA_DIR}/
17181718
set(UA_install_tools_files "tools/generate_bsd.py"
17191719
"tools/generate_datatypes.py"
17201720
"tools/generate_nodeid_header.py"
1721-
"tools/generate_statuscode_descriptions.py")
1721+
"tools/generate_statuscode_descriptions.py"
1722+
"tools/generate_bsd.py")
17221723
install(FILES ${UA_install_tools_files} DESTINATION ${open62541_install_tools_dir}
17231724
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE)
17241725

SECURITY.md

Lines changed: 48 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,34 @@
22

33
## Supported Versions
44

5-
The following versions of open62541 are monitored for vulnerabilities and are part of our vulnerability handling and release process.
5+
The open62541 releases are organized into release families. The following table
6+
shows the current nomenclature concerning development and stable release
7+
families.
68

7-
| Version | Community Support | Commercial Support Available |
8-
| --------- | ------------------- | ---------------------------- |
9-
| master | :heavy_check_mark: | :heavy_check_mark: |
10-
| v1.4.x | :heavy_check_mark: | :heavy_check_mark: |
11-
| v1.3.x | :last_quarter_moon: | :heavy_check_mark: |
12-
| <= v1.2.x | :last_quarter_moon: | :heavy_check_mark: |
13-
| <= v1.0.x | :x: | :last_quarter_moon: |
9+
| Release Family | Status | Branch |
10+
| -------------- | ------------------- | ----------- |
11+
| - | development | master |
12+
| v1.5.x | stable | 1.5 |
13+
| v1.4.x | oldstable | 1.4 |
14+
| v1.3.x | oldoldstable | 1.3 |
1415

15-
## Reporting a Vulnerability
16+
Beyond the public Github, you can get professional support for open62541 from
17+
*o6 Automation GmbH* (https://www.o6-automation.com/services). This includes our
18+
**Vulnerability Management Process** and **Long-Term Support** for older stable
19+
release families. So software based on open62541 can be deployed and supported
20+
in the field for many years.
1621

17-
Security vulnerabilities can be disclosed privately to the mailing list open62541-security@googlegroups.com.
22+
## Reporting a Vulnerability
1823

19-
The disclosure triggers an evaluation of the vulnerability.
20-
Depending on the criticality, the follow-up comprises of the following steps:
24+
You are invited to disclose your findings privately with one of the following
25+
mechanisms. **DO NOT OPEN PUBLIC GITHUB ISSUES FOR POTENTIAL VULNERABILITIES.**
26+
This only gives the bad guys a head-start and does not speed up the
27+
vulnerability handling.
2128

22-
- Responsible disclosure of the vulnerability to critical professional users (with an embargo period)
23-
- Commit of the fix to the public repository
24-
- Backporting of the fix to past release families
25-
- Preparation of patch releases
26-
- Public disclosure of the vulnerability
29+
- Via email to the mailing list open62541-security@googlegroups.com
30+
- Via the Github disclosure mechanism at https://github.com/open62541/open62541/security/advisories
2731

28-
You can send us encrypted email with PGP using this public key:
32+
You can encrypt emails to us with this PGP key:
2933

3034
```
3135
-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -43,3 +47,29 @@ tfp1v8HATMXKB65FmujmBg==
4347
=Juz6
4448
-----END PGP PUBLIC KEY BLOCK-----
4549
```
50+
51+
## Vulnerability Management Process
52+
53+
The disclosure of a potential vulnerability triggers our Vulnerability
54+
Management Process. It comprises of the following steps:
55+
56+
1. Evaluation of the disclosure (CVSS score)
57+
2. If relevant, preparation of mitigations (patches) for the impacted open62541
58+
release families together with a non-public Vulnerability Advisory
59+
3. Dissemination to commercial users and operators of critical infrastructure
60+
4. Embargo time (typically 30 days)
61+
5. Merge of the mitigations into the impacted open62541 release family branches
62+
6. Preparation of open62541 patch releases for the impacted release families
63+
64+
## Acknowledgement and Public CVE
65+
66+
**We do not endorse public CVE advisories for open62541.** With todays AI-based
67+
coding tools, a public CVE has roughly the same impact as releasing a working
68+
exploit. Professional users and operators of critical installations receive
69+
non-public Vulnerability Advisories via the Professional Support Services. Then,
70+
after an embargo time to fix critical installations, we prepare public patch
71+
releases for the impacted versions of open62541.
72+
73+
If the person disclosing a vulnerability wishes so, we can give a personal
74+
acknowledgement of the disclosure both in the non-public Vulnerability Advisory
75+
and in the commits that are eventually merged into the public git branches.

arch/posix/eventloop_posix_udp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,6 +1181,7 @@ UDP_openSendConnection(UA_POSIXConnectionManager *pcm, const UA_KeyValueMap *par
11811181
if(!conn) {
11821182
UA_LOG_WARNING(el->eventLoop.logger, UA_LOGCATEGORY_NETWORK,
11831183
"UDP\t| Error allocating memory for the socket, closing");
1184+
UA_freeaddrinfo(info);
11841185
return UA_STATUSCODE_BADOUTOFMEMORY;
11851186
}
11861187

doc/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
find_package(Sphinx)
22
find_package(LATEX)
3+
find_program(LUALATEX_COMPILER NAMES lualatex)
34

45
set(DOC_LATEX_DIR ${PROJECT_BINARY_DIR}/doc_latex)
56
set(DOC_HTML_DIR ${PROJECT_BINARY_DIR}/doc)
@@ -102,11 +103,11 @@ add_custom_target(doc_latex ${SPHINX_EXECUTABLE}
102103
COMMENT "Building LaTeX sources for documentation with Sphinx")
103104
add_dependencies(doc_latex open62541)
104105

105-
add_custom_target(doc_pdf ${PDFLATEX_COMPILER} -interaction=batchmode "open62541.tex"
106+
add_custom_target(doc_pdf ${LUALATEX_COMPILER} -interaction=batchmode "open62541.tex"
106107
WORKING_DIRECTORY ${DOC_LATEX_DIR}
107108
# compile it twice so that the contents pages are correct
108-
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode "open62541.tex"
109-
DEPENDS ${PDFLATEX_COMPILER}
109+
COMMAND ${LUALATEX_COMPILER} -interaction=batchmode "open62541.tex"
110+
DEPENDS ${LUALATEX_COMPILER}
110111
COMMENT "Generating PDF documentation from LaTeX sources")
111112
add_dependencies(doc_pdf doc_latex)
112113

doc/conf.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def try_get_branch():
3535

3636
extensions = [
3737
'sphinx_rtd_theme',
38+
'sphinx.ext.graphviz',
3839
]
3940

4041
templates_path = ['_templates']
@@ -52,20 +53,22 @@ def try_get_branch():
5253
html_theme = 'sphinx_rtd_theme'
5354
html_static_path = ['_static']
5455

55-
html_logo = 'open62541_html.png'
56+
html_logo = 'open62541_logo.svg'
5657

5758
pygments_style = 'sphinx' # TODO makes code blocks ugly (overrides sphinx_rtd_theme)
5859

5960
# -- Options for LaTeX output ---------------------------------------------
6061
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-latex-output
6162

62-
latex_logo = 'open62541.png'
63+
latex_logo = 'open62541_logo.png'
6364

6465
latex_documents = [
6566
# (startdocname, targetname, title, author, theme, toctree_only)
6667
(master_doc, 'open62541.tex', 'open62541 Documentation', author, 'manual', False),
6768
]
6869

70+
latex_engine = 'lualatex'
71+
6972
latex_elements = {
7073
# The paper size ('letterpaper' or 'a4paper').
7174
'papersize': 'a4paper',

doc/open62541.png

-12.3 KB
Loading

doc/open62541_logo.png

17.3 KB
Loading

doc/open62541_logo.svg

Lines changed: 100 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)