<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello again!<br>
    <br>
    I have some good news- something I'm kicking myself for not
    noticing, but good news all the same.<br>
    I just realized that in the process of converting escaped hex values
    in the string produced by hashing `rulesets.sqlite` in my
    `ruleset_update_manifest.py` utility script, prefixing 0s were being
    left out. That is to say that, in a string such as "0x0n" (where n
    in 0-9,A-F), the resulting string is "n", where it should be "0n".
    After fixing this problem and rerunning the script to create a new
    `update.json` file, I found the hash of `rulesets.sqlite` the script
    produced is indeed the same as the one being computed in the ruleset
    updater. This means there's no problem in dealing with the binary
    data downloaded by the extension.<br>
    <br>
    There is still, however, the problem of updating the database file
    used by the extension.  As I anticipated, trying to drop the
    existing data with the following line of code:<br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <pre>  mainDB.createStatement("drop table rulesets").execute();

</pre>
    leads to the following error:<br>
    <br>
    NS_ERROR_FILE_IS_LOCKED: Component returned failure code: 0x8052000e
    (NS_ERROR_FILE_IS_LOCKED) [mozIStorageStatement.execute]<br>
    <br>
    I'm hoping to be able to work around this by moving the rulesets
    database file used in the extension, but this proved problematic the
    last time I tried.<br>
    <br>
    Cheers,<br>
    Zack<br>
  </body>
</html>