~ubuntu-branches/debian/sid/pyro/sid

« back to all changes in this revision

Viewing changes to docs/12-changes-archive.html

  • Committer: Bazaar Package Importer
  • Author(s): Gustavo Goretkin
  • Date: 2011-08-21 16:04:00 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20110821160400-ugc9tghmf0ycxzwp
Tags: 1:3.14-1
* New upstream release
    - /usr/bin/pyro-rns was removed by upstream
* SECURITY UPDATE: arbitrary file overwriting via symlink (Closes: #631912,
  LP: #830742)
    - store pidfile in /var/run instead of /tmp
    - Pyro/ext/daemonizer.py changed default location to /var/run
    - Pyro/ext/daemonizer.py added command-line parameter (--pidfile=...) to
      override default pidfile location
    - default location for pidfile is tunable via /etc/default/pyro-nsd
    - CVE-2011-2765 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
2
<html>
3
 
<!-- $Id: 12-changes-archive.html,v 2.8.2.2 2008/06/28 23:41:01 irmen Exp $ -->
4
3
<head>
 
4
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
5
5
  <title>PYRO - Change Log (archive)</title>
6
6
  <link rel="stylesheet" type="text/css" href="pyromanual_print.css" media="print">
7
7
  <link rel="stylesheet" type="text/css" href="pyromanual.css" media="screen">
1220
1220
    <li>This is the last Pyro version that will work on Python 2.1, future versions require Python 2.2 or even
1221
1221
    2.3.</li>
1222
1222
  </ul>
 
1223
 
 
1224
  <h3>Pyro 3.5</h3>
 
1225
 
 
1226
  <ul>
 
1227
    <li><em>Starting from this version, Pyro is only tested and supported on Python 2.3+.</em> Python 2.2 <em>may</em>
 
1228
    work, but no guarantees.</li>
 
1229
 
 
1230
    <li>PyroC -the static proxy compiler- has gone. Only dynamic proxies now.</li>
 
1231
 
 
1232
    <li>Removed the 127.0.0.1-error print statement from the Daemon (the warning in the log is still done
 
1233
    ofcourse).</li>
 
1234
 
 
1235
    <li>When verbose flag is given, NS now also does the deamon loopback test (and prints warning) just like ES
 
1236
    does.</li>
 
1237
 
 
1238
    <li>Remote method intercept code improved; it now uses a RemoteMethod stub object instead of the _name
 
1239
    methodname-stack. You can now use bound method references to remote methods on the proxy (<code>meth =
 
1240
    proxy.someMethod</code>), this did not work before.</li>
 
1241
 
 
1242
    <li>fixed some small documentation errors</li>
 
1243
 
 
1244
    <li>a few tweaks to the comparison methods (__eq__ etc) of the proxy object. Only eq and ne are defined now and
 
1245
    work fine if a proxy is compared to a non-proxy object. You can now safely do <code>prox in aList</code> even when
 
1246
    the list contains other objects.</li>
 
1247
 
 
1248
    <li>added the three missing name server methods fullName, setMeta and getMeta to the NS chapter in the docs</li>
 
1249
 
 
1250
    <li>Updated/clarified some things in the manual, such as the proxy-per-thread rule, and shutting down the server
 
1251
    and daemon.</li>
 
1252
 
 
1253
    <li>daemon shutdown() is now honored by requestLoop()</li>
 
1254
 
 
1255
    <li>daemon shutdown() now takes an optional boolean disconnect parameter, if set to True (default=False) the daemon
 
1256
    will unregister its objects directly (and shut down)</li>
 
1257
 
 
1258
    <li>rebindURI raises a more specific TimeoutError instead of plain ConnectionClosedError</li>
 
1259
 
 
1260
    <li>small fix in Pyroc so that it creates proxies for new-style classes too, but no guarantees that they work as
 
1261
    intended (better to use dynamic proxy). Pyroc is a dinosaur and will likely be removed from Pyro.</li>
 
1262
 
 
1263
    <li>protocol code now uses socket.sendall() instead of a home grown loop.</li>
 
1264
 
 
1265
    <li>added support for MSG_WAITALL flag on socket recv for more efficient network transfers (especially large ones),
 
1266
    on platforms that support this flag (such as Linux. Windows doesn't support it). I measured a 20% speed increase
 
1267
    with the 'hugetransfer' example on Linux.</li>
 
1268
 
 
1269
    <li>added support for my recvall patch (it is used if detected). See Python patch #<a href=
 
1270
    "http://www.python.org/sf/1103213">1103213</a>.</li>
 
1271
 
 
1272
    <li>Fixed the NameServer when using paired mode (-1/-2) and identification (-i).</li>
 
1273
 
 
1274
    <li>NameServerLocator now sends the two broadcast messages to locate the NS (possibly running in paired mode) in
 
1275
    parallel, so the initial delay for it to figure out that one of the two is down, is now gone.</li>
 
1276
 
 
1277
    <li>Added the offending name to almost all <code>NamingError</code> exception args.</li>
 
1278
 
 
1279
    <li>Fixed the persistent name server when it stores names on the filesystem with special characters (they are now
 
1280
    escaped).</li>
 
1281
 
 
1282
    <li>Fixed persistent NS metadata-handling.</li>
 
1283
 
 
1284
    <li>Finally implemented persistent NS paired mode.</li>
 
1285
 
 
1286
    <li>The nsc tools now all have a <em>setmeta</em> command or button.</li>
 
1287
 
 
1288
    <li>Fixed various pychecker warnings and other assorted code cleanups.</li>
 
1289
 
 
1290
    <li>Fixed BasicNTService stream redir problems caused by recent pywin32 changes.</li>
 
1291
 
 
1292
    <li>New certificates in the ssl example that are valid until januari 2006.</li>
 
1293
 
 
1294
    <li>Tested with new M2Crypto (0.13+), had to implement a work-around for MSG_WAITALL-bug in M2Crypto API.</li>
 
1295
 
 
1296
    <li>Default connection validator <code>createAuthToken</code> now uses hmac-md5 instead of 'plain'
 
1297
        md5. Updated the &quot;user_passwd_auth&quot; example accordingly.</li>
 
1298
 
 
1299
    <li>Fixed mobile code exception issue.</li>
 
1300
 
 
1301
    <li>Fixed ConnectionDeniedError exception issue.</li>
 
1302
 
 
1303
    <li>Changed md5.md5() calls to md5.new() (likewise hmac.new), the latter is the documented form</li>
 
1304
 
 
1305
    <li>Fixed mobile code pass-trough (as demonstrated by the new &quot;agent3&quot; example)</li>
 
1306
 
 
1307
    <li>Fixed mobile code issue that didn't allow multiple agent modules in the same package</li>
 
1308
 
 
1309
    <li>Added some more mobile code caveats in the docs.</li>
 
1310
 
 
1311
    <li>Fixed nsc shutdown command when not using broadcast.</li>
 
1312
 
 
1313
    <li>Fixed Oneway calls: they are now executed in their own thread, so that the caller is no longer
 
1314
        blocked when using the same proxy again for the next <em>regular</em> call. Added a new &quot;oneway&quot;
 
1315
        example that shows how that fix works.</li>
 
1316
 
 
1317
    <li>Added a very interesting &quot;distributed-computing&quot; example that 'cracks' md5, or sorts a huge
 
1318
        array, but can easily process other tasks (if they can be partitioned)</li>
 
1319
  </ul>
 
1320
 
 
1321
  <h3>Pyro 3.6</h3>
 
1322
 
 
1323
  <ul>
 
1324
    <li>a PyroException is now raised when Pyro detects you're sharing a connected proxy among different threads.</li>
 
1325
    <li>sre module is deprecated, import re instead (core)</li>
 
1326
    <li>socket reuseaddr is no longer set on cygwin, to fix connection issues on cygwin/windows (protocol)</li>
 
1327
    <li>added a new distributed computing example (distributed-computing2) that uses pull model (workers pull new chunks of work)</li>
 
1328
    <li>added some mobile code test scenarios: testmobile examples</li>
 
1329
    <li>documented float NaN/Inf problems in troubleshooting chapter</li>
 
1330
    <li>fixed timeout bug (send/recv), added timeout example</li>
 
1331
    <li>a lot more documentation on multithreading issues with proxy objects</li>
 
1332
    <li>added some explicit remarks about using the same major Python version to avoid pickle dataformat mismatches</li>
 
1333
    <li>removed support for PyXML pickling format because PyXML's marshaler is buggy and no longer maintained</li>
 
1334
    <li>removed the 'any' setting for PYRO_XML_PICKLE, you must explicitly name the implementation you want</li>
 
1335
    <li>Added PYRO_GNOSIS_PARANOIA config item to be able to manipulate Gnosis pickler's paranoia (security) setting</li>
 
1336
    <li>Added support for new Gnosis utils version 1.3.x</li>
 
1337
    <li>added warning in guidlines in manual about attribute access to large data structures</li>
 
1338
    <li>reformatted manual HTML, manual now has a nice CSS style and optimized print output as well</li>
 
1339
    <li>improved Nameserver exceptions a bit</li>
 
1340
    <li>added PYRO_BROKEN_MSGWAITALL config item for use on systems that have broken socket MSG_WAITALL support. When set
 
1341
        to 1, Pyro will use a different piece of code to receive data (slower, but working on these systems as well). </li>
 
1342
    <li>improved the PYRO_BC_RETRIES and PYRO_BC_TIMEOUT config items: you can now set them to a negative value to mean 'infinitely'. </li>
 
1343
    <li>added PYRO_HOST and PYRO_PUBLISHHOST config items</li>
 
1344
    <li>automatic remote traceback printing has been removed, and the config item PYRO_PRINT_REMOTE_TRACEBACK as well.
 
1345
        Changes in Python's exception class implementation no longer allows to change the way
 
1346
        exceptions print themselves.</li>
 
1347
    <li>renamed (internal) setDaemon method to avoid name clash with method on Python's Thread object</li>
 
1348
    <li>replaced select() calls with a safer utility method (suggested by Oliver Gathmann)</li>
 
1349
    <li>fixed very old frame GC-leak in Pyro_dyncall (SF bug 1407267)</li>
 
1350
        <li>when running on localhost, Pyro will no longer start a NS broadcast server (this avoids not-working-NS addresses on other machines in the network)</li>
 
1351
        <li>the NameServerLocator will now try to contact a Name Server on the current machine and localhost if the broadcast lookup fails. This allows standalone Pyro to work on Windows without having to configure PYRO_NS_HOSTNAME etc.</li>
 
1352
        <li>threading fixes in event service and core pyro code</li>
 
1353
        <li>locks around code doing mobile code imports, to avoid import race conditions</li>
 
1354
        <li>mobile code is now able to compile source code with strange line endings such as CR LF (now opens source files in 'rU' mode)</li>
 
1355
        <li>fixes in copying and pickling of proxies, also includes identification data now (if any)</li>
 
1356
        <li>removed rserve example</li>
 
1357
        <li>changed forking client in multithreading example to use threads instead, so it now works on Windows as well</li>
 
1358
        <li>fixed ns thread issue in distributed-computing example</li>
 
1359
  </ul>
 
1360
 
 
1361
  <h3>Pyro 3.7</h3>
 
1362
   <ul>
 
1363
    <li>Fixed typo for bdist_rpm target in setup.cfg</li>
 
1364
    <li>Batch scripts have been renamed, all now start with a 'pyro-' prefix. This avoids name clashes. This was already done in the Debian package for instance.</li>
 
1365
    <li>NS broadcast retry is now 1 (was 2) and timeout is now 0.75 (was 2)</li>
 
1366
    <li>Pyro.core.SynchronizedObjBase now correctly handles string exceptions (deprecated anyway)</li>
 
1367
    <li>the NS nt service won't respond to shutdown requests anymore</li>
 
1368
    <li>wxnsc updated to recent WxPython API, deprecation warning is gone</li>
 
1369
   </ul>
1223
1370
  
1224
1371
  <div class="nav">
1225
1372
  <hr>