Commit Graph
100 Commits
Author SHA1 Message Date
ProtoTessandGitHub d7f7fe966e Merge pull request #43 from 0x524a/fix/ci-workflow-permissions
ci: add explicit permissions for workflow jobs
2025-11-30 22:28:04 -05:00
ProtoTess b0ff5e5380 test: add minimal workflow to test GitHub Actions execution 2025-12-01 03:24:39 +00:00
ProtoTess a85a109c17 ci: add status check job to debug workflow execution 2025-12-01 03:24:24 +00:00
ProtoTess 78a7ca319b ci: add explicit permissions for workflow jobs 2025-12-01 03:21:44 +00:00
ProtoTessandGitHub e61f00ba9b Merge pull request #42 from 0x524a/13-feature-improve-test-coverage-server
fix: improve handling of nil imaging settings and adjust SOAP fault r…
2025-11-30 22:19:29 -05:00
ProtoTess 7c6634dc02 trigger: re-run CI workflow for PR checks 2025-12-01 03:18:16 +00:00
ProtoTess 2350a350fe ci: configure CI to run on all PRs targeting master branch 2025-12-01 03:18:16 +00:00
ProtoTess df7d476e14 fix: improve handling of nil imaging settings and adjust SOAP fault response status codes 2025-12-01 03:18:16 +00:00
ProtoTessandGitHub b7292bb6cd Merge pull request #41 from 0x524a/13-feature-improve-test-coverage-server
Add unit tests for SOAP handler and server types
2025-11-30 21:48:11 -05:00
ProtoTess 37065e3057 Add unit tests for SOAP handler and server types
- Implement comprehensive tests for the SOAP handler, covering scenarios such as handler registration, valid and invalid SOAP requests, action extraction, and authentication.
- Introduce tests for server configuration types, ensuring default values, resolution validation, range checks, and profile configurations are correctly validated.
- Validate service endpoint generation based on configuration settings, including host and port variations.
2025-12-01 02:46:54 +00:00
ProtoTessandGitHub 7909c2ee09 Merge pull request #40 from 0x524a/36-feature-add-more-devicemgmt-operations
docs: enhance README with comprehensive API coverage summary and deta…
2025-11-30 21:16:01 -05:00
ProtoTess 6bb4edbf14 docs: enhance README with comprehensive API coverage summary and detailed Device Management features 2025-12-01 02:14:48 +00:00
ProtoTessandGitHub 47547fd35c Merge pull request #39 from 0x524a/36-feature-add-more-devicemgmt-operations
refactor: rename project from go-onvif to onvif-go
2025-11-30 21:06:27 -05:00
ProtoTess d8c2f291dc refactor: rename project from go-onvif to onvif-go
- Updated project name in documentation and metadata to reflect new branding.
- Removed outdated documentation files related to CLI and network interface summary.
- Consolidated implementation summaries for network interface discovery and ONVIF server.
- Updated sonar project properties to align with new project name.
- Ensured backward compatibility and comprehensive testing across all changes.
2025-12-01 02:06:04 +00:00
ProtoTessandGitHub c22d796aa8 Merge pull request #38 from 0x524a/36-feature-add-more-devicemgmt-operations
test: enhance loopback interface detection in network tests
2025-11-30 20:27:22 -05:00
ProtoTess 84a5f7255d test: enhance loopback interface detection in network tests 2025-12-01 01:26:21 +00:00
ProtoTessandGitHub bc37b57c83 Merge pull request #37 from 0x524a/36-feature-add-more-devicemgmt-operations
Add device security tests and enhance device capabilities
2025-11-30 20:19:52 -05:00
ProtoTess c085aaa545 chore: update output format in golangci-lint config and improve response handling in tests 2025-12-01 01:16:01 +00:00
ProtoTess 24b3b1d1c9 chore: update output format in golangci-lint config and improve response writing in tests 2025-12-01 01:14:00 +00:00
ProtoTess 518924772a chore: specify golangci-lint version and remove version declaration from config 2025-12-01 01:11:32 +00:00
ProtoTess b8e437c28b chore: update golangci-lint action to use the latest version 2025-12-01 01:10:06 +00:00
ProtoTess ceb86c279f chore: update GitHub Actions to use specific versions for checkout, cache, and other actions 2025-12-01 01:08:27 +00:00
ProtoTess fc4749720b chore: update setup-go action to use v5 in CI workflow 2025-12-01 01:06:42 +00:00
ProtoTess 32a308d21a chore: update setup-go action to v5.0.1 in CI workflow 2025-12-01 01:05:36 +00:00
ProtoTess 28c3ecaca0 chore: update SonarCloud action to specific version and refine CI workflow steps 2025-12-01 01:05:13 +00:00
ProtoTess 6436e8b40b chore: update GitHub Actions to use specific versions for checkout, setup-go, cache, and download actions 2025-12-01 01:03:13 +00:00
ProtoTess a700ddcba6 chore: update golangci-lint action to skip cache 2025-12-01 01:00:41 +00:00
ProtoTess 21965a893f chore: update golangci-lint version to v2.0.0 in CI workflow 2025-12-01 00:58:43 +00:00
ProtoTess a4d20addfc chore: pin golangci-lint version to v1.64.8 in CI workflow 2025-12-01 00:57:06 +00:00
ProtoTess fbb18785da chore: update GitHub Actions to use latest versions of checkout, setup-go, cache, and download actions 2025-12-01 00:55:21 +00:00
ProtoTess 753ab5a6ae chore: downgrade actions/checkout to v4.1.7 in CI workflows 2025-12-01 00:52:46 +00:00
ProtoTess ec451017b5 chore: Update actions/cache to version 4.2.0 in CI workflows 2025-12-01 00:51:09 +00:00
ProtoTess b4e4982876 Refactor XML response handling in device extended and security tests
- Adjusted formatting in XML response strings for consistency in device_extended_test.go and device_security_test.go.
- Improved readability by aligning XML declaration and body content.
- Updated mock server responses to ensure proper handling of various ONVIF operations.

