Skip to content
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

cyrus-sasl broken in 2023Q4, 2022Q4, 2021Q4 #377

Open
xmerlin opened this issue Apr 9, 2024 · 8 comments
Open

cyrus-sasl broken in 2023Q4, 2022Q4, 2021Q4 #377

xmerlin opened this issue Apr 9, 2024 · 8 comments

Comments

@xmerlin
Copy link

xmerlin commented Apr 9, 2024

After the 2020Q4 release, it is impossible to use the SQL / auxprop plugin of Cyrus-SASL. The bug affects all daemons using Cyrus-SASL for authentication. Specifically, attached are the steps to reproduce the problem on a minimal configuration of Postfix.

install packages postfix postfix-mysql cyrus-sasl cy2-login cy2-plain cy2-sql

CREATE DATABASE

CREATE DATABASE postfix_db;
GRANT SELECT ON postfix_db.* TO 'postfix_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
USE postfix_db;

CREATE TABLE virtual_users (
id int(11) NOT NULL auto_increment,
email varchar(100) NOT NULL,
password varchar(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO virtual_users (email, password) VALUES ('[email protected]', 'password');

configure postfix

/opt/local/etc/postfix/main.cf

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd

broken_sasl_auth_clients = yes

virtual_mailbox_maps = proxy:mysql:/opt/local/etc/postfix/mysql_virtual_mailbox_maps.cf

/opt/local/etc/postfix/mysql_virtual_mailbox_maps.cf

user = postfix_user
password = password
hosts = localhost
dbname = postfix_db
query = SELECT 1 FROM virtual_users WHERE email='%s'

/opt/local/etc/postfix/smtpd.conf

pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login

sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix_user
sql_passwd: password
sql_database: postfix_db
sql_select: SELECT password FROM virtual_users WHERE email = '%u@%r' ;

sql_usessl: 0
sql_verbose: yes
sql_log_level: 7

@jperkin
Copy link
Collaborator

jperkin commented Apr 11, 2024

Some initial notes:

  • The smtpd.conf location needs to be /opt/local/etc/sasl2/smtpd.conf.
  • With that in place, the smtpd process crashes.

The stack is as follows:

core 'core.smtpd.8477' of 8477:	smtpd -n smtp -t inet -u -s 2
 fffffc7fbc7ea343 mysql_cset_escape_slashes (0, 4b6770, 5b0db8, 4) + 83
 fffffc7fbc764125 _mysql_escape_str (4b6770, 5b0db8) + 25
 fffffc7fbc763882 sql_auxprop_lookup (599b50, 48e950, 0, 5c0db1, 10) + 1a2
 fffffc7fbcc9ab33 _sasl_auxprop_lookup (48e950, 0, 5c0db1, 10) + 1a3
 fffffc7fbcc9bacc _sasl_canon_user_lookup (5c0010, 5ac910, 10, 7, 5c0880) + 10c
 fffffc7fbc782676 login_server_mech_step (5b1940, 48e950, 5b2de0, 8, fffffc7fffdff060, fffffc7fffdff05c, 5c0880) + 1a6
 fffffc7fbcca7a89 sasl_server_step (5c0010, 5b2de0, 8, fffffc7fffdff060, fffffc7fffdff05c) + a9
 0000000000429b80 xsasl_cyrus_server_next (5a7b10, 4f67c0, 599500) + a0
 0000000000426bb4 smtpd_sasl_authenticate (fffffc7fffdff1e0, 5b1b30, 0) + 54
 0000000000413320 smtpd_sasl_auth_cmd_wrapper (fffffc7fffdff1e0, 2, 492660) + 50
 00000000004190e2 smtpd_proto (fffffc7fffdff1e0) + 992
 00000000004197e3 smtpd_service (598ca0, fffffc7fffdfff59, fffffc7fffdffda8) + 163
 fffffc7fbc85492c single_server_wakeup (17, 0) + cc
 fffffc7fbcaaaf98 event_loop (ffffffff) + 298
 fffffc7fbc855af8 single_server_main (8, fffffc7fffdffd68, 419680) + d98
 000000000041a617 ???????? ()
 00000000004114d7 _start_crt () + 87
 0000000000411438 _start () + 18

Looking at the source for mysql_cset_escape_slashes():

size_t mysql_cset_escape_slashes(const MARIADB_CHARSET_INFO * cset, char *newstr,
                     const char * escapestr, size_t escapestr_len )
{
  const char   *newstr_s = newstr;
  const char   *newstr_e = newstr + 2 * escapestr_len;
  const char   *end = escapestr + escapestr_len;
  my_bool  escape_overflow = FALSE;

  for (;escapestr < end; escapestr++) {
    char esc = '\0';
    unsigned int len = 0;

    /* check unicode characters */
    if (cset->char_maxlen > 1 && (len = cset->mb_valid(escapestr, end))) {
...

we can see why it's crashing, the function is being called with cset set to NULL, but there is no check in the function for it being valid and it immediately tries to deference it with cset->char_maxlen.

It's likely setting a valid charset will resolve the problem. An open question is why this has changed, and maybe we're no longer specifying a default or something.

@jperkin
Copy link
Collaborator

jperkin commented Apr 11, 2024

Ok, I've found the problem. We have an historical setting in our builds of:

include/pkgoptions.mk:MYSQL_CHARSET=                    utf8

However, this is no longer a valid character set:

MariaDB [(none)]> show character set where charset like '%utf8%';
+---------+---------------+--------------------+--------+
| Charset | Description   | Default collation  | Maxlen |
+---------+---------------+--------------------+--------+
| utf8mb3 | UTF-8 Unicode | utf8mb3_general_ci |      3 |
| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci |      4 |
+---------+---------------+--------------------+--------+
2 rows in set (0.001 sec)

I'll get that setting removed so that we use the default, which is set as:

databases/mariadb106-client/Makefile.common:MARIADB_CHARSET?=   ${MYSQL_CHARSET:Uutf8mb4}
databases/mariadb106-client/Makefile.common:CMAKE_ARGS+=                -DDEFAULT_CHARSET=${MARIADB_CHARSET}

@xmerlin
Copy link
Author

xmerlin commented Apr 13, 2024

utf8mb4 is related to MySQL 8.x. I have tested everything using MySQL 5.7 and found that the bug lies elsewhere. The SQL plugin was not loaded in Q4 for the years 2023, 2022, and 2021, and no queries were executed on the database (I have already debugged every query in the database).

@xmerlin
Copy link
Author

xmerlin commented Apr 13, 2024

I've tried also with /opt/local/etc/sasl2/smtpd.conf same results

@jperkin
Copy link
Collaborator

jperkin commented Apr 15, 2024

With the change to the default charset, and using all of the configuration files you've provided above, it now works for me:

220 135d7c87-8fb4-4f4e-8e42-dd45f2661dc9.localdomain ESMTP
ehlo localhost
250-135d7c87-8fb4-4f4e-8e42-dd45f2661dc9.localdomain
250-PIPELINING
250-SIZE 51200000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING
auth login
334 VXNlcm5hbWU6
dGVzdEBleGFtcGxlLmNvbQ==
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 2.7.0 Authentication successful

One issue is that the cy2-sql package is not multi-mysql aware, so it will always be built against whatever the default MySQL implementation is for the branch, so in the case of 2023Q4 that is mariadb 10.6. I'll look at fixing this, so that I can also test against MySQL 5.7.

In the meantime please provide details of how the build against MySQL 5.7 is failing for you. Thanks.

@jperkin
Copy link
Collaborator

jperkin commented Apr 15, 2024

FWIW I just built custom versions of cy2-sql and postfix-mysql that explicitly link against mysql-client-5.7, as well as rebuilding mysql 5.7 with the charset fix, and that is able to authenticate successfully too.

@xmerlin
Copy link
Author

xmerlin commented Apr 15, 2024

I confirm that the charset fix works. It would probably be advisable to modify cy2-sql to make it multi-MySQL aware, so that people can install postfix-mysql/cy2-sql and Percona MySQL on the same machine. As soon as I find five minutes, I will investigate whether the fix also resolves the MySQL client crash in the Percona cluster.

thank you

@xmerlin
Copy link
Author

xmerlin commented Apr 23, 2024

I just tested MySQL Percona 8.0.36-28 and can confirm that after changing the encoding, the MySQL client no longer crashes.

jperkin pushed a commit that referenced this issue May 1, 2024
 - Added --locked to Install Instruction & Update dependencies by @AmmarAbouZor in #376
 - Fixed: Specify arm target on mac build and release by @AmmarAbouZor in #377
 - Update all dependencies to their latest versions
jperkin pushed a commit that referenced this issue May 17, 2024
0.21.0 (2024-03-10)
-------------------

- Improve documentation. [#483]

- Add a minimum version requirement for ``asdf-wcs-schemas``. [#491]

- Fix ``WCS.__str__`` for instances without transforms. [#489]

0.20.0 (2023-11-29)
-------------------

- Replace ``pkg_resources`` with ``importlib.metadata``. [#478]

- Serialize and deserialize ``pixel_shape`` with asdf. [#480]

0.19.0 (2023-09-15)
-------------------

Bug Fixes
^^^^^^^^^

- Synchronize ``array_shape`` and ``pixel_shape`` attributes of WCS
  objects. [#439]

- Fix failures and warnings with numpy 2.0. [#472]

other
^^^^^

- Remove deprecated old ``bounding_box``. The new implementation is released with
  astropy v 5.3. [#458]

- Refactor ``CoordinateFrame.axis_physical_types``. [#459]

- ``StokesFrame`` uses now ``astropy.coordinates.StokesCoord``. [#452]

- Dropped support for Python 3.8. [#451]

- Fixed a call to ``astropy.coordinates`` in ``wcstools.wcs_from_points``. [#448]

- Code and docstrings clean up. [#460]

- Register all available asdf extension manifests from ``asdf-wcs-schemas``
  except 1.0.0 (which contains duplicate tag versions). [#469]

- Register empty extension for 1.0.0 to avoid warning about a missing
  extension when opening old files. [#475]


0.18.3 (2022-12-23)
-------------------
Bug Fixes
^^^^^^^^^

- Fixed a bug in the estimate of pixel scale in the iterative inverse
  code. [#423]

- Fixed constant term in the polynomial used for SIP fitting.
  Improved stability and accuracy of the SIP fitting code. [#427]


0.18.2 (2022-09-07)
-------------------
Bug Fixes
^^^^^^^^^

- Corrected the reported requested forward SIP accuracy and reported fit
  residuals by ``to_fits_sip()`` and ``to_fits()``. [#413, #419]

- Fixed a bug due to which the check for divergence in ``_fit_2D_poly()`` and
  hence in ``to_fits()`` and ``to_fits_sip()`` was ignored. [#414]

New Features
^^^^^^^^^^^^

0.18.1 (2022-03-15)
-------------------
Bug Fixes
^^^^^^^^^

- Remove references to the ``six`` package. [#402]

0.18.0 (2021-12-22)
-------------------
Bug Fixes
^^^^^^^^^

- Updated code in ``region.py`` with latest improvements and bug fixes
  from ``stsci.skypac.regions.py`` [#382]

- Added support to ``_compute_lon_pole()`` for computation of ``lonpole``
  for all projections from ``astropy.modeling.projections``. This also
  extends support for different projections in ``wcs_from_fiducial()``. [#389]

New Features
^^^^^^^^^^^^

- Enabled ``CompoundBoundingBox`` support for wcs. [#375]

- Moved schemas to standalone package ``asdf-wcs-schemas``.
  Reworked the serialization code to use ASDF converters. [#388]

0.17.1 (2021-11-27)
-------------------

Bug Fixes
^^^^^^^^^

- Fixed a bug with StokesProfile and array types. [#384]


0.17.0 (2021-11-17)
-------------------
Bug Fixes
^^^^^^^^^

- `world_axis_object_components` and `world_axis_object_classes` now ensure
  unique keys in `CompositeFrame` and `CoordinateFrame`. [#356]

- Fix issue where RuntimeWarning is raised when there are NaNs in coordinates
  in angle wrapping code [#367]

- Fix deprecation warning when wcs is initialized with a pipeline [#368]

- Use ``CD`` formalism in ``WCS.to_fits_sip()``. [#380]


New Features
^^^^^^^^^^^^
- ``wcs_from_points`` now includes fitting for the inverse transform. [#349]

- Generalized ``WCS.to_fits_sip`` to be able to create a 2D celestial FITS WCS
  from celestial subspace of the ``WCS``. Also, now `WCS.to_fits_sip``
  supports arbitrary order of output axes. [#357]


API Changes
^^^^^^^^^^^
- Modified interface to ``wcs_from_points`` function to better match analogous function
  in astropy. [#349]

- ``Model._BoundingBox`` was renamed to ``Model.ModelBoundingBox``. [#376, #377]

0.16.1 (2020-12-20)
-------------------
Bug Fixes
^^^^^^^^^
- Fix a regression with ``pixel_to_world`` for output frames with one axis. [#342]

0.16.0 (2020-12-18)
-------------------
New Features
^^^^^^^^^^^^

- Added an option to `to_fits_sip()` to be able to specify the reference
  point (``crpix``) of the FITS WCS. [#337]

- Added support for providing custom range of degrees in ``to_fits_sip``. [#339]

Bug Fixes
^^^^^^^^^

- ``bounding_box`` now works with tuple of ``Quantities``. [#331]

- Fix a formula for estimating ``crpix`` in ``to_fits_sip()`` so that ``crpix``
  is near the center of the bounding box. [#337]

- Allow sub-pixel sampling of the WCS model when computing SIP approximation in
  ``to_fits_sip()``. [#338]

- Fixed a bug in ``to_fits_sip`` due to which ``inv_degree`` was ignored. [#339]
jperkin pushed a commit that referenced this issue Aug 2, 2024
0.8.23 (2024-07-29)
🪲 Bug Fixes

    Display image path for loading errors (fixes #387) (9bc72095)
    Prevent panic for scrubber index being out of range and allow opening images without path prefic correctly (7a9a99c1)
    update index when image in same folder is loaded (fixes #377) (f2297402)
    Switching theme removes accent color (fixes #375) (e35dea4d)
    Preserve scubber index (d9146d08)
    Prevent image removal going out of bounds (fixes #379) (9b69076f)
    Clearing and deleting an image removes it from the virtual scrubber and advances to the next according to the scrubber direction (a0b7dc5a)
    Fix issue where SVG files were detected as XML (fixes #371) (d2ce9f17)
    Compare menu works without image loaded (46a8218f)
    ClearImage can be assigned to a shortcut (b9b00aca)
    extend BSD variants (f716dfc5)

✨ Features

    Allow configuring mipmaps and linear mag/min filters (58da0b26)
    Allow passing multiple images on the command line (0a2e918a)
    Enhance scrubber experience to provide a virtual file list. (e3c45a8e)
    Detect file types by content instead of extension. Warn if mismatch happens. (59138263)
    More love for compare mode ui, option to remove current image (68a5a483)
    Allow configuring the minimum window size (1787a14f)

🍏 Chore

    deps: bump zerovec from 0.10.2 to 0.10.4 (4cf7959e)
    update resvg (be6a67f6)
    Update Notan and Egui (fc1fccef)
    update deps (031e83ce)
jperkin pushed a commit that referenced this issue Aug 24, 2024
## v2.1.4

**Implemented enhancements:**

- Config reload command for live profile reload [#811]
- Button to save/apply preferences [#801]
- Favorites/Bookmarks ??? [#706]
- Plugin Submission + Generic Plugin Utility Functions & KeyBinding Feature:   Mouseless / Mousefree / Keyboard URL opening or yanking  [#681]
- Add detachable tabs feature to preferences [#698]

**Closed issues:**

- Suddenly lagging on gnome4  [#899]
- Keybindings for cursor/caret movement  [#896]
- Group tab shortcut does not work for a window with 1 parent terminal with N internal terminals  [#893]
- Donations? [#891]
- [Feature request\] Possibility to enlarge edge bar of a tab [\#885]
- Neovim incompatible keybindings [#881]
- preferences -> layout -\> add/save does nothing [\#877]
- drag and drop file from file-manager to terminator-release 2.1.3 causes a crash [#871]
- Feature Request - Add the possibility to add padding for the output [#867]
- file:/// links not clickable if the root dir has a underscore [#865]
- terminator bug: can't get file path [#861]
- Window splits are transparent, showing screen behind [#854]
- terminator.py get_focussed\_terminal always returns none [\#852]
- [Feature Request\] Add SelectAll function [\#851]
- Issues with Terminal reloading [#850]
- Add custom keybinding to set ctrl+backspace to delete a full word instead of alt-backspace or ctrl+w [#838]
- Crash after unzooming a single terminal inside a tab [#835]
- Profile per window [#831]
- Option for prompt for closing against accidental closure [#830]
- FCITX input method does not work in Version 2.1.2  anymore  [#828]
- Slow Resize [#825]
- Adjust size / resize cursor area is 1px [#820]
- Add preferences about default window size [#815]
- Plugins don't receive keboard signals on newly opened windows [#808]
- keyboard-shortcut-support-for-plugins-code-decoupling [#805]
- Ability to undo or restore changes to the preferences [#802]
- Explain what "Smart copy" means [#800]
- Include global menu/preferences button in the window title bar [#799]
- Can't open context menu [#796]
- custom plugins are not found when using `--display` [#795]
- doc/help missing --display option [#794]
- In krusader terminator option --working-directory=DIR doesn't work [#793]
- Pasting on tab title bar closes tab. [#789]
- When in broadcast mode single character
- System wide defaults [#782]
- can't run on mac os ventura [#780]
- Implement OSC52 functionality to use clipboard [#779]
- Logger plugin crashes with "TypeError: 'NoneType' object is not subscriptable" [#776]
- Split panes based on size of current pane [#772]
- Broadcasting terminals duplicates keys in other terminals
- Terminator layouts don't respect any more the number of columns [#766]
- Different font for tabs
- Re-size the width of Terminator, the Shell Prompt will repeatedly increase in the terminal windows. [#762]
- No focus in right click menu [#761]
- sudden problem with line spacing
- After chaning to python3.11 getting a import error [#752]
- clipboard - putty style paste - copy using external app - cant paste into terminator [#749]
- Context Menu not showing in v2.1.3 [#746]
- Long delay before able to enter password [#745]
- terminal.py: AttributeError: 'bytes' object has no attribute 'encode'. Did you mean: 'decode'? [#743]
- drag and drop of path stopped working in terminator version 2.1.3 [#742]
- [Feature\] Have the ability to set custom geometry permanently [\#737]
- traceback when drag and drop [#727]
- Unset keybinding toggle_scrollbar prevents right-click menu from opening [\#724]
- Font size change unexpectedly when maximizing a splitted windows. [#721]
-  When broadcast terminator duplicates the keys in others terminals
- 2.1.3 release for Ubuntu 22.04 LTS [#718]
- Layouts menu not working [#717]
- "Don't ask, don't tell" focus hack causes gnome-shell to freeze for seconds / Xwayland to crash [#714]
- How to enable fast encoding change? [#712]
- Release file [#705]
- Failed to execute default Terminal Emulator on Kali Linux. [#700]
- Disable detachable tabs flag [#697]
- Focus loss when renaming a tab [#696]
- Slowdowns, hangs and crashes when used with ibus [#695]
- Pasting Primary Clipboard Pastes Mouse Clipboard [#636]
- Feature request: Save and restore terminal state [#563]

**Merged pull requests:**

- Install manpages to share/man on FreeBSD [#898]
- Properly parse file:/// URIs [#895]
- fix traceback in layout_done [\#887]
- fix syntax warnings [#886]
- Ask before close gui [#884]
- window.py: Fix window group toggle keybind [#883]
- [bug 760\] working directory feature is broken [\#882]
- add missing @with_proxy, fixes \#850 [\#875]
- Updates for file po/terminator.pot in ru [#863]
- [bug 852\] - 852-terminator\_py\_get\_focussed\_terminal\_always\_returns\_none [\#856]
- 846 mouseless keyboard url open fails to extract text and clear search between commands [#855]
- [bug 835\] 835-crash-after-unzooming-a-single-terminal-inside-a-tab \#835 [\#849]
- [bug 843\] 843-Plugin-SaveLastSessionLayout-not-saving-layout-when-use… [\#844]
- 706 favorites bookmarks plugin [#841]
- Ask before closing, even if there is only one terminal [#834]
- Fix: Add CLI command to reload configuration [#824]
-  [bug 802\] - Ability to undo or restore changes to the preferences \#802 [\#822]
- chore: bump ations/checkout
- Fix Insert Term Name Plugin error [#819]
- 681 Plugin submission mouseless keyboard url open decoupled code [#810]
- [bug 808\] Plugins-dont-receive-keboard-signals-on-newly-opened-windows [\#809]
- Document syntax error [#807]
- 805 keyboard shortcut support for plugins code decoupling [#806]
- Updates for file po/terminator.pot in zh_CN on branch master [\#798]
- Add command line option --toggle-visibility [#797]
- Revert "modify terminator separater size setting in gui to start from 1" [#778]
- Alter get_text\_range call based on VTE version [\#777]
- Updates for po/terminator.pot in hr [#774]
- Enable sixel support in VTE if it's available. [#770]
- add new tab after current tab option [#767]
- remove deprecated pytest-runner [#756]
- Rewrite terminator_config.5 man page in AsciiDoc format [\#747]
- fix: Minor fixes in terminatorlib/configjson.py [#741]
- fix: typo in french translation [#738]
- Fix for issue #676: title field not seem to be working with JSON profile [\#736]
- Remove more unused settings and update the docs accordingly [#735]
- Remove settings 'hide_tabbar' and 'disable\_real\_transparency' [\#734]
- Rewrite terminator.1 man page in AsciiDoc format [#733]
- fix drag and drop [#728]
- Do not remove focus from the last_active\_window [\#726]
- Fix context menu keybinding reading. [#725]
- Fix typo in man page [#722]
- Capitalize the first letter for "Read only" [#720]
- Remove hack to ensure that focus is set. [#716]
- feat: Add CLI command to reload configuration [#690]

## v2.1.3

**Implemented enhancements:**

- Option to set split ratio of terminals [#708]
- Add option to set given terminal to "read only" [#649]
- background image - respect ratio [#644]
- Shortcut for autosplit h/v depending on active terminal size [#613]
- Feature: Insert terminal name to terminal
- Background image drawing modes and alignment [#713]
- Zoom on notebook even if there is only one terminal in the tab + keep tab position and label in notebook rotation [#589]

**Fixed bugs:**

- Resets the tab title on rotation [#624]
- - bug context menu
- Fix missing icons when started with Ctrl-Alt-T [#628]

**Closed issues:**

- Terminator not working with latest version of python-cairo [#711]
- [Bug\]\[Fedora 36 KDE\]\[terminator v2.1.1\] "broadcast group" sends each terminal input/keystroke depending on the group's members count to everyone in the group [\#704]
- reset_clear doesn't show new prompt [\#703]
- `-x`/`--execute` still broken [#702]
- Make unfocused terminal text transparent instead of blacker [#694]
- A translucent separation occurs between terminals [#687]
- [2.1.2\] Foreground processes started in new window close immediately [\#673]
- Is there a official page to maintain a offical/third-part plugin list? [#668]
- What happened to the change terminal titlebar under preferences? [#664]
- [Feature Request\] - In the Context Menu\
- terminator: error: unrecognized arguments [#660]
- Plugin Submission : SaveLastSessionLayout Uses Layout to Auto-Save Last session and CWD on Terminal Window Close [#654]
- Loading layout loads only the last added layout from context menu
- When can we expect a new release? [#650]
- Profiles for different Shells - is it possible? how does it work? [#640]
- Double input to broadcasted group [#623]
- background images only  displaying on default profile [#595]
- The repository 'https://ppa.launchpadcontent.net/mattrose/terminator/ubuntu jammy Release' does not have a Release file. [#594]
- Increase the usage of augmented assignment statements [#555]

**Merged pull requests:**

- Better distinguishing of inactive windows from the active one, by changing the background brightness [#709]
- Ctrl+Click on group button automatically creates groups whenever needed [#691]
- [bug 680\] Open up keybindings page on keypress \#680 [\#686]
- Translate '/po/terminator.pot' in 'pt_BR' [\#684]
- Plugin and Group menu item that inserts the name of the terminal. [#683]
- Add Readonly toggle to popup menu [#679]
- Fix argument handling of the --execute flag [#678]
- Remove all ibus workarounds [#674]
- [bug 613\] -  Shortcut for autosplit h/v depending on active terminal … [\#671]
- [bug 662\] \[Feature Request\] - In the Context Menu\
- [bug 559\] Add menu autocomplete \#559 [\#665]
- [bug 662\] \[Feature Request\] - In the Context Menu\
- [bug 654\] - Plugin Submission : SaveLastSessionLayout Uses Layout to … [\#661]
- Update terminal.py [#659]
- docs: Change number of columns in repology badge [#657]
- Plugin Submission : SaveLastSessionLayout Uses Layout to Auto-Save Last session and CWD [#655]
- Fix typos [#651]
- data: Remove GNOME branding [#647]
- this line has an extra ';' symbol [#632]
- Use the term 'zero padded' instead of 'padded'. [#189]

## v2.1.2

**Implemented enhancements:**

- [Feature request\] move layout/session definitions into separate files with a dedicated extension in a dedicated directory [\#604]
- Bash completion [#495]
- Changing cursor foreground color [#467]
- Wallpaper configuration option from terminal [#466]
- Launch a new command in a vertical or horizontal split. [#446]
- Separators is wider after upgrading to ubuntu 21.04 [#445]
- Broadcast profile changes to existing terminals [#421]
- How to deactivate the middle mouse button paste? [#415]
- Feature request: expose the window and terminal title setting features in context menu [#405]
- Integrate --layout-json command line parameter so that it can be passed to dbus [#401]
- Feature request: move titlebar colors config to profiles, rather than global settings [#379]
- Visual aids [#367]
- Feature Request: detach tab [#302]
- Pls add version on OS X [#283]

**Fixed bugs:**

- Ctrl+Shift+Mouse-Scroll triggers Ctrl+Mouse Scroll [#606]
- None isn't a valid value of keybindings config anymore [#548]
- psutil.AccessDenied: psutil.AccessDenied
- Find functionality does not show matches on same line [#511]
- Ratio and/or position on a config file's layout ignored [#433]
- Black background remains after hide_window [\#425]
- Cannot create working config file with 5 terminals [#409]
- Terminal loses focus versus tab title [#400]
- Terminal title-bars are transparent on first start [#392]

**Closed issues:**

- Hide window in waybar [#633]
- Split window profile incorrect inheritance  [#631]
- [Question\] is there a way to prevent Terminator from dereferencing symbolic links? [\#617]
- Terminator not working on RHEL 9  [#616]
- Is there a right-click menu in sway? [#614]
- Set Terminator tab title via command line [#603]
- Unable to launch KeyError: b'Rss:' [#601]
- Cannot view emoji [#599]
- Clickable filepath:rownumber [#598]
- Feature Request: set initial window size in preferences [#593]
- Update the authorship in README [#586]
- xbindkeys doesn't work in Terminator, but works in other apps [#582]
- Unable to load Keybinder module [#580]
- terminator for MacOS user [#578]
- UTF-8 character breaks terminator config file [#577]
- Terminator need to highlight search string [#575]
- Custom Commands NOT Working in Linux Mint 20.3 [#573]
- Can't add/remove terminal panes from layout editor [#572]
- Language not applied after build [#569]
- Moving Cursor Word By Word using ALT + Arrows [#566]
- Enabling "putty style paste" causes context menu to be unreachable with 2-button mouse [#565]
- Setting stty options [#564]
- Switch focus and splits don't work when terminal is zoomed [#550]
- Will terminator ever consider picking up ligature support? [#543]
- feature request: Implement line spacing as a configuration option [#542]
- Change separator color [#538]
- remotinator split and execute command — cannot determine uuid [#537]
- Split vertical keyboard don't work on debian 11 [#535]
- Vte.Terminal
- Fix Keyboard Input [#533]
- group broadcasting switched on/off for all groups [#532]
- Drop a file from nautilus onto terminator window no longer works
- Crash everytime after encoding is changed to TCVN [#529]
- Change the color of the current tab to highlight it better [#522]
- Feature: Configuration to colorize split screens from default grey colour, Issue: Remove ability to select 0 and 1 handle_size from configuration gui [\#518]
- Error when using "Insert Terminal Number"
- Auto-scroll to the cursor position when typing [#513]
- hide_window mapped with Shift+Control+Alt+$an\_alphabet catches Control+Alt+$an\_alphabet instead [\#509]
- Cursor is blinking on inactive windows [#508]
- custom commands are not persisted [#505]
- Terminator slow to close if xclip was invoked [#503]
- terminator failing to open on ubuntu 21.04 [#502]
- Monospace Bold isn't working [#497]
- No prompt when closing terminator now, despite say vim running in terminal [#496]
- suppor for sixel graphics [#492]
- which is deprecated and should not be used [#488]
- could tmux Key bindings using in terminator? [#474]
- Support OpenType font features [#473]
- Crash on Terminal resize when using fish [#458]
- Incorrect layout sorting in notebook [#453]
- Coloring Tabs / Tabs Appearance [#449]
- Option to disable system notifications [#448]
- Window vanishes [#447]
- Multiple Terminator instances randomly crash on Ubuntu 20.04 [#444]
- Option to open URLs with just a click [#434]
- Doubled input from keyboard when broadcasting in tabs [#432]
- Does this tool support macOS Big Sur? [#430]
- terminator is slow [#426]
- Add more fundamental "editor-ish" feature [#424]
- Allow disabling and resetting keybindings in Preferences [#423]
- Project based layout [#418]
- Unable to Install from Source [#412]
- CTRL+A behaviour abnormal [#384]
- regexp/command hyperlink handler [#381]
- Update PPA to 2.1.0 [#374]
- Create Snap and Flatpak for Terminator [#206]
- Remove gtk-update-icon-cache handling in setup [#102]

**Merged pull requests:**

- update translations [#656]
- Terminal ctrl+mousewheel: do not try to zoom if shift is pressed [#609]
- More fixes to the Color pickers in the Preferences Editor [#592]
- Modification in the /terminatorlib/prefseditor.py file [#590]
- Various README fixes [#588]
- Remove duplicated info in some debug messages [#576]
- Added hotfix for #78 that deletes GTK\_IM\_MODULE environment variable [\#574]
- Fix POTFILES.in + update translation files [#571]
- Add initial flatpak-spawn support [#570]
- Fix: handle_size treated as cell\_width [\#561]
- Transifex translations from Dec 20 2021 [#558]
- Unzoom terminal on interaction [#553]
- Add ability to configure cell width
- Improve and optimize the code for background images [#551]
- Fix: 'None' value for keybindings breaks editor [#549]
- don't traceback while searching through /proc [#546]
- os.environ does not have LANGUAGE in Centos8. [#544]
- Remove Encoding settings
- Allow multiline commands in Custom Commands plugin [#525]
- Add paste_selection keybinding. [\#520]
- Fix terminal separator size setting [#519]
- Automatically focus the Keybindings menu [#516]
- Fix hide_window keybinding unset check [\#515]
- Add 'Disable mouse paste' [#512]
- Bug Fix: hide_window keybinding ignores Shift key [\#510]
- Improve argument parser + implement bash completion [#506]
- add Set Window Title item to context menu [#501]
- BugFix: terminal won't restart if there is no custom command [#500]
- Add a "Copy" button to clone profiles [#499]
- Make tabs detachable + minor bugfix [#494]
- remove gtk-update-icon-cache from setup.py [#493]
- remove vsplit_cmd and hsplit\_cmd from ipc.py, superseded by newer hsp… [\#491]
- Update tr.po [#490]
- add bg_img and bg\_img\_all commands to remotinator [\#487]
- Cursor: make it possible to change foreground color
- fixes for --config-json [#484]
- GUI: set all CheckButtons off to avoid blinking + remove grid empty rows/columns [#482]
- Move titlebar settings to profiles
- Issue 365 [#480]
- Fix typo in `po/de.po` [#476]
- add parameters to remotinator split commands [#472]
- add switch_profile\_all command to remotinator [\#471]
- Set CAN_FOCUS to False for notebook widgets [\#470]
- tell titlebar to start focussed out if it does not have focus [#462]
- Update translation [#460]
- Add new plugin for opening current directory using right mouse button [#459]
- Fixed Issue #425 \
- Incorrect layout sorting in notebook [#454]
- Closing tab on middle mouse button press [#451]
- Bug Fix: 'Clear selection on copy' is always unchecked [#443]
- Fixed issue #433 \
- Fix the background image loading exception handling [#436]
- Added set_tab\_title command to remotinator. [\#435]
- Ukrainianized by 93% [#428]
- Fixed geometry hints [#416]
- Feat+run cmd on match [#399]
- add feat: config to open links with single click [#398]
- Add new vsplit hsplit cmd dbus [#390]
- Added new get_focused\_terminal dbus command which returns uuid of current focused terminal [\#389]

## v2.1.1

**Implemented enhancements:**

- add "switch profile" command to remotinator [#321]

**Fixed bugs:**

- Terminal text isn't shown on lost focus of multiple tabs and hidden scroll bar [#372]

**Closed issues:**

- Terminator display freeze [#411]
- Albert hotkey
- ImportError: bad magic number in 'six': b'x03\xf3\r\n' [\#404]
- Last split in tab greyed out [#402]
- Using the `--debug-classes` option makes terminator crash [#397]
- cannot import name 'Validator' from 'validate' | arch community/terminator 2.1.0-2 [#395]
- Clicking on terminator title bars does not focus the terminal belonging to the title-bar [#394]
- Losing focus on a tabbed window will grey out the window [#393]
- Terminator turns white when using tabs [#391]
- unremovable background image [#387]
- Tab focus change causes white-out of console [#383]
- Allow hide title bar as global option [#377]
- Add project management tool [#376]
- module 'command_notify' has no attribute 'AVAILABLE' [\#375]
- weird bug with long commands [#373]
- Open in terminal [#368]
- Clipboard commands [#366]
- Background image not showing up on Xubuntu 20.04 [#364]
- Pasted text is highlighted [#363]
- [FR\] Option to elide terminal title from the left [\#362]
- Windows title are not udpated after ssh session disconnected [#359]
- No broadcast menu in sway [#357]
- Remove spaces between tabs [#331]
- Enhancement: Stjerm Layout Like Functionality [#298]
- Unwanted transparent pane separators [#293]
- clusterssh like behaviour via plugin [#222]

**Merged pull requests:**

- Release version 2.1.1 [#413]
- i18n: pt_BR: add missing space in translations with shortcuts [\#406]
- Fixed race condition when calling grab_focus after underlying vte could be closed [\#388]
- disable 2.7 tests until we can figure out how to run them in GH [#386]
- Revert 74 [#385]
- update spanish translation [#370]
- Remotinator "switch_profile" command [\#361]
- clarify config file sentences [#360]
- fix broadcast menu for sway and wayland [#358]
github-actions bot pushed a commit that referenced this issue Oct 13, 2024
[0.23.0] - 2024-10-12
Features
    Handle responses compressed in zstd format, see #364 (@zuisong)
    Suppress warnings when -qq flag is used, see #371 (@blyxxyz)
    Add --debug option for logging and backtraces, see #371 (@blyxxyz)
    Decode content-disposition and location headers as UTF-8, see #375 (@zuisong)
    Print headers as latin1, with the UTF-8 decoding also shown if applicable, see #377 (@blyxxyz)
    Print the actual reason phrase sent by the server instead of guessing it from the status code, see #377 (@blyxxyz)

Bug fixes
    Apply TLS options to non-HTTPS URLs, see #372 (@blyxxyz)

Other
    Ignore NO_COLOR if set to empty string, see #370 (@blyxxyz)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants