Posts by speedy005

    patch version: oscam-emu-patch 2.26.01-11934-802-(f9a8ee92)



    - Add --submodule <name> option to config.sh for unified submodule handling

    - Automatically detects git repo vs tarball: uses 'git submodule update' in

    git repos, falls back to 'git clone --depth 1' for source downloads

    - Reads submodule URL from .gitmodules

    - Use --remote flag only when branch is defined in .gitmodules (respect pinning)

    - Simplify Makefile and CMakeLists.txt submodule handling to single call

    - Make submodule init conditional on WEBIF_WIKI

    - Remove duplicate GEN output from wiki_gen.c

    new version

    now with github upload function for people have a github account.

    Create a file named oscamsource in the s3 folder.

    Then enter your Git repository for building oscam with emu in it. Example:

    trunkurl='https://github.com/oscam-mirror/oscam-emu'

    This allows you to directly check out the oscam emu git without applying the patch with ./se repopatch.


    patch is working no erros or hunks


    s3 compile perfectly

    pasted-from-clipboard.png

    patch version: oscam-emu-patch 2.26.01-11933-802-(bf023d8c)


    Features

    * Offline Help: All parameter descriptions are available directly in the binary

    * Clickable Parameters: A click on the parameter name opens the help popup

    * Draggable Popup: The popup can be freely moved (also via touch on mobile devices)

    * Resizable: Size can be adjusted

    * Position Remembered: The horizontal position and size are stored in the browser

    * Reset Button: Reset to default position and size

    * Wiki Link: The title in the popup is a link to the online wiki for more details

    * Directly from OSCam Wiki: Parameters dynamically extracted from wiki pages during the build process

    * Automatic Updates: Any changes to the wiki pages are automatically integrated into the binary on the next build

    * LZO Compression: Wiki data is compressed like WebIF pages (~64% smaller), controlled via WITH_COMPRESS_WEBIF or USE_COMPRESS

    * Smart Filtering: Only help texts for actually compiled modules are included in the binary (based on is_defined.txt)


    Advantages

    * Available Offline - no internet connection needed - perfect for isolated networks

    * Fast - instant display without network latency

    * Always Up-to-date - wiki content matches exactly the binary version

    * User-friendly - help right where you need it

    * Touch Support - also works on tablets and smartphones

    * No Tracking - the wiki web server sees no requests from your device


    Disadvantages

    * Larger Binary - approx. 76 KB with LZO compression, or ~45 KB with UPX binary compression

    * More RAM - wiki data is kept in memory

    * Build Dependency - wiki markdown files must be present during build


    The build process:

    - New build option WEBIF_WIKI (default=off)

    - Git submodule is automatically initialized and updated

    - wiki_gen.c parses all markdown files in the wiki/ folder

    - Generates pages_wiki.c and pages_wiki.h with all parameter descriptions

    - Compiles everything into the final binary


    Technical details

    - Position Storage: Browser localStorage (wikiPopupLeft, wikiPopupWidth, wikiPopupHeight)

    - API Endpoint: /wiki.json?config=conf&WCF_AMPERSAND¶m=serverip

    - Generation: wiki_gen.c parses the markdown files and generates pages_wiki.c

    - Compression: Controlled via WITH_COMPRESS_WEBIF (same as WebIF pages). Automatically disabled when using USE_COMPRESS=1 (UPX binary compression) - UPX compresses the entire binary more efficiently, making internal LZO compression redundant.

    OSCam Emu Patch Generator – Overview


    The OSCam Emu Patch Generator is a comprehensive, GUI-based tool for managing, creating, and applying patches for OSCam Emu. It is designed to simplify patching workflows while providing advanced Git integration, backup options, and GitHub deployment.


    Key Features:


    1. Patch Creation & Management

    - Automatically generate patches by comparing the OSCam Emu repository with a streaming OSCam source.

    - Supports creating, renewing, and checking patches.

    - Includes automatic patch headers with version, commit hash, and patch modifier information.


    2. Git Integration

    - Clone and manage OSCam and OSCam Emu repositories.

    - Apply patches directly to the Git repository.

    - Check patch compatibility using Git’s `apply --check`.

    - View the latest commits directly in the GUI.

    - Manage OSCam Emu Git folder with one-click cleanup and patching.


    3. Backup & Version Control

    - Backup existing patches to a configurable location.

    - Automatically create alternative backups to prevent accidental overwrites.

    - Maintain patch history with clear date and version metadata.


    4. GitHub Deployment

    - Upload patches to a GitHub repository using credentials stored in a secure configuration file.

    - Supports forcing commits and pushing all changes to a selected branch.

    - No private credentials are stored in the code; all user info comes from a secure JSON configuration.


    5. Patch Distribution

    - Export patches as ZIP files for easy distribution.

    - Includes optional icons for quick identification of actions.


    6. Customizable GUI

    - Modern PyQt6-based interface with a dynamic info log window.

    - Supports multiple languages (English and German) and customizable color themes.

    - Includes progress bars, active button highlighting, and an easy-to-use layout for patch actions.


    7. Safety & Convenience

    - Never deletes critical files from the patch folder.

    - Provides user confirmations for destructive actions (cleaning folder, exiting, etc.).

    - Ensures all required tools (git, zip, Python3, pip3) are installed.


    Technical Notes:

    - Developed in Python 3 with PyQt6 and PIL for icons.

    - Fully open-source under the MIT license.

    - Designed for Linux-based systems with OSCam Emu installed.




    pasted-from-clipboard.png

    Patch version 2.26.01-11927-802 (848f5460)

    cleanup nagra-merlin code


    - Flatten the IRDINFO parser to compute expire_date once and set card_valid_to where applicable, eliminating redundant cs_add_entitlement()/addProvider() calls.

    - Reuse a single IDEA_KEY_SCHEDULE and drop redundant zeroing of MDC2 buffers since the crypto routines already overwrite them.

    - Replace the generic xxxor() helper with a dedicated xor8() to reflect the only actual usage and tighten the CAK7 key builders.


    thx to @lpm11

    Patch version 2.26.01-11926-802 (c63a56cf)

    fix: security crash guard


    - Harden DVBAPI filter handling: require a valid curpid before touching ECM fields and abort section-filter setup when the demux PID lookup fails, preventing null-pointer crashes.

    - WebIF robustness sweep: gate every popen/fopen/access use and preserve pointer assignments so the UI now reports missing scripts/files instead of dereferencing null handles.

    - Reader safety: add missing allocation checks in Conax/DRE code paths and keep Nagra readers’ csystem_data alive after failed init to avoid double-free crashes.

    - Crash/diagnostics fixes: protect cs_dumpstack()/detect_valgrind() against failed file opens and clamp the CoolAPI status lookup to stay inside the cnxt_status[] table.


    thx to @lpm11

    patch version: 2.26.01-11918-802 (eaab5437)

    Fix pages gen prid64 warning introduced in 11906




    all done

    patch version: 2.26.01-11914-802 (c749c6e7)


    dvbapi: fix listen_port not showing up in webif config after restart


    The configured listen_port value was reset to 0 in dvbapi_detect_api()

    for incompatible boxtypes, which caused the webif to show an empty field

    after restart even though the value was correctly saved in oscam.conf.


    Introduce separate runtime variable dvbapi_listenport_active for the

    actual port used by dvbapi logic, preserving cfg.dvbapi_listenport for

    config storage and webif display.

    patch version: 2.25.11-11905-802


    Resolve "Loadbalancer - fallback adjustment"


    * Allow lb_nfb_readers to be set to zero (previously minimum was 1). This means you can configure the system to have no fallback readers if desired.

    * If only one reader matches and double_check is enabled (and the CAID matches), the patch forces a fallback check by setting force_reopen = 1.


    thx to @lpm11