2009-03-31 scottmk * : Plug a memory leak reported by Steven Chan. * : In osrf_system_shutdown(): provide a return value for an early return (since the function is of type int). It's not clear whether these are the right semantics, since we never capture the return value anyway. But if we're going to return anything at all, it makes sense to return something different in the case of an early return. * : 1. Create a new osrfListExtract function, which removes an item from an osrfList without destroying it, and returns a pointer to the item thus removed. 2. Create a new jsonObjectExtractIndex, which removes a specified entry in a JSON_ARRAY, and returns a pointer to it, without destroying it. 3. In osrf_json.h: Corrected an inaccurate comment about jsonObjectRemoveIndex(). Contrary to the original comment, this function does not shift other objects down to fill the gap. * : In osrfConfigGetValue(): plugged a memory leak reported by Steven Chan. 2009-04-02 erickson * : capture osrfServerError responses 2009-04-06 scottmk * : New JSON parser -- simpler, faster, and more robust in the face of syntax errors 2009-04-08 dbs * : OpenSRF r1692 + OpenILS r12809 broke the Evergreen build; this fixes it 2009-04-27 scottmk * : Performance tweak for osrfLog* functions: don't pass the message through VA_LIST_TO_STRING unless you're actually going to use it. 2009-04-27 erickson * : pass unknown string as second param to osrfLog to avoid literal % parsing in vsnprintf 2009-04-28 erickson * : don't set stream state to disconnected on a non-stream error. 2009-04-30 erickson * : go ahead and log the cache keys when we log the cache data * : activate the config options, need to that if you're going to use a cache server that's not == localhost:11211 2009-05-18 erickson * : no need to wrap each method description in an object container with class 'method' 2009-05-19 erickson * : added final bits for stateful sessions (drone keepalive) * : until full settings support is added, comment that out for now. added example keepalive 2009-05-22 erickson * : opensrf.py can now read the opensrf.settings file for managing apps. added start/stop_all actions. support for service name syslog ident 2009-05-29 erickson * : try finding osrf_config in the users PATH first to prevent the use of 'find' when possible (find + NFS = watching paint dry) 2009-05-31 dbs * : Use autotools a bit more to our advantage: * In osrf_ctl.sh, use the configured location for osrf_config by default * Differentiate between prefix and exec_prefix to respect configure options * Make configure output slightly more consistent * : Use autotools to set the default values in opensrf-perl.pl to what was passed in to ./configure 2009-06-01 erickson * : define OSRF_HOSTNAME globally to prevent 'unbound variable' error 2009-06-03 erickson * : don't try to 'kill' an empty pid / prevents warnings * : flush_socket now flushes data through the xml stream parser to prevent the destorying the validity of the stream. now discarding RESULT messages passed to server sessions. 2009-06-04 miker * : teach interval_to_seconds about negative intervals * : teach interval_to_seconds about HH:MM:SS format time intervals 2009-06-06 scottmk * : 1. If an input line ends in a backslash, remove the backslash and append the following line as a continuation. 2. Disable the readline library's special treatment of horizontal tabs, which by default trigger file name completion (which is not useful for srfsh). 3. In calls to strtok(): accept horizontal tabs as delimiters, since they are no longer suppressed by readline(). 2009-06-10 erickson * : added a session_data disctionary to ServerSession class for storing per-session data. fixed bug where no params caused serer-side confusion. added exmample of session_data usage to example app 2009-06-11 erickson * : added session callback support with example method. added method-not-found handling. added network socket flush for clearing stale inbound data. * : call cleanup instead of running the death callback directory when server session expires * : until we make the router / C processes write their own PID file, put a short sleep in after startup to give each time to show up in the 'ps' output. this should help prevent lingering router processes after service stop 2009-06-22 scottmk * : Fix a bug whereby, if there was only one entry for the public router in opensrf_core.xml, the service would fail to register. Root cause: The code was expecting to see a list of services in a JSON_ARRAY. But if there's only one service, it's represented as a JSON_STRING. 2009-07-10 scottmk * : Add two new commands, "open" and "close", to open and close ongoing connections to specified services. (Otherwise a connection is created and destroyed for every request.) Main purpose: to be able to use srfsh for database operations that require transactions. Warning: typically the value will need to be increased for the service in question in opensrf.xml, or else the server will close the connection before you can type your request. 2009-07-22 scottmk * : This is a performance tweak to the osrfHashGet function, a widely used utility function. The old version accepted a variable number of arguments: a pointer to an osrfHash, a string optionally containing printf-style format specifiers, and addtional parameters as needed to fill in the blanks. In practice, none of the code ever uses the printf-style formatting. We always pass exactly two parameters. We burn CPU cycles scanning the string for format specifiers and never find any. I eliminated the unused variable parameters and turned osrfHashGet() into a simple two-parameter function. Just in case anybody ever wants it, I also cloned the original version into a new function named osrfHashGetFmt, which accepts a variable number of arguments as before. Note that, since the signature of the function is changing, it is necessary to recompile any open-ils programs that call it, namely: oils_dataloader.c oils_event.c oils_idl-core.c oils_cstore.c dump_idl.c The Makefiles apparently don't recognize this dependency. 2009-07-23 erickson * : check NULL-ness on hash the key before calling find_item 2009-07-28 dbs * : Branch for the 1.2 release 2009-08-20 miker * .: Tagging 1.2.0 to support EG 1.6+