-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pkgtools/libnbcompat: incorrect sha256 hashes with -fstrict-aliasing #122
Comments
It's possible the mtree in src has the same issue because the |
Seems that NetBSD 10 will use GCC 10.5 and NetBSD 9.3 has GCC 7.5, so the issue is not present in current NetBSD (some quick testing in a NetBSD 9.3 VM shows that |
cc @jsonn |
archiecobbs/libnbcompat@864c1cf is a patch in the Linux port which fixes the strict aliasing issue. diff --git a/sha2.c b/sha2.c
index bdcbd317bdd4..4c9436f98275 100644
--- a/sha2.c
+++ b/sha2.c
@@ -567,7 +567,7 @@ void SHA256_Final(sha2_byte digest[SHA256_DIGEST_LENGTH], SHA256_CTX* context) {
*context->buffer = 0x80;
}
/* Set the bit count: */
- *(sha2_word64*)(void *)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;
+ memcpy(&context->buffer[SHA256_SHORT_BLOCK_LENGTH], &context->bitcount, sizeof(context->bitcount));
/* Final transform: */
SHA256_Transform(context, (sha2_word32*)(void *)context->buffer);
@@ -870,8 +870,8 @@ static void SHA512_Last(SHA512_CTX* context) {
*context->buffer = 0x80;
}
/* Store the length of input data (in bits): */
- *(sha2_word64*)(void *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1];
- *(sha2_word64*)(void *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0];
+ memcpy(&context->buffer[SHA512_SHORT_BLOCK_LENGTH], &context->bitcount[1], sizeof(*context->bitcount));
+ memcpy(&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8], &context->bitcount[0], sizeof(*context->bitcount));
/* Final transform: */
SHA512_Transform(context, (sha2_word64*)(void *)context->buffer); |
I'm pretty sure this was closed in error. |
Stupid GitHub auto-close. |
This looks akin to a fix already committed to our digest package: |
Features/Improvements ✨ - Append suffix to download filenames to avoid overwrites (#35) - Support uploading image attachments from clipboard (#36) - Support leaving rooms (#45) - Support hiding server part of username in message scrollback (#71) - Restore opened tabs and windows upon restart (#72) - Interpret newlines as line breaks when converting Markdown to HTML (#74) - Indicate when you're editing a message (#75) - Support configuring which program :open runs (#95) - Support sending and completing Emoji shortcodes in the message bar (#100) - Indicate number of members in room (#110) - Show errors fetching space hierarchy when list is empty (#113) - Show Git SHA information when printing version information (#120) - Reduce number of Tokio workers (#129) - Indicate when there are new messages below scrollback viewport (#131) Bug Fixes 🐞 - Tab completion panics for unrecognized commands (#81) - Fix error message for undefined download directory (#87) - Gracefully handle verification events that are unknown locally (#90) - Use terminal window focus to determine when a message has actually been seen (#94) - ChatStore::set_receipts locks up app for bad connections (#99) - Need fallback behaviour when dirs::download_dir returns None (#118) - Code blocks get rendered without line breaks (#122) - Remove trailing newlines in body (#125) - Profile session token should only be readable by the user (#130) - Handle sync failure after successful password entry (#133) Documentation/README Updates 📚 - Add manual pages (#88) - Mention Minimum Supported Rust Version in README (#115) - Link to AUR pkg in README (#121) Meta 👷♀️ - Update locked Cargo dependencies (#70) - Add Nix flake (#73) - Add FUNDING.yml to project (#77) - Upload artifacts built in GitHub Actions (#105) - Cache build directory in GitHub Actions (#107) - Replace GitHub actions using deprecated features (#114) - Fix Nix flake build on Darwin (#117)
Switch to GH Actions CI. by @patrickt in #41 Add the same PR template as for tree-sitter-javascript by @mjambon in #43 Update package.json to include the repository key by @msftenhanceprovenance in #50 Loosen Rust crate's tree-sitter dependency by @dcreager in #52 adding make support by @mattmassicotte in #56 feat: treat iota as predeclared identifier by @kawaemon in #58 feat: add support to parse of type parameters by @kawaemon in #57 feat: allow to put type arguments in calling expressions by @kawaemon in #59 Update C code by @aryx in #66 Document reason for statements at top level by @adonovan in #67 Make method bodies non-optional by @adonovan in #68 Fix node naming in {param,field}_declaration by @adonovan in #65 Structure Query by @mattmassicotte in #70 Remove field_identifier from keyed_element by @adonovan in #71 Generic Makefile by @mattmassicotte in #72 Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #78 Swift Package by @mattmassicotte in #79 Made body optional for method_declaration by @lmaruvada in #90 Allow GenericType to accept QualifiedType by @kawaemon in #92 feat(queries/highlight): highlight built-in functions as @function.builtin by @jimeh in #96 feat(grammar): capture comment directives by @matoous in #97 Revert "Merge pull request #97 from matoous/md/comment-directives" by @matoous in #98 feat(ci): run build & test action on PRs by @matoous in #99 fix: fix string literal rule by @SuperBo in #91 Add more types and struct/parameter fix by @amaanq in #118 Param fix by @amaanq in #119 Update identifiers and top level declarations by @amaanq in #120 Fix single import spec list without terminator by @amaanq in #122 Materialize expression_statement nodes by @josharian in #124 Formatting & CI fixes by @amaanq in #126
Switch to GH Actions CI. by @patrickt in #41 Add the same PR template as for tree-sitter-javascript by @mjambon in #43 Update package.json to include the repository key by @msftenhanceprovenance in #50 Loosen Rust crate's tree-sitter dependency by @dcreager in #52 adding make support by @mattmassicotte in #56 feat: treat iota as predeclared identifier by @kawaemon in #58 feat: add support to parse of type parameters by @kawaemon in #57 feat: allow to put type arguments in calling expressions by @kawaemon in #59 Update C code by @aryx in #66 Document reason for statements at top level by @adonovan in #67 Make method bodies non-optional by @adonovan in #68 Fix node naming in {param,field}_declaration by @adonovan in #65 Structure Query by @mattmassicotte in #70 Remove field_identifier from keyed_element by @adonovan in #71 Generic Makefile by @mattmassicotte in #72 Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #78 Swift Package by @mattmassicotte in #79 Made body optional for method_declaration by @lmaruvada in #90 Allow GenericType to accept QualifiedType by @kawaemon in #92 feat(queries/highlight): highlight built-in functions as @function.builtin by @jimeh in #96 feat(grammar): capture comment directives by @matoous in #97 Revert "Merge pull request #97 from matoous/md/comment-directives" by @matoous in #98 feat(ci): run build & test action on PRs by @matoous in #99 fix: fix string literal rule by @SuperBo in #91 Add more types and struct/parameter fix by @amaanq in #118 Param fix by @amaanq in #119 Update identifiers and top level declarations by @amaanq in #120 Fix single import spec list without terminator by @amaanq in #122 Materialize expression_statement nodes by @josharian in #124 Formatting & CI fixes by @amaanq in #126
Changes from Ant 1.10.13 TO Ant 1.10.14 ======================================= Changes that could break older environments: ------------------------------------------- * Resource#compareTo now invokes getName rather than toString as the later may be costly (for example in the case of a StringResource). Bugzilla Report 66496 * When using Java 18 or higher, Ant will no longer use Java SecurityManager because it has been deprecated for removal and by default is disallowed to be set at runtime https://openjdk.org/jeps/411. This will mean that the "<permissions>" type is no longer functional when using Java 18 or higher. Furthermore, when using Java 18 or higher, if the build executes tasks that call "java.lang.System.exit()" and if those tasks aren't running in a forked VM of their own, then such tasks will now kill the entire Ant build process. It is recommended that such tasks be updated to launch in a forked JVM so that the System.exit() call will not impact the JVM in which Ant process runs. Fixed bugs: ----------- * log only the stylesheet name in the xslt task. Github Pull Request #199 * junitlauncher task's "test" and "listener" elements which take a "outputDir" property were incorrectly resolving the outputDir against the current working directory instead of the project's basedir. This has now been fixed. Bugzilla Report 66504 * regexmapper would, in some cases, incorrectly consume backslash characters from the "to" attribute, resulting in missing backslashes in the output. This is now fixed. Bugzilla Report 66468 * <fixcrlf>, <replace> and <replaceregexp> now try to preserve the file permissions of the files they modify. Bugzilla Report 66522 * junitlauncher task would fail if a forked test timed out even if haltOnFailure was set to false. This is now fixed. Bugzilla Report 66411 * fixes a bug in org.apache.tools.zip.ZipOutputStream where, even when "zip64Mode" is set to "always", ZipOutputStream may not create a CEN extra field data for the entry. Bugzilla Report 66873 * legacy-xml listener of junitlauncher task wouldn't report certain failures involving junit jupiter dynamic tests. This has now been fixed. Github Pull Request #122 Other changes: -------------- * <fork> element of the junitlauncher task now has a new optional "java" attribute which can be used to point to a different Java installation for runnning the forked tests. Bugzilla Report 66464 * made sure <echoproperties> sorts the echoed properties on JDK9+ as well. Bugzilla Report 66588 * org.apache.tools.ant.taskdefs.Recorder class now introduces a setLogLevel(LogLevel level) method. Bugzilla Report 66238 * The <fork> element of junitlaunchertask now allows a "forkMode" attribute. forkMode=perTestClass can now be used to launch each test class in a separate forked JVM. Bugzilla Report 65176
While waiting for some of the features in the main branch to finish baking for the v0.4 release why not enjoy some bugfixes, doc cleanups, and refactors right now? Fixed - Fixed a panic that occured when the viewed file gets removed or renamed (#145) - Made live code reloading more robust (#106 & #147) - Live code reloading should work with more editors (e.g. neovim) - Live code reloading should more reliable watch the desired file - Improved syntax highlighting (#150) - We now support highlighting many more formats (e.g. TOML, Dockerfiles, etc.) - We now support highlighting code blocks that use a language marker followed by a comma like ```rust,ignore - Nested numbered lists now display ordering correctly (#154) - Fixed a panic that occured on some specific system configurations (#169) Docs - Use a repology badge for package manager installation (#109) - Make correct location of config file more clear (#122) Along with a whole slew of internal refactors and testing improvements I'd also like to give a big thanks to all of the contributors that helped make this release possible!
1.10.14 (2023-11-26) Changelog: * PR #112: Put glue and pieces parameters to implode in correct order for PHP 7.4+ * PR #121: Fix PHP bug 81653: Typo in install-pear-nozlib.phar * PR #122: add %S EXPECTF capability * PR #124: Fix: Creation of dynamic property PEAR_Error::$callback is deprecated * PR #125: Fixed extension loaded check for pecl binaries * PR #126: Remove -n option from pecl.bat for shared extensions * PR #127: fix Using ${var} in strings is deprecated * PR #128: fix lingering license references to PHP license * PR #129: Exclude tests from composer classmap * PR #131: fix private lastError name
2.084 2023/11/06 - various fixes for edge cases and build: #136, #141, #142, #143, #145 - update documentation to reflect default SSL_version 2.083 2023/05/18 - fix t/protocol_version.t for OpenSSL versions which don't support SECLEVEL (regression from #122) 2.082 2023/05/17 - SSL_version default now TLS 1.2+ since TLS 1.1 and lower deprecated #122 - fix output of alert string when debugging #132 - improve regex for hostname validation #130, #126 - add can_ciphersuites subroutine for feature checking #127 - Utils::CERT_create - die if unexpected arguments are given instead of ignoring these
18.0.0 (2022-03-24) Added * Support for EcmaScript modules (aka ESM) (#1756) * New optional name property on the Hook schema (#1914) Changed * JSON Schema: some array fields now have "minItems": 1. * Generate Java code that uses Optional in getters. * Setters are removed. * Classes without required fields have public empty constructors, and static of methods for each field. (#1858 aslakhellesoy) * Java: Make this library more null safe. 19.0.0 (2022-05-31) Added * Expand the messages protocol with keyword types (#1966) Changed * [Java] the PickleStep constructor has changed - it now needs an extra PickleStepType argument. * [Java] the Step constructor has changed - it now needs an extra StepKeywordType argument. 19.1.0 (2022-06-20) Added * [Javascript] Adding the json schemas of the messages to the NPM package (PR#2010) 19.1.1 (2022-06-22) Fixed * [Javascript] Schema are actually missing from 19.1.0 (PR#2016) 19.1.2 (2022-06-22) Fixed * [Javascript] Schema was still missing in 19.1.1 due to how npm manages the files attribute in package.json (PR#2020) 19.1.3 (2022-09-20) Fixed * Add name field to package.cjs.json (#36) 19.1.4 (2022-09-22) Changed * Update dependencies 20.0.0 (2022-11-14) Changed * Add workerId field to TestCaseStarted message (#34) * [Java] Enabled reproducible builds Fixed * Change Go module name to match repo (#101) 21.0.0 (2022-12-17) Added * [Java] Add javadoc to messages (#124) Changed * Add exception to TestStepFinished TestRunFinished (#122) 21.0.1 (2022-12-17) Fixed * [Java] Suppress warnings for missing javadoc (#128) 22.0.0 (2023-04-06) Added * Added source reference to parameter type (#45) Fixed * Corrected Java and PHP generators to allow running using Docker on Windows (#146) 23.0.0 (2023-11-01) Added * Added C++ implementation (#152) Changed * [Ruby] Updated minimum Ruby version to 2.5 - (#177 luke-hill) 24.0.0 (2023-11-24) Added * Add stackTrace prop to Exception message (#182)
0.10.4 - Fixed version mismatch in wired --version (#126). 0.10.3 - Support showing specific notifications with clip using e.g. wired --show id37 (#96). - Add wired --kill to cleanly exit the process. - Performance improvements. - Optionally trim whitespace in notification text (when trim_whitespace is set to true (default: true). - Updated wired.service to hopefully make sure that we have a display before starting the service. I still would rather you just launch wired directly. - Allow startup to continue even if we couldn't remove the existing wired socket (loosely #122).
0.20.7 Fix sizeof precedence by @philipturnbull in #168 Adds GH tag queries by @BekaValentine in #122 Add Microsoft SEH extension to the grammar by @DennySun2100 in #164 Add TAGS_QUERY to rust bindings by @Squadrick in #175 Misc fixes by @amaanq 0.20.6 fix: rework rules to reduce state count by @amaanq in #162 Fix by @amaanq in #163
Changelog: Release version 12 Clean up some FreeBSD conditions (#98) (5a81837) Add ES256K support (#90) (e6a7ae7) Meson changes (#135) (c1569b7) Update CI (#8) (#129) (253549a) lib/openssl/rsaes.c: Fix issue where jose_hook_alg_find failed to find the … …existance of RSA_OAEP algorithm (58112df) Increase test program/scripts timeout values (#131) (45367dd) Fix test compilation warnings (#127) (aee1096) Adapt alg_comp test to different zlib (#142) (4878253) Use checkout v3 Github action to avoid warnings (#137) (6a639e2) Alternative fix for fedora:rawide (#138) (55b11f5) lib/openssl/hmac.c: rename hmac function to jhmac (#130) (33b9e0b) jose: build library only as shared (#119) (b72f8ca) meson: add option to disable building manpages (#118) (786b426) Add a more descriptive error when jwk gen fails (#105) (cdb1030) Use "command -v" instead of "which" (deprecated) (#125) (e1d66f1) Test for jq existing (used in jose-jwe-enc test) (#124) (ddc0d2a) Correct jose_jws.3 man page example (#122) (ad08d70) lib/hsh.c: rename hsh local variable (#111) (3d5b287) Avoid master word when possible (#120) (5bc6a92) Fix github action CI by setting appropriate centos (a091f56) Fix format of jose-jwe-enc man page (76924de) Meson Fixes (320336b) ci: make ubuntu:devel and fedora:rawhide not to fail the pipeline (1d15950) ci: retry when installing the deps in debian/ubuntu (bfdbb6e) ci: remove travis-ci (05d8e70)
4.12.0 (stable): Gtk: * AboutDialog: Deprecate ctor with use_header_bar. (Daniel Boles) Merge request !74 * Add SymbolicPaintable. * Add ScrollInfo and enum ListScrollFlags. * ColumnView, GridView, ListView, Viewport: Add scroll_to(). * ColumnViewRow, ListItem: Add set/get/property_accessible_description() and set/get/property_accessible_label(). * DropDown: Add set/get/property_header_factory() and set/get/property_search_match_mode(). * FileLauncher: Add set/get/property_always_ask(). * Window: Add is_suspended() and property_suspened(). (Kjell Ahlstedt) Documentation: * Remove README.SUN and other obsolete files (Kjell Ahlstedt) Issue #140 * Gtk::Widget: Describe managed and non-managed widgets (Kjell Ahlstedt) Issue #138 (Daniel Boles) Build: * recentinfo.hg: Fix Visual Studio build (Chun-wei Fan) Merge request !75 * Require gtk4 >= 4.12.0 (Kjell Ahlstedt) 4.11.3 (unstable): Gdk: * Pixbuf: Deprecate the create() method taking a Cairo::Surface. (Kjell Ahlstedt) Gtk: * Snapshot: Add some #includes. (Kjell Ahlstedt) Issue #137 (Daniel Boles) * Image: Deprecate the set() method taking a Pixbuf. * Notebook: Wrap the object returned from get_pages() in a SelectionListModelImpl (like Stack::get_pages()). * Picture: Deprecate set_pixbuf(). * ColumnView: Add set/get/property_header_factory(). * CssProvider: Deprecate load_from_data(). Add load_from_string() and load_from_bytes(). (Kjell Ahlstedt) Documentation: * Group some classes in the new ListView group and note that all classes in the TreeView group are deprecated. (Kjell Ahlstedt) Build: * Require gtk4 >= 4.11.3 (Kjell Ahlstedt) 4.11.2 (unstable): Gdk: * GLTexture: Deprecate create(). * Add GLTextureBuilder. (Kjell Ahlstedt) Gtk: * Box, BoxLayout: Add set/get/property_baseline_child(). * Button: Add set/get/property_can_shrink(). * CenterBox, CenterLayout: Add set/get/property_shrink_center_last(). * GLArea: Deprecate set/get/property_use_es(). Add set/get/property_allowed_apis(), get/property_api(). * Add ListHeader, SectionModel. * ListView: Add set/get/property_header_factory(). * MenuButton: Add set/get/property_can_shrink(). * SortListModel: Add set/get/property_section_sorter(). * Widget: Deprecate get_allocation(), get_allocated_width/height/baseline(). Add get_baseline(). (Kjell Ahlstedt) Build: * MSVC build: Mark GTKMM_API for the Entry class (Chun-wei Fan) Merge request !73 * Require gtk4 >= 4.11.2 (Kjell Ahlstedt) 4.11.1 (unstable): Gdk and Gtk: * Use callback functions with C linkage. (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming) Gdk: * Add Gdk::Graphene::Point, Rect and Size. They wrap the corresponding classes in the Graphene library. (Kjell Ahlstedt) * Add class DragSurfaceSize. * DragSurface: Add signal_compute_size(). * Surface: Add get/property_scale(). Deprecate create_similar_surface(). (Kjell Ahlstedt) Gtk: * Snapshot: Add push_repeat(), push_clip(), append_cairo(), append_texture(), append_color() with Gdk::Graphene::Rect. Deprecate other push_clip(), push_clip(), append_cairo(), append_texture(), append_color() overloads. Add translate(). * Widget: Add compute_bounds() and compute_point(). Deprecate translate_coordinates(). (Kjell Ahlstedt) * Add classes ColumnViewCell and ColumnViewRow. * ColumnView: Add set/get/property_tab_behavior() and set/get/property_row_factory(). * Add enum ListTabBehavior. * FlowBox and ListBox: Add remove_all(). * GridView and ListView: Add set/get/property_tab_behavior(). * ListItem: Add set/get/property_focusable(). (Kjell Ahlstedt) Build: * Require gtk4 >= 4.11.1 (Kjell Ahlstedt) 4.10.0 (stable): Gdk: * Add TextureDownloader * Add enum MemoryFormat, identical to MemoryTexture::Format * Texture: Add get_format() (Kjell Ahlstedt) Gtk: * VolumeButton: Deprecated * ProgressBar: Deprecate property_ellipsize() (Kjell Ahlstedt) * FileDialog: open_multiple_finish() and select_multiple_folders_finish() return std::vector<Glib::RefPtr<Gio::File>> instead of Glib::RefPtr<Gio::ListModel>. FileChooser: Deprecate get_files() and get_shortcut_folders(). Add get_files2() and get_shortcut_folders2(). (Kjell Ahlstedt) Issue #132 * FileDialog: Make open[_finish](), select_folder[_finish](), save[_finish](), open_multiple[_finish](), select_multiple_folders[_finish]() non-const. * FontDialog: Make choose_family[_finish]() and choose_face[_finish]() non-const. * Accessible: Add set_accessible_parent(), update_next_accessible_sibling() * MenuButton: Add set/get/property_active(). * ScaleButton: Add get/property_active(). * SearchEntry: Add set/get_placeholder_text(). (Kjell Ahlstedt) Tests: * Add filedialog test (Kjell Ahlstedt) Build: * Require gtk4 >= 4.10.0 (Kjell Ahlstedt) 4.9.3 (unstable): Gdk: * Display: Deprecate get_startup_notification_id(). * Monitor: Add get/property_description(). (Kjell Ahlstedt) Gtk: * Deprecated classes: Assistant, AssistantPage, LockButton, Statusbar * Gesture: Deprecate set_sequence_state(). * Accessible: Add enum Accessible::PlatformState. Add get_at_context(), get_platform_state(), get_accessible_parent(), get_bounds(), get_first_accessible_child(), get_next_accessible_sibling(). * Add ATContext and UriLauncher. (Kjell Ahlstedt) Documentation: * Gtk::Image, Picture, StringList, StringObject: Improve class descriptions (Kjell Ahlstedt) Build: * Require gtk4 >= 4.9.3 (Kjell Ahlstedt) 4.9.2 (unstable): Gdk: * Display: Deprecate notify_startup_complete() and put_event(). (Kjell Ahlstedt) Gtk: * Widget: Deprecate show() and hide(). (Use set_visible().) * Add FileLauncher. * CenterBox: Add property_[start|center|end]_widget(). * FileDialog: Rename get/set/property_current_filter() to get/set/property_default_filter(). Rename get/set/property_current_folder() to get/set/property_initial_folder(). Add get/set/property_initial_name(), get/set/property_initial_file(), get/set/property_accept_label(). Remove current_file parameter from open(), current_folder parameter from select_folder(). Delete get/set/property_shortcut_folders(). * GestureStylus: Add get/set/property_stylus_only(). * TreeExpander: Add get/set/property_indent_for_depth() and get/set/property_hide_expander(). * ToggleButton: Deprecate toggled(). (Kjell Ahlstedt) Build: * Require gtk4 >= 4.9.2 (Kjell Ahlstedt) * Meson build: Fix the evaluation of is_git_build on Windows (Kjell Ahlstedt) Issue #131 (William Roy) 4.9.1 (unstable): Gtk: * Deprecate about 50 classes: AppChooser, AppChooserButton, AppChooserDialog, AppChooserWidget, CellArea, CellAreaBox, CellAreaContext, CellLayout, CellRenderer, CellRendererAccel, CellRendererCombo, CellRendererPixbuf, CellRendererProgress, CellRendererSpin, CellRendererSpinner, CellRendererText, CellRendererToggle, CellView, ComboBox, ComboBoxText, EntryCompletion, IconView, ListStore, ListViewText, StyleContext, TreeDragDest, TreeDragSource, TreeIter and other classes in treeiter.hg, TreeModel, TreeModelFilter, TreeModelSort, TreePath, TreeRowReference, TreeSelection, TreeSortable, TreeStore, TreeView, TreeViewColumn, namespace CellRenderer_Generation, namespace TreeView_Private, ColorButton, ColorChooser, ColorChooserDialog, FileChooser, FileChooserDialog, FileChooserNative, FileChooserWidget, FontButton, FontChooser, FontChooserDialog, FontChooserWidget, MessageDialog, TreeModelColumn, TreeModelColumnRecord, InfoBar * Deprecate Window::signal_keys_changed() * Add ColumnViewColumn::set/get/property_id(), enum Collation, StringSorter::set/get/property_collation(), Widget::get_color, StyleProvider::add/remove_provider_for_display() * StringList::create(): Add default value (empty vector) to parameter * Add classes AlertDialog, ColorDialog, ColorDialogButton, ColumnViewSorter, FileDialog, FontDialog, FontDialogButton, enums DialogError, FontLevel (Kjell Ahlstedt) Demos: * Don't use deprecated API. Some demo programs have been renamed. (Kjell Ahlstedt) Build: * Meson build: Detect if we build from a git subtree (William Roy) Merge request !72 * Require gtk4 >= 4.9.1 (Kjell Ahlstedt) 4.8.0 (stable): Gtk: * TextView::get_tabs(): Fix a memory leak * Add enum ContentFit * Label: Add set/get/property_tabs() * Picture: Add set/get/property_content_fit() (Kjell Ahlstedt) Demos: * Dialog demo: Add a non-modal dialog (Kjell Ahlstedt) Issue #123 (PBS) Documentation: * Don't translate the preprocessor macro name GDK_MODIFIER_MASK (Kjell Ahlstedt) Issue #124 (PBS) Build: * Require gtk4 >= 4.7.2 (Kjell Ahlstedt) 4.7.1 (unstable): Gdk: * Add enum Gdk::GLApi, deprecate enum Gdk::GLAPI (Kjell Ahlstedt) Issue #113 (PBS) * Add enum ScrollUnit * Event: Add get_scroll_unit() (Kjell Ahlstedt) Gtk: * Allow managed Gtk::Window's (Kjell Ahlstedt) Issue #24 (Daniel Elstner) * Gtk::Object::_release_c_instance(): Unref orphan managed widgets (Kjell Ahlstedt) Issue #115 (PBS) * Entry: Add signal_activate() (Kjell Ahlstedt) Issue #100 (RedDocMD) * Don't derive gtkmm__GtkXxx GTypes from final types (Kjell Ahlstedt) Issue glib#2661 * Application: Only create window on first activate (Andrew Potter) Merge request !70 * CheckButton: Add set/unset/get/property_child() * EventControllerScroll: Add get_unit() * Picture: Deprecate set/get/property_keep_aspect_ratio() * SearchEntry: Add set/get/property_search_delay() * DirectoryList, FilterListModel, FlattenListModel, MultiFilter, MultiSelection, MultiSorter, NoSelection, SelectionFilterModel, ShortcutController, SingleSelection, SliceListModel, SortListModel, TreeListModel: Add property_item_type(), property_n_items() (Kjell Ahlstedt) * ApplicationWindow: Disambiguate activate_action() (Kjell Ahlstedt) Issue #122 (PBS) * Add class Inscription (Kjell Ahlstedt) * Widget: Add signal_destroy() (Baldvin Kovacs) Merge request !71 Documentation: * Gdk::Drag, Gdk::Drop, Gtk::Dialog, Gtk::Widget: Improve class descriptions (Kjell Ahlstedt) Build: * Meson build: Avoid configuration warnings (Kjell Ahlstedt) * Meson build: Fix builds with Vulkan-enabled GTK (Chun-wei Fan) Merge request !68 * Require gtk4 >= 4.7.1 (Kjell Ahlstedt) 4.6.1 (stable): Gdk: * Surface::signal_render(): Fix ref count of Cairo::Region (Baldvin Kovacs) Merge request !66 * enum GLAPI: Partially fix name clash with epoxy/gl.h A complete fix requires new API; will have to wait until gtkmm 4.8 (Kjell Ahlstedt) Issue #113 (PBS) Gtk: * Application::make_window_and_run(): Delay the deletion of Window (Kjell Ahlstedt) Issue #114 (PBS) Build with Meson: * Don't use deprecated execute(..., gui_app: ...) Require meson >= 0.56.0 (Kjell Ahlstedt) Issue #111 * Check if Perl is required for building documentation (Kjell Ahlstedt) 4.6.0 (stable): Gdk: * Deprecate Gdk::Cairo::draw_from_gl(). * Display: Add create_gl_context(). * Texture: Add create_from_filename(), create_from_bytes(), save_to_png_bytes(), save_to_tiff(), save_to_tiff_bytes(). * GLContext: Deprecate set_use_es() and unset_use_es(). Add set/get/property_allowed_apis() and get/property_api(). (Kjell Ahlstedt) Gtk: * DropDown: Add set/get/property_show_arrow(). * FlowBox: Add prepend(), append(). * Label: Add set/get/property_natural_wrap_mode(). * MenuButton: Add set/unset/get/property_child(). * Settings: Add property_gtk_hint_font_metrics(). * TextChildAnchor: Add create(replacement_character). * TextTag: Add properties line_height(), text_transform(), word(), sentence(), line_height_set(), text_transform_set(), word_set(), sentence_set(). * TreeExpander: Add set/get/property_indent_for_icon(). * Window: Add property_titlebar(). (Kjell Ahlstedt) Documentation: * Gtk::Object: Change deprecated `pack_start` to `append`. (LI Daobing) Merge request !65 Build: * MSVC build: Support Visual Studio 2022. NMake Makefiles: Fix header installation. (Chun-wei Fan) * Require pangomm-2.48 >= 2.50.0, gtk4 >= 4.6.0 (Kjell Ahlstedt) 4.4.0 (stable): Gdk: * PixbufAnimation: Add create_from_stream(), create_from_stream_async(), create_from_stream_finish(), create_from_resource(). (Kjell Ahlstedt) * ContentFormats: Add parse(). Display: Add prepare_gl(). GLContext: Deprecate get/property_shared_context(). Add is_shared(). (Kjell Ahlstedt) Gtk: * Add EventControllerLegacy. (BogDan Vatra) Merge request !64 * DropDown::get_selected_item(), ListItem::get_item(), SingleSelection::get_selected_item(), TreeExpander::get_item(), TreeListRow::get_item(): Don't try to dynamic_cast the return value to Glib::Object. It fails if the object has been constructed as an interface. (Kjell Ahlstedt) * Fixed the const versions of Assistant::get_page(), NoteBook::get_page() and Stack::get_page(). Fixed MediaControls::set_media_stream() and Video::set_media_stream(). (Kjell Ahlstedt) * Application, Window: Swap inclusions. Include window.h in application.h instead of application.h in window.h. === Note === This will affect compilation of code that uses Application without including gtkmm/application.h. (Kjell Ahlstedt) * DropTarget: Deprecate get/property_drop(). Add get/property_current_drop(). FileFilter: Add add_suffix(). MediaStream: Deprecate prepared(), unprepared() and ended(). Add stream_prepared(), stream_unprepared() and stream_ended(). MenuButton: Add set/get/property_always_show_arrow() and set/get/property_primary(). TextView: Add set/get_rtl_context() and set/get_ltr_context(). (Kjell Ahlstedt) Demos: * Images, SizeGroup, ListStore and TreeStore demos: Minor fixes. (Kjell Ahlstedt) * Add Add ColumnView demo. (Kjell Ahlstedt) Build: * Require gtk4 >= 4.4.0. (Kjell Ahlstedt)
pkgsrc changes: - adapt to various upstream changes - update for newer version of pjproject - add unconditional depeendency on SDL - remove pktccops and mgcp option (has to do with supporting cable headends) - remove various 64-bit time_t fixes as upstream is finally doing these [asterisk-announce] asterisk release 18.21.0 The Asterisk Development Team would like to announce the release of asterisk-18.21.0. This release resolves issues reported by the community and would have not been possible without your participation. Thank You! Change Log for Release asterisk-18.21.0 ======================================== Summary: ---------------------------------------- - logger: Fix linking regression. - Revert "core & res_pjsip: Improve topology change handling." - menuselect: Use more specific error message. - res_pjsip_nat: Fix potential use of uninitialized transport details - app_if: Fix faulty EndIf branching. - manager.c: Fix regression due to using wrong free function. - config_options.c: Fix truncation of option descriptions. - manager.c: Improve clarity of "manager show connected". - make_xml_documentation: Really collect LOCAL_MOD_SUBDIRS documentation. - general: Fix broken links. - MergeApproved.yml: Remove unneeded concurrency - app_dial: Add option "j" to preserve initial stream topology of caller - ast_coredumper: Increase reliability - logger.c: Move LOG_GROUP documentation to dedicated XML file. - res_odbc.c: Allow concurrent access to request odbc connections - res_pjsip_header_funcs.c: Check URI parameter length before copying. - config.c: Log #exec include failures. - make_xml_documentation: Properly handle absolute LOCAL_MOD_SUBDIRS. - app_voicemail.c: Completely resequence mailbox folders. - sig_analog: Fix channel leak when mwimonitor is enabled. - res_rtp_asterisk.c: Update for OpenSSL 3+. - alembic: Update list of TLS methods available on ps_transports. - func_channel: Expose previously unsettable options. - app.c: Allow ampersands in playback lists to be escaped. - uri.c: Simplify ast_uri_make_host_with_port() - func_curl.c: Remove CURLOPT() plaintext documentation. - res_http_websocket.c: Set hostname on client for certificate validation. - live_ast: Add astcachedir to generated asterisk.conf. - SECURITY.md: Update with correct documentation URL - func_lock: Add missing see-also refs to documentation. - app_followme.c: Grab reference on nativeformats before using it - configs: Improve documentation for bandwidth in iax.conf. - logger: Add channel-based filtering. - chan_iax2.c: Don't send unsanitized data to the logger. - codec_ilbc: Disable system ilbc if version >= 3.0.0 - resource_channels.c: Explicit codec request when creating UnicastRTP. - doc: Update IP Quality of Service links. - chan_pjsip: Add PJSIPHangup dialplan app and manager action - chan_iax2.c: Ensure all IEs are displayed when dumping frame contents. - chan_dahdi: Warn if nonexistent cadence is requested. - stasis: Update the snapshot after setting the redirect - ari: Provide the caller ID RDNIS for the channels - main/utils: Implement ast_get_tid() for OpenBSD - res_rtp_asterisk.c: Fix runtime issue with LibreSSL - app_directory: Add ADSI support to Directory. - core_local: Fix local channel parsing with slashes. - Remove files that are no longer updated - app_voicemail: Add AMI event for mailbox PIN changes. - app_queue.c: Emit unpause reason with PauseQueueMember event. - bridge_simple: Suppress unchanged topology change requests - res_pjsip: Include cipher limit in config error message. - res_speech: allow speech to translate input channel - res_rtp_asterisk.c: Fix memory leak in ephemeral certificate creation. - res_pjsip_dtmf_info.c: Add 'INFO' to Allow header. - api.wiki.mustache: Fix indentation in generated markdown - pjsip_configuration.c: Disable DTLS renegotiation if WebRTC is enabled. - configs: Fix typo in pjsip.conf.sample. - res_pjsip_exten_state,res_pjsip_mwi: Allow unload on shutdown - res_pjsip: Expanding PJSIP endpoint ID and relevant resource length to 255 characters - .github: PRSubmitActions: Fix adding reviewers to PR - .github: New PR Submit workflows - .github: New PR Submit workflows - res_stasis: signal when new command is queued - ari/stasis: Indicate progress before playback on a bridge - func_curl.c: Ensure channel is locked when manipulating datastores. - .github: Fix job prereqs in PROpenedUpdated - .github: Block PR tests until approved - logger.h: Add ability to change the prefix on SCOPE_TRACE output - Add libjwt to third-party - res_pjsip: update qualify_timeout documentation with DNS note - chan_dahdi: Clarify scope of callgroup/pickupgroup. - func_json: Fix crashes for some types - res_speech_aeap: add aeap error handling - app_voicemail: Disable ADSI if unavailable. - codec_builtin: Use multiples of 20 for maximum_ms - lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS - asterisk.c: Use the euid's home directory to read/write cli history - res_pjsip_transport_websocket: Prevent transport from being destroyed before message finishes. - cel: add publish user event helper - chan_console: Fix deadlock caused by unclean thread exit. - file.c: Add ability to search custom dir for sounds - chan_iax2: Improve authentication debugging. - res_rtp_asterisk: fix wrong counter management in ioqueue objects - make_buildopts_h, et. al. Allow adding all cflags to buildopts.h - func_periodic_hook: Add hangup step to avoid timeout - res_stasis_recording.c: Save recording state when unmuted. - res_speech_aeap: check for null format on response - func_periodic_hook: Don't truncate channel name - safe_asterisk: Change directory permissions to 755 - chan_rtp: Implement RTP glue for UnicastRTP channels - app_queue: periodic announcement configurable start time. - variables: Add additional variable dialplan functions. - Restore CHANGES and UPGRADE.txt to allow cherry-picks to work User Notes: ---------------------------------------- - ### app_dial: Add option "j" to preserve initial stream topology of caller The option "j" is now available for the Dial application which uses the initial stream topology of the caller to create the outgoing channels. - ### logger: Add channel-based filtering. The console log can now be filtered by channels or groups of channels, using the logger filter CLI commands. - ### chan_pjsip: Add PJSIPHangup dialplan app and manager action A new dialplan app PJSIPHangup and AMI action allows you to hang up an unanswered incoming PJSIP call with a specific SIP response code in the 400 -> 699 range. - ### app_voicemail: Add AMI event for mailbox PIN changes. The VoicemailPasswordChange event is now emitted whenever a mailbox password is updated, containing the mailbox information and the new password. Resolves: #398 - ### res_speech: allow speech to translate input channel res_speech now supports translation of an input channel to a format supported by the speech provider, provided a translation path is available between the source format and provider capabilites. - ### res_pjsip: Expanding PJSIP endpoint ID and relevant resource length to 255 characters With this update, the PJSIP realm lengths have been extended to support up to 255 characters. - ### res_stasis: signal when new command is queued Call setup times should be significantly improved when using ARI. - ### lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS You no longer need to select DEBUG_THREADS to use DETECT_DEADLOCKS. This removes a significant amount of overhead if you just want to detect possible deadlocks vs needing full lock tracing. - ### file.c: Add ability to search custom dir for sounds A new option "sounds_search_custom_dir" has been added to asterisk.conf that allows asterisk to search AST_DATA_DIR/sounds/custom for sounds files before searching the standard AST_DATA_DIR/sounds/<lang> directory. - ### make_buildopts_h, et. al. Allow adding all cflags to buildopts.h The "Build Options" entry in the "core show settings" CLI command has been renamed to "ABI related Build Options" and a new entry named "All Build Options" has been added that shows both breaking and non-breaking options. - ### chan_rtp: Implement RTP glue for UnicastRTP channels The dial string option 'g' was added to the UnicastRTP channel which enables RTP glue and therefore native RTP bridges with those channels. - ### app_queue: periodic announcement configurable start time. Introduce a new queue configuration option called 'periodic-announce-startdelay' which will vary the normal (historic) behavior of starting the periodic announcement cycle at periodic-announce-frequency seconds after entering the queue to start the periodic announcement cycle at period-announce-startdelay seconds after joining the queue. The default behavior if this config option is not set remains unchanged. Signed-off-by: Jaco Kroon <jaco at uls.co.za> - ### variables: Add additional variable dialplan functions. Four new dialplan functions have been added. GLOBAL_DELETE and DELETE have been added which allows the deletion of global and channel variables. GLOBAL_EXISTS and VARIABLE_EXISTS have been added which checks whether a global or channel variable has been set. Upgrade Notes: ---------------------------------------- - ### app.c: Allow ampersands in playback lists to be escaped. Ampersands in URLs passed to the `Playback()`, `Background()`, `SpeechBackground()`, `Read()`, `Authenticate()`, or `Queue()` applications as filename arguments can now be escaped by single quoting the filename. Additionally, this is also possible when using the `CONFBRIDGE` dialplan function, or configuring various features in `confbridge.conf` and `queues.conf`. - ### pjsip_configuration.c: Disable DTLS renegotiation if WebRTC is enabled. The dtls_rekey will be disabled if webrtc support is requested on an endpoint. A warning will also be emitted. - ### res_pjsip: Expanding PJSIP endpoint ID and relevant resource length to 255 characters As part of this update, the maximum allowable length for PJSIP endpoints and relevant resources has been increased from 40 to 255 characters. To take advantage of this enhancement, it is recommended to run the necessary procedures (e.g., Alembic) to update your schemas. [asterisk-announce] asterisk release 18.20.2 The Asterisk Development Team would like to announce the release of asterisk-18.20.2. This release resolves issues reported by the community and would have not been possible without your participation. Thank You! Change Log for Release asterisk-18.20.2 ======================================== Summary: ---------------------------------------- - res_rtp_asterisk: Fix regression issues with DTLS client check [asterisk-announce] asterisk release 18.20.1 The Asterisk Development Team would like to announce security release Asterisk 18.20.1. The following security advisories were resolved in this release: - [Path traversal via AMI GetConfig allows access to outside files](https://github.com/asterisk/asterisk/s ecurity/advisories/GHSA-8857-hfmw-vg8f) - [Asterisk susceptible to Denial of Service via DTLS Hello packets during call initiation](https://github .com/asterisk/asterisk/security/advisories/GHSA-hxj9-xwr8-w8pq) - [PJSIP logging allows attacker to inject fake Asterisk log entries ](https://github.com/asterisk/asteris k/security/advisories/GHSA-5743-x3p5-3rg7) - [PJSIP_HEADER dialplan function can overwrite memory/cause crash when using 'update'](https://github.com /asterisk/asterisk/security/advisories/GHSA-98rc-4j27-74hh) Change Log for Release asterisk-18.20.1 ======================================== Summary: ---------------------------------------- - res_pjsip_header_funcs: Duplicate new header value, don't copy. - res_pjsip: disable raw bad packet logging - res_rtp_asterisk.c: Check DTLS packets against ICE candidate list - manager.c: Prevent path traversal with GetConfig. [asterisk-announce] asterisk release 18.20.0 The Asterisk Development Team would like to announce the release of asterisk-18.20.0. This release resolves issues reported by the community and would have not been possible without your participation. Thank You! Change Log for Release asterisk-18.20.0 ======================================== Summary: ---------------------------------------- - ari-stubs: Fix more local anchor references - ari-stubs: Fix more local anchor references - ari-stubs: Fix broken documentation anchors - res_pjsip_session: Send Session Interval too small response - .github: Update workflow-application-token-action to v2 - app_dial: Fix infinite loop when sending digits. - app_voicemail: Fix for loop declarations - alembic: Fix quoting of the 100rel column - pbx.c: Fix gcc 12 compiler warning. - app_audiosocket: Fixed timeout with -1 to avoid busy loop. - download_externals: Fix a few version related issues - main/refer.c: Fix double free in refer_data_destructor + potential leak - sig_analog: Add Called Subscriber Held capability. - app_macro: Fix locking around datastore access - Revert "app_stack: Print proper exit location for PBXless channels." - .github: Use generic releaser - install_prereq: Fix dependency install on aarch64. - res_pjsip.c: Set contact_user on incoming call local Contact header - extconfig: Allow explicit DB result set ordering to be disabled. - rest-api: Run make ari-stubs - res_pjsip_header_funcs: Make prefix argument optional. - pjproject_bundled: Increase PJSIP_MAX_MODULE to 38 - manager: Tolerate stasis messages with no channel snapshot. - core/ari/pjsip: Add refer mechanism - chan_dahdi: Allow autoreoriginating after hangup. - audiohook: Unlock channel in mute if no audiohooks present. - sig_analog: Allow three-way flash to time out to silence. - res_prometheus: Do not generate broken metrics - res_pjsip: Enable TLS v1.3 if present. - func_cut: Add example to documentation. - extensions.conf.sample: Remove reference to missing context. - func_export: Use correct function argument as variable name. - app_queue: Add support for applying caller priority change immediately. - .github: Fix cherry-pick reminder issues - chan_iax2.c: Avoid crash with IAX2 switch support. - res_geolocation: Ensure required 'location_info' is present. - Adds manager actions to allow move/remove/forward individual messages in a particular mailbox folder. The forward command can be used to copy a message within a mailbox or to another mailbox. Also adds a VoicemailBoxSummarry, required to retrieve message ID's. - app_voicemail: add CLI commands for message manipulation - res_rtp_asterisk: Move ast_rtp_rtcp_report_alloc using `rtp->themssrc_valid` into the scope of the rtp_i nstance lock. - .github: Minor tweak to Asterisk Releaser - .github: Suppress cherry-pick reminder for some situations - sig_analog: Allow immediate fake ring to be suppressed. User Notes: ---------------------------------------- - ### sig_analog: Add Called Subscriber Held capability. Called Subscriber Held is now supported for analog FXS channels, using the calledsubscriberheld option. This allows a station user to go on hook when receiving an incoming call and resume from another phone on the same line by going on hook, without disconnecting the call. - ### res_pjsip_header_funcs: Make prefix argument optional. The prefix argument to PJSIP_HEADERS is now optional. If not specified, all header names will be returned. - ### core/ari/pjsip: Add refer mechanism There is a new ARI endpoint `/endpoints/refer` for referring an endpoint to some URI or endpoint. - ### chan_dahdi: Allow autoreoriginating after hangup. The autoreoriginate setting now allows for kewlstart FXS channels to automatically reoriginate and provide dial tone to the user again after all calls on the line have cleared. This saves users from having to manually hang up and pick up the receiver again before making another call. - ### sig_analog: Allow three-way flash to time out to silence. The threewaysilenthold option now allows the three-way dial tone to time out to silence, rather than continuing forever. - ### res_pjsip: Enable TLS v1.3 if present. res_pjsip now allows TLS v1.3 to be enabled if supported by the underlying PJSIP library. The bundled version of PJSIP supports TLS v1.3. - ### app_queue: Add support for applying caller priority change immediately. The 'queue priority caller' CLI command and 'QueueChangePriorityCaller' AMI action now have an 'immediate' argument which allows the caller priority change to be reflected immediately, causing the position of a caller to move within the queue depending on the priorities of the other callers. - ### Adds manager actions to allow move/remove/forward individual messages in a particular mailbox folder. The forward command can be used to copy a message within a mailbox or to another mailbox. Also adds a Vo icemailBoxSummarry, required to retrieve message ID's. The following manager actions have been added VoicemailBoxSummary - Generate message list for a given mailbox VoicemailRemove - Remove a message from a mailbox folder VoicemailMove - Move a message from one folder to another within a mailbox VoicemailForward - Copy a message from one folder in one mailbox to another folder in another or the same mailbox. - ### app_voicemail: add CLI commands for message manipulation The following CLI commands have been added to app_voicemail voicemail show mailbox <mailbox> <context> Show contents of mailbox <mailbox>@<context> voicemail remove <mailbox> <context> <from_folder> <messageid> Remove message <messageid> from <from_folder> in mailbox <mailbox>@<context> voicemail move <mailbox> <context> <from_folder> <messageid> <to_folder> Move message <messageid> in mailbox <mailbox>&<context> from <from_folder> to <to_folder> voicemail forward <from_mailbox> <from_context> <from_folder> <messageid> <to_mailbox> <to_context> <to_ folder> Forward message <messageid> in mailbox <mailbox>@<context> <from_folder> to mailbox <mailbox>@<context> <to_folder> - ### sig_analog: Allow immediate fake ring to be suppressed. The immediatering option can now be set to no to suppress the fake audible ringback provided when immediate=yes on FXS channels. [asterisk-announce] Asterisk Release 18.19.0 The Asterisk Development Team would like to announce the release of Asterisk 18.19.0. This release resolves issues reported by the community and would have not been possible without your participation. Thank You! Change Log for Release 18.19.0 ======================================== Summary: ---------------------------------------- - app.h: Move declaration of ast_getdata_result before its first use - doc: Remove obsolete CHANGES-staging and UPGRADE-staging - .github: Updates for AsteriskReleaser - app_voicemail: fix imap compilation errors - res_musiconhold: avoid moh state access on unlocked chan - utils: add lock timestamps for DEBUG_THREADS - .github: Back out triggering PROpenedOrUpdated by label - .github: Move publish docs to new file CreateDocs.yml - rest-api: Updates for new documentation site - .github: Remove result check from PROpenUpdateGateTests - .github: Fix use of 'contains' - .github: Add recheck label test to additional jobs - .github: Fix recheck label typos - .github: Fix recheck label manipulation - .github: Allow PR submit checks to be re-run by label - app_voicemail_imap: Fix message count when IMAP server is unavailable - res_pjsip_rfc3326: Prefer Q.850 cause code over SIP. - res_pjsip_session: Added new function calls to avoid ABI issues. - app_queue: Add force_longest_waiting_caller option. - pjsip_transport_events.c: Use %zu printf specifier for size_t. - res_crypto.c: Gracefully handle potential key filename truncation. - configure: Remove obsolete and deprecated constructs. - res_fax_spandsp.c: Clean up a spaces/tabs issue - ast-db-manage: Synchronize revisions between comments and code. - test_statis_endpoints: Fix channel_messages test again - res_crypto.c: Avoid using the non-portable ALLPERMS macro. - tcptls: when disabling a server port, we should set the accept_fd to -1. - AMI: Add parking position parameter to Park action - test_stasis_endpoints.c: Make channel_messages more stable - build: Fix a few gcc 13 issues - .github: Rework for merge approval - ast-db-manage: Fix alembic branching error caused by #122. - app_followme: fix issue with enable_callee_prompt=no (#88) - sounds: Update download URL to use HTTPS. - configure: Makefile downloader enable follow redirects. - res_musiconhold: Add option to loop last file. - chan_dahdi: Fix Caller ID presentation for FXO ports. - AMI: Add CoreShowChannelMap action. - sig_analog: Add fuller Caller ID support. - res_stasis.c: Add new type 'sdp_label' for bridge creation. - app_queue: Preserve reason for realtime queues - .github: Fix issues with cherry-pick-reminder - indications: logging changes - .github Ignore error when adding reviewrs to PR - .github: Update field descriptions for AsteriskReleaser - callerid: Allow specifying timezone for date/time. - chan_pjsip: Allow topology/session refreshes in early media state - chan_dahdi: Fix broken hidecallerid setting. - .github: Change title of AsteriskReleaser job - asterisk.c: Fix option warning for remote console. - .github: Don't add cherry-pick reminder if it's already present - .github: Fix quoting in PROpenedOrUpdated - .github: Add cherry-pick reminder to new PRs - configure: fix test code to match gethostbyname_r prototype. - res_pjsip_pubsub.c: Use pjsip version for pending NOTIFY check. (#76) - res_sorcery_memory_cache.c: Fix memory leak - xml.c: Process XML Inclusions recursively. - .github: Tweak improvement issue type language. - .github: Tweak new feature language, and move feature requests elsewhere. - .github: Fix staleness check to only run on certain labels. User Notes: ---------------------------------------- - ### AMI: Add parking position parameter to Park action New ParkingSpace parameter has been added to AMI action Park. - ### res_musiconhold: Add option to loop last file. The loop_last option in musiconhold.conf now allows the last file in the directory to be looped once reached. - ### AMI: Add CoreShowChannelMap action. New AMI action CoreShowChannelMap has been added. - ### sig_analog: Add fuller Caller ID support. Additional Caller ID properties are now supported on incoming calls to FXS stations, namely the redirecting reason and call qualifier. - ### res_stasis.c: Add new type 'sdp_label' for bridge creation. When creating a bridge using the ARI the 'type' argument now accepts a new value 'sdp_label' which will configure the bridge to add labels for each stream in the SDP with the corresponding channel id. - ### app_queue: Preserve reason for realtime queues Make paused reason in realtime queues persist an Asterisk restart. This was fixed for non-realtime queues in ASTERISK_25732. Upgrade Notes: ---------------------------------------- - ### app_queue: Preserve reason for realtime queues Add a new column to the queue_member table: reason_paused VARCHAR(80) so the reason can be preserved. Closed Issues: ---------------------------------------- - #45: [bug]: Non-bundled PJSIP check for evsub pending NOTIFY check is insufficient/ineffective - #55: [bug]: res_sorcery_memory_cache: Memory leak when calling sorcery_memory_cache_open - #64: [bug]: app_voicemail_imap wrong behavior when losing IMAP connection - #65: [bug]: heap overflow by default at startup - #66: [improvement]: Fix preserve reason of pause when Asterisk is restared for realtime queues - #73: [new-feature]: pjsip: Allow topology/session refreshes in early media state - #87: [bug]: app_followme: Setting enable_callee_prompt=no breaks timeout - #89: [improvement]: indications: logging changes - #91: [improvement]: Add parameter on ARI bridge create to allow it to send SDP labels - #94: [new-feature]: sig_analog: Add full Caller ID support for incoming calls - #98: [new-feature]: callerid: Allow timezone to be specified at runtime - #100: [bug]: sig_analog: hidecallerid setting is broken - #102: [bug]: Strange warning - 'T' option is not compatible with remote console mode and has no effect . - #104: [improvement]: Add AMI action to get a list of connected channels - #108: [new-feature]: fair handling of calls in multi-queue scenarios - #110: [improvement]: utils - add lock timing information with DEBUG_THREADS - #116: [bug]: SIP Reason: "Call completed elsewhere" no longer propagating - #120: [bug]: chan_dahdi: Fix broken presentation for FXO caller ID - #122: [new-feature]: res_musiconhold: Add looplast option - #133: [bug]: unlock channel after moh state access - #136: [bug]: Makefile downloader does not follow redirects. - #145: [bug]: ABI issue with pjproject and pjsip_inv_session - #155: [bug]: GCC 13 is catching a few new trivial issues - #158: [bug]: test_stasis_endpoints.c: Unit test channel_messages is unstable - #174: [bug]: app_voicemail imap compile errors - #200: [bug]: Regression: In app.h an enum is used before its declaration. [asterisk-announce] Asterisk Release 18.18.1 The Asterisk Development Team would like to announce security release Asterisk 18.18.1. The following security advisories were resolved in this release: https://github.com/asterisk/asterisk/security/advisories/GHSA-4xjp-22g4-9fxm Change Log for Release 18.18.1 ======================================== Summary: ---------------------------------------- - apply_patches: Use globbing instead of file/sort. - apply_patches: Sort patch list before applying - pjsip: Upgrade bundled version to pjproject 2.13.1 User Notes: ---------------------------------------- - ### res_http_media_cache: Introduce options and customize The res_http_media_cache module now attempts to load configuration from the res_http_media_cache.conf file. The following options were added: * timeout_secs * user_agent * follow_location * max_redirects * protocols * redirect_protocols * dns_cache_timeout_secs - ### format_sln: add .slin as supported file extension format_sln now recognizes '.slin' as a valid file extension in addition to the existing '.sln' and '.raw'. - ### bridge_builtin_features: add beep via touch variable Add optional touch variable : TOUCH_MIXMONITOR_BEEP(interval) Setting TOUCH_MIXMONITOR_BEEP/TOUCH_MONITOR_BEEP to a valid interval in seconds will result in a periodic beep being played to the monitored channel upon MixMontior/Monitor feature start. If an interval less than 5 seconds is specified, the interval will default to 5 seconds. If the value is set to an invalid interval, the default of 15 seconds will be used. - ### app_senddtmf: Add SendFlash AMI action. The SendFlash AMI action now allows sending a hook flash event on a channel. - ### res_mixmonitor: MixMonitorMute by MixMonitor ID It is now possible to specify the MixMonitorID when calling the manager action: MixMonitorMute. This will allow an individual MixMonitor instance to be muted via ID. The MixMonitorID can be stored as a channel variable using the 'i' MixMonitor option and is returned upon creation if this option is used. As part of this change, if no MixMonitorID is specified in the manager action MixMonitorMute, Asterisk will set the mute flag on all MixMonitor audiohooks on the channel. Previous behavior would set the flag on the first MixMonitor audiohook found. - ### pbx_dundi: Add PJSIP support. DUNDi now supports chan_pjsip. Outgoing calls using PJSIP require the pjsip_outgoing_endpoint option to be set in dundi.conf. - ### test.c: Fix counting of tests and add 2 new tests The "tests" attribute of the "testsuite" element in the output XML now reflects only the tests actually requested to be executed instead of all the tests registered. The "failures" attribute was added to the "testsuite" element. Also added two new unit tests that just pass and fail to be used for testing CI itself. - ### cli: increase channel column width This change increases the display width on 'core show channels' amd 'core show channels verbose' For 'core show channels', the Channel name field is increased to 64 characters and the Location name field is increased to 32 characters. For 'core show channels verbose', the Channel name field is increased to 80 characters, the Context is increased to 24 characters and the Extension is increased to 24 characters. Upgrade Notes: ---------------------------------------- Closed Issues: ---------------------------------------- - #193: [bug]: third-party/apply-patches doesn't sort the patch file list before applying [asterisk-announce] Asterisk Release 18.18.0 The Asterisk Development Team would like to announce the release of Asterisk 18.18.0. This release resolves issues reported by the community and would have not been possible without your participation. Thank You! Change Log for Release 18.18.0 ======================================== Summary: ---------------------------------------- - Set up new ChangeLogs directory - .github: Add AsteriskReleaser - chan_pjsip: also return all codecs on empty re-INVITE for late offers - cel: add local optimization begin event - core: Cleanup gerrit and JIRA references. (#40) - .github: Fix CherryPickTest to only run when it should - .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS - .github: Remove separate set labels step from new PR - .github: Refactor CP progress and add new PR test progress - res_pjsip: mediasec: Add Security-Client headers after 401 - .github: Add cherry-pick test progress labels - LICENSE: Update link to trademark policy. - chan_dahdi: Add dialmode option for FXS lines. (#36) - .github: Update issue templates - .github: Remove unnecessary parameter in CherryPickTest - Initial GitHub PRs - Initial GitHub Issue Templates - pbx_dundi: Fix PJSIP endpoint configuration check. - Revert "app_queue: periodic announcement configurable start time." - pbx_dundi: Add PJSIP support. - res_pjsip_stir_shaken: Fix JSON field ordering and disallowed TN characters. - install_prereq: Add Linux Mint support. - chan_pjsip: fix music on hold continues after INVITE with replaces - voicemail.conf: Fix incorrect comment about #include. - app_queue: Fix minor xmldoc duplication and vagueness. - test.c: Fix counting of tests and add 2 new tests - loader.c: Minor module key check simplification. - ael: Regenerate lexers and parsers. - res_calendar: output busy state as part of show calendar. - bridge_builtin_features: add beep via touch variable - res_mixmonitor: MixMonitorMute by MixMonitor ID - format_sln: add .slin as supported file extension - app_queue: periodic announcement configurable start time. - func_json: Fix JSON parsing issues. - app_dial: Fix DTMF not relayed to caller on unanswered calls. - make_version: Strip svn stuff and suppress ref HEAD errors - configure: fix detection of re-entrant resolver functions - cli: increase channel column width - res_agi: RECORD FILE plays 2 beeps. - app_senddtmf: Add SendFlash AMI action. - contrib: rc.archlinux.asterisk uses invalid redirect. - main/iostream.c: fix build with libressl - res_http_media_cache: Introduce options and customize User Notes: ---------------------------------------- - ### cel: add local optimization begin event The new AST_CEL_LOCAL_OPTIMIZE_BEGIN can be used by itself or in conert with the existing AST_CEL_LOCAL_OPTIMIZE to book-end local channel optimizaion. - ### chan_dahdi: Add dialmode option for FXS lines. (#36) A "dialmode" option has been added which allows specifying, on a per-channel basis, what methods of subscriber dialing (pulse and/or tone) are permitted. Additionally, this can be changed on a channel at any point during a call using the CHANNEL function. - ### pbx_dundi: Add PJSIP support. DUNDi now supports chan_pjsip. Outgoing calls using PJSIP require the pjsip_outgoing_endpoint option to be set in dundi.conf. - ### cli: increase channel column width This change increases the display width on 'core show channels' amd 'core show channels verbose' For 'core show channels', the Channel name field is increased to 64 characters and the Location name field is increased to 32 characters. For 'core show channels verbose', the Channel name field is increased to 80 characters, the Context is increased to 24 characters and the Extension is increased to 24 characters. - ### app_senddtmf: Add SendFlash AMI action. The SendFlash AMI action now allows sending a hook flash event on a channel. - ### res_http_media_cache: Introduce options and customize The res_http_media_cache module now attempts to load configuration from the res_http_media_cache.conf file. The following options were added: * timeout_secs * user_agent * follow_location * max_redirects * protocols * redirect_protocols * dns_cache_timeout_secs - ### test.c: Fix counting of tests and add 2 new tests The "tests" attribute of the "testsuite" element in the output XML now reflects only the tests actually requested to be executed instead of all the tests registered. The "failures" attribute was added to the "testsuite" element. Also added two new unit tests that just pass and fail to be used for testing CI itself. - ### res_mixmonitor: MixMonitorMute by MixMonitor ID It is now possible to specify the MixMonitorID when calling the manager action: MixMonitorMute. This will allow an individual MixMonitor instance to be muted via ID. The MixMonitorID can be stored as a channel variable using the 'i' MixMonitor option and is returned upon creation if this option is used. As part of this change, if no MixMonitorID is specified in the manager action MixMonitorMute, Asterisk will set the mute flag on all MixMonitor audiohooks on the channel. Previous behavior would set the flag on the first MixMonitor audiohook found. - ### bridge_builtin_features: add beep via touch variable Add optional touch variable : TOUCH_MIXMONITOR_BEEP(interval) Setting TOUCH_MIXMONITOR_BEEP/TOUCH_MONITOR_BEEP to a valid interval in seconds will result in a periodic beep being played to the monitored channel upon MixMontior/Monitor feature start. If an interval less than 5 seconds is specified, the interval will default to 5 seconds. If the value is set to an invalid interval, the default of 15 seconds will be used. - ### format_sln: add .slin as supported file extension format_sln now recognizes '.slin' as a valid file extension in addition to the existing '.sln' and '.raw'. Upgrade Notes: ---------------------------------------- - ### cel: add local optimization begin event The existing AST_CEL_LOCAL_OPTIMIZE can continue to be used as-is and the AST_CEL_LOCAL_OPTIMIZE_BEGIN event can be ignored if desired. Closed Issues: ---------------------------------------- - #35: [New Feature]: chan_dahdi: Allow disabling pulse or tone dialing - #39: [Bug]: Remove .gitreview from repository. - #43: [Bug]: Link to trademark policy is no longer correct - #48: [bug]: res_pjsip: Mediasec requires different headers on 401 response - #52: [improvement]: Add local optimization begin cel event ### For more details, see: https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-18.18.0.md [asterisk-announce] Asterisk 18.17.1 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.17.1. The release of Asterisk 18.17.1 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: Bugs fixed in this release: ----------------------------------- * ASTERISK-30469 - res_pjsip_pubsub: Regression for subscription shutdowns (Reported by N A) * ASTERISK-30472 - pbx_ael: Literal usage for variables broken (Reported by isrl) For a full list of changes in this release, please see the ChangeLog: https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-18.17.1 Thank you for your continued support of Asterisk! [asterisk-announce] Asterisk 18.17.0 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.17.0. The release of Asterisk 18.17.0 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: New Features made in this release: ----------------------------------- * ASTERISK-29810 - app_signal: Add channel signaling applications (Reported by N A) * ASTERISK-30262 - res_pjsip_session: Allow a context to be specified for overlap dialing (Reported by N A) * ASTERISK-30319 - Add BYE Reason support for SIP (Reported by Igor Goncharovsky) * ASTERISK-30180 - app_broadcast: Add a channel audio multicasting application (Reported by N A) Bugs fixed in this release: ----------------------------------- * ASTERISK-27830 - Asterisk crashes on Invalid UTF-8 string (Reported by AvayaXAsterisk) * ASTERISK-30354 - chan_iax2: Lack of formats prior to receiving voice frames causes jitterbuffer to stall (Reported by N A) * ASTERISK-30162 - when chan_iax is used to relay calls, no ringing indication is played (Reported by Jaco Kroon) * ASTERISK-30424 - pjproject_bundled: cross-compilation broken when ssl autodetected (Reported by Nick French) * ASTERISK-30388 - res_phoneprov: Stale SERVER variable when multi-homed (Reported by cmaj) * ASTERISK-30419 - pjsip: Crash when sending NOTIFY in PJSIP 2.13 (Reported by Ross Beer) * ASTERISK-30417 - Copy/Paste error in UnpauseQueueMember (Reported by Sean Bright) * ASTERISK-30406 - pbx_ael: Global variables are not expanded. (Reported by Sean Bright) * ASTERISK-29604 - ari: Segfault with lots of calls (Reported by Danila Evgrafov) * ASTERISK-30391 - res_rtp_asterisk: Issue with transcoding g722 after MES changes (Reported by George Joseph) * ASTERISK-30345 - loader.c: Modules that decline to load cannot be reloaded (Reported by N A) * ASTERISK-30379 - http: fix NULL pointer dereference while enable_status on TLS-only (Reported by Boris P. Korzun) * ASTERISK-30375 - res_http_media_cache: Crash when URL has no path component. (Reported by Sean Bright) * ASTERISK-30351 - manager: Originate variables are not added when setvar used in manager.conf (Reported by Sebastian Gutierrez) * ASTERISK-30369 - res_pjsip: Websockets from same IP shut down when they shouldn't be (Reported by Joshua C. Colp) * ASTERISK-30367 - pbx: Fix outdated channel snapshots with pbx_exec (Reported by N A) * ASTERISK-28767 - chan_pjsip: Caller ID not used when checking for extension, callerid supplement executed too late (Reported by Oleg) * ASTERISK-30350 - res_pjsip_sdp_rtp: rtp_timeout_hold is not used when moh_passthrough has call on hold (Reported by Benjamin Keith Ford) * ASTERISK-30240 - app voicemail odbc build error with gcc 11.1 (Reported by Michael Bradeen) * ASTERISK-30100 - res_pjsip: Path is ignored on INVITE to endpoint (Reported by Yury Kirsanov) * ASTERISK-30198 - Error `Too many open files` occurs after about ~8000 calls when using mixmonitor (Reported by Julien Alie) Improvements made in this release: ----------------------------------- * ASTERISK-30411 - app_read: add option to include terminating digit on empty, terminated strings (Reported by Michael Bradeen) * ASTERISK-30405 - app_directory: Add 's' option to skip channel call (Reported by Michael Bradeen) * ASTERISK-30422 - app_senddtmf: add the option for senddtmf to answer (Reported by Michael Bradeen) * ASTERISK-30325 - Upgrade Asterisk to bundled pjproject 2.13 (Reported by Stanislav Abramenkov) * ASTERISK-30404 - app_directory: Add reading directory configuration from custom file (Reported by Michael Bradeen) * ASTERISK-29913 - func_json: Adds multi-level and array parsing to JSON_DECODE (Reported by N A) * ASTERISK-30353 - func_frame_trace: Print text for text frames (Reported by N A) * ASTERISK-30361 - json.h: Add missing ast_json_object_real_get (Reported by N A) * ASTERISK-30280 - Create capability to assign a Media Experience Score to RTP streams (Reported by George Joseph) * ASTERISK-30332 - func_callerid: Warn if invalid redirecting reason provided (Reported by N A) For a full list of changes in this release, please see the ChangeLog: https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-18.17.0 Thank you for your continued support of Asterisk! [asterisk-announce] Asterisk 16.29.1, 18.15.1, 19.7.1, 20.0.1 Now Available The Asterisk Development Team would like to announce the release of Asterisk 16.29.1, 18.15.1, 19.7.1, and 20.0.1. The release of Asterisk 16.29.1, 18.15.1, 19.7.1, and 20.0.1 resolves issues reported by the community and would have not been possible without your participation.Thank you! The following issue is resolved in this release: Bugs fixed in this release: ----------------------- [ASTERISK-30103 <https://issues.asterisk.org/jira/browse/ASTERISK-30103>] chan_ooh323 vulnerability in calling/called party IE (Reported By: Michael Bradeen) [ASTERISK-30176 <https://issues.asterisk.org/jira/browse/ASTERISK-30176>] GetConfig can read files outside of Asterisk (Reported By: shawty) [ASTERISK-30244 <https://issues.asterisk.org/jira/browse/ASTERISK-30244>] Occasional crash when TCP/TLS connection terminated and subscription persistence is removed (Reported By: nappsoft) [ASTERISK-30338 <https://issues.asterisk.org/jira/browse/ASTERISK-30338>] Backport 2.13 security fixes from pjproject [asterisk-announce] Asterisk 18.15.0 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.15.0. The release of Asterisk 18.15.0 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: New Features made in this release: ----------------------------------- * ASTERISK-30037 - Add test support to calling external processes (Reported by Philip Prindeville) * ASTERISK-30161 - locks: add AMI event for deadlock (Reported by N A) * ASTERISK-30211 - app_confbridge: Add end_marked_any option (Reported by N A) * ASTERISK-30186 - res_pjsip: Add support for reloading TLS certificate and key information (Reported by Joshua C. Colp) * ASTERISK-29899 - features: Add advanced transfer initiation options (Reported by N A) Bugs fixed in this release: ----------------------------------- * ASTERISK-30235 - res_crypto and tests: Memory issues and and uninitialized variable error (Reported by George Joseph) * ASTERISK-30234 - res_geolocation: ...may be used uninitialized error in geoloc_config.c (Reported by George Joseph) * ASTERISK-30215 - Inbound SIP INVITE with Geo Location causing a Segmentation Fault (Reported by Dan Cropp) * ASTERISK-30135 - [res_musiconhold] Allows the moh only for the answered call (Reported by sungtae kim) * ASTERISK-26894 - pjsip should support tel uri scheme (Reported by Gergely D½½ms½½di) * ASTERISK-30210 - func_frame_trace: Channel masquerade triggers assertion (Reported by N A) * ASTERISK-30190 - res_geolocation: GEOLOC_PROFILE isn't returning correct values on incoming channel (Reported by George Joseph) * ASTERISK-29185 - chan_pjsip: Endpoint: allow = all is broken. (Reported by Alexander Traud) * ASTERISK-30192 - res_tonedetect: fix typo for frametype (Reported by N A) * ASTERISK-29453 - alembic: incoming_call_offer_pref and outgoing_call_offer_pref missing in "ps_endpoints" table (Reported by Daniel Th½½men) * ASTERISK-26826 - testsuite: Add support for Python 3 (Reported by Joshua C. Colp) * ASTERISK-30167 - res_geolocation: Refactor for issues found by users (Reported by George Joseph) * ASTERISK-28422 - Memory Leak in Confbridge menu (Reported by Ted G) * ASTERISK-29917 - ami: FilterList action doesn't exist (Reported by N A) * ASTERISK-30018 - app_meetme: MeetmeList AMI event not documented (Reported by Michael Cargile) * ASTERISK-30020 - ConfbridgeListRooms Event Not Documented (Reported by Michael Cargile) * ASTERISK-30151 - Documentation doesn't include info about "field", a 3rd required parameter. (Reported by Chris Young) Improvements made in this release: ----------------------------------- * ASTERISK-30241 - res_pjsip_gelocation: Downgrade some NOTICE scope trace debugs to DEBUG level (Reported by N A) * ASTERISK-30178 - extend user_eq_phone behavior to local uri's (Reported by Michael Bradeen) * ASTERISK-30046 - Reimplement res/res_crypto.c internals with EVP_PKEY interface to Openssl API's (Reported by Philip Prindeville) * ASTERISK-30045 - Add test coverage to res/res_crypto.c functionality (Reported by Philip Prindeville) * ASTERISK-30185 - res_geolocation: Allow location parameters to be specified in profiles (Reported by George Joseph) * ASTERISK-30177 - res_geolocation: Add option to suppress empty elements (Reported by George Joseph) * ASTERISK-30182 - res_geolocation: Add built-in profiles to use in fully dynamic configurations (Reported by George Joseph) * ASTERISK-29906 - [patch] update RLS to reflect the changes to the lists (Reported by Alexei Gradinari) * ASTERISK-30163 - general: fix minor formatting issues (Reported by N A) * ASTERISK-30164 - chan_iax2: Add missing option documentation (Reported by N A) * ASTERISK-30153 - logger: Improve log levels (Reported by N A) * ASTERISK-30160 - cdr.conf: Remove obsolete app_mysql reference (Reported by N A) * ASTERISK-30159 - general: Remove obsolete SVN references (Reported by N A) [asterisk-announce] Asterisk 18.14.0 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.14.0. The release of Asterisk 18.14.0 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: Improvements made in this release: ----------------------------------- * ASTERISK-30128 - Create PJSIP interface module for Geolocation (Reported by George Joseph) * ASTERISK-30127 - Create core Geolocation capability for Asterisk (Reported by George Joseph) * ASTERISK-30089 - general: fix typos (Reported by N A) * ASTERISK-30050 - Upgrade Asterisk to bundled pjproject 2.12.1 (Reported by Stanislav Abramenkov) Bugs fixed in this release: ----------------------------------- * ASTERISK-30167 - res_geolocation: Refactor for issues found by users (Reported by George Joseph) * ASTERISK-29966 - pbx_variables: ast_str_strlen can be wrong (Reported by N A) * ASTERISK-29905 - OSX: bininstall launchd issue on cross-platfrom build (Reported by Sergey V. Lobanov) * ASTERISK-30137 - manager: Global disabled event filtered is incomplete (Reported by N A) * ASTERISK-30109 - res_pjsip: no contact-status AMI event on register of prune-on-boot contact that uses the same URI as before Asterisk restart (Reported by Michael Neuhauser) * ASTERISK-29991 - chan_dahdi, callerid: Caller ID does not honor presentation (Reported by N A) * ASTERISK-30126 - Spelling mistake in configs/samples/queues.conf.sample (Reported by Sam Banks) * ASTERISK-30029 - build: Git security vulnerability fix is sad with our accessing git as root during "make install" (Reported by Joshua C. Colp) * ASTERISK-29907 - res_pjsip, app_confbridge: Video call through ConfBridge with normal endpoints causes infinite loop/crash (Reported by N A) * ASTERISK-30138 - Compile failure in res_geolocation/geoloc_eprofile.c when optimization is enabled (Reported by George Joseph) * ASTERISK-30096 - cel_odbc: Column type 9 (field 'cdr:cel:eventtime') is unsupported at this time (Reported by Morvai Szabolcs) * ASTERISK-30083 - chan_iax2: Optional dependency on openssl/res_crypto is now mandatory (Reported by Dmitry Melekhov) * ASTERISK-30099 - test_aeap_transport: transport_connect_fail sporadically causes failure (Reported by Kevin Harwell) * ASTERISK-30123 - features: Update automixmon documentation to reflect reality (Reported by Trevor Peirce) * ASTERISK-30117 - pbx_lua: Remove compiler warnings (Reported by Boris P. Korzun) * ASTERISK-30101 - res_prometheus: Optional load res_pjsip_outbound_registration.so (Reported by Boris P. Korzun) * ASTERISK-29989 - app_dial, chan_dahdi: DIALSTATUS is inconsistent for busy (Reported by N A) * ASTERISK-30001 - db: Removing nonexistent entries shows "Database entry removed" (Reported by N A) * ASTERISK-30115 - app_dial: Allow hook flashes to propogate on outbound dials (Reported by N A) * ASTERISK-30106 - res_calendar_icalendar: Microsoft online ICS calendars no longer work (Reported by N A) * ASTERISK-29822 - cli: Typing \? freezes the CLI permanently with remote console (Reported by N A) * ASTERISK-30072 - res_pjsip: allow TLS verification of wildcard cert-bearing servers (Reported by Kevin Harwell) * ASTERISK-30075 - say: Abort if channel hangs up during playback (Reported by N A) New Features made in this release: ----------------------------------- * ASTERISK-30136 - db: Add AMI action to retrieve all keys beginning with a prefix (Reported by N A) * ASTERISK-30000 - chan_dahdi: Add POLARITY function (Reported by N A) * ASTERISK-30062 - cli: Add CLI command to execute a dialplan app (Reported by N A) * ASTERISK-29999 - pjsip: Get information from 200 OK INVITE reply headers (Reported by Jos½½ Lopes) * ASTERISK-30061 - pbx: Add pbx helper application (Reported by N A) [asterisk-announce] Asterisk 18.13.0 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.13.0. The release of Asterisk 18.13.0 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: Improvements made in this release: ----------------------------------- * ASTERISK-29906 - [patch] update RLS to reflect the changes to the lists (Reported by Alexei Gradinari) * ASTERISK-29891 - [patch] provide a display name for RLS subscriptions (Reported by Alexei Gradinari) * ASTERISK-30090 - xmldocs: Use example tags for examples (Reported by N A) * ASTERISK-30086 - res_parking: Warn when invalid parking space requested (Reported by N A) * ASTERISK-30058 - Evaluate dialplan functions and variables in agi exec (Reported by Shloime Rosenblum) * ASTERISK-30027 - ari: expose channel driver's unique id (i.e. Call-ID for chan_sip/chan_pjsip) in ARI channel resource (Reported by Moritz Fain) * ASTERISK-29845 - res_pjsip_outbound_registration: Show time remaining until registration lapses (Reported by N A) Bugs fixed in this release: ----------------------------------- * ASTERISK-30097 - console: Recent documentation changes for connecting to remote console are inconsistent (Reported by Matthias Hensler) * ASTERISK-30043 - Wrong party is disconnected when hook-flashing on 3-way bridge (Reported by Josh Alberts) * ASTERISK-29603 - res_pjsip: UPDATE/re-INVITE not sent when "timers=always" is specified in pjsip.conf (Reported by Ray Crumrine) * ASTERISK-30092 - DateTime application: wrong inflection for one o'clock in German (Reported by Christof Efkemann) * ASTERISK-30064 - pbx: iax2 switch causes crash due to deadlock and assertion (Reported by N A) * ASTERISK-29981 - res_calendar: Asterisk crashes when starting, and will not run (Reported by N A) * ASTERISK-30039 - cli: Targeted debug on startup deadlocks and creates unstable system (Reported by N A) * ASTERISK-30051 - res_pjsip: No video after un-hold with moh_passthrough=yes (Reported by Maximilian Fridrich) * ASTERISK-24601 - [patch]Missing RFC4235 tags and attributes in PJSIP NOTIFY event: dialog XML body (Reported by Marco Paland) * ASTERISK-30059 - menuselect: libxml include fails under Gentoo (Reported by waltermoeller) * ASTERISK-30060 - loader: format warnings in dev mode (Reported by N A) * ASTERISK-30065 - pjsip: Open Websocket connection is not reused for outgoing requests (Reported by LA) * ASTERISK-30042 - res_pjsip_transport_websocket: Registration over websocket returns a rewritten contact (Reported by Thomas Guebels) * ASTERISK-29993 - chan_dahdi: Operator control option borks both lines involved on callee disconnect (Reported by N A) * ASTERISK-30044 - GCC 12 issues (Reported by George Joseph) New Features made in this release: ----------------------------------- * ASTERISK-30063 - app_voicemail: Add option to prevent deletion of messages (Reported by N A) * ASTERISK-29965 - res_pjsip_outbound_registration: Make max registration delay configurable (Reported by N A) * ASTERISK-30087 - res_parking: Add music on hold override option (Reported by N A) * ASTERISK-30036 - app_confbridge: Add CONFBRIDGE_CHANNELS function (Reported by N A) Thank you for your continued support of Asterisk! [asterisk-announce] Asterisk 18.12.1 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.12.1. The release of Asterisk 18.12.1 resolves an issue reported by the community and would have not been possible without your participation. Thank you! The following issue is resolved in this release: Bugs fixed in this release: ----------------------------------- * ASTERISK-30065 - pjsip: Open Websocket connection is not reused for outgoing requests (Reported by LA) [asterisk-announce] Asterisk 18.12.0 Now Available The Asterisk Development Team would like to announce the release of Asterisk 18.12.0. The release of Asterisk 18.12.0 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: Security bugs fixed in this release: ----------------------------------- * ASTERISK-29476 - res_stir_shaken: Blind SSRF vulnerabilities (Reported by Clint Ruoho) * ASTERISK-29838 - ${SQL_ESC()} not correctly escaping a terminating \ (Reported by Leandro Dardini) * ASTERISK-29872 - res_stir_shaken: Resource exhaustion with large files (Reported by Benjamin Keith Ford) New Features made in this release: ----------------------------------- * ASTERISK-29931 - Option to allow a user to not hear the join sound on enter but everyone else can (Reported by Michael Cargile) * ASTERISK-29968 - func_db: Add a function to return cardinality of keys at prefix (Reported by N A) * ASTERISK-29486 - Hint-like extension value lookup function without device state (Reported by N A) * ASTERISK-29941 - chan_pjsip: Add ability to send flash events (Reported by N A) * ASTERISK-29820 - cli: Add command to evaluate a function (Reported by N A) * ASTERISK-29876 - app_queue: Add music on hold option (Reported by N A) Bugs fixed in this release: ----------------------------------- * ASTERISK-29655 - res_pjsip_session: No video to caller if no camera available (Reported by Michael Auracher) * ASTERISK-29638 - res_pjsip_session: No video after early media (Reported by Michael Auracher) * ASTERISK-28518 - chan_dahdi: Caller ID FSK Erroneously Sent when Picking Up Dahdi Call On Hold (Reported by Josh Alberts) * ASTERISK-29990 - chan_dahdi: adding ring cadences is not idempotent on dahdi restart (Reported by N A) * ASTERISK-30007 - chan_iax2: Prevent crashes due to attempted encryption with missing secrets (Reported by N A) * ASTERISK-29728 - menuselect: Disabled by default modules that are enabled are always recompiled (Reported by N A) * ASTERISK-30002 - app_meetme: Don't erroneously set global variables when channel is NULL (Reported by N A) * ASTERISK-29994 - chan_dahdi: Round robin array size is too small for max number of groups (Reported by N A) * ASTERISK-22246 - Asterisk's "T" flag is ignored when used with "r" or "R" flags. (documentation bug) (Reported by Rusty Newton) * ASTERISK-26582 - Asterisk seems to ignore the "n" parameter for "disable console colorization" (Reported by Sebastian Gutierrez) * ASTERISK-29843 - Session timers get removed on UPDATE (Reported by Mark Petersen) * ASTERISK-29943 - file.c: seeking to negative file offset is not prevented (Reported by N A) * ASTERISK-29955 - chan_sip: SIP route header is missing on UPDATE (Reported by Mark Petersen) * ASTERISK-29842 - Do not change 180 Ringing to 183 Progress even if early_media already enabled (Reported by Mark Petersen) * ASTERISK-29948 - iostream: Infinite TCP timeout writing data (Reported by N A) * ASTERISK-29253 - Incorrect bridging on transfer (Reported by Yury Kirsanov) * ASTERISK-30006 - res_pjsip: UDP transport does not work when async_operations is greater than 1 (Reported by Ross Beer) * ASTERISK-30024 - Failed to sign STIR/SHAKEN payload with functionality not enabled (Reported by Claude Diderich) * ASTERISK-30021 - ast_variable_list_replace_variable uses variable with new keyword (Reported by Jasper Hafkenscheid) * ASTERISK-30023 - cdr_adaptive_odbc: does not support DATETIME database columns (Reported by Gregory Massel) * ASTERISK-30015 - pjsip / WebRTC: Chrome creating large number of SDP attributes (Reported by Josh Hogan) * ASTERISK-26689 - res_pjsip_sdp_rtp: 183 Session in Progress. Disconnecting channel for lack of RTP activity (Reported by Dmitriy Serov) * ASTERISK-29929 - res_pjsip_sdp_rtp: Disconnecting channel for lack of RTP activity in one way sessions (Reported by Boris P. Korzun) * ASTERISK-29411 - Crash in pjsip_msg_find_hdr_by_name (Reported by LA) * ASTERISK-29535 - Segmentation fault in libasteriskpj.so.2 (Reported by Daniel Bonazzi) * ASTERISK-26719 - pbx: Only up to 127 includes in a dialplan context (AST_PBX_MAX_STACK - 1) (Reported by Tzafrir Cohen) * ASTERISK-29986 - build: Asterisk 18.11.0 doesn't compile when wget isn't available (Reported by Stefan Ruijsenaars) * ASTERISK-29988 - REGRESSION: The build process is requiring xmllint or xmlstarlet ro be installed when it shouldn't (Reported by George Joseph) * ASTERISK-29895 - chan_iax2: Fix misaligned spacing in iax2 show netstats printout (Reported by N A) * ASTERISK-29939 - agi: Fix xmldoc bug with set music (Reported by N A) * ASTERISK-28891 - documentation: AGICommand_set+music documentation arguments displayed incorreclty (Reported by Jonathan Harris) * ASTERISK-29048 - chan_iax2: "iax2 show registry" shows host for perceived (Reported by David Herselman) * ASTERISK-29674 - Adjust for 64bit time_t (Reported by Andre Heider) * ASTERISK-29961 - RLS: domain part of 'uri' list attribute mismatch with SUBSCRIBE request (Reported by Alexei Gradinari) * ASTERISK-29928 - logging messages truncated when using MUSL runtime (Reported by Philip Prindeville) * ASTERISK-29960 - ari: Retrieving stored recording can returns wrong file (Reported by Arix) * ASTERISK-29950 - SayNumber can handle '01' to '07', but not '08' or '09' (Reported by Jim Van Meggelen) Improvements made in this release: ----------------------------------- * ASTERISK-24827 - Missing documentation for chan_dahdi dial string ring cadences (Reported by Scott Griepentrog) * ASTERISK-29940 - general: Add since tags to xmldocs (Reported by N A) * ASTERISK-29726 - Add Asterisk External Application Protocol (AEAP) implementation (Reported by Kevin Harwell) * ASTERISK-29951 - app_mf, app_sf: Return -1 on hangup (Reported by N A) * ASTERISK-29954 - app_meetme: Emit warning if conference not found (Reported by N A) * ASTERISK-29351 - Qualify pjproject 2.12 for Asterisk (Reported by George Joseph) * ASTERISK-29976 - Should Readme include information about install_prereq script? (Reported by Marcel Wagner) * ASTERISK-29970 - Use pkg-config to find libxml2 headers and libraries (Reported by Hugh McMaster) * ASTERISK-29980 - build: External binary modules don't use https (Reported by INVADE International Ltd.) * ASTERISK-25716 - Documentation: Document explanations and examples for possible values of DIALSTATUS (Reported by Rusty Newton) * ASTERISK-29967 - pbx_builtins: Add missing documentation (Reported by N A) [asterisk-announce] Asterisk 18.11.3 Now Available Asterisk Development Team asteriskteam at digium.com Tue Apr 26 12:09:50 CDT 2022 The Asterisk Development Team would like to announce the release of Asterisk 18.11.3. The release of Asterisk 18.11.3 resolves an issue reported by the community and would have not been possible without your participation. Thank you! The following issue is resolved in this release: Bugs fixed in this release: ----------------------------------- * ASTERISK-30024 - Failed to sign STIR/SHAKEN payload with functionality not enabled (Reported by Claude Diderich) [asterisk-announce] Asterisk 16.25.2, 18.11.2, 19.3.2 and 16.8-cert14 Now Available (Security) The Asterisk Development Team would like to announce security releases for Asterisk 16, 18 and 19, and Certified Asterisk 16.8. The available releases are released as versions 16.25.2, 18.11.2, 19.3.2 and 16.8-cert14. The following security vulnerabilities were resolved in these versions: * AST-2022-001: res_stir_shaken: resource exhaustion with large files When using STIR/SHAKEN, it½½½s possible to download files that are not certificates. These files could be much larger than what you would expect to download. * AST-2022-002: res_stir_shaken: SSRF vulnerability with Identity header When using STIR/SHAKEN, it½½½s possible to send arbitrary requests like GET to interfaces such as localhost using the Identity header. * AST-2022-003: func_odbc: Possible SQL Injection Some databases can use backslashes to escape certain characters, such as backticks. If input is provided to func_odbc which includes backslashes it is possible for func_odbc to construct a broken SQL query and the SQL query to fail. [asterisk-announce] Asterisk 18.11.1 Now Available Asterisk Development Team asteriskteam at digium.com Tue Mar 29 19:15:43 CDT 2022 The Asterisk Development Team would like to announce the release of Asterisk 18.11.1. The release of Asterisk 18.11.1 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following issues are resolved in this release: Bugs fixed in this release: ----------------------------------- * ASTERISK-29986 - build: Asterisk 18.11.0 doesn't compile when wget isn't available (Reported by Stefan Ruijsenaars) * ASTERISK-29988 - REGRESSION: The build process is requiring xmllint or xmlstarlet ro be installed when it shouldn't (Reported by George Joseph) [asterisk-announce] Asterisk 18.11.0 Now Available Asterisk Development Team asteriskteam at digium.com Thu Mar 24 09:06:03 CDT 2022 The Asterisk Development Tea…
Hello all! This will likely be the final release of Amfora. For more information, please see my blog post, https://www.makeworld.space/2023/08/bye_gemini.html Thanks to all the users and especially the contributors, who made this project the personal success it was for me. The following is copied from the CHANGELOG.md file in this repo. Added Syntax highlighting for preformatted text blocks with alt text (#252, #263, wiki page) Client certificates can be restricted to certain paths of a host (#115) header config option in [subscriptions] to allow disabling the header text on the subscriptions page (#191) Selected link and scroll position stays for non-cached pages (#122) Keybinding to open URL with URL handler instead of configured proxy (#143) include theme key to import themes from an external file (#154, #290) Support SOCKS5 proxying by setting AMFORA_SOCKS5 environment variable (#155) When bookmarking a page, the first level one heading is suggested as the name (#267, #293) Confirmation prompts for URL schemes in new [url-prompts] config section (#301, #302) Changed Center text automatically, removing left_margin from the config (#233) max_width defaults to 80 columns instead of 100 (#233) Tabs have the domain of the current page instead of numbers (#202) Closing Amfora with q was removed in favor of Shift-q (#243) Paging up or down scrolls by 50% instead of 75%, to match less (#303) Update deps, require Go 1.17 (#336) Show local directory index file if available (#319) Updated Project Gemini URLs (#342) Fixed Modal can't be closed when opening non-gemini text URLs from the commandline (#283, #284) External programs started by Amfora remain as zombie processes (#219) Prevent link lines (and other types) from being wider than the max_width setting (#280) new:7 on new tab page fails to open link (#306) Slashes aren't decoded in redirect URLs (#322, #324) Typing localhost in the bottom bar actually loads localhost instead of searching (#326, #327)
&context->buffer is uint8_t*, but we try to access it as sha2_word64*, which is an aliasing violation (undefined behaviour). Use memcpy instead to avoid being miscompiled by e.g. >= GCC 12. Bug: https://gcc.gnu.org/PR114698 Bug: NetBSD/pkgsrc#122 Bug: archiecobbs/libnbcompat#4
`&context->buffer` is `uint8_t*`, but we try to access it as `sha2_word64*`, which is an aliasing violation (undefined behaviour). Use memcpy instead to avoid being miscompiled by e.g. >= GCC 12. This is just as fast with any modern compiler. Bug: https://gcc.gnu.org/PR114698 Bug: NetBSD/pkgsrc#122 Bug: archiecobbs/libnbcompat#4 Signed-off-by: Sam James <[email protected]>
`&context->buffer` is `uint8_t*`, but we try to access it as `sha2_word64*`, which is an aliasing violation (undefined behaviour). Use memcpy instead to avoid being miscompiled by e.g. >= GCC 12. This is just as fast with any modern compiler. Bug: https://gcc.gnu.org/PR114698 Bug: NetBSD/pkgsrc#122 Bug: archiecobbs/libnbcompat#4 Bug: https://bugs.launchpad.net/ubuntu-power-systems/+bug/2033405 Signed-off-by: Sam James <[email protected]>
`&context->buffer` is `uint8_t*`, but we try to access it as `sha2_word64*`, which is an aliasing violation (undefined behaviour). Use memcpy instead to avoid being miscompiled by e.g. >= GCC 12. This is just as fast with any modern compiler. Bug: https://gcc.gnu.org/PR114698 Bug: NetBSD/pkgsrc#122 Bug: archiecobbs/libnbcompat#4 Bug: https://bugs.launchpad.net/ubuntu-power-systems/+bug/2033405 Signed-off-by: Sam James <[email protected]>
`&context->buffer` is `uint8_t*`, but we try to access it as `sha2_word64*`, which is an aliasing violation (undefined behaviour). Use memcpy instead to avoid being miscompiled by e.g. >= GCC 12. This is just as fast with any modern compiler. Bug: https://gcc.gnu.org/PR114698 Bug: NetBSD/pkgsrc#122 Bug: archiecobbs/libnbcompat#4 Bug: https://bugs.launchpad.net/ubuntu-power-systems/+bug/2033405 Signed-off-by: Sam James <[email protected]>
From upstream's changelog: AWStats 7.9 Latest Add Windows 11 and Android 13 operating systems Update Hungarian translation and migrate it to UTF-8. fix cross site scripting Replace hard coded text with $Message ( Monthly, Daily, Hourly ) Android 11 + 12, MacOS 11 ( Big Sur ) + 12 ( Monterey ) Catch up german translations Change the substitution that replaces newlines with BR elements so that the syntax works for both HTML and XHTML. Added a few robots and 1 phone browser. Also corrected some errors in devlop robots.pm Only look for configuration in dedicated awstats directories Unwrap SRS e-mail addresses Fixes #195/CVE-2020-35176 As geoip2_country doesn't have AddHTMLGraph_geoip2_country, it should only generate subpage for geoip2_city. added support for HaikuOS and Safari based WebPositive browser Adding missing td-tag opening Tajik Language Support AWStats 7.8 NEW Add SelectBox for DatabaseBreak Mode: month,day and hour. Update http status codes Add more file types Update README.md Fix geoip2 formatting problem corner case 99 Fix some incoherent entries in search_engines.pm Fix geoip2 plugin on windows by renaming it Update robots.pm with PR118 data. Add: - PiplBot bot - um-IC & um-LN bot - arcemedia - bit.ly - bidswitchbot - bnf.fr_bot - contxbot - flamingo - getintent (variant) - laserlikebot - mappy - mojeek (variant) - serendeputy - trendiction - yak (linkinfluence) - zoominfobot Fixes #104 Change markdown to better readability Update Copyright year Change to https links Fix links for perl download NEW add %time6 tag in log format to support some IIS log format geoip2: Fix table formatting error. Missing "" item tag. Changes to robots.pm Add support for macOS DMG and PKG files Fix browser detection with HTTP 206 status code Support for macOS 10.13/10.14 + improved image compression of icons Fix use the 5 top hits as base 100 for graph to show the top 5 hits. Clean up geoip2 and geoip2 city modules * Correctly convert dns names to ip4 and ip6 address using getaddrinfo (fixes #120, #121, obsoletes #115) * Only lookup if the IP is of type public (fixes #122) and catch further lookup errors (obsoletes #123) * Store and display the GeoIP City output HTML escaped (fixes #127) * Code to perform and cache the actual lookup is consolidated * General code improvement and readability Losslessly reduced size of PNG images by about 33% using zopfli, pngout and oxipng. Also added os icons for macOS 10.13 and 10.14. Add Robot: The Knowledge AI Fix Error: Not same number of records of RobotsSearchIDOrder_listx Robots, Search Engine and Web Page Tracking Modifications Optimize OptimizeArray Added UptimeRobot https://uptimerobot.com/ Fix a few grammar errors in the model config Ignore search phrases longer than 80 characters. Fix 404 detail page not updating Decode RFC 3986 "unreserved chars" in URLs. Fix #80 Disable nested includes warnings for Perl > 5.6. Update domains.pm Fix two invalid entries in search_engines.pm Format Tera Bytes Fix "Illegal division by zero" error. Fix #79 Improving error handling in awstats_buildstaticpages.pl FIX #90 Exclude private IP addresses since GeoIP2::Reader doesn't support them Ignore search phrases longer than 80 characters. Only purge data for the saved section. Make city plugin more functional Fix issue with ShowHost section when address is resolved. Initial implementation of GeoIP2 City lookup. Fix a few issues with Country lookup. Initial implementation. Looksup only Country code for IPv4 and IPv6 Update hebrew file Quite a few additions and modifications. Especially yahoo detection. Added device pixel ratio ( dpr ) to awstats_misc_tracker.js. added 37 new robots to robots.pm file using v 7.7 robots.pm file as base file. Move oBot entry lower as to not incorrectly get picked for other *obot robots. Decode RFC 3986 "unreserved chars" in URLs. This makes awstats treat "/foo" and "/%66%6f%6f" as equivalent. Missing Sint Maarten flag Wrong label cf. https://dev.maxmind.com/geoip/legacy/codes/iso3166/ Fix Issue #76 - country name not correct Fix utf bom files Fix another vulnerability reported by cPanel Security Team (can execute arbitraty code) Add more tests PKG_SYSCONFDIR fixes pkglint cleanup Remove trivial MESSAGE
Highlights - Added support for 32X emulation (with a caveat regarding performance) - Significant audio quality improvements for Genesis / Mega Drive and SNES - Support for loading directly from .zip and .7z files - Lots of Genesis / Mega Drive bugfixes 32X Notes - All released 32X games plus Doom 32X Resurrection should be playable except for the 6 FMV games that require the Sega CD 32X combo - Doom 32X Resurrection features that require Sega CD do not currently work (CD-DA music, offloading some audio processing to the Sega CD 68000) - SH-2 CPU cache and basic SH-2 memory access timings are emulated, so overall SH-2 speed should be moderately accurate (though still faster than actual hardware in some cases) - SH-2 emulation is currently not optimized well - full-speed 32X emulation requires a CPU with decent single-core performance, and fast-forward speed will be very limited - For a comparison point, the Steam Deck CPU barely runs 32X at full speed from my testing - This will likely improve in a future release - the current implementation is pure interpreter because that was easiest to implement and it (surprisingly) still runs at full speed with a fast enough host CPU New Features - Added support for loading directly from .zip and .7z compressed archives for every console except Sega CD (#91) - Archives containing multiple images are only partially supported; in this case the emulator will always load the first file with a recognized file extension - (SNES) Added an audio enhancement option for cubic Hermite interpolation between decoded ADPCM samples, which usually makes the audio sound sharper and less muffled - The difference is most noticeable in games that use low sample rate audio, such as the Donkey Kong Country trilogy - This is off by default because it pretty radically changes the sound in some games - (Genesis) Added an option to have no controller plugged into one or both of the controller ports, for games that behave differently based on the presence or absence of a controller (#113) - (NES) Added support for the UNROM 512 mapper (iNES mapper 30), a homebrew mapper used by a number of games including Black Box Challenge and Battle Kid 2 (#73 / #86) - This mapper unusually supports flash memory mapped as PRG "ROM"; for the games that have this (e.g. Black Box Challenge), it's emulated by persisting the entire current contents of PRG ROM to the save file whenever the game modifies itself - (GB) Added partial support for the Hudson HuC-3 mapper, used by Robopon and a few Japan-only games (#89) - "Partial" because the builtin speaker, the IR sensor, and parts of the event/alarm functionality are not emulated - GUI: Added a new "Open Using" menu option to open a file using a specific emulator core, rather than always choosing the core based on file extension (#121) - GUI: Added an option to explicitly set the UI theme to light or dark rather than always using the system default Improvements - (Genesis) YM2612 DAC crossover distortion (aka the "ladder effect") is now emulated, which significantly improves music accuracy in a number of games; this is extremely noticeable in Streets of Rage, Streets of Rage 2, and After Burner II, among others - There is also a new option to disable ladder effect emulation, since the effect was less pronounced on later console models (and also because I think it's neat to hear how it affects the sound by toggling a checkbox) - (SMS/GG/Genesis) Replaced the PSG and YM2612 low-pass filters with much more aggressive ones; this should generally improve audio quality, and in some cases will remove erroneous buzzing/popping noises that were present before (e.g. in The Adventures of Batman & Robin) (#108) - Improved audio output behavior for all emulator backends, which should significantly reduce the likelihood of audio pops caused by audio buffer underflow - GUI: Added help text to most options menus - GUI: Improved performance when the main list table is large Genesis / Mega Drive Fixes - Fixed the PSG's noise channel not oscillating when the period is set to 0 (which should behave the same as period of 1); this fixes missing high-frequency noise in Knuckles' Chaotix among other games - Fixed a degenerate case for performance when a game repeatedly writes the same value to specific VDP registers during active display, as After Burner Complete does - Fixed some 68000 CPU bugs discovered while working on 32X support - Implemented line 1010/1111 exception handling for when the 68000 executes an illegal opcode where the highest 4 bits are 1010 or 1111; Zaxxon's Motherbase 2000 depends on this to boot - Fixed divide by zero exception handling pushing the wrong PC value onto the stack; After Burner Complete frequently divides by zero and depends on correctly handling the exception - Fixed the DIVS instruction finishing way too quickly in some cases where the division overflows a signed 16-bit result but the CPU doesn't detect the overflow early - Fixed an off-by-one error in determining whether to set the sprite overflow flag in the VDP status register; this fixes flickering sprite graphics in Alex Kidd in the Enchanted Castle (#125) - This was a regression introduced in v0.6.1 as part of the changes to get Overdrive 2's textured cube effect working - Adjusted how writes to the controller CTRL registers ($A10009 / $A1000B) affect the controller's TH line; this fixes controls not working properly in Trouble Shooter (#110) - Made it possible for games to read the VINT flag in the VDP status register as 1 slightly before the 68000 INT6 interrupt is raised; this fixes Tyrants: Fight Through Time and Ex-Mutants failing to boot (#127) - Implemented undocumented behavior regarding how the Z80 BIT instruction sets the S and P/V flags; this fixes missing audio in Ex-Mutants, which relies on this behavior in its audio driver code - Implemented approximate emulation of memory refresh delay - This is emulated by simply stalling the 68000 for 2 out of every 128 mclk cycles, unless it executes a very long instruction that doesn't access the bus mid-instruction (e.g. multiplication or division) - Memory refresh delay is not emulated in 32X mode because it seemed to break audio synchronization between the Genesis and 32X hardware in some games - Added SRAM mappings for several games that have SRAM in the cartridge but don't declare it in the cartridge header: NHL 96, Might and Magic, and Might and Magic III (#107 / #116 / #117) - Little-endian ROM images are now detected and byteswapped on load; this along with a custom ROM address mapping fixes Triple Play failing to boot (#112) - The emulator will now recognize the unconventionial region string "EUROPE" as meaning that the game only supports PAL/EU; this fixes Another World incorrectly defaulting to NTSC/US mode instead of PAL/EU (#122) - Unused bits in the Z80 BUSACK register ($A11100) now read approximate open bus instead of 0; this fixes Danny Sullivan's Indy Heat failing to boot (#120) - Improved VDP DMA timing; this fixes corrupted graphics in OutRunners (#118) - The vertical interrupt is now delayed by one 68000 instruction if a game enables vertical interrupts while a vertical interrupt is pending; this fixes Sesame Street: Counting Cafe failing to boot (#119) - The Z80 BUSACK line now changes immediately in response to bus arbiter register writes instead of waiting for the next Z80 instruction time slot; this fixes the Arkagis Revolution demo failing to boot (#123) - The emulator will now enable the bank-switching Super Street Fighter 2 mapper if the cartridge header declares the system as "SEGA DOA" in addition to the standard value of "SEGA SSF"; this fixes the Demons of Asteborg demo not working properly (#115) Other Fixes - Fixed save state slots not working properly if the ROM filename contains multiple dots; before this fix, only one slot would ever be used - (Sega CD) When a game issues a CDD command while the drive is playing, the drive now continues to read one more sector before it changes behavior in response to the new command; this fixes Radical Rex crashing during the intro (#100) - (Sega CD) Writes to PRG RAM by the main CPU and the Z80 are now blocked unless the sub CPU is removed from the bus; this fixes Dungeon Explorer from crashing after the title screen (#104) - (Sega CD) The sub CPU is now halted if it accesses word RAM in 2M mode while word RAM is owned by the main CPU, and it remains halted until the main CPU transfers ownership back to the sub CPU. This fixes glitched graphics in Marko's Magic Football (#101) - (Sega CD) Various fixes to CDC register and DMA behavior; with this plus all of the above fixes, the emulator now fully passes the mcd-verificator test suite (#105) - (NES) The UxROM mapper code (iNES mapper 2) no longer assumes that the cartridge has no PRG RAM; this fixes Alwa's Awakening: The 8-Bit Edition failing to boot (#93) - (SNES) Adjusted timing of PPU line rendering to occur 4 mclk cycles later; this fixes Lemmings having a flickering line at the top of the screen during gameplay - This worked correctly prior to v0.7.2 - it was broken by the CPU timing adjustment that fixed Rendering Ranger R2 from constantly freezing - (GB) Fixed the window X condition incorrectly being able to trigger when WX=255 and fine X scrolling is used (SCX % 8 != 0); this fixes corrupted graphics in Pocket Family GB 2 - Fixed the emulator crashing if prescale factor is set so high that the upscaled frame size exceeds 8192x8192 in either dimension
Highlights - Added support for 32X emulation (with a caveat regarding performance) - Significant audio quality improvements for Genesis / Mega Drive and SNES - Support for loading directly from .zip and .7z files - Lots of Genesis / Mega Drive bugfixes 32X Notes - All released 32X games plus Doom 32X Resurrection should be playable except for the 6 FMV games that require the Sega CD 32X combo - Doom 32X Resurrection features that require Sega CD do not currently work (CD-DA music, offloading some audio processing to the Sega CD 68000) - SH-2 CPU cache and basic SH-2 memory access timings are emulated, so overall SH-2 speed should be moderately accurate (though still faster than actual hardware in some cases) - SH-2 emulation is currently not optimized well - full-speed 32X emulation requires a CPU with decent single-core performance, and fast-forward speed will be very limited - For a comparison point, the Steam Deck CPU barely runs 32X at full speed from my testing - This will likely improve in a future release - the current implementation is pure interpreter because that was easiest to implement and it (surprisingly) still runs at full speed with a fast enough host CPU New Features - Added support for loading directly from .zip and .7z compressed archives for every console except Sega CD (#91) - Archives containing multiple images are only partially supported; in this case the emulator will always load the first file with a recognized file extension - (SNES) Added an audio enhancement option for cubic Hermite interpolation between decoded ADPCM samples, which usually makes the audio sound sharper and less muffled - The difference is most noticeable in games that use low sample rate audio, such as the Donkey Kong Country trilogy - This is off by default because it pretty radically changes the sound in some games - (Genesis) Added an option to have no controller plugged into one or both of the controller ports, for games that behave differently based on the presence or absence of a controller (#113) - (NES) Added support for the UNROM 512 mapper (iNES mapper 30), a homebrew mapper used by a number of games including Black Box Challenge and Battle Kid 2 (#73 / #86) - This mapper unusually supports flash memory mapped as PRG "ROM"; for the games that have this (e.g. Black Box Challenge), it's emulated by persisting the entire current contents of PRG ROM to the save file whenever the game modifies itself - (GB) Added partial support for the Hudson HuC-3 mapper, used by Robopon and a few Japan-only games (#89) - "Partial" because the builtin speaker, the IR sensor, and parts of the event/alarm functionality are not emulated - GUI: Added a new "Open Using" menu option to open a file using a specific emulator core, rather than always choosing the core based on file extension (#121) - GUI: Added an option to explicitly set the UI theme to light or dark rather than always using the system default Improvements - (Genesis) YM2612 DAC crossover distortion (aka the "ladder effect") is now emulated, which significantly improves music accuracy in a number of games; this is extremely noticeable in Streets of Rage, Streets of Rage 2, and After Burner II, among others - There is also a new option to disable ladder effect emulation, since the effect was less pronounced on later console models (and also because I think it's neat to hear how it affects the sound by toggling a checkbox) - (SMS/GG/Genesis) Replaced the PSG and YM2612 low-pass filters with much more aggressive ones; this should generally improve audio quality, and in some cases will remove erroneous buzzing/popping noises that were present before (e.g. in The Adventures of Batman & Robin) (#108) - Improved audio output behavior for all emulator backends, which should significantly reduce the likelihood of audio pops caused by audio buffer underflow - GUI: Added help text to most options menus - GUI: Improved performance when the main list table is large Genesis / Mega Drive Fixes - Fixed the PSG's noise channel not oscillating when the period is set to 0 (which should behave the same as period of 1); this fixes missing high-frequency noise in Knuckles' Chaotix among other games - Fixed a degenerate case for performance when a game repeatedly writes the same value to specific VDP registers during active display, as After Burner Complete does - Fixed some 68000 CPU bugs discovered while working on 32X support - Implemented line 1010/1111 exception handling for when the 68000 executes an illegal opcode where the highest 4 bits are 1010 or 1111; Zaxxon's Motherbase 2000 depends on this to boot - Fixed divide by zero exception handling pushing the wrong PC value onto the stack; After Burner Complete frequently divides by zero and depends on correctly handling the exception - Fixed the DIVS instruction finishing way too quickly in some cases where the division overflows a signed 16-bit result but the CPU doesn't detect the overflow early - Fixed an off-by-one error in determining whether to set the sprite overflow flag in the VDP status register; this fixes flickering sprite graphics in Alex Kidd in the Enchanted Castle (#125) - This was a regression introduced in v0.6.1 as part of the changes to get Overdrive 2's textured cube effect working - Adjusted how writes to the controller CTRL registers ($A10009 / $A1000B) affect the controller's TH line; this fixes controls not working properly in Trouble Shooter (#110) - Made it possible for games to read the VINT flag in the VDP status register as 1 slightly before the 68000 INT6 interrupt is raised; this fixes Tyrants: Fight Through Time and Ex-Mutants failing to boot (#127) - Implemented undocumented behavior regarding how the Z80 BIT instruction sets the S and P/V flags; this fixes missing audio in Ex-Mutants, which relies on this behavior in its audio driver code - Implemented approximate emulation of memory refresh delay - This is emulated by simply stalling the 68000 for 2 out of every 128 mclk cycles, unless it executes a very long instruction that doesn't access the bus mid-instruction (e.g. multiplication or division) - Memory refresh delay is not emulated in 32X mode because it seemed to break audio synchronization between the Genesis and 32X hardware in some games - Added SRAM mappings for several games that have SRAM in the cartridge but don't declare it in the cartridge header: NHL 96, Might and Magic, and Might and Magic III (#107 / #116 / #117) - Little-endian ROM images are now detected and byteswapped on load; this along with a custom ROM address mapping fixes Triple Play failing to boot (#112) - The emulator will now recognize the unconventionial region string "EUROPE" as meaning that the game only supports PAL/EU; this fixes Another World incorrectly defaulting to NTSC/US mode instead of PAL/EU (#122) - Unused bits in the Z80 BUSACK register ($A11100) now read approximate open bus instead of 0; this fixes Danny Sullivan's Indy Heat failing to boot (#120) - Improved VDP DMA timing; this fixes corrupted graphics in OutRunners (#118) - The vertical interrupt is now delayed by one 68000 instruction if a game enables vertical interrupts while a vertical interrupt is pending; this fixes Sesame Street: Counting Cafe failing to boot (#119) - The Z80 BUSACK line now changes immediately in response to bus arbiter register writes instead of waiting for the next Z80 instruction time slot; this fixes the Arkagis Revolution demo failing to boot (#123) - The emulator will now enable the bank-switching Super Street Fighter 2 mapper if the cartridge header declares the system as "SEGA DOA" in addition to the standard value of "SEGA SSF"; this fixes the Demons of Asteborg demo not working properly (#115) Other Fixes - Fixed save state slots not working properly if the ROM filename contains multiple dots; before this fix, only one slot would ever be used - (Sega CD) When a game issues a CDD command while the drive is playing, the drive now continues to read one more sector before it changes behavior in response to the new command; this fixes Radical Rex crashing during the intro (#100) - (Sega CD) Writes to PRG RAM by the main CPU and the Z80 are now blocked unless the sub CPU is removed from the bus; this fixes Dungeon Explorer from crashing after the title screen (#104) - (Sega CD) The sub CPU is now halted if it accesses word RAM in 2M mode while word RAM is owned by the main CPU, and it remains halted until the main CPU transfers ownership back to the sub CPU. This fixes glitched graphics in Marko's Magic Football (#101) - (Sega CD) Various fixes to CDC register and DMA behavior; with this plus all of the above fixes, the emulator now fully passes the mcd-verificator test suite (#105) - (NES) The UxROM mapper code (iNES mapper 2) no longer assumes that the cartridge has no PRG RAM; this fixes Alwa's Awakening: The 8-Bit Edition failing to boot (#93) - (SNES) Adjusted timing of PPU line rendering to occur 4 mclk cycles later; this fixes Lemmings having a flickering line at the top of the screen during gameplay - This worked correctly prior to v0.7.2 - it was broken by the CPU timing adjustment that fixed Rendering Ranger R2 from constantly freezing - (GB) Fixed the window X condition incorrectly being able to trigger when WX=255 and fine X scrolling is used (SCX % 8 != 0); this fixes corrupted graphics in Pocket Family GB 2 - Fixed the emulator crashing if prescale factor is set so high that the upscaled frame size exceeds 8192x8192 in either dimension
# wk 0.9.4 - Ensure package tests pass against sf 1.0-18 (#224, #225). # wk 0.9.3 - Ensure package compiles with `STRICT_R_HEADERS=1` (#222). # wk 0.9.2 - Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213) - Fix wk_trans inconsistent meta flags handling (#217) - Ensure package builds on arm64 for Windows (#220) # wk 0.9.1 - Fix format strings/arguments for R-devel (#209). # wk 0.9.0 ## Breaking changes - The common well-known binary representation of POINT EMPTY (i.e., POINT (nan nan)) is now handled as POINT EMPTY allowing empty points to roundtrip through `wkb()` vectors (#196, #204). - `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This preserves the invariant that null features can also be identified using `is.na()` (#205). - `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))` now returns `FALSE`. This means that both EMPTY and null points can roundtrip through `xy()` (#205). ## Bugfixes and improvements - `wk_meta()` now contains a new column `is_empty`, which is `TRUE` for any feature that contains at least one non-empty coordinate. This allows more efficient detection of features with zero coordinates (#197, #199). - Updated PROJ data to use the latest pull of the database packaged with PROJ 9.3.0 (#201). - The wk package now compiles once again on gcc 4.8 (#203, #206). - Fixed `sfc_writer()` to correctly attach the `classes` attribute to sfc output with mixed geometry types (#195). - Function `sfc_writer()` now has an argument `promote_multi` to write any input as the MULTI variant. This makes it more likely that an input vector will be read as a single geometry type (#198). - The `wk_collection_filter()` now correctly increments the `part_id` when calling the child handler (@brownag, #194). # wk 0.8.0 * Added `wkb_to_hex()` (@anthonynorth, #183). * Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs (@anthonynorth, #183). * Fixed `sfc_writer()`, which had returned NULL for some inputs (e.g., via `wk_collection()`) (@anthonynorth, #182, #186). * Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings (@anthonynorth, #188). * New replacement-function mode for `wk_coords<-()` for in-place modification of coordinates (@mdsumner, #187). * New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187). # wk 0.7.3 * Fix tests for updated waldo package (#178). # wk 0.7.2 * Fix use-after-free warnings. # wk 0.7.1 * Fix implicit reliance on error `as.data.frame.default()`, which no longer occurs in r-devel (#166). # wk 0.7.0 * Remove legacy headers that are no longer used by any downstream package (#146). * `validate_wk_wkt()` now errors for an object that does not inherit from 'wk_wkt' (#123, #146). * Added `wk_crs_projjson()` to get a JSON representation of a CRS object. To make lookup possible based on shortcut-style CRS objects (e.g., `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and `wk_proj_crs_json` that contain cached versions of rendered PROJJSON based on the latest PROJ version (#147). * Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136, #147). * Conversion to sf now uses the `sfc_writer()` for all wk classes, making conversions faster and fixing at least one issue with conversion of NA geometries to sf (#135). * `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types more reliably (#142, #143, #149). * Exported EMPTY geometries to well-known text now include dimension (e.g., `POINT Z EMPTY`) (#141, #150). * Fixed bug where `wk_polygon()` doubled some points when the input contained closed rings (#134, #151). * Fixed bug where `wk_count()` exposed uninitialized values for empty input (#139, #153). * The `xy_writer()` now opportunistically avoids allocating vectors for Z or M values unless they are actually needed (#131, #154). * Added example WKT for all geometry types and dimensions plus helper `wk_example()` to access them and set various properties (#155). * Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158). * Removed `wk_chunk_map_feature()` in favour of using chunking strategies directly (#132, #159). * Optimized `wk_coords()` for `xy()` objects (#138, #160). * Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`, `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`, `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()` (#144, #161). * Added rectangle operators `rct_intersects()`, `rct_contains()`, and `rct_intersection()` (#161). # wk 0.6.0 * Fixed `wk_affine_rescale()` to apply the translate and scale operations in the correct order (#94). * Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support a chunk + apply workflow when working with large vectors (#101, #107). * C and R code was rewritten to avoid materializing ALTREP vectors (#103, #109). * Added a `wk_crs_proj_definition()` generic for foreign CRS objects (#110, #112). * Added `wk_crs_longlat()` helper to help promote authority-compliant CRS choices (#112). * Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic` in `wkt()` and `wkb()` as a flag for objects whose edges must be interpolated along a spherical/ellipsoidal trajectory (#112). * Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry vectors for better integration with sf (#113, #114). * Refactored well-known text parser to be more reusable and faster (#115, #104). * Minor performance enhancement for `is.na()` and `validate_wk_wkb()` when called on a very long `wkb()` vector (#117). * Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed for most valid objects (#119). * Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise bounding boxes (#120, #122). * Fixed headers and tests to pass on big endian systems (#105, #122). * Incorporated the geodesic attribute into vctrs methods, data frame columns, and bbox/envelope calculation (#124, #125). * Fix `as_xy()` for nested data frames and geodesic objects (#126, #128). * Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`, and `wkt_format()` (#129). * `wk_plot()` is now an S3 generic (#130). # wk 0.5.0 * Fixed bugs relating to the behaviour of wk classes as vectors (#64, #65, #67, #70). * `crc()` objects are now correctly exported as polygons with a closed loop (#66, #70). * Added `wk_vertices()` and `wk_coords()` to extract individual coordinate values from geometries with optional identifying information. For advanced users, the `wk_vertex_filter()` can be used as part of a pipeline to export coordinates as point geometries to another handler (#69, #71). * Added `wk_flatten()` to extract geometries from collections. For advanced users, the `wk_flatten_filter()` can be used as part of a pipeline (#75, #78). * `options("max.print")` is now respected by all vector classes (#72, #74). * Moved implementation of plot methods from wkutils to wk to simplify the dependency structure of both packages (#80, #76). * Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()` to construct polygons, lines, and collections. For advanced users, `wk_polygon_filter()`, `wk_linestring_filter()`, and `wk_collection_filter()` can be used as part of a pipeline (#77, #84). * Added a C-level transform struct that can be used to simplify the the common pattern of transforming coordinates. These structs can be created by other packages; however, the `wk_trans_affine()` and `wk_trans_set()` transforms are also built using this feature. These are run using the new `wk_transform()` function and power the new `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`, functions (#87, #88, #89). # wk 0.4.1 * Fix LTO and MacOS 3.6.2 check errors (#61). # wk 0.4.0 * Removed `wksxp()` in favour of improved `sf::st_sfc()` support (#21). * Rewrite existing readers, writers, and handlers, using a new C API (#13). * Use new C API in favour of header-only approach for all wk functions (#19, #22). * Use cpp11 to manage safe use of callables that may longjmp from C++. * Vector classes now propagate `attr(, "crs")`, and check that operations that involve more than one vector have compatable CRS objects as determined by `wk_crs_equal()`. * Added an R-level framework for other packages to implement wk readers and handlers: `wk_handle()`, `wk_translate()`, and `wk_writer()` (#37). * Added a native reader and writer for `sf::st_sfc()` objects and implemented R-level generics for sfc, sfg, sf, and bbox objects (#28, #29, #38, #45). * Implement `crc()` vector class to represent circles (#40). * Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42). * Refactored unit tests reflecting use of the new API and for improved test coverage (#44, #45, #46). * Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to inspect properties of vectors (#53). * Modified all internal handlers such that they work with vectors of unknown length (#54). # wk 0.3.4 * Fixed reference to `wkutils::plot.wk_wksxp()`, which no longer exists. # wk 0.3.3 * Fixed WKB import of ZM geometries that do not use EWKB. * Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes to efficiently store point geometries. * Added the `rct()` vector class to efficiently store two-dimensional rectangles. * Fixed the CRAN check failure caused by a circular dependency with the wkutils package. * Added S3 methods to coerce sf objects to and from `wkt()`, `wkb()` and `wksxp()`. # wk 0.3.2 * Fixed EWKB output for collections and multi-geometries that included SRID (#3). * Fixed CRAN check errors related to exception handling on MacOS/R 3.6.2. # wk 0.3.1 * Added a `NEWS.md` file to track changes to the package.
This issue was found in the Linux port of libnbcompat (see archiecobbs/libnbcompat#4 and the fix in archiecobbs/libnbcompat#7) but since the code in question is basically the same between the two codebases, I though it'd be prudent to open a bug report here as well.
The core issue is that the
sha2.c
code does some aliasing that GCC considers undefined behaviour when compiled with-fstrict-aliasing
(this option is implied by-O2
which is enabled for most builds on most Linux distributions). However, it is only with GCC >= 11 that the code actually starts producing incorrect output. archiecobbs/libnbcompat#4 shows the difference in output for the standard NIST test vectors as well as my testing methodology, and archiecobbs/libnbcompat#3 is a PR against the port to add test programs to verify that the sha1, sha2 and ripemd160 code produces correct hashes for a set of test vectors. archiecobbs/libnbcompat#7 includes the fix for the port but this will need to be adjusted to match the NetBSD build system.I'm not sure if any of the code I've written for the port would be welcome in NetBSD, I'm just leaving this comment to let you know that it's possible this might be an issue for NetBSD as well.
The text was updated successfully, but these errors were encountered: