Skip to content

Instantly share code, notes, and snippets.

@yashi
Created October 1, 2025 09:05
Show Gist options
  • Save yashi/ef43a8edc830d81a9ae4949610f10699 to your computer and use it in GitHub Desktop.
Save yashi/ef43a8edc830d81a9ae4949610f10699 to your computer and use it in GitHub Desktop.
!: Bump version to v2.1
!: CHANGELOG: Add v2.1 section
arch: freertos: Add missing macro includes
arch: freertos: Add newline at EOF to non-source code
arch: posix: Don't check against errno after calling pthread functions
arch: posix: csp_queue: Remove `return`
arch: posix: pthread_queue: Fix pointer arithmetic on void pointer
arch: zephyr: add atomic operation for raspberrypi pico
build-system: Enable -Wpointer-arith on the build system
can: Separate input queues in support for...
can: Separate input queues in support for...
cmake: Add CSP_BUILD_SAMPLES option
cmake: Add CSP_HAVE_RTABLE
cmake: Add option to enable reproducible builds
cmake: Build csp_rtable_cidr conditionally
cmake: CMakeLists.txt: Define _DEFAULT_SOURCE for csp_rdp.c
cmake: Check for libyaml and build csp_yaml.c if found
cmake: Consolidate compile flags
cmake: Define CSP_HAVE_LIBZMQ and CSP_HAVE_LIBSOCKETCAN
cmake: Enable -Wpedantic flag
cmake: Enable CSP_PRINT_STDIO by default
cmake: Enable zeroing of csp_buffer by default
cmake: Fix description for CSP_PORT_MAX_BIND
cmake: Fix python binding option, change to py3
cmake: Install `libcsp.so` and headers
cmake: Move include file checks under Linux
cmake: Print Library Search Status
cmake: Propagate compiler flags to object libraries
cmake: Remove compile options for Zephyr
cmake: Rename the target "libcsp" with "csp"
cmake: Set version number
cmake: Use option() for stdio configuration parameters
cmake: freertos: Add informative error message for unsupported build
cmake: interfaces: zmq: Fix setting PIC flag to a wrong target
cmake: move cmake_minimum_required()
cmake: py: Specify Development.Module
conn: Actually distinguish between CONN_CLIENT and CONN_SERVER
conn: atomic_compare_exchange_strong
conn: incoming filter fix
conn: incoming filter fix
conn_find_existing: Remove input filter on dst
conn_find_existing: Remove input filter on dst
contrib: scripts: Add a script set-version.sh
contrib: usart_windows: Replace __FUNCTION__ with __func__
crypto: csp_hmac: Update packet->length when include_header is true
csp_bridge: Added csp_dedup on bridge mode
csp_bridge: Make bif_a and bif_b static
csp_bridge: Remove unnecessary error message
csp_bridge: add NULL check for bridge interfaces in csp_bridge_work
csp_bridge: add error msgs to csp_bridge_work
csp_buffer: Clean usage of csp_buffer_data_size() function
csp_buffer: Fix pointer arithmetic on void pointer
csp_buffer: Re-initialize packet buffer in csp_buffer_get()
csp_buffer: Remove csp_buffer_data_size
csp_buffer: Rename buffer to buf
csp_buffer: Use explicit csp_packet_t * return
csp_buffer: buffer/skbuf statically defined data size
csp_buffer: explicit size field of csp_buffer_get is not used
csp_buffer: new func: csp_buffer_refc_inc()
csp_buffer_get_always: A new internal method
csp_conn: Cast arguments for %p
csp_conn: Kill all trailing white spaces
csp_crc32: Accept a void pointer as input
csp_crc32: Extended the csp_crc32 module with a "streamin" interface to be able to do crc32 calculation in chunks
csp_crc32: corrected usage of frame_begin for CSP 2.1
csp_crc32: corrected usage of frame_begin for CSP 2.1
csp_crc32_verify: Exclude CRC size from packet length calculation
csp_dedup: Cleanup unused header
csp_dedup: Fix crc including header
csp_dedup: Fix crc including header
csp_dedup: SI-1459 Reduce num iterations in dedub search
csp_dedup: fix empty initializers
csp_hex_dump: Cast arguments for %p
csp_id: Clear rx_timestamp off header on id strip: (this is a bug)
csp_id: Remove CSP_IDx_PRIO_SIZE and CSP_IDx_FLAGS_SIZE
csp_id: type safety: Make data types explicit in bit modifications
csp_if_can: Remove unused frame_buf_avail
csp_if_kiss: Increment frame drop count on interface overflow
csp_if_tun: Remove packet->frame_length from csp_buffer_get()
csp_if_zmqhub: Handle return value of csp_iflist_add
csp_if_zmqhub: Remove value unused from csp_buffer_get()
csp_iflist: Add csp_iflist_remove function
csp_iflist: Allow to define a default interface
csp_iflist: add now returns void
csp_iflist: add support for iterating over subnet interfaces
csp_iflist: add support for iterating over subnet interfaces
csp_iflist: export new function `is_within_subnet`
csp_iflist: export new function `is_within_subnet`
csp_iflist_remove: Flush queue after closing port
csp_io: Faster loopback
csp_io: Rewrite L3 to L2 broadcast
csp_io: SI-2658 Search backwards from found route
csp_io: Use copy_of to make link level duplicates
csp_io: csp_send_direct: corrected copy -> to packet
csp_io: csp_send_direct: corrected copy -> to packet
csp_io: csp_send_direct_iface: promisc: Send outgoing packets after adding CRC
csp_io: csp_transaction_persistent: unchecked size can lead to buffer overflow
csp_io: remove csp_socket() from the code as well
csp_io: remove unused variable
csp_io: send direct pass idout struct by reference
csp_io: set idout->src when sending thruogh routing table
csp_macro: Add CONTAINER_OF
csp_macro: Add __maybe_unused to silence unused variable warnings
csp_macro: Add __noinit macro
csp_macro: Add __packed macro
csp_macro: Add __unused macro
csp_macro: Add __weak macro
csp_packet: Remove unused timestamp_rx variable
csp_port: Add csp_socket_close function
csp_port: Fix return value of csp_bind_callback()
csp_promisc: Make csp_promisc_queue_buffer static
csp_promisc_enable() returns CSP_ERR_USED when already enabled
csp_qfifo: Make qfifo_queue_buffer static
csp_queue: Added function comment to csp_queue_create_static
csp_queue: Define csp_queue_handle_t with a concrete type
csp_queue:arch:posix: Fix incorrect free space calculation
csp_rdp: Cast arguments for %p
csp_rdp: Change return of csp_rdp_rx_queue_add
csp_rdp: Fix invalid connection creation
csp_rdp: Fix random connection hang due to overflow
csp_rdp: Modify function return value check
csp_rdp: Prevent NULL pointer dereference
csp_rdp: Remove trailing whitespaces
csp_rdp: Remove undefined function
csp_rdp: csp_buffer_get() set unused value to 0
csp_rdp_queue: Fix enqueue of wrong value
csp_rdp_queue: Fix order of parameters
csp_rdp_queue: Fix undefined return value
csp_route: Accept packets to all the nodes addresses
csp_route: Advoid duplicated handling of promisc packets
csp_route: Demand CRC32 on all packets when used with csp connection less callbacks
csp_route: Fix return value comparison
csp_route: Test routing of l3 broadcast
csp_route: Use CSP_ERR_NONE instead of 0
csp_rtable_cider: Allow multiple routes to same subnet
csp_service: All services apply CRC32
csp_service_handler: Disable build timestamp for reproducible builds
csp_service_handler: Remove CSP_RPS_MTU
csp_service_handler: Remove alloca.h
csp_services: csp_buffer_get() set unused value to 0
csp_services: csp_ping: unchecked size can lead to buffer overflow
csp_sfp: Cast arguments for %p
csp_sfp: Replace __FUNCTION__ with __func__
csp_sfp: buffer overflow check
csp_yaml: Added error printout on yaml parser if invalid file
csp_yaml: Cleaup memory leaks from csp_yaml
csp_yaml: Copy interface string name with strdup
csp_yaml: Replace printf usage
csp_yaml: Set default interface from yamls
doc: Add Dockerfile
doc: Add Git Commit Guidelines
doc: Add GitHub Actions for deployment
doc: Add Sphinx build & .rst files
doc: Add a nice image to the documentation
doc: Add build-doc
doc: Add changelog & copy_button extension
doc: Add contributing guide
doc: Add disclaimer about the latest doc
doc: Add documentation details about CSP v2
doc: Add documentation for arch, drivers, crypto & interfaces directories
doc: Add reference to documentation in README
doc: Build it in the dir user specified
doc: Change .md files to consistent Markdown syntax
doc: Change Sphinx version to 5.3.0
doc: Convert headers to proper markup
doc: Dockerfile: Fix GitHub repository link & cmake docs build
doc: Fix README path
doc: Fix inclusion of README.md relative path
doc: INSTALL: Add reproducible builds
doc: Move CI section under Development
doc: Move License section under "The Cubesat Space Protocol"
doc: Move history section under "The Cubesat Space Protocol"
doc: Move images/ to _images/
doc: Remove reference to csp_malloc()
doc: Remove unused Napoleon extension
doc: Replace custom get_active_branch_name() with pygit2
doc: Support linking from README.md in both Markdown and HTML
doc: add small note on `sudo` requirement for installs
doc: basic: Reformat header snippet
doc: clean: removed references to eack
doc: cmake: Move cmake_minimum_required()
doc: conf.py: Add include path to c_autodoc_compilation_args
doc: examples: Update example doc to reflect expected output.
doc: git: Add commit practices
doc: improve CMake build instructions
doc: install: Add library installation used cmake
doc: mtu: Fix wrong header file name
drivers: Forward pxTaskWoken in kiss_driver_rx function
drivers: can: Add Zephyr CAN driver
drivers: can: Remove CAN_FILTER_DATA on zephyr
drivers: can: socketcan: Support for posix CAN without promisc
drivers: can: socketcan: Switch socketcan driver to non blocking mode
drivers: can: zephyr: Prevent potential null pointer dereference
drivers: can_socketcan: Also deal with EINTR
drivers: can_socketcan: Deal with EAGAIN correctly
drivers: can_socketcan: Drop CAN frames with invalid size
drivers: can_socketcan: Replace __FUNCTION__ with __func__
drivers: can_socketcan: Replace printf usage
drivers: can_socketcan: Use CAN_MAX_DLEN instead
drivers: eth: Add null pointer check
drivers: eth: stabilize ethernet interface implementation
drivers: eth_linux: Add to cmake build
drivers: eth_linux: Fix empty initializer
drivers: eth_linux: Free memory after failure
drivers: eth_linux: Replace printf usage
drivers: kiss: Add addr parameter
drivers: usart: Remove checkparity from csp_usart_conf
drivers: usart: add UART interface for ZephyrOS
drivers: usart: format `usart.h`
drivers: usart_linux: Check return value of malloc
drivers: usart_linux: Fail early and release unused resources
drivers: usart_linux: Replace __FUNCTION__ with __func__
drivers: usart_zephyr: Replace __FUNCTION__ with __func__
examples: Add -T for test mode with running duration
examples: Add CAN to UDP bridging example
examples: Add CSP version option
examples: Add csp_server_client.py
examples: Add default intarface setting to all interfaces
examples: Consolidate csp_*_posix.c into csp_posix_helper.c
examples: Create server, client, and loopback modes
examples: Enable Python3 bindings in waf buildall
examples: Extract add_interface()
examples: Fix disabling the help option when CSP_HAVE_RTABLE is not set
examples: Fix wrong server address settings when not use RTABLE
examples: Remove address from calls to pycsp_init
examples: Remove csp_server_client_windows.c
examples: Remove options that cannot be specified from usage
examples: Remove unnecessary externs
examples: Separate example binaries
examples: Set default_iface->addr for KISS
examples: Simplify device selection
examples: Use .format instead of f-strings
examples: buildall.py: Enable yaml for waf
examples: buildall.py: Remove unused 'rest' argument
examples: buildall.py: cmake: Tell how to build samples & examples
examples: cmake: Consolidate `csp_arch` and `zmqproxy` under Linux
examples: cmake: Propagate compiler flags to examples
examples: csp_arch: Fix empty initializer
examples: csp_arch: Remove unused argc and argv
examples: csp_arch: Replace assert() with ASSERT()
examples: csp_bridge_can2udp: Add --protocol-version option
examples: csp_buffer_get() set unused value to 0
examples: csp_client: Do not use thread for client()
examples: csp_client: Fix csp_ping return check
examples: csp_server: csp_client: Fix a function with empty argument
examples: csp_server_client.py: Pass port argument to tasks
examples: csp_server_client.py: Remove manual cleanup calls
examples: csp_server_client: Extract print_usage()
examples: csp_server_client: Fix swapped prints
examples: csp_server_client: Print "-h" in the help
examples: csp_server_client: Remove 'd' from getopt()
examples: csp_server_client: Remove -d from usage
examples: python: Call print_interfaces
examples: python: client: Add command line parameter for kiss
examples: python: client: Fix camel case in python client example
examples: python: server: Add command line options for kiss
examples: python: server: Add command line options for zmq
examples: zmqproxy: Replace assert with perror and exit
featture: Support multiple default interfaces
feature: nomtu: Remove the usage of the interface MTU field
feature: split horizon: Add check on all outgoing packets
feature: split horizon: Add check on all outgoing packets
feature: split horizon: prepatory step
include: Add extern "C"
include: Move private csp_macro.h under src/
include: Remove version-specific functions from header file
include: Rename csp_autoconfig.h to csp/autoconfig.h
include: crc32: Restore doc for csp_crc32_append
include: csp macros for attribute weak
include: csp: Change header files docstrings
include: csp: csp_cmp: Add <stdint.h> header file
include: csp_buffer: Reposition code doc for csp_buffer_refc_inc
include: csp_if_can: Fix CFP2_SENDER_MASK
include: doc: Add "csp/" prefix at "File:" in file comment block
include: doc: Add documentation for CFP in CSP version 2
interface: can: Fix off-by-one error in csp_can2_rx overflow check
interface: can: Re-Fix off-by-one error in csp_can2_rx overflow check
interface: udp: Check return values from pthread functions
interface: zmqhub: Remove trailing whitespaces
interface: zmqhub: Use __maybe_unused macro for ret variable
interfaces: Add csp_can_remove_interface()
interfaces: can: Allow csp_can_pbuf_cleanup to be used from ISR
interfaces: counter: Unify usage of rx_error and frame
interfaces: csp_if_can: SI-2117 zero timestamp_rx when packet done 4 CAN1
interfaces: csp_if_can: Support L2 broadcast on CSP 1 too
interfaces: csp_if_can: comment out random packet loss
interfaces: csp_if_eth: Add to cmake build
interfaces: csp_if_eth: Fix a function with empty argument
interfaces: csp_if_eth: SI-2407 Aligned ETH implementation with CAN
interfaces: csp_if_eth: SI-2407 Move device-independent ETH to interface
interfaces: csp_if_eth: SI-540 EHT mods required for ZYNQ
interfaces: csp_if_eth: SI-670 Added the csp_if_eth POSIX implementation.
interfaces: csp_if_eth: SI-670 Remove OS specific impl from ETH if
interfaces: csp_if_eth: SI-671 Alignment between Z7 and linux
interfaces: csp_if_eth: SI-671 Ethernet debug error parameter added.
interfaces: csp_if_eth: SI-671 Ethernet driver files added. Same as in eth_driver branch that has problems and will be removed.
interfaces: csp_if_eth: SI-671 Use of eth_debug on prints used for debugging
interfaces: csp_if_eth_pbuf: Cast arguments for %p
interfaces: csp_if_eth_pbuf: Replace printf usage
interfaces: csp_if_kiss: Check pointer before dereferencing
interfaces: csp_if_udp: Added more from_me's
interfaces: csp_if_zmqhub: Added more from_me's
interfaces: csp_if_zmqhub: Assign address to ZMQ interface
interfaces: csp_if_zmqhub: Corrected the assertion of zmq_connect
interfaces: csp_if_zmqhub: Mark ret __maybe_unsed
interfaces: csp_if_zmqhub: Mark unused variables
interfaces: csp_if_zmqhub: SI-1390 enable tcp keepalive on zmq
interfaces: csp_if_zmqhub: SI-385 zmqhub init can take secret key to connect to encrypted zmqproxy
interfaces: udp: Accept 0-byte payload packets
interfaces: udp: Replace literal number 4 with header_size
interfaces: udp: Send on same socket as receiving
loopback: remove unnecessary rtable_set
loopback: remove unnecessary rtable_set
loopback: test fixed
macos: doc: structure: Remove Mac OS X
macosx: README: Remove Mac OS X
macosx: csp_semaphore: Cast arguments for %p
macosx: waf: Remove Mac OS X
meson: Add host machine condition for supporting FreeRTOS compilation
meson: Add option to enable reproducible builds
meson: Added missing 'have_rtable' check in meson.build
meson: Conditionally compile can_socketcan
meson: Consolidate `use_rtable` conditional blocks
meson: Define PACKET_PADDING_BYTES correctly
meson: Enable -Wpedantic flag
meson: Enable zeroing of csp_buffer by default
meson: Fix description for CSP_PORT_MAX_BIND
meson: Sort source files in src/meson.build
meson: drivers: Remove Windows support
output: send packets to all link-local interfaces
output: send packets to all link-local interfaces
pdf: Updated CSP/CFP Spec
python: Accept read-only arg in packet_set_data
python: Add print_interfaces()
python: Apply clang-format
python: Conditional RTABLE-related functions
python: Fix argument type for can init
python: Heap allocate socket, close after use
python: Only create ZMQ bindings if ZMQ is enabled
python: Remove address from init, add other fields
python: Remove size from csp_buffer_get()
python: Update pycsp.c
python: Use correct type specifier for arguments
python: example: csp_buffer_get() set unused value to 0
rdp: Added csp_conn_is_active()
rdp: Plug packet buffer leak in csp_rdp_queue_flush()
rdp: Refactor csp_rdp_queue_flush using csp_queue_empty
rdp: Removed EACK
rdp: Use fast close as default
rdp: ephemeral data to avoid cmp deduplicated
rdp: mend race condition that caused dual acks
rdp: sending task will retry if connection is open
rdp: timeouts allow retransmit during close-wait
rdp: treat all outgoing messages as ACK packets
rdp_queue: Consolidate duplicate functionality into single functions
rdp_queue: Fix dequeuing from wrong queue
rdp_queue: Move __csp_rdp_queue_flush before file global variables
rdp_queue: Refactor csp_rdp_queue_get for clarity
rtable_cidr: Remove always-false condition for clarity
samples: Add HMAC
samples: Add basic sample code for first-time users
samples: Add sample code for sending via CANbus
samples: simple-send-canbus: Fix buffer length
samples: simple-send-usart: Fix buffer length
unittest: Add HMAC unit test
unittest: Add test to verify allocated buffer is clean
unittest: Add the fist unit test
unittest: Rename "tests" directory to "unittests"
waf: Add enable-rtable for CSP_USE_RTABLE
waf: Add option to enable reproducible builds
waf: Build csp_rtable_cidr conditionally
waf: Check for libyaml and build csp_yaml.c if found
waf: Enable -Wpedantic flag
waf: Enable zeroing of csp_buffer by default
waf: Remove ctx.env.OS
waf: Remove trailing spaces
waf: Replace --install-csp with waf install
waf: Update Waf to v2.1.1
waf: Update to 2.1.4
waf: Update to v2.1.3
windows: Move usart driver for windows to contrib
windows: Remove CSP_WINDOWS
zephyr: Add CONFIG_CSP_USE_RTABLE
zephyr: Add PICOLIBC
zephyr: Add zephyr/ prefix for all Zephyr public header files
zephyr: Disable pedantic
zephyr: Do not use stdio for csp_print()
zephyr: Fix CONFIG_LOG2_MODE
zephyr: Increase stack size for sample
zephyr: Kconfig: Add memory tuning parameters
zephyr: Kconfig: Organize device-related entries under menus
zephyr: Kconfig: Replace POSIX_CLOCK
zephyr: Remove LIBCSP_HAVE_STDIO
zephyr: SYS_INIT callback no longer takes argument
zephyr: Use zephyr_interface_library_named
zephyr: sample: main: csp_buffer_get() set unused value to 0
zephyr: sample: server-client: Use __maybe_unused macro
zephyr: samples: Add sample for using CAN interface
zephyr: samples: Change default test mode
zephyr: samples: Fix warnings by implicit-function-declaration
zephyr: samples: Replace csp_print to LOG_()
zephyr: samples: Update type of main function.
zmq: Enable filtered mode
zmq: Enable filtered mode
zmq: mtu: Various fixes to allow 2k frames
zmq: mtu: Various fixes to allow 2k frames
zmq: support custom ports when init zmq iface
zmq: zmqhub: Add print when initializing ZMQ IF
zmq: zmqhub: Silence unused variable
zzz: Bugfix #350
zzz: Fix Set addr on zmq interface
zzz: Fix Set address when initializing zmq interface
zzz: Fix additional addr argument to pycsp_can_socketcan_init
zzz: Fix apr_alloc number of arguments
zzz: Fix buffer leak in csp_buffer_free_isr()
zzz: Fix calling non-ISR functions from CAN ISR
zzz: Fix example CAN add interface now has promisc flag
zzz: Fix examples after rtable refactorings
zzz: Fix header that was removed during merge
zzz: Fix missing from_me flag in csp_send_direct
zzz: Fix missing from_me flag in csp_send_direct
zzz: Fix outgoing id on default interfaces
zzz: Fix possible endless loop when routing
zzz: Fix socket init
zzz: Fix split horizon on default routes
zzz: Get default param from yaml and support multiple dfl
zzz: Ignore vscode
zzz: Include integer in ETH IF name
zzz: Introduce csp_queue_empty()
zzz: Loop though all routes, for redundant link layer
zzz: Make CSP1/2 calls internal
zzz: Make pointer arguments const where mutation is not required
zzz: More pretty printout of default interface in yaml
zzz: Only mangle outgoing address if from me
zzz: Only mangle outgoing traffic if from me and idout.src = 0
zzz: Partial update of Python bindings
zzz: Pass from_me down to interfaces:
zzz: Possible fix for split horizon
zzz: Print address when adding ZMQ interface
zzz: Print debug
zzz: Remove CSP_USE_DEDUP compile-time option
zzz: Remove can config debug
zzz: Remove copy_to from iface_t again
zzz: Remove copy_to from iface_t again
zzz: Remove csp_macro header include
zzz: Remove debug
zzz: Remove double runtime nullpointer check
zzz: Remove double runtime nullpointer check
zzz: Remove duplicate csp_buffer_init() declaration
zzz: Remove printf
zzz: Remove return value from csp_send_direct_iface
zzz: Remove the last usage of csp_conf.address
zzz: Remove unnecessary routing lookup in csp_connect
zzz: Remove unnecessary routing lookup in csp_connect
zzz: Remove unused varaible
zzz: Remove weak dummy implementation of csp clock:
zzz: Rename CSP_HAVE_RTABLE to CSP_USE_RTABLE
zzz: Replace malloc.h with stdlib.h
zzz: Report buffer error as tx_error instead of drop
zzz: Resolve address for default interface before zmq init in csp_yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment