Ibid 0.1.1 "Pimpernel"

Bug fixes for 0.1.0. No massive new features.

Milestone information

Project:
Ibid
Series:
0.1
Version:
0.1.1
Code name:
Pimpernel
Released:
 
Registrant:
Stefano Rivera
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Keegan Carruthers-Smith, 9 Max Rabkin, 1 Michael Gorven, 37 Stefano Rivera, 5 marcog
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
53 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon Ibid-0.1.1.tar.gz (md5, sig) release tarball 1,945
last downloaded 3 weeks ago
Total downloads: 1,945

Release notes 

Bug fix release, including a couple of security issues.

Several plugins that consume Web services or scrape Web sites have been
updated to cope with changes since the last release.

There were no DB schema changes between 0.1.0 and 0.1.1.

Resolved Security Issues
------------------------

Remote Execution
^^^^^^^^^^^^^^^^

:bug:`705860`:
   Permissions were ignored for handlers not using :func:`@match
   <ibid.plugins.match>`.
   This allowed users to perform actions they were not authorised to.

   However, no included plugins were exposed by this, all
   access-restricted handlers had match patterns.

Information Disclosure
^^^^^^^^^^^^^^^^^^^^^^

:bug:`567576`:
   Occasionally insecure permissions on log files.
   When the bot spoke first (creating a new log file), the log file
   would be publicly readable, even if the message was sent in private.

   Example:
   If the bot delivered a *privmsg* memo to a user at the beginning of
   the month, it would create the logfile with public readable
   permissions.
   If the logfile directory was published by a web server, this would
   make this private conversation log accessible to the public.

   Resolution: Now channels must be explicitly configured to have
   publicly readable logs.

:bug:`649383`:
   If someone received a private message from the bot
   during a public meeting, the message could appear in the meeting
   minutes.

   Example: a *privmsg* memo received during a meeting would appear in
   the minutes.

Major User Visible Changes
--------------------------

* New configuration option ``plugins.log.public_logs``, a list of
   ``source:channel`` globs of channels to log in files with publically
   readable permissions.

* New configuration option ``plugins.ascii.preferred_fonts``, a list of
   figlet fonts, the first one found is the default.

* Currency exchange now uses Yahoo instead of XE.com.

API Changes
-----------

* New Function: :func:`ibid.utils.parse_timestamp` for parsing
   well-formatted timestamps.

* New Function: :func:`ibid.utils.generic_webservice` for retrieving
   arbitrary data from a web-service.

* New Function: :func:`ibid.db.get_regexp_op` which returns a REGEXP
   SqlAlchemy operator for the DBMS in use.

Changelog 

View the full changelog

2011-02-23 Stefano Rivera <email address hidden>

   Remove MyLifeIsG.com support from MyLifeIsAverage Processor. The
   site has been down for around a year.

   Fixes: :bug:`722675`.

2011-02-22 Stefano Rivera <email address hidden>

   Use bounded_matches when returning search results.

   Fixes: :bug:`722655`.

2011-02-22 Stefano Rivera <email address hidden>

   Typo: parse_timestmap -> parse_timestamp (and remove an unnecessary
   import).

   Fixes: :bug:`722682`.

2011-02-22 Stefano Rivera <email address hidden>

   Allow addresponse() to take the param 0.

   Fixes: :bug:`723132`.

2011-02-21 Stefano Rivera <email address hidden>

   Added CHANGES and tool for generating changelog entries.
   Set version to 0.1.1.

2011-02-20 Stefano Rivera <email address hidden>

   Filter out empty definitions in gdefine.

   Fixes: :bug:`719851`.

2011-02-20 Stefano Rivera <email address hidden>

   We don't support SQLAlchemy 0.6 yet.

   Fixes: :bug:`651992`.

2011-02-20 Marco Gallotta <email address hidden>

   Only append .com for url's like "example".

   Fixes: :bug:`702062`.

2011-02-20 Stefano Rivera <email address hidden>

   Use escape=# for LIKEs.
   Perform literal queries on all non-get Factoid operations. Return
   useful error if start index is too high.
   Substitute $arg for _% in search.

   Fixes: :bug:`544493`.

2011-02-20 Stefano Rivera <email address hidden>

   HTTPErrors should result in using url as title, not abandoning the
   grab.

   Fixes: :bug:`702798`.

2011-02-20 Stefano Rivera <email address hidden>

   Catch ImportErrors for packages we don't require in setup.py.

   Fixes: :bug:`651990`.