Enhance device security and storage handling

- Refactored struct field declarations in device_security.go and device_storage_test.go for improved clarity.
- Ensured consistent formatting across struct definitions and XML tags.

Standardize whitespace and formatting across multiple files

- Removed unnecessary blank lines and adjusted indentation in discovery, imaging, media, and PTZ server files.
- Improved overall code readability and maintainability by ensuring consistent formatting.

Update example applications for better readability

- Cleaned up whitespace in example applications to enhance code clarity.
- Ensured consistent formatting in main.go files across various examples.

Refactor server and SOAP handler code for consistency

- Standardized struct field declarations and XML tag formatting in server and SOAP handler files.
- Improved readability by aligning struct fields and ensuring consistent use of whitespace.

General code cleanup and formatting adjustments

- Applied consistent formatting across various files, including types.go and test files.
- Enhanced readability by aligning struct fields and removing unnecessary blank lines.
2025-12-01 00:49:36 +00:00
ProtoTess 856f49c82d feat: Add coverage reporting and analysis workflows, enhance CI with additional tests for older Go versions 2025-12-01 00:44:34 +00:00
ProtoTess 4f3e2a6df0 feat: Add device storage and WiFi management functionalities
- Implemented storage configuration management in device_storage.go:
  - GetStorageConfigurations
  - GetStorageConfiguration
  - CreateStorageConfiguration
  - SetStorageConfiguration
  - DeleteStorageConfiguration
  - SetHashingAlgorithm

- Added unit tests for storage configuration operations in device_storage_test.go.

- Implemented WiFi management functionalities in device_wifi.go:
  - GetDot11Capabilities
  - GetDot11Status
  - GetDot1XConfiguration
  - GetDot1XConfigurations
  - SetDot1XConfiguration
  - CreateDot1XConfiguration
  - DeleteDot1XConfiguration
  - ScanAvailableDot11Networks

- Added unit tests for WiFi management operations in device_wifi_test.go.

