Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
This removes the existing registries, ruby-bdb (Berkeley DB) and
tokyocabinet, instead it creates a new registry based on ruby
DBM.
Ruby-bdb has long since been abandoned in favor for rubys DBM
and tokyocabinet also has been ceased development since
2011 (for kyotocabinet).
|
|
|
|
(incompatible with 1.8)
|
|
This reverts commit c4d629ad86aae3b8bb4669650df57875252bea92.
|
|
|
|
Support OAuth2::Error braindead extension to StandardError and
wrap loading in an outer rescue to catch problems with the error
handling.
|
|
This adds a print to $stderr for log messages with the
level ERROR or FATAL. I did this because in the past errors
connecting to the server weren't immediately obvious but
rather hidden in the logfile. I think it should be right
in-your-face when the connection doesn't work.
It would probaply be better to extend Logger to print
to STDERR but this apparently requires monkeypatching ruby's
Logger. Anyhow I think my solution works for now.
|
|
This adds three new configuration variables to configure
SSL verification against a CA.
server.ssl_verify: true if it should verify and disconnect
if it fails
server.ssl_ca_file: a CA file, is set to the systems CA
bundle by default (distri. dependent)
server.ssl_ca_path: alternativly path to a directory with
CA PEM files
I tested it and this seems no longer an issue with >= 1.9.3
https://www.braintreepayments.com/braintrust/sslsocket-verify_mode-doesnt-verify
|
|
I revisited my fix for the ThreadError in ruby 2.0.0
this doesn't use a queue for signals but just starts a
thread for each received signal, works much better for me.
It also fixes a bug in Bot#reconnect where the SystemExit
exception coming from quit is not handled correctly.
|
|
Ruby 2.0.0 crashes with "ThreadError: can't be called from trap context"
anytime a signal is received, because it tries to write a debug message
within the "trap context".
This changes signal handling so that signals are queued and processed
in the main loop.
More information: https://www.ruby-forum.com/topic/4411227
|
|
I don't really know what this is all about, but this
fixes a bug with the compat19 monkeypatching. @waiters
is now a Hash.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=38109&view=revision
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Somewhere along the line between 2.0.0 and 2.2.1 gettext switched from
locale to lang for the hash key name. Support both.
|
|
|
|
This prevents subsequent spurious flushes from bombing out because of
closed databases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When closing the TC db on cleanup, we didn't remove it from the
environment. Override the #close() method to achieve that.
|
|
Rather than raising changing the message (a message that would not be
displayed anyway), display the (composed) error message and then reraise
without further changes.
|
|
This prevents them from being delegated to unreplied() before the processing
thread has the chance to mark it replied. The solution would fail for
threaded messages whose processing would not reply, but I'm not aware of
such a method currently exists.
A future design of the message delegation and mapping could thread the
actual delegation instead, and this problem would be solved.
|
|
Since in the subsequent switc we check for nil, explicitly use
nil when the modifier is empty or nil rather than relying on a rescued
exception.
|
|
When either of the keys passed to the BDB compare function is nil, we
emit a warning. In this warning, however, we used to peek at the
registry value, which required the use of the comparison function
itself, falling in a nested loop. Solve by omitting the
self[<key>].inspect from the warning.
|
|
|
|
Only reset quit message when entering the main loop sanely.
|
|
Since version 4.1.0, HTMLEntities removed the decode_entities()
class method and uses a decoder since. Support the new interface as well
as the old one.
Also slightly optimize by moving the conditional outside of the method
definition. Now a rescan is required even if HTMLEntities is loaded at
runtime, but the method should be slightly faster.
|
|
This was affecting the imdb plugin when htmlentities was not available,
because TV series were split at en dashes, which were being converted to
asterisks when our built-in UNESCAPE_TABLE was being used.
|
|
This prevents things such as "nickA: hi, nickB" where nickA is e.g. the
owner and nickB is the newly met user.
|
|
Rather than complaining about a missing use_ssl= method, if net/https
fails to load we define a mock use_ssl= method that raises a runtime
error making the LoadError message public. This is not the most
user-friendly message (we would prefer not to expose internals), but
it should be clear enough to help owners that forget to read the log
find what's missing.
|
|
|
|
The various checkpointing function may be called when no env has been
loaded (yet), support this.
|
|
Since TokyoCabinet does not provide a DB environment, trying to reopen
the same db multiple times (something that happens with subregistry
mostly, and possibly after rescans) causes the subsequent opens to fail
due to "threading errors".
Fix by implementing some sort of environmentalish database management
(only keeps track of open databases, returns existing ones if reopening
the same db multiple times, closes all of them on exit).
|
|
The symbol appears in weather underground data an was not being escaped
when htmlentities was not available
|
|
|
|
Fix most ruby 1.9 warnings about shadowed variables (still one remaining in
keywords.rb). The only significant changes are in the quiz game plugin.
Also fix an issue in dictclient where the block parameter of a method
was not correctly isolated from the previous parameter.
|
|
Including Comparable at the top level causes infinite recursions in Ruby
1.9.2
|
|
Although the reply method for fake messages was actually relying on the
original, we still need to set 'replied' to prevent the fake message
from being wrongly delegated to 'unreplied'.
The most obvious bug this commit fixes is the potentially infinite loop
triggered by defining a command reaction triggered by the command name
itself (e.g. reply to ping with cmd:ping).
|