2011-02-20 Stefano Rivera <email address hidden>

   pysqlite is only necessary on ancient Pythons.

   Fixes: :bug:`708302`.

2011-01-25 Stefano Rivera <email address hidden>

   Add function get_regexp_op to ibid.db that returns a REGEXP op that
   works on Postgres too.

   Fixes: :bug:`595423`.

2011-01-22 Keegan Carruthers-Smith <email address hidden>

   Use correct plurality in pending memos message.

   Fixes :bug:`634257`.

2011-01-22 Stefano Rivera <email address hidden>

   Add parse_timestamp function to ibid.utils, use for parsing
   timestamps from Twitter.

   Fixes :bug:`702815`.

2011-01-22 Stefano Rivera <email address hidden>

   URLErrors have reasons, but there are other HTTPErrors

   Fixes :bug:`670855`.

2011-01-21 Max Rabkin <email address hidden>

   Enforce permissions on non-@match handlers.

   Fixes :bug:`705860`.

2011-01-19 Stefano Rivera <email address hidden>

   Handle non-500 error codes from twitter.

   Fixes :bug:`670855`.

2011-01-19 Stefano Rivera <email address hidden>

   Strip tags from gcalc response.

   Fixes :bug:`702371`.

2011-01-19 Max Rabkin <email address hidden>

   Check content_type is set before checking its value.

   Fixes :bug:`701900`.

2011-01-19 Max Rabkin <email address hidden>

   Catch exceptions when polling feeds so that one broken feed doesn't
   stop all feeds.

   Fixes :bug:`578396`.

2011-01-19 Max Rabkin <email address hidden>

   Use new OEIS API at oeis.org

   Fixes :bug:`700475`.

2010-12-25 Stefano Rivera <email address hidden>

   Fix for the logging open file cache: Logs in logs might not be in
   recent_logs.

   Fixes :bug:`655645`.

2010-12-25 Stefano Rivera <email address hidden>

   Support toilet fonts, correctly decode utf-8 figlet output, handle
   font choice edge cases.

   Fixes :bug:`607743`.

2010-12-24 Stefano Rivera <email address hidden>

   Follow redirects in "is it up"

   Fixes :bug:`599410`.

2010-12-24 Stefano Rivera <email address hidden>

   Rework nickserv auth to allow simultaneous authentications for the
   same nick (although Nickserv will only be bothered once).

   Fixes :bug:`655647`.

2010-12-24 Stefano Rivera <email address hidden>

   Use absolute imports to import SILC correctly

   Fixes :bug:`654202`.

2010-12-20 Stefano Rivera <email address hidden>

   Country Code list parsing: Check for ; in a line before splitting by
   semi-colons.

   Fixes :bug:`692347`.

2010-12-20 Max Rabkin <email address hidden>

   Don't treat feeds with no messages as errors.

   Fixes :bug:`661187`.

2010-11-08 Stefano Rivera <email address hidden>

   Correctly handle state events that have no channel.

   Fixes :bug:`656349`.

2010-11-07 Stefano Rivera <email address hidden>

   Port google scrape search to get_html_parse_tree + etree. Handle
   superscript in gcalc.

   Fixes :bug:`580696`.

2010-11-07 Stefano Rivera <email address hidden>

   Put periodic lock-using code in a try...finally block.

2010-10-15 Stefano Rivera <email address hidden>

   Support twitter's new AJAX URLs.

   Fixes :bug:`654535`.

2010-10-15 Stefano Rivera <email address hidden>

   Always respond to memo sending with confirmation of recipient. Allow
   memos to begin with "on ..." when not naming a known source.

   Fixes :bug:`634253`.

2010-10-04 Stefano Rivera <email address hidden>

   Disallow empty factoid names.

   Fixes :bug:`606065`.

2010-10-05 Guy Halse

   Allow bot to identify with zanet.net's NickServ.

   Fixes :bug:`652000`.

2010-10-03 Stefano Rivera <email address hidden>

   [SECURITY] Add a configuration glob-list of channels which should
   have public logs, rather than attempting to guess.

   Fixes :bug:`567576`.

2010-09-30 Stefano Rivera <email address hidden>

   Docs: Be clear that ibid is in Debian & Ubuntu.

2010-09-30 Stefano Rivera <email address hidden>

   Handle 0 tweets in Twitter Atom feed parsing, correctly handle it
   elsewhere instead of treating it as no such twit.

   Fixes :bug:`646989`.

2010-09-29 Max Rabkin <email address hidden>

   [SECURITY] Don't leak private messages to meeting logs.

   Fixes :bug:`649383`.