- Updated types.go to include new structures for geo location and access policy.
2025-12-01 00:05:35 +00:00
ProtoTess 3f343370ce Add device security tests and enhance device capabilities
- Introduced comprehensive tests for device security features including GetRemoteUser, SetRemoteUser, GetIPAddressFilter, SetIPAddressFilter, and more.
- Implemented mock server responses for various ONVIF device security SOAP actions.
- Added new types and constants for device services, capabilities, and network protocols in types.go.
- Enhanced existing tests for device services, discovery modes, and network configurations.
- Ensured proper handling of service capabilities and network protocols in the client.
2025-11-30 23:11:51 +00:00
ProtoTessandGitHub 9d83a7c2da Merge pull request #35 from 0x524a/tls-verification
Tls verification
2025-11-18 14:27:37 -05:00
ProtoTess 50a545697a refactor: remove framerate estimation from RTSP stream inspection 2025-11-18 19:18:33 +00:00
ProtoTess ec63ece472 feat: add TLS verification option for HTTPS connections and improve user prompts 2025-11-18 19:09:36 +00:00
ProtoTess d990aee323 chore: prepare v1.1.3 release
- Draft release workflow fix
- RTSPeek library integration
- golangci-lint v2 migration
- All code quality improvements
2025-11-18 18:43:00 +00:00
ProtoTessandGitHub 74a3cb262f Merge pull request #34 from 0x524a/fix-draft-release
Fix draft release
2025-11-18 13:41:58 -05:00
ProtoTess 349fd20bc6 fix: create releases as draft to allow asset uploads
The release must be created as draft initially, otherwise it's
published immediately and becomes immutable before assets upload.

Users can manually publish after assets are uploaded, or we can
add a workflow_dispatch to publish programmatically.
2025-11-18 18:37:54 +00:00
ProtoTess 34eb35a3fd chore: prepare v1.1.2 release
- Release workflow fixes with action-gh-release@v2
- RTSPeek library integration
- golangci-lint v2 migration
- All linting errors fixed
2025-11-18 18:34:36 +00:00
ProtoTessandGitHub 572135d37c Merge pull request #32 from 0x524a/fix-release-workflow
Fix release workflow asset upload race condition
2025-11-18 13:28:15 -05:00
ProtoTess 0cb6fb8dd8 fix: upgrade to softprops/action-gh-release@v2
- Fixes asset upload race condition
- v2 handles concurrent uploads better
- Added fail_on_unmatched_files and make_latest flags
2025-11-18 18:25:19 +00:00
ProtoTessandGitHub 6a61ec26cf Merge pull request #31 from 0x524a/release-v1.1.1
Release v1.1.1
2025-11-18 13:20:27 -05:00
ProtoTess 1feec67174 chore: prepare v1.1.1 release
- RTSPeek library integration for stream inspection
- golangci-lint v2 migration
- Fixed all linting errors (SA1006, errcheck, unused code)
- Enhanced CI/CD with proper directory exclusions
2025-11-18 18:17:53 +00:00
ProtoTessandGitHub b9877ec175 Merge pull request #30 from 0x524a/fix-go-onvif-references
Fix go onvif references
2025-11-18 13:12:43 -05:00
ProtoTess c54e0fa787 fix: Update golangci-lint args to include all relevant directories for linting 2025-11-18 18:07:07 +00:00
ProtoTess b5df457145 fix: Update golangci-lint configuration by removing deprecated issue rules 2025-11-18 18:02:18 +00:00
ProtoTess 021a926746 fix: Update golangci-lint action to version 2.2 for improved linting 2025-11-18 17:59:29 +00:00
ProtoTess 1cb86c4ab7 feat: Add linter configuration and improve error handling in download functions 2025-11-18 17:55:43 +00:00
ProtoTess b0dc7f6f60 fix: Improve error message formatting in download functions 2025-11-18 17:49:13 +00:00
ProtoTess e0b484436d refactor: Remove unused ASCII art generation function for snapshots 2025-11-18 17:45:46 +00:00
ProtoTess 8953ef6842 feat: Add RTSP stream inspection and connectivity check functionality 2025-11-18 04:59:52 +00:00
ProtoTess f0fe64a1a3 feat: Implement enhanced file download with Basic and Digest authentication support 2025-11-18 04:36:20 +00:00
ProtoTess 817f394c10 feat: Enhance DownloadFile error handling with detailed messages and hints 2025-11-18 04:26:04 +00:00
ProtoTess 3082840445 feat: Add file download functionality and ASCII art preview for camera snapshots
- Implemented DownloadFile method in client.go to download files with authentication.
- Added ascii.go for converting images to ASCII art with configurable parameters.
- Enhanced main.go to include a new option for capturing and displaying snapshots as ASCII art.
- Introduced non-interactive mode for onvif-cli, allowing command execution via command-line arguments.
- Updated documentation to include usage examples for non-interactive mode and scripting.
- Added error handling and improved user prompts for better user experience.
2025-11-18 04:13:44 +00:00
ProtoTess b62a4281b4 docs: add comprehensive CLI and network interface summary
Create complete project summary documenting:
- All deliverables (library, CLI, docs)
- 5 commits with all changes
- Implementation statistics
- Test results and coverage
- Usage examples for library and CLI tools
- Common use cases and workflows
- Benefits for users, developers, systems
- Verification checklist
- Future enhancement opportunities

