irssi-{xmpp,icb}: catch up with distinfo file.
1.1.1:
Restore compatibility with OpenSSL < 1.0.2 (#820, #831)
Fix test compilation on some platforms (#815, #816)
Fix portability and backwards compatibility of test runner (#818, #845)
Also contains all changes from 1.0.7:
Prevent use after free error during the execution of some commands. Found by Joseph Bisch (GL#17, GL!24).
Revert netsplit print optimisation due to crashes (#465, #809, #812, #819, #824).
Fix use after free when SASL messages are received in unexpected order (GL#26, GL!33).
Fix null pointer dereference in the tab completion when an empty nick is joined (GL#24, GL!31).
Fix use after free when entering oper password (GL#22, GL!32).
Fix null pointer dereference when too many windows are opened (GL#27, #837).
Fix out of bounds access in theme strings when the last escape is incomplete. Credit to Oss-Fuzz (#842).
Fix out of bounds write when using negative counts on window resize (GL#25, GL#29, #836).
Minor help correction. By William Jackson (#834).
Version 2.0.1 (2017-12-20):
- python: fix arguments status/gnutls_rc/sock in hook_connect() callback
- python: fix argument fd in hook_fd() callback
Version 2.0 (2017-12-03):
- new plugin "fset" (fast set of WeeChat and plugins options)
- add option buflist.look.add_newline
- add two new bar items "buflist2" and "buflist3" using the same format configuration options
- add flag "input_get_empty" in buffer
- add signals "buffer_filters_enabled" and "buffer_filters_disabled"
- support loading of plugins from path in environment variable "WEECHAT_EXTRA_LIBDIR"
- add infolist "alias_default" (list of default aliases)
- make value optional in command /buffer set
- support of floating point and hexadecimal numbers in comparison of evaluated values
- add option weechat.look.save_config_with_fsync
- add support of prefix "quiet:" in function key_unbind() to quietly remove keys
- add argument "recurse_subdirs" in function exec_on_files()
- add local variable "filter" in the script buffer
- remove recursive evaluation of extra variables in buflist
- change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripting API)
- change type of argument fd in hook_fd() callback from string to integer (in scripting API)
- fix display bugs with filtered lines
- fix display of nicks in nicklist when they are in a group with sub-groups
- call the config hook when options are renamed or removed
- fix parsing of CAP command in relay/irc
- many bugs fixed.
- Fix TLS driver memory management
- Fix privacy_set command
- Report 'fs' support as unavailable on SunOS
- Let mod_block_strangers bounce an error when a message is rejected
v1.1.0 2018-01-15 The Irssi team <staff@irssi.org>
* Colour is now re-set when reaching a comma, matching mIRC
behaviour (#742, #740, #790)
* Irssi now shows the initial nick and name on first start
(#785, #786)
* lynx is no longer required to run autogen.sh (#81, #781)
* The command history no longer permits wrapping around (#686)
* /foreach now correctly sends arguments as commands, stopping
you from embarassing AMSGs (#659)
* /server does not connect to servers anymore, use /server
connect to change servers (#559, #649).
+ Add an option to ignore all channels or ignore all queries
using /set activity_hide_targets. By Jari Matilainen (#612,
#779)
+ Add a startup warning if the TERM var is wrong inside
tmux/screen (#726)
+ Add option to hide certain levels from the textbuffer using
/window hidelevel (#746, #808)
+ Irssi now has its first unit test (for mode parsing). By
Will Storey (#793)
+ Added access to global command history when using window
history, and a binding to erase entries from the command
history (erase_history_entry) (#762)
+ -alternate_nick is now available as a network specific
property. By Paul Townsend (#120, #771)
+ On FreeBSD, Irssi now supports Capsicum sandbox (/capsicum
enter). By Edward Tomasz Napierala (#735, #755, #772)
+ Filenames (directories) ending with a / now tab-complete
(#741)
+ UTF-8 should now work in regular expressions when using
GRegex (the default) (#636, #653)
+ Nicks are now properly escaped on completion. By Oscar
Linderholm (#693, #709)
+ /server add -port <num> now works. By Jari Matilainen (#703)
+ Add a setting key_timeout to make key sequences
automatically re-set when not finished (#644, #645)
+ Warn users about expired client certificates, as servers may
refuse them (#211, #627)
+ Add a new net_start_ssl function for StartTLS. This is
available from ABI 8 and can be used by protocol modules
(#615, #622).
+ The %# code is now stored in the textbuffer, so for example
web scripts can make use of it (#626)
+ Add new setting break_wide which can be used to enable
breaking of wide characters (for east-asian
users). Originally from FreeBSD ports. (#625)
+ Add fuzzing code (#610, #620, #701, #713)
- Netsplits show properly again (#812)
- Do not error on blank lines when using /exec -o. By Fabian
Kurz (FS#902, #805)
- Detect used nickname as reported by server. By Alexandre
Morignot (#219, #804)
- Prevent use after free error during the execution of some
commands. Found by Joseph Bisch. (GL#17, GL!24)
- Fix MODE parameter parsing when colon was used at a place
Irssi didn't expect (#601, #766)
- Fixed code to compile with
-Werror=declaration-after-statement (#795)
- Clang-format is now supported for git-clang-format (#784)
- Fix use after free when changing the network of
hilights. Reported by Rui Mathias. (#787, #788)
- Fix positioning error when tab-completing non-ascii
strings. (#752, #754)
- In-development issues (#750, #751)
- Clarify Alis in /help list (#699, #712)
- Improve /lastlog performance from O(N^2) to O(N) (#715)
- Fix a segfault on "script destroyed" signal. By Stephen
Oberholtzer (#660, #661).
- Fix early ISON error (#596, #647)
- Documentation improvements. By Paolo Martini (#639).
By Tristan Pepin (#731). By Paul Townsend (#684, #736).
By Will Storey (#777)
- Minor cleanups (#590). By Edward Tomasz Napierala (#734,
#738). By Will Storey (#770)
- Fix space issue in glib-2.0.m4 (#621)
v1.0.6 2018-01-07 The Irssi team <staff@irssi.org>
- Fix invalid memory access when reading hilight configuration
(#787, #788).
- Fix null pointer dereference when the channel topic is set
without specifying a sender (GL#20, GL!25).
- Fix return of random memory when using incomplete escape
codes (GL#21, GL!26).
- Fix heap buffer overflow when completing certain strings
(GL#19, GL!27).
- Fix return of random memory when using an incomplete
variable argument (GL#18, GL!28).
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
pkgsrc
- Change installation home for Erlang libs to prevent build conflicts
with previous versions that may be present on the system, as
encountered by @gdt.
Core
- Rewrite ejabberd system monitor for efficiency
- Fix incoming XMPP processing order
- Use xmpp:try_subtag/2 wherever possible
- Better process subtag decoding errors
- Only allow compression after SASL as per XEP-0170
- Don't crash on unexpected XML events
- Fix session mnesia table cleanup
- Don't let privacy list prevent local roster update
Encryption
- Rely on Server Name Indication for incoming Direct-TLS connections
- Speedup certificate chains creation and validation
- Log warning on empty wildcard paths
- Don't call pkix_is_self_signed/1 too frequently
- Eat less memory during building certificates graph
- Avoid infinite loop between self-signed certs
- Fix function clause on filelib:wildcard/1
- Use ejabberd_pkix API in mod_sip
- Move 'certfile' based options in a single place
Groupchat
- Don't crash on malformed IQ
- Include x tag in presence errors related to nick change
- Include 110 status on shutdown
- Improve muc#roominfo and muc#roomconfig forms
- mod_mam: Never store MUC messages in user archives
PubSub
- Fix num_subscribers on node metadata
- Fix send last items on initial presence
- Send last PEP items to owner on initial presence
- Support pubsub#publish-options PRECONDITIONs
- Add pubsub#multi-items to features list (Support XEP-0060 v1.14)
- Add missing Nidx building records from sql result
- Don't force RSM in get_items when max_items is not provided
Admin
- Introduce option 'ca_file'
- Set executable permission on mac_listener when installing
- Use /bin/sh as the explicit shell when using su in ejabberdctl.
- Windows does not have /tmp, fallback to $HOME/conf for ODBC
configuration files
Logging
- Change loglevel of TLS failures
- Log a warning when a disk is almost full
- Disable default alarm handler
- Handle also process_memory_high_watermark alarm
- Kill and restart lager when it's overloaded
- Avoid excessive logging of SQL failures
Commands
- New muc_online_room_by_regex command
- Fix race between join_cluster and ejabberd_mnesia
- Fix commands rooms_unused_list and _destroy
- send_direct_invitations accepts only user jids
- ejabberd_sm: Fix get_session_sid/3
SQL
- Add missing server_host column in pg.new.sql
- Add new schema for MySQL and Sqlite
- Fix SQL serialization
Installer
- MacOS installer is signed. You can now easily install ejabberd on
your Mac.
Build
- Compile sql_pt early
- Binary installer uses OTP 20.2
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
New features
- ACME Support
- Introduce 'certfiles' global option
- Use new API for IQ routing
Admin
- Omit "ProtectSystem" option from systemd unit
- Log warnings for c2s/s2s certfile option
- Log a message when a user gets registered
- ejabberdctl: Fix 'read' syntax for non-bash shells
- Fix renew_certificates ejabberdctl command
- Unregister commands when stopping node only if it's last one
- Halt ejabberd if the top supervisor fails to start
Build
- Avoid badarg error when running get-deps before ./configure has
created src/ejabberd.app
- Fix sed invocation that was incompatible with FreeBSD's sed
- Makefile.in: Fix "make clean && make"
- Improve --enable-system-deps
- Install binaries with 755 permissions
- Install eimp binary with +x attribute
- Remove find-outdated-deps script, we have better replacement for it
Databases
- Allow export command regardless of the configured db_type
- Add SQL_INSERT macro and update SQL queries to use server_host field
- Update SQL archive index to match mysql.sql
- mod_muc: Use correct table field name in sql query
MAM
- Always strip stanza IDs
- Announce support for stanza IDs
- Don't store from 'sm_receive_packet' hook
- Fix mod_mam reloading
- Ignore non-message stanzas earlier
- Improve handling of forked messages
- Make sure a stanza ID is always added
- Make sure archived message isn't bounced
- Prepare version 0.6.1 of XEP-0313 (MAM) support
MUC
- Properly store subject element
- Resend presences and history if presence possesses x MUC element
- Send presence-unavailable when expulsing a participant
- Add mucsub event for subscribers list changes
- Optimize muc subscriptions handling
- Show real jid in mucsub subscription change events
PubSub
- Add basic PubSub meta-data support
- Rewrite pubsub export to sql
- Cleanup tree requests, rename pubsub_node.type to pubsub_node.plugin
- Fix select_type race on plugin_init
- Implement parentnodes seek for hometree
- Delete cached item on node removal
- Fix delete item from unregistered user
- Cleanup pubsub subscriptions quering, fix pep case
- PEP services must send notifications to the account owner
Push
- Avoid notification duplicates
- Add support for SQL storage
- Add export from Mnesia database to SQL file
- Don't store xdata() in Mnesia table
- Simplify backend interface
- Fix missing -sasl_method '' in /NETWORK (#718, #719).
- Fix incorrect restoration of term state when hitting SUSP
inside screen (#737, #733).
- Fix out of bounds read when compressing colour
sequences. Found by Hanno Böck (GL#12, GL!18).
- Fix use after free condition during a race condition when
waiting on channel sync during a rejoin (GL#13, GL!19).
- Fix null pointer dereference when parsing certain malformed
CTCP DCC messages (GL#14, GL!20).
- Fix crash due to null pointer dereference when failing to
split messages due to overlong nick or target (GL#15, GL!21).
- Fix out of bounds read when trying to skip a safe channel ID
without verifying that the ID is long enough (GL#16, GL!22).
- Fix return of random memory when inet_ntop failed (#769).
- Minor statusbar help update. By Robert Bisewski (#758,
#763).
Security advisory: https://irssi.org/security/irssi_sa_2017_10.txt
Admin
- Harden ejabberdctl
- Fix ejabberdctl quoting when using iex
- Call earlier deps configure scripts during compilation
- Fix iexdebug and iexlive commands
- Quote $PEER in ping command to avoid hostnames containing "-" being
interpreted as arithmetic
- Docker: Sync containers from rroemhild and add instructions in
README
- Use eimp instead of ImageMagick calls for thumbnails creation
- Add forgotten caching options to the validator
- Fix 'make install' to work with new output from rebar list-deps
- Rewrite muc_register_nick and muc_unregister_nick to be DB
independent
- WebAdmin: Fix deletion of multiple offline messages
Encryption
- Add support for XEP-0368 in outgoing s2s: SRV records for XMPP over
TLS
- Deprecate s2s_use_starttls: required_trusted
- Don't attempt to access(2) a certificate file
- Let 'domain_certfile' take higher precedence instead of s2s_certfile
or c2s_certfile
Databases
- mysql.sql: Use multi-column index on username/ID
- Use forked repo of Riak Erlang client to support OTP20
Modules
- mod_avatar: New module with support for legacy and modern clients
- mod_block_strangers: Introduce option 'allow_transports'
- mod_block_strangers: Block messages from strangers before
mod_mam/mod_offline processing
- mod_http_upload: Don't ignore 'custom_headers'
- mod_muc: Improve presence-error and unavailable of multi-session
occupants
- mod_multicast: Fix start and reading of configured limits
- mod_mam: Simplify check for anon MUC JID filtering
- mod_mam: Refuse filtering anon MUC queries by JID
- mod_privacy: Explicitly match against
- mod_register: Introduce 'redirect_url' option
- mod_stream_mgmt: Delete 'c2s_init' hook
- mod_vcard_xupdate: Also replace vcard-x-update in direct presences
PubSub
- Fix get_items/get_item calls
- Add correct order when requesting all items
- Implement '6.5.7 Requesting the Most Recent Items'
- Fix RSM support on SQL
- Add RSM support on mnesia
- Fix node_options: default options only apply on first plugin
- Broadcast updated node configuration
- Enforce controls on publish and delete items
Miscelanea
- Preserve correct order of deserialized XML elements
- Suppress push notifications for online clients
- Extract strings and prepare translation files works again