2010-08-14 Stefano Rivera <email address hidden>

   Don't try to process() events without a message in meeting.

   Fixes :bug:`598094`.

2010-07-10 Stefano Rivera <email address hidden>

   Correct abbreviated cross-ref format, shown up by Sphinx 1.0b1.

2010-07-04 Stefano Rivera <email address hidden>

   Display latest tweets from retweeting-twits instead of thinking they
   don't exist.

   Fixes :bug:`554906`.

2010-06-13 Michael Gorven <email address hidden>

   Fix real JID detection when more than one 'x' element is received.

2010-06-07 Stefano Rivera <email address hidden>

   NickServ support for rizon.

2010-06-04 Stefano Rivera <email address hidden>

   Switch from XE.com to Yahoo for currency conversions.

2010-06-04 Stefano Rivera <email address hidden>

   Limit the size of the file-descriptor pool in log.

   Fixes :bug:`567571`.

2010-05-12 Stefano Rivera <email address hidden>

   Google is also a calculator.

   Fixes :bug:`574300`.

2010-05-12 Stefano Rivera <email address hidden>

   Use explicit lower() on each side of LIKE so factoids with arguments
   can be case-insensitive on Postgres.

   Fixes :bug:`574427`.

2010-05-05 Max Rabkin <email address hidden>

   Escape query url in google scrape.

   Fixes :bug:`572308`.

2010-05-05 Stefano Rivera <email address hidden>

   Incorrect substitution in SQLite indexing warning.

2010-05-05 Stefano Rivera <email address hidden>

   Change administrative user & identity linking syntax to be less
   problematically broad.

   Fixes :bug:`567510`.

2010-04-26 Stefano Rivera <email address hidden>

   Increase default HTTP GET size from 500 bytes to 2kiB.

   Fixes :bug:`563928`.

2010-04-13 Stefano Rivera <email address hidden>

   Update youtube plugin to cope with site redesign.

   Fixes :bug:`561684`.

2010-04-13 Max Rabkin <email address hidden>

   Allow digits in Unicode character names.

2010-04-13 Stefano Rivera <email address hidden>

   HTTP GET: Don't assume everything is utf-8, decode according to
   provided charset, fall back to utf-8 for text, and guess with chardet
   if either of those was wrong.

   Fixes :bug:`560973`.

2010-04-09 Max Rabkin <email address hidden>

   Use unicode case-insensitive matching in factoid.

   Fixes :bug:`542707`.

2010-03-27 Michael Gorven <email address hidden>

   Treat the Processor's first feature as the primary feature in RPC.

   Fixes :bug:`545168`.

2010-03-27 Max Rabkin <email address hidden>

   Respond with unicode in bible error handlers.

   Fixes :bug:`544260`.

2010-03-26 Marco Gallotta <email address hidden>

   Allow trailing punctuation in tea-style addressing.

   Fixes :bug:`545186`.

2010-03-23 Marco Gallotta <email address hidden>

   Add username=ibid parameter to geonames API calls. Some calls now
   require it.

   Fixes :bug:`543989`.

2010-03-23 Max Rabkin <email address hidden>

   Python 2.5 compatibility update for unicode lookup. Exception for
   unknown character changed in 2.6.

   Fixes :bug:`542593`.

2010-03-10 Stefano Rivera <email address hidden>

   Add placeholder to force ibid/static to be distributed.

0 blueprints and 53 bugs targeted