This document serves as comprehensive reference for the network interface
discovery enhancement across the entire onvif-go project.
2025-11-17 17:42:59 +00:00
ProtoTess ead5558364 docs: add CLI tools and network interface selection to README
Add comprehensive section describing:
- Interactive onvif-cli tool with all features
- Quick demo onvif-quick tool
- Network interface selection for multi-interface systems
- Code examples for both CLI and API usage
- References to detailed documentation guides

Highlights new features:
- CLI tools now support explicit interface selection
- Both discovery modes covered (interactive and API)
- Cross-references to detailed guides
2025-11-17 17:42:10 +00:00
ProtoTess 46035f4873 feat: add network interface selection to CLI tools
onvif-cli improvements:
- Add menu option to list network interfaces
- Add interface selection during discovery
- Display detailed interface information (up/down, multicast, addresses)
- Allow discovery by interface name or IP address
- Maintain backward compatibility with default interface

onvif-quick improvements:
- Add menu option to list network interfaces
- Add interface selection during discovery
- Simplified interface list display
- Quick discovery on specific network

Documentation:
- Add comprehensive CLI_NETWORK_INTERFACE_USAGE.md guide
- Include usage scenarios and workflows
- Troubleshooting section
- Integration examples
- Command reference table

These enhancements allow users to easily specify which network interface
to use for camera discovery, solving issues with multi-interface systems.
2025-11-17 17:41:03 +00:00
ProtoTess dfa113ad6d docs: add network interface implementation summary
Add comprehensive implementation summary document including:
- Problem statement and solution overview
- Implementation details and file changes
- API reference and type definitions
- Usage examples and common scenarios
- Testing results and verification
- Benefits and future enhancements

This documents the complete network interface selection feature
implementation for WS-Discovery multicast discovery.
2025-11-17 17:35:19 +00:00
ProtoTess d6e5cbd55e docs: add network interface discovery section to QUICKSTART
Add examples showing how to:
- Discover on specific interface by name (eth0, wlan0)
- Discover using IP address (192.168.1.100)
- List available network interfaces

Reference new NETWORK_INTERFACE_GUIDE.md for detailed documentation.
2025-11-17 17:34:28 +00:00
ProtoTess c384dca68d feat: add network interface selection to WS-Discovery
- Add DiscoverOptions struct with NetworkInterface field
- Add DiscoverWithOptions() function for interface-specific discovery
- Add ListNetworkInterfaces() to enumerate available interfaces
- Add resolveNetworkInterface() helper supporting names and IPs
- Maintain full backward compatibility with existing Discover() function
- Support specifying interface by name (eth0, wlan0) or IP address
- Provide helpful error messages listing available interfaces
- Comprehensive test suite with 6 unit tests + 2 benchmarks
- Add NETWORK_INTERFACE_GUIDE.md with usage examples

