
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
A python module and command line utility for publishing windows debugging symbols to symbols store. The symbols published in this format can be consumed by the common development tools for windows, such as Visual Studio and WinDbg. See Using SymStore for more information on windows symbols store.
Currently it is possible to publish PDB and PE (exe and dll) files to a local file system.
Symstore is available on pypi and conda package repositories.
It can be installed with pip
or conda
utilities, see below.
Install symstore with pip utility by running:
$ pip install symstore
This will install the command line utility symstore
as well as python module symstore
.
It is also possible to install symstore package from source code. For example, clone symstore's git repository with:
$ git clone <repo-url> symstore
and install it with pip:
$ pip install symstore/
The symstore package is available on conda-forge
channel.
To install it, activate your conda environment and run:
$ conda install --channel conda-forge symstore
To enable compression support, additionally install gcab
and pygobject
packages.
$ conda install --channel conda-forge gcab pygobject
Use the symstore
command to publish the symbols. Run symstore --help
for details.
To publish symbols programmatically use the symstore
module.
See symstore/command_line.py
for an example on how to use the API.
The symstore package supports compressing the data files when publishing them. This can lead to significant reduction of data that needs to be transferred while accessing symbols.
The compression mode is activated with --compress
or -z
flag to symstore
command line utility.
On non-Windows systems, symstore uses the native gcab
library via python bindings to compress data.
The required packages must be available on the system for the compression mode to work.
On Ubuntu 22.04, install following packages:
On Ubuntu 20.04 or 18.04, install following packages:
On Ubuntu 16.04, install following packages:
On FreeBSD 12.2, install following binary packages:
If symstore is unable to load required packages while compression mode is requested, following error message will be displayed:
gcab module not available, compression not supported
When installing symstore inside virtual environment, care needs to be taken in order to make compression work.
The gcab
library and it's bindings must be accessible from the virtual environment.
This can be accomplished by enabling access to system site packages
inside the environment.
When creating the environment with venv
or virtualenv
, use --system-site-packages
flag
to enable access.
Below is an example of enabling access to system site packages when using venv
module.
$ python3 -m venv --system-site-packages <evironment-name>
Note that the gcab
packages listed above needs to be installed before creating the virtual environment.
On Windows systems, symstore uses the standard makecab.exe
utility.
The makecab.exe
utility normally is included by default in Windows installations, thus symstore compression will work out-of-box.
--comment
cli argument)--max-compress
cli argument to disable compression on big files (pull request #27)--skip-published
cli flag (pull request #19)FAQs
publish PDB and PE files to symbols store
We found that symstore demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.