Bug report Importance Assignee Status
705860 #705860 Permissions are ignored for @handler 2 Critical Max Rabkin  10 Fix Released
545168 #545168 HTTP source not updated for multiple feature change 3 High Michael Gorven  10 Fix Released
567571 #567571 Leaks logfile descriptors 3 High Stefano Rivera  10 Fix Released
567576 #567576 Log creates publically readable private conversation files 3 High Stefano Rivera  10 Fix Released
649383 #649383 Meeting logs memo PMs 3 High Max Rabkin  10 Fix Released
651992 #651992 failed dependency in setup.py 3 High Stefano Rivera  10 Fix Released
544493 #544493 wild factoid deletion 4 Medium marcog  10 Fix Released
554906 #554906 Twitter plugin fails when latest tweet is a retweet 4 Medium Stefano Rivera  10 Fix Released
561684 #561684 YouTube site changed, scraper broken 4 Medium Stefano Rivera  10 Fix Released
567510 #567510 <foo> is <bar> on <source> is too broad 4 Medium Stefano Rivera  10 Fix Released
651990 #651990 incomplete dependencies list in setup.py 4 Medium Stefano Rivera  10 Fix Released
654202 #654202 SILC source fails to import with Python 2.6.6 4 Medium Stefano Rivera  10 Fix Released
655645 #655645 log: Recent log list race 4 Medium Stefano Rivera  10 Fix Released
701714 #701714 isitup doesn't give up 4 Medium Stefano Rivera  10 Fix Released
542593 #542593 Unicode lookup error in Python 2.5 5 Low Max Rabkin  10 Fix Released
542707 #542707 factoid gags on unicode 5 Low Max Rabkin  10 Fix Released
543989 #543989 Timezone plugin not checking places 5 Low marcog  10 Fix Released
544260 #544260 Unicode warning from bible 5 Low Max Rabkin  10 Fix Released
545186 #545186 tea style addressing with trailing punctuation throws exception 5 Low marcog  10 Fix Released
560973 #560973 network utf8 decode error 5 Low Stefano Rivera  10 Fix Released
563928 #563928 HTTP Get misses some titles 5 Low Stefano Rivera  10 Fix Released
572308 #572308 [google] scraping query isn't correctly escaped. 5 Low Max Rabkin  10 Fix Released
574300 #574300 gcalc isn't a calculator 5 Low Stefano Rivera  10 Fix Released
574427 #574427 factoid with argument is case-sensitive 5 Low Stefano Rivera  10 Fix Released
578396 #578396 feed polling errors don't tell you which feed is broken 5 Low Max Rabkin  10 Fix Released
580696 #580696 gcalc doesn't like square units 5 Low Stefano Rivera  10 Fix Released
595423 #595423 PostgreSQL doesn't have a REGEXP operator 5 Low Stefano Rivera  10 Fix Released
598094 #598094 Meeting tries to process() non-message events 5 Low Stefano Rivera  10 Fix Released
599410 #599410 isitup doesn't follow redirects 5 Low Stefano Rivera  10 Fix Released
606065 #606065 empty factoids can exist 5 Low Stefano Rivera  10 Fix Released
607743 #607743 toilet fonts 5 Low Stefano Rivera  10 Fix Released
634253 #634253 Memo: "tell foo on <word>" 5 Low Stefano Rivera  10 Fix Released
634257 #634257 Memo plurality: You have 1 messages 5 Low Keegan Carruthers-Smith  10 Fix Released
646989 #646989 Twitter plugin's Atom parser fails with 0 tweets 5 Low Stefano Rivera  10 Fix Released
654535 #654535 Twitter module doesn't handle newtwitter urls 5 Low Stefano Rivera  10 Fix Released
655647 #655647 Nickserv authentication issue? 5 Low Stefano Rivera  10 Fix Released
656349 #656349 log: Channel-less events 5 Low Stefano Rivera  10 Fix Released
661187 #661187 An empty feed results in lots of errors 5 Low Max Rabkin  10 Fix Released
692347 #692347 country code parser failing 5 Low Stefano Rivera  10 Fix Released
700475 #700475 OEIS API change 5 Low Max Rabkin  10 Fix Released
701900 #701900 get errors out on malformed HTTP response 5 Low marcog  10 Fix Released
702062 #702062 [network.HTTP] Should split port out before appending .com 5 Low marcog  10 Fix Released
702371 #702371 font tags surrounding spaces between digits aren't stripped by gcalc 5 Low Stefano Rivera  10 Fix Released
702798 #702798 [urlgrab] Not handling posting exceptions well 5 Low Stefano Rivera  10 Fix Released
702815 #702815 [social.Twitter] Twitter Atom feed has more than one timestamp format 5 Low Stefano Rivera  10 Fix Released
708302 #708302 Unneeded dependency on pysqlite2 5 Low Stefano Rivera  10 Fix Released
719851 #719851 [google] gdefine doesn't like an empty resultset 5 Low Stefano Rivera  10 Fix Released
722655 #722655 Factoid search doesn't respect "start" 5 Low Stefano Rivera  10 Fix Released
722675 #722675 MLIG is broken 5 Low Stefano Rivera  10 Fix Released
722682 #722682 [identica] NameError: global name 'parse_timestmap' is not defined 5 Low Stefano Rivera  10 Fix Released
723132 #723132 Random returns "I always liked %i" 5 Low Stefano Rivera  10 Fix Released
652000 #652000 NickServ not detected with ircservices 6 Wishlist Stefano Rivera  10 Fix Released
670855 #670855 [twitter] Catch rate limit errors in JSON responses 6 Wishlist Stefano Rivera  10 Fix Released
This milestone contains Public information
Everyone can see this information.