This addresses issue where users with multiple active network interfaces
need to explicitly select which interface to use for WS-Discovery multicast,
as auto-detection may select the wrong one.
2025-11-17 17:28:05 +00:00
ProtoTess 81c9d768d7 docs: add Camera Testing Flow guide for contributing camera tests 2025-11-17 17:03:20 +00:00
ProtoTessandGitHub 819b55a595 Merge pull request #29 from 0x524a/fix-go-onvif-references
fix: complete branding consistency - use onvif-go everywhere
2025-11-17 11:31:54 -05:00
ProtoTess 0aae85fc4c fix: update CHANGELOG.md to use onvif-go for complete consistency 2025-11-17 16:24:17 +00:00
ProtoTess 5a21df55f8 fix: update remaining go-onvif references to onvif-go for complete branding consistency
- server/types.go: Manufacturer identifier 'go-onvif' → 'onvif-go'
- cmd/onvif-server/main.go: Manufacturer flag default 'go-onvif' → 'onvif-go'
- server/README.md: Documentation updated
- examples/manual-soap-test/main.go: Code comments updated (2 instances)
- examples/complete-demo/main.go: Code comment updated

Now using 'onvif-go' consistently across all project files, including
device identifiers, code comments, and documentation.
2025-11-17 16:06:13 +00:00
ProtoTess eadd0d74f7 fix: update all documentation to use onvif-go for consistent branding
- CONTRIBUTING.md: Updated title and git clone URL
- .github/CONTRIBUTING.md: Updated title, paths, and references
- QUICKSTART.md: Updated intro
- BUILDING.md: Updated title
- docs/ARCHITECTURE.md: Updated title and descriptions
- docs/PROJECT_SUMMARY.md: Updated title, description, and structure
- docs/IMPLEMENTATION_SUMMARY.md: Updated docker example
- server/README.md: Updated cd command and link text
- cmd/onvif-diagnostics/README.md: Updated cd command

Note: Kept 'go-onvif' as manufacturer identifier in code (server/types.go, cmd/onvif-server/main.go)
and in code comments (examples/) for descriptive purposes.
2025-11-17 16:02:48 +00:00
ProtoTessandGitHub 0d225be89d Merge pull request #28 from 0x524a/fix-go-onvif-references
fix: replace remaining go-onvif references with onvif-go
2025-11-17 10:53:56 -05:00
ProtoTess f63c77d858 fix: replace go-onvif with onvif-go in Makefile, workflows, and documentation
- Makefile: archive names now use onvif-go prefix
- Release workflow: installation examples updated
- README.md: badge URLs corrected
- RELEASE_NOTES: download examples fixed
- Consistent with repository name and module path
2025-11-17 15:50:21 +00:00
ProtoTessandGitHub d1ef61f9c1 Merge pull request #27 from 0x524a/fix-release-artifact-naming
fix: correct release artifact naming from go-onvif to onvif-go
2025-11-17 10:46:30 -05:00
ProtoTess 239d68b410 fix: remove platform suffix from binaries inside release archives
- Binaries inside archives now have clean names (onvif-cli, onvif-server, etc.)
- Archive names still include platform info (onvif-go-v1.0.4-linux-amd64.tar.gz)
- Users can extract and use binaries without renaming
2025-11-17 15:44:19 +00:00
ProtoTess c6b21bdb18 fix: correct release artifact naming from go-onvif to onvif-go 2025-11-17 15:29:33 +00:00
ProtoTessandGitHub 13b4b08413 Merge pull request #26 from 0x524a/fix-gitignore-cmd-directories
fix: update .gitignore to preserve cmd/ source directories
2025-11-16 22:36:06 -05:00
ProtoTess e4c5f0412c fix: remove unused includeRaw variable in onvif-diagnostics 2025-11-17 03:34:42 +00:00
ProtoTess 24b17e3e0b fix: update .gitignore to preserve cmd/ source directories and add missing CLI tools 2025-11-17 03:32:32 +00:00
ProtoTessandGitHub a9922ba91d Merge pull request #25 from 0x524a/feature-implement-localhost-URL-handling
feat: implement localhost URL handling and add comprehensive tests
2025-11-16 22:13:49 -05:00
ProtoTess c83dbbc0cb feat: implement localhost URL handling and add comprehensive tests 2025-11-17 03:07:50 +00:00
ProtoTessandGitHub 9b9f705b4d Merge pull request #24 from 0x524a/feature-add-test-server
feat: add test server example and update project structure
2025-11-16 21:58:07 -05:00
ProtoTess 42b875ce2b feat: add test server example and update project structure 2025-11-17 02:56:26 +00:00
ProtoTessandGitHub ae891db72b Merge pull request #23 from 0x524a/reponame-change
fix: update repository references from '0x524A' to '0x524a' across do…
2025-11-12 14:49:18 -05:00
ProtoTess bd85e94b7d fix: update repository references from '0x524A' to '0x524a' across documentation and code 2025-11-12 19:43:37 +00:00
ProtoTessandGitHub 3b379ea3cc Merge pull request #22 from 0x524A/Updated-Project-Structure
Updated project structure
2025-11-12 14:20:58 -05:00
ProtoTessandGitHub af2f0624c8 Merge pull request #21 from 0x524A/20-feature-update-newclient-api-to-accept-simplified-endpoint-formats
feat: simplify endpoint API and enhance documentation
2025-11-12 14:19:02 -05:00
ProtoTess d337cf5526 fix: update branch references from 'main' to 'master' in CI workflow 2025-11-12 19:18:39 +00:00
ProtoTess 52352dacd4 feat: restructure project layout and move SOAP implementation to internal package 2025-11-12 19:13:36 +00:00
ProtoTess 64ce3192a4 feat: simplify endpoint API and enhance documentation 2025-11-12 18:50:26 +00:00
ProtoTessandGitHub 41e8093594 Merge pull request #19 from 0x524A/cleanup
Add comprehensive documentation and testing framework for ONVIF library
2025-11-12 13:28:25 -05:00
ProtoTess 16f697965d Add comprehensive documentation and testing framework for ONVIF library 2025-11-12 18:04:29 +00:00
ProtoTessandGitHub b1c33164e3 Merge pull request #18 from 0x524A/17-feature-create-a-automation-for-package-generation
17 feature create a automation for package generation
2025-11-12 12:47:08 -05:00
ProtoTess ea382eb9dc chore: update repository references from go-onvif to onvif-go 2025-11-12 17:45:04 +00:00
ProtoTess a6fda445f3 Refactor build process and improve documentation
- Enhanced Makefile to support building for multiple platforms with versioning and improved output.
- Added build-release.sh script for local binary releases, including checksum generation and archive creation.
- Updated error handling and comments in the build process for clarity.
- Ensured all binaries are built with versioning information included.
2025-11-12 17:32:04 +00:00
ProtoTessandGitHub 90b98d3d5f Merge pull request #16 from 0x524A/9-feature-improve-test-coverage-client---device-service
test: add comprehensive unit tests for ONVIF device and SOAP function…
2025-11-12 11:02:04 -05:00
ProtoTess 8bd6d09224 test: add comprehensive unit tests for ONVIF device and SOAP functionalities 2025-11-12 15:50:47 +00:00
ProtoTessandGitHub 8aa47625ec Merge pull request #14 from 0x524A/8-feature-improve-test-coverage-discovery
test: add comprehensive tests for Device methods and discovery functi…
2025-11-10 23:37:54 -05:00
ProtoTess 7316cdfb65 test: add comprehensive tests for Device methods and discovery functionality 2025-11-11 04:35:35 +00:00
ProtoTessandGitHub 06c15d4b86 Merge pull request #6 from 0x524A/5-add-contribution-guidelines-and-issue-templates
feat: add contribution guidelines and issue templates for better comm…
2025-11-10 23:22:42 -05:00
ProtoTess e39b0261f3 feat: add contribution guidelines and issue templates for better community engagement 2025-11-11 03:45:30 +00:00
ProtoTessandGitHub 917a6d4dc4 Merge pull request #4 from 0x524A/3-add-camera-test-framework
Add camera test framework and initial tests for Bosch FLEXIDOME indoo…
2025-11-10 21:38:04 -05:00