7 commit e93c7c932b144aac2633fe5d058f298a29909f02
8 Author: Dan Scott <dan@coffeecode.net>
9 Date: Tue Oct 30 23:34:04 2012 -0400
11 Release notes for 2.1.1: input log redaction
13 Signed-off-by: Dan Scott <dan@coffeecode.net>
15 12 3 doc/RELEASE_NOTES.txt
17 commit fd367d0a978cd85d2726a1ea2bd0412abf57fb12
18 Author: Dan Scott <dan@coffeecode.net>
19 Date: Tue Oct 30 23:27:34 2012 -0400
21 Purge the wildly out-of-date Roadmap document
23 Signed-off-by: Dan Scott <dan@coffeecode.net>
26 delete mode 100644 doc/Roadmap.txt
28 commit 97a520bce382c8806ad1772f98e1e9169a2297b9
29 Author: Dan Scott <dscott@laurentian.ca>
30 Date: Tue Nov 6 12:32:48 2012 -0500
32 Bump libopensrf version-info revision and age
34 The log redaction functionality changed the source files (thus 'age'
35 gets bumped) and is backwards-compatible (thus 'revision' gets bumped)
36 but maintains the same interface (thus 'current' stays the same).
38 Signed-off-by: Dan Scott <dscott@laurentian.ca>
40 1 1 src/libopensrf/Makefile.am
42 commit b81a8c2ada734fe8c47e758c681e2bb952f29c39
43 Author: Dan Wells <dbw2@calvin.edu>
44 Date: Wed Oct 31 10:21:14 2012 -0400
46 Protect against empty/invalid log_protect sections
48 Connectivity would fail if the log_protect section of opensrf_core.xml
49 was empty, or contained only comments, as it does in the default
50 example. Add a simple guard against this potential problem. This fix
51 will also protect against cases where the 'log_protect' section
52 contains text rather than separate configuration elements.
54 Credit to Dan Scott for finding the bug and working out how to fix it.
56 Signed-off-by: Dan Wells <dbw2@calvin.edu>
57 Signed-off-by: Dan Scott <dan@coffeecode.net>
59 6 4 src/perl/lib/OpenSRF/Application.pm
61 commit a2a286ef7fbf70e695ab23289fe9f131a9037922
62 Author: Bill Erickson <berick@esilibrary.com>
63 Date: Wed Oct 17 15:57:14 2012 -0400
65 Consolidate duplicate osrfMethodVerifyContext handler
67 Log redaction was not occuring in some cases because the code was using
68 the OSRF_METHOD_VERIFY_CONTEXT macro instead of the similarly named
69 function which does the same thing. This change points the macro at the
70 function so that all code uses the same underlying code.
72 Note this change turns on CALL param logging unconditionally, whereas
73 users of the macro would previously have been able to avoid CALL logging
74 via the OSRF_LOG_PARAMS variable. In practice, little code uses the
75 macro and all code enables OSRF_LOG_PARAMS. If we need to add this
76 control back, it can be added directly to osrfMethodVerifyContext().
77 For now, it's one less env variable we need to define.
79 Signed-off-by: Bill Erickson <berick@esilibrary.com>
80 Signed-off-by: Dan Scott <dan@coffeecode.net>
82 2 36 include/opensrf/osrf_application.h
84 commit 157ad5d6553b29585afd4b2180db91e2d13b5961
85 Author: Dan Wells <dbw2@calvin.edu>
86 Date: Fri Oct 12 09:45:35 2012 -0400
88 Log redaction for sensitive input values, Perl side
90 This commit attempts to do the same as the C log redaction fix,
91 but now at the Perl level. The Perl configuration code was a
92 little more crufty than the C side, so an additional feature was
93 added to Config.pm to support the new 'shared' section. At some
94 point we should consider a ground-up rewrite of Config.pm, as the
95 code seems to suffer some from its INI file roots.
97 Signed-off-by: Dan Wells <dbw2@calvin.edu>
98 Signed-off-by: Dan Scott <dan@coffeecode.net>
100 3 3 examples/opensrf_core.xml.example
101 21 1 src/perl/lib/OpenSRF/Application.pm
102 9 0 src/perl/lib/OpenSRF/System.pm
103 48 12 src/perl/lib/OpenSRF/Utils/Config.pm
105 commit fe9617eda262cc3a3890d068e938ef0ffb99d07a
106 Author: Dan Wells <dbw2@calvin.edu>
107 Date: Wed Oct 10 17:28:07 2012 -0400
109 Log redaction for sensitive input values, C side
111 Some service/methods deal with sensitive information (passwords,
112 financial, etc.). All input values (e.g. gateway method params)
113 are currently logged in the activity log regardless of your log
114 level. This commit will allow you to redact the params of any
115 method which matches a configurable set of left-anchored string
118 This commit adds the initial config, and covers redaction of method
119 parameters sent through the gateway, the translator, and more general
120 OpenSRF C applications.
122 Signed-off-by: Dan Wells <dbw2@calvin.edu>
123 Signed-off-by: Dan Scott <dan@coffeecode.net>
125 12 0 examples/opensrf_core.xml.example
126 1 0 include/opensrf/osrf_application.h
127 2 0 include/opensrf/osrf_system.h
128 25 10 src/gateway/osrf_http_translator.c
129 22 7 src/gateway/osrf_json_gateway.c
130 23 4 src/libopensrf/osrf_application.c
131 6 0 src/libopensrf/osrf_system.c
133 commit cd24bb1c94c95027310f63909b692e4dbb05507f
134 Author: Dan Scott <dscott@laurentian.ca>
135 Date: Mon Oct 22 11:50:21 2012 -0400
137 Use apt-get instead of aptitude on Debian / Ubuntu
139 Reports from the field state that aptitude is not installed by default on
140 Ubuntu any longer; thus go with the sure thing.
142 Signed-off-by: Dan Scott <dscott@laurentian.ca>
145 1 1 src/extras/Makefile.install
147 commit 20a115a421c56b56968accc27b63da7656a70ee8
148 Author: Dan Scott <dscott@laurentian.ca>
149 Date: Mon Oct 22 11:53:24 2012 -0400
151 Remove the reference to Evergreen in the README
153 Stephen Wills reported problems installing Evergreen because of missing
154 dependencies, and reading the OpenSRF README shows that it refers to the
155 Evergreen prerequisite installer in a confusing way that might lead to
156 users using only the Evergreen Makefile.install, rather than using the
157 OpenSRF Makefile.install.
159 In addition, Fedora 16 is going to be out of support soon, and Fedora 17
160 and 18 are well-tested targets now.
162 Signed-off-by: Dan Scott <dscott@laurentian.ca>
166 commit 83dd58abfca26418f8bdaecb73dbd2c177cc0093
167 Author: Jason Stephenson <jstephenson@mvlc.org>
168 Date: Tue Nov 6 09:16:18 2012 -0500
170 Fix installation on Ubuntu Precise.
172 Remove libreadline5-dev and replace with libreadline-dev for Ubuntu
173 and Debian. This installs libreadline6, but everything still works
174 since there's nothing version specific in our use of libreadline.
176 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
177 Signed-off-by: Dan Scott <dan@coffeecode.net>
179 2 3 src/extras/Makefile.install
184 commit 79694c390e0350a199be409ceadb19945ddf2b5c
185 Author: Dan Scott <dan@coffeecode.net>
186 Date: Wed May 30 23:12:32 2012 -0400
188 No, Ubuntu Hardy is not well-tested for 2.1.0
190 One more reference to Ubuntu Hardy that we can remove from the
193 Signed-off-by: Dan Scott <dan@coffeecode.net>
197 commit 885a4d87cd06f31071ff9b2f728fd7aa1c83d7be
198 Author: Dan Scott <dan@coffeecode.net>
199 Date: Wed May 30 23:11:14 2012 -0400
201 Generate ChangeLog for 2.1.0 release
203 Signed-off-by: Dan Scott <dan@coffeecode.net>
207 commit 3eb7c54a734369a7bffc4a3c30bef2e65573be52
208 Author: Dan Scott <dan@coffeecode.net>
209 Date: Sun May 27 22:52:23 2012 -0400
213 A summary of some of the highlights of the new release, for
214 functionality that has been added and deleted. Does not address bug
215 fixes such as the much more robust Perl child handling; perhaps
216 we should focus on those as well?
218 Signed-off-by: Dan Scott <dan@coffeecode.net>
220 89 0 doc/RELEASE_NOTES.txt
221 create mode 100644 doc/RELEASE_NOTES.txt
223 commit cdd0816c624ff0843ee5ab201346521ae91f474a
224 Author: Dan Scott <dan@coffeecode.net>
225 Date: Wed May 30 22:33:17 2012 -0400
227 Bump version numbers to help with library compatibility
229 By bumping the OpenSRF version numbers for Perl libs, Python libraries,
230 and the libtool versioning for the libopensrf library, projects that
231 build on OpenSRF will be able to flag the minimum required version and
232 bail out early if an older version of OpenSRF has been installed.
234 Signed-off-by: Dan Scott <dan@coffeecode.net>
236 2 2 src/libopensrf/Makefile.am
237 1 1 src/perl/lib/OpenSRF.pm
238 1 1 src/python/setup.py
241 commit ee2c79929aa63ff8d6749da7d10c15ab967d9fd5
242 Author: Dan Scott <dscott@laurentian.ca>
243 Date: Tue May 22 16:45:33 2012 -0400
245 Add "tar" to base prereqs to appease autotools
247 On a minimal install of Fedora 17, I was running into the perplexing
248 error message whilst running 'autoreconf -i':
250 libtoolize: can not copy `/usr/share/libtool/config/ltmain.sh' to `./'
252 This was confusing because a manual copy would, in fact, copy the file
255 http://lists.gnu.org/archive/html/libtool/2009-07/msg00030.html finally
256 lead to enlightenment: autotools uses "tar" to copy files, not "cp".
257 Thus, to avoid similar head-scratching install problems in the future,
258 add "tar" to the base prerequisites for building OpenSRF (both to the
259 DEBs list and the RPMs list).
261 Signed-off-by: Dan Scott <dscott@laurentian.ca>
263 3 1 src/extras/Makefile.install
265 commit 788a396a2b380c5950c09368f85e8d4a79ec2ca8
266 Author: Dan Scott <dan@coffeecode.net>
267 Date: Tue May 22 02:26:04 2012 -0400
269 Update OS support in README / Makefile.install
271 Kick Debian Lenny, Ubuntu Hardy, and RHEL 5 / CentOS 5 to the curb.
273 Also change the name of the README to the more generic & instructive
274 "Installing OpenSRF" rather than "README for OpenSRF #.#.#".
276 Signed-off-by: Dan Scott <dan@coffeecode.net>
282 Signed-off-by: Dan Scott <dan@coffeecode.net>
285 3 243 src/extras/Makefile.install
287 commit 3dd57f268b8b5d39f85139e4c4e5246bd9e2cda5
288 Author: Thomas Berezansky <tsbere@mvlc.org>
289 Date: Wed May 23 10:13:41 2012 -0400
291 Nagios Example Plugin for monitoring services
293 Does not check that all drones in a brick are fully up, just that the
294 entire brick will respond to each service, even if only one drone happens
295 to be running the listener properly (and said listener is responding).
297 Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
298 Signed-off-by: Dan Scott <dan@coffeecode.net>
300 219 0 examples/nagios/check_osrf_services
301 create mode 100755 examples/nagios/check_osrf_services
303 commit e7431d6fa114c35d3dc5b430fbb4bdae99edaa88
304 Author: Bill Erickson <berick@esilibrary.com>
305 Date: Mon Apr 2 14:55:56 2012 -0400
307 Detect and repair multipart/mixed message delivery errors
309 For unknown reasons, the Content-Type header will occasionally be
310 included in the XHR.responseText for multipart/mixed messages. When
311 this happens, strip the header and newlines from the message body and
314 Signed-off-by: Bill Erickson <berick@esilibrary.com>
315 Signed-off-by: Dan Scott <dan@coffeecode.net>
317 33 1 src/javascript/opensrf.js
319 commit 832f166b38acc9c68c9c1fcea1432d2ca881316b
320 Author: Galen Charlton <gmc@esilibrary.com>
321 Date: Mon May 21 17:29:05 2012 -0400
323 fix up index/position type for calls of various osrfList* functions
325 osrfListSet, osrfListRemove, osrfListGetIndex, and osrfListExtract
326 all expect unsigned ints for the index/position parameter.
328 src/jserver is ignored by this commit as its removal is pending.
330 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
331 Signed-off-by: Dan Scott <dan@coffeecode.net>
333 1 1 src/gateway/osrf_http_translator.c
334 2 2 src/libopensrf/osrf_json_tools.c
335 1 1 src/libopensrf/osrf_list.c
336 1 1 src/libopensrf/string_array.c
337 1 1 src/router/osrf_router.c
339 commit bdc4cfe354051e4132d6ffa2da3e0942acb3f780
340 Author: Dan Scott <dan@coffeecode.net>
341 Date: Sat May 5 01:58:22 2012 -0400
343 Remove comparisons that can never evaluate to true
345 Using clang as the compiler results in 4 warnings like the following:
347 osrf_list.c:106:23: warning: comparison of unsigned expression < 0 is
348 always false [-Wtautological-compare]
349 if(!list || position < 0) return NULL;
352 (Explanation: "position" is an unsigned int; thus the comparison to < 0
353 can never evaluate to true).
355 Signed-off-by: Dan Scott <dan@coffeecode.net>
356 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
358 4 4 src/libopensrf/osrf_list.c
360 commit 3aabf1932f93bc6e1e6693001734a1f1bcdbdce0
361 Author: Dan Scott <dan@coffeecode.net>
362 Date: Sat May 5 01:32:25 2012 -0400
364 LP954059: Silence uninitialized var warning
366 Compiling osrf_utf8.c generates the following warning:
368 osrf_utf8.c:510:29: warning: utf8_char may be used uninitialized in this
369 function [-Wuninitialized]
371 So... initialize utf8_char when we declare it, and make the compiler
374 Signed-off-by: Dan Scott <dan@coffeecode.net>
375 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
377 1 1 src/libopensrf/osrf_utf8.c
379 commit 4fe1fdc7d4561e04212444786fd61d95eae69eb0
380 Author: Galen Charlton <gmc@esilibrary.com>
381 Date: Mon May 21 17:02:34 2012 -0400
383 LP# 953299 - defend against null and zero-length cache keys
385 Ignore undefined and zero-length (after key normalization) cache
388 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
389 Signed-off-by: Dan Scott <dan@coffeecode.net>
391 9 2 src/perl/lib/OpenSRF/Utils/Cache.pm
393 commit 3e97b0f69be04957eefa149d06e05111f3ad4291
394 Author: Dan Scott <dan@coffeecode.net>
395 Date: Mon May 21 12:18:41 2012 -0400
397 LP# 953299 - Prevent get/set of invalid cache keys
399 Clients of OpenSRF::Utils::Cache occasionally request cache keys that
400 contain invalid characters (a particular case is ISBNs that contain
401 spaces), so strip those out of incoming get/set requests to avoid ugly
404 Signed-off-by: Dan Scott <dan@coffeecode.net>
405 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
407 25 0 src/perl/lib/OpenSRF/Utils/Cache.pm
408 3 1 src/perl/t/09-Utils-Cache.t
410 commit c6cf4d9b6530f5b8b6bdf95c26db9986656fcce8
411 Author: Dan Scott <dan@coffeecode.net>
412 Date: Mon May 21 12:41:25 2012 -0400
414 .gitignore - ignore more built stuff in fewer lines
416 Use the power of glob to catch more built files that we want to ignore,
417 while simplifying the .gitignore file significantly.
419 Signed-off-by: Dan Scott <dan@coffeecode.net>
423 commit 2c0fb3a9f6aeea9c93846c573ced8d235ec03c7c
424 Author: Dan Scott <dan@coffeecode.net>
425 Date: Mon May 21 11:48:26 2012 -0400
427 Revert inadvertently introduced debugging code
429 In commit 91b8790c, several debugging lines were accidentally committed
430 to the OpenSRF caching utility. Revert that change.
432 Signed-off-by: Dan Scott <dan@coffeecode.net>
434 0 3 src/perl/lib/OpenSRF/Utils/Cache.pm
436 commit f6d38086a42cd6a60d7ed45461d99076cf4d9e5e
437 Author: Dan Scott <dan@coffeecode.net>
438 Date: Tue May 1 22:11:00 2012 -0400
440 Minor cleanups to Java dependency build process
442 While configure.ac still hardcodes the expected location of the Java
443 dependencies (JSON and Memcached classes), we can clean up some of the
444 lower-level challenges with the Java build.
446 * StAX and WSTX were rolled into the core Java environment long ago,
447 so there's no need to download them and even less need to verify
448 that the downloaded version exist.
449 * The Memcached class is now up to 2.0.1, per deps.sh, but the deps.inc
450 file was pointing at 1.5.1.
451 * Speaking of the deps.inc file, nothing seems to use it; delete it.
452 * The Makefile was dying because the variables for the Memcached and
453 JSON classes weren't defined. Define those at the top of the Makefile.
455 Signed-off-by: Dan Scott <dan@coffeecode.net>
457 4 3 src/java/Makefile.am
458 0 5 src/java/deps.inc
459 delete mode 100644 src/java/deps.inc
461 commit d9487c42a1e3432be9fa3da9b2fad2b42d24a645
462 Author: Dan Scott <dan@coffeecode.net>
463 Date: Tue May 1 22:08:23 2012 -0400
465 Clean up root directory: INSTALL, .gitignore, autoreconf
467 * Update the README to avoid running autoreconf with the "-f" flag.
468 * Make the INSTALL file a symbolic link to the README to avoid
469 creating a generic INSTALL file each time autoreconf is run.
470 * Add a .gitignore file that ignores all of the built files.
472 Signed-off-by: Dan Scott <dan@coffeecode.net>
477 create mode 100644 .gitignore
478 create mode 120000 INSTALL
480 commit c4c2d62cdf47ee7e5d02fac44cce5515a77c362c
481 Author: Dan Scott <dan@coffeecode.net>
482 Date: Tue May 1 21:31:38 2012 -0400
484 Change Java deps.sh to include . in CLASSPATH
486 Following the directions given by running deps.sh was a little bit
487 frustrating; we need to work in some documentation on how to use the
488 Java bits of OpenSRF - and perhaps look at a more standard option like
489 maven for dependencies.
491 Signed-off-by: Dan Scott <dan@coffeecode.net>
495 commit d7d8923e98a91c070668a529957d7ee7033529a7
496 Author: Bill Erickson <berick@esilibrary.com>
497 Date: Fri Mar 16 09:56:13 2012 -0400
499 Java Gateway interface improved exception handling
501 Handle any exceptions that should not reasonably occur in normal
502 operation under the covers. Bubble the rest up. Update test code with
505 Signed-off-by: Bill Erickson <berick@esilibrary.com>
506 Signed-off-by: Dan Scott <dscott@laurentian.ca>
508 57 51 src/java/org/opensrf/net/http/GatewayRequest.java
509 16 8 src/java/org/opensrf/net/http/HttpConnection.java
510 41 12 src/java/org/opensrf/net/http/HttpRequest.java
511 5 2 src/java/org/opensrf/net/http/HttpRequestHandler.java
512 50 30 src/java/org/opensrf/test/TestGateway.java
514 commit ad253eb0d67098b69c71141061563b1802f33f97
515 Author: Bill Erickson <berick@esilibrary.com>
516 Date: Thu Mar 15 17:26:16 2012 -0400
518 Java gateway interface test class
520 Signed-off-by: Bill Erickson <berick@esilibrary.com>
521 Signed-off-by: Dan Scott <dscott@laurentian.ca>
523 58 0 src/java/org/opensrf/test/TestGateway.java
524 create mode 100644 src/java/org/opensrf/test/TestGateway.java
526 commit 5b5e28f16be77d9b23a98579d10173103dd907ed
527 Author: Bill Erickson <berick@esilibrary.com>
528 Date: Mon Feb 27 18:05:07 2012 -0500
530 Java HTTP gateway interface
532 Supports sync and async requests. Async requests support onResponse,
533 onComplete, and onError handlers.
535 Supports a max-threads value to limit the number of activately
536 communicating threads over any connection. When max-threads is reached,
537 requests are queued and delivered as soon as there is room.
539 Note that since this is talking to the OpenSRF gateway and not the
540 translater, responses are simply collected and passed one at a time to
541 onResponse. They are not streamed. The goal of supporting onResponse
542 is to provide the same client API for both the gateway and translator.
544 Signed-off-by: Bill Erickson <berick@esilibrary.com>
545 Signed-off-by: Dan Scott <dscott@laurentian.ca>
547 129 0 src/java/org/opensrf/net/http/GatewayRequest.java
548 97 0 src/java/org/opensrf/net/http/HttpConnection.java
549 66 0 src/java/org/opensrf/net/http/HttpRequest.java
550 25 0 src/java/org/opensrf/net/http/HttpRequestHandler.java
551 create mode 100644 src/java/org/opensrf/net/http/GatewayRequest.java
552 create mode 100644 src/java/org/opensrf/net/http/HttpConnection.java
553 create mode 100644 src/java/org/opensrf/net/http/HttpRequest.java
554 create mode 100644 src/java/org/opensrf/net/http/HttpRequestHandler.java
556 commit 85830ce301654e2dfefcd186a2bd63bd3785a967
557 Author: Dan Scott <dscott@laurentian.ca>
558 Date: Mon Apr 23 14:17:35 2012 -0400
560 Remove GNU default INSTALL file
562 GNU autotools generate an INSTALL file that is generic and which
563 conflicts with the instructions given in the README. Installation is
564 already hard enough without conflicting instructions, so delete the
567 Signed-off-by: Dan Scott <dscott@laurentian.ca>
570 delete mode 100644 INSTALL
572 commit bc36b120e78f9fa995856a144b9054e2a0ab1f3e
573 Author: Dan Scott <dscott@laurentian.ca>
574 Date: Mon Apr 23 14:13:37 2012 -0400
576 autotools - do not explicitly include m4 directory
578 Some versions of autotools complain bitterly if an m4 include directory
579 is specified that does not exist.
581 Signed-off-by: Dan Scott <dscott@laurentian.ca>
586 commit 2bdd580e2bcc6660b073b6853dc1544d5c68a6fd
587 Author: Dan Scott <dscott@laurentian.ca>
588 Date: Mon Apr 23 13:45:14 2012 -0400
590 Name the bootstrapping steps in buildbot
592 Signed-off-by: Dan Scott <dscott@laurentian.ca>
594 10 6 examples/buildbot.cfg
596 commit f21b0a5aa647e7303cc0d6d3fb70cadf0e8fc812
597 Author: Dan Scott <dscott@laurentian.ca>
598 Date: Mon Apr 23 13:16:25 2012 -0400
600 Fix buildbot configuration
602 Need to define our tests before they're called; also, can't blindly
603 invoke a step out of the proper scope. Duh.
605 Signed-off-by: Dan Scott <dscott@laurentian.ca>
609 examples/buildbot.cfg
611 55 18 examples/buildbot.cfg
613 commit 4d58c3d24b65f96e0648e37a3f4da82051a58917
614 Author: Dan Scott <dscott@laurentian.ca>
615 Date: Mon Apr 23 12:52:57 2012 -0400
617 Switch to autoreconf instead of autogen.sh
619 Update the buildbot config accordingly to avoid erroneous errors of
622 Signed-off-by: Dan Scott <dscott@laurentian.ca>
626 12 4 examples/buildbot.cfg
627 delete mode 100755 autogen.sh
629 commit 5849a119bd363b152b41ed7a39c787f009412572
630 Author: Dan Scott <dscott@laurentian.ca>
631 Date: Mon Apr 2 16:48:15 2012 -0400
633 Bump version numbers for 2.1.0-RC1 release
635 Also update the ChangeLog with relevant entries.
637 Signed-off-by: Dan Scott <dscott@laurentian.ca>
640 1 1 src/perl/lib/OpenSRF.pm
643 commit 0ed34101e67dc04292f906945dd5752c73985412
644 Author: Dan Scott <dscott@laurentian.ca>
645 Date: Fri Mar 23 13:05:31 2012 -0400
647 Add trailing period, "localhost" to ejabberd.cfg example
649 Thanks to Yamil Suarez for noticing a discrepancy between the older wiki
650 instructions and the README.
652 Signed-off-by: Dan Scott <dscott@laurentian.ca>
656 commit cf4d4798c5949abaf6bc9a4c3a62bf9a6533977b
657 Author: Bill Erickson <berick@esilibrary.com>
658 Date: Wed Mar 14 11:38:18 2012 -0400
660 Prevent undef warnings on perl socket read nbytes test
662 Signed-off-by: Bill Erickson <berick@esilibrary.com>
663 Signed-off-by: Dan Scott <dan@coffeecode.net>
665 1 1 src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
667 commit fff96812ff55cc50374d5a16e7c803fac2c2f2a5
668 Author: Dan Scott <dscott@laurentian.ca>
669 Date: Sun Mar 11 11:22:14 2012 -0400
671 Prepare 2.1.0-alpha1 for release
673 Signed-off-by: Dan Scott <dscott@laurentian.ca>
677 2 2 src/perl/lib/OpenSRF.pm
680 commit f470b55b86fd59f31dd142d8cb55fe812265892e
681 Author: Bill Erickson <berick@esilibrary.com>
682 Date: Mon Feb 20 14:40:30 2012 -0500
684 Detect remote disconnect in Perl XMPP reader
686 When the jabber server severs the connection, it leaves the Perl libs
687 with a socket that perpetually appears ready for reading, but always
688 returns 0 bytes. This produces a loop in the client code. This change
689 detects this situation, logs an error, and throws an exception.
691 Signed-off-by: Bill Erickson <berick@esilibrary.com>
692 Signed-off-by: Dan Scott <dscott@laurentian.ca>
694 13 2 src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
696 commit 974d3a0dd4ddd134033b16bcd9e2fde34302ffd5
697 Author: Dan Wells <dbw2@calvin.edu>
698 Date: Tue Mar 6 15:08:33 2012 -0500
700 Protect gateway from format-string crashes in data
702 As a common security measure, printf-style formatting codes are
703 not allowed to be directly interpreted from a writable segment.
704 The gateway code currently has the following function call:
706 osrfLogActivity( OSRF_LOG_MARK, act->buf );
708 This is a variadic function which expects the 'act->buf' position
709 to contain a format string and any trailing arguments to be the
710 values passed to the formatter. Since act->buf is the value of
711 what we passed in, some data inadvertantly contains format strings,
712 and since it is a writable segment, the program crashes. Here is
713 an example of a crash-causing call:
715 http://localhost/osrf-gateway-v1?service=test&method=test¶m=%22%251n%22
717 The param is interpreted as "%1n" and abruptly fails.
719 The simple solution is to include a formatter so that our param gets
720 demoted to being mere data, i.e.:
722 osrfLogActivity( OSRF_LOG_MARK, "%s", act->buf );
724 Signed-off-by: Dan Wells <dbw2@calvin.edu>
725 Signed-off-by: Dan Scott <dscott@laurentian.ca>
727 1 1 src/gateway/osrf_json_gateway.c
729 commit fd92a859e2ba3eeeaafe4904cd04973eb8cd572b
730 Author: Thomas Berezansky <tsbere@mvlc.org>
731 Date: Wed Mar 7 16:42:21 2012 -0500
733 Stop warning about missing parentheses...
737 Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
739 1 1 src/perl/lib/OpenSRF/Application/Validator.pm
741 commit 8cfa0ae50935176a1574e8f233c8d4d88442c0ad
742 Author: Bill Erickson <berick@esilibrary.com>
743 Date: Thu Feb 16 17:31:29 2012 -0500
745 Refresh child file handles on status read
747 If a child process dies while the parent is attempting to read status
748 information from the child, the pipe connecting the two will be cleaned
749 up. The parent mustn't attempt to read from the dead pipe or it will
750 result in a bad file descriptor error, culminating in a high-cpu
751 infinite loop on the parent (Listener) process.
753 Signed-off-by: Bill Erickson <berick@esilibrary.com>
754 Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
755 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
757 4 3 src/perl/lib/OpenSRF/Server.pm
759 commit 37606bf64f2829258cc612e730782e081e2ac6bb
760 Author: Bill Erickson <berick@esilibrary.com>
761 Date: Fri Jan 13 10:57:59 2012 -0500
763 Python libs for OpenSRF ingress tracking
765 osrf.ses.Session.ingress(ingress)
767 This also set the "srfsh" ingress value for srfsh.py.
769 Signed-off-by: Bill Erickson <berick@esilibrary.com>
770 Signed-off-by: Mike Rylander <mrylander@gmail.com>
772 11 1 src/python/osrf/ses.py
773 2 0 src/python/osrf/stack.py
774 1 0 src/python/srfsh.py
776 commit 26c31a9d5728adbd884a1369034caff41471130b
777 Author: Bill Erickson <berick@esilibrary.com>
778 Date: Fri Jan 13 09:35:18 2012 -0500
780 Set OpenSRF ingress value for srfsh/gateways
782 Sets the "srfsh", "gateway-v1", and "translator-v1" ingress values
785 For the translater, it's necessary to stamp the unpacked messages with
786 the updated ingress, then re-serialize before sending the messages along.
788 Signed-off-by: Bill Erickson <berick@esilibrary.com>
789 Signed-off-by: Mike Rylander <mrylander@gmail.com>
791 18 21 src/gateway/osrf_http_translator.c
792 1 0 src/gateway/osrf_json_gateway.c
793 1 0 src/srfsh/srfsh.c
795 commit 7ec92808fea116ead923e475ad5242a54b688798
796 Author: Bill Erickson <berick@esilibrary.com>
797 Date: Fri Jan 13 09:15:05 2012 -0500
799 C libs for OpenSRF ingress tracking
801 osrfAppSessionSetIngress(<ingress>);
803 Signed-off-by: Bill Erickson <berick@esilibrary.com>
804 Signed-off-by: Mike Rylander <mrylander@gmail.com>
806 5 0 include/opensrf/osrf_app_session.h
807 5 0 include/opensrf/osrf_message.h
808 26 0 src/libopensrf/osrf_app_session.c
809 32 0 src/libopensrf/osrf_message.c
810 4 0 src/libopensrf/osrf_stack.c
812 commit b12de37f9480c68b1c8b033da18c3cc0d0ebc8f0
813 Author: Bill Erickson <berick@esilibrary.com>
814 Date: Thu Jan 12 16:36:16 2012 -0500
816 Perl libs for OpenSRF ingress tracking
818 Ingress is a free-form text value which represents the entry point for
819 the client into the opensrf network. The value is passed within opensrf
820 messages, similar to "locale". Clients should specify the ingress
821 before any opensrf communication occurs.
823 OpenSRF::AppSession->ingress($ingress);
825 Stock values include the following:
832 Signed-off-by: Bill Erickson <berick@esilibrary.com>
833 Signed-off-by: Mike Rylander <mrylander@gmail.com>
835 9 0 src/perl/lib/OpenSRF/AppSession.pm
836 20 1 src/perl/lib/OpenSRF/DomainObject/oilsMessage.pm
837 2 0 src/perl/lib/OpenSRF/Transport.pm
839 commit 67d4d5de8656128f32b20f4c04dbf81a1028e929
840 Author: Dan Scott <dscott@laurentian.ca>
841 Date: Wed Feb 29 10:48:38 2012 -0500
843 Copy opensrf_core.xml.example to a clean opensrf_core.xml file
845 Ben Shum with the assist again.
847 Also, add ~/.srfsh.xml to the definition list of interesting OpenSRF
850 Signed-off-by: Dan Scott <dscott@laurentian.ca>
854 commit 68025993b01cc95f66a0ca723841e1abb406709f
855 Author: Dan Scott <dscott@laurentian.ca>
856 Date: Wed Feb 29 10:42:58 2012 -0500
858 Include explicit instructions to copy the opensrf config files
860 Also noted by the sharp-eyed Ben Shum, we didn't tell people to actually
861 copy opensrf.xml.example / opensrf_core.xml.example, which could lead to
864 Signed-off-by: Dan Scott <dscott@laurentian.ca>
868 commit 75f27021d4b45eebbf52a89a35f96e775f92a207
869 Author: Dan Scott <dscott@laurentian.ca>
870 Date: Wed Feb 29 10:27:36 2012 -0500
872 Update max_user_sessions suggestion to 10000 to match wiki
874 Ben Shum noticed that the README still specified 1000 for
875 max_user_sessions in the ejabberd.cfg file, whereas current larger
876 OpenSRF systems with many services may blow past that limit. Update to
877 match the current wiki specification of 10000.
879 Signed-off-by: Dan Scott <dscott@laurentian.ca>
883 commit 61fdb582dc918a1003351ff25842a23aaff24f71
884 Author: Dan Scott <dscott@laurentian.ca>
885 Date: Wed Jan 4 15:21:36 2012 -0500
887 Remove reference to Fedora specific version in prereq installer
889 Fedora changes every 6 months, so it's probably silly to have a make
890 target of "fedora14" when that is no longer supported by the Fedora
891 project itself. As Fedora has packaged all of the OpenSRF dependencies
892 (thanks, Ben Webb!), in theory it should be supported by the latest
893 releases of Fedora in the future... as long as we don't introduce any
894 dependencies on deprecated versions of packages.
896 Signed-off-by: Dan Scott <dscott@laurentian.ca>
898 2 2 src/extras/Makefile.install
900 commit ba6d4c7cc2988dafb6ca8de2d1f2f93194dcf3b3
901 Author: Dan Scott <dscott@laurentian.ca>
902 Date: Wed Jan 4 15:17:48 2012 -0500
904 Update README to match Evergreen's format
906 Reference the various accounts in use consistently.
908 Correct reference to "fedora" target in Makefile.install.
910 Put the developer preamble up front.
912 Provide more Fedora examples.
914 Do not include leading "#" and "$" in bash examples, to make it easier
915 for people to copy and paste.
917 Include source highlighting instructions and titles for example
920 Signed-off-by: Dan Scott <dscott@laurentian.ca>
924 commit cc7a12f74a9ce4555d5abd8989dfab43290fb41c
925 Author: Bill Erickson <berick@esilibrary.com>
926 Date: Fri Feb 24 16:28:27 2012 -0500
928 Java dependencies update
930 As of Java 6, XML Stax parsing is natively supported. This change
931 removes the external Stax dependencies and updates how the JSON libs are
932 fetched (in deps.sh), which now come from github.
934 Signed-off-by: Bill Erickson <berick@esilibrary.com>
935 Signed-off-by: Dan Scott <dscott@laurentian.ca>
937 17 20 src/java/deps.sh
938 1 4 src/java/org/opensrf/net/xmpp/XMPPReader.java
939 1 4 src/java/org/opensrf/util/XMLFlattener.java
941 commit 07b2eff0a7dfc492afd8e67788eae159c5ab96b7
942 Author: Dan Scott <dscott@laurentian.ca>
943 Date: Tue Feb 21 09:55:57 2012 -0500
945 We're not in Subversion anymore, Dorothy
947 We're in git now, make the README reflect that accordingly. Thanks to
948 Warren Layton for the tip!
950 Signed-off-by: Dan Scott <dscott@laurentian.ca>
954 commit aeeb4acdc8695a640021dbc6902ab3279652583d
955 Author: Bill Erickson <berick@esilibrary.com>
956 Date: Tue Feb 14 09:10:58 2012 -0500
958 Perl parent/child write improvements
960 * Updated variable names for clarity
961 * Added more inline comments
962 * Added additional error logging
963 * For severe read errors, allow the child to gracefully skip the request
965 Signed-off-by: Bill Erickson <berick@esilibrary.com>
966 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
967 Signed-off-by: Mike Rylander <mrylander@gmail.com>
969 25 19 src/perl/lib/OpenSRF/Server.pm
971 commit 08ee4f993fe773e37233b139961cbcdae2fe93b8
972 Author: Bill Erickson <berick@esilibrary.com>
973 Date: Mon Feb 13 16:53:59 2012 -0500
975 Perl pipe reading overhaul : data size header
977 The lockfile mechanism for preventing premature end of reads on child
978 processes suffers from one serious flaw: if the data to write exceeds
979 the pipe buffer size, the parent will block on syswrite and the service
980 will lock up. It's also not as effecient (for the normal case) as the
981 code was without the lockfile, becasue the writes and reads are
984 This commit replaces the lockfile mechanism with a protocol header in
985 the data. The first X (currently 12) bytes of data written to the child
986 process will contain the full length of the data to be written (minus
987 the header size). The child now reads the data in parallel with the parent as
988 data is available. If the child reads all available data (in the pipe)
989 but not all of the expected data, the child will go back into a select()
990 wait pending more data from the parent. The process continues until all
993 This same mechanism is already used to commicate status info from child
994 processes to the parent.
996 Signed-off-by: Bill Erickson <berick@esilibrary.com>
997 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
998 Signed-off-by: Mike Rylander <mrylander@gmail.com>
1000 49 73 src/perl/lib/OpenSRF/Server.pm
1001 1 2 src/perl/lib/OpenSRF/System.pm
1003 commit 04558f38c1c1d314acb978a37193dacb4a6eba31
1004 Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
1005 Date: Fri Jan 27 09:05:07 2012 -0500
1007 JSON_v0 has been superseded, and it has insidious bugs anyway.
1009 For example, you cannot round-trip this through JSON2js() and js2JSON()
1010 in IE8: http://paste.lisp.org/display/127338
1012 This will make Evergreen's build fail until the change specified in
1013 LP #922609 is applied.
1015 Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
1016 Signed-off-by: Bill Erickson <berick@esilibrary.com>
1019 0 135 src/javascript/JSON_v0.js
1020 delete mode 100644 src/javascript/JSON_v0.js
1022 commit 89f41c82798dbac56716fdd5beeb6c0de3e4ce2e
1023 Author: Bill Erickson <berick@esilibrary.com>
1024 Date: Mon Nov 7 17:30:44 2011 -0500
1026 Sync parent/child write/read with lock file
1028 Wrap parent writes to child socket and initial child reads of the
1029 socket in file lock (via flock()) to prevent rare race condition
1030 where child process reads to the end of the data before the parent
1031 has written all bytes.
1033 This create a new lock file on the system, which resides in the same
1034 directory as the pid files. The lock file is created and destroyed by
1035 the opensrf perl mods at service start up and shutdown.
1037 See also https://bugs.launchpad.net/opensrf/+bug/883155
1039 Signed-off-by: Bill Erickson <berick@esilibrary.com>
1040 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1042 1 1 bin/opensrf-perl.pl.in
1043 60 8 src/perl/lib/OpenSRF/Server.pm
1044 3 2 src/perl/lib/OpenSRF/System.pm
1046 commit 3d089bdfd067676f99807f7cb2014e122c4dbf72
1047 Author: Dan Scott <dscott@laurentian.ca>
1048 Date: Mon Dec 12 13:09:13 2011 -0500
1050 Update Perl OpenSRF build and tests for O:A:Validator
1052 Kickstarted by wanting to bring OpenSRF::Application::Validator into the
1053 MANIFEST and testing coverage, I noticed a few other files that needed
1054 to be added to the MANIFEST as well. This gets us closer to acceptable
1055 according to "./Build distcheck"
1057 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1059 1 0 src/perl/Build.PL
1060 22 0 src/perl/MANIFEST
1061 6 1 src/perl/t/01-Application.t
1063 commit 5e1fbcc1c8ae2f969dbeac93fe1da80c008ca42b
1064 Author: Thomas Berezansky <tsbere@mvlc.org>
1065 Date: Fri Dec 9 15:19:12 2011 -0500
1067 OpenSRF Validator Service
1069 Add a new Validator service, and EmailAddress validators.
1071 The service runs a chain of one or more validators, each one being fed the
1072 normalized output of the previous one.
1074 The return from each validator should be a hash of valid (0 or 1), the new
1075 normalized output (the untouched input if invalid or nothing needed to be
1076 changed), and if invalid an error string. Optionally, a validator can also
1077 include an "additionals" hash of extra information to be included in the
1080 The complete list of validators included is:
1082 OpenSRF::Application::Validator::Base
1083 The base validator. Always returns valid.
1084 OpenSRF::Application::Validator::Invalid
1085 Always returns invalid for testing purposes.
1086 OpenSRF::Application::Validator::EmailAddress::Regex
1087 Does a very basic regular expression check on email addresses.
1088 OpenSRF::Application::Validator::EmailAddress::DNS
1089 Uses Net::DNS to look up the domain on an email address
1091 Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
1092 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1094 40 0 examples/opensrf.xml.example
1095 3 0 src/extras/Makefile.install
1096 50 0 src/perl/lib/OpenSRF/Application/Validator.pm
1097 12 0 src/perl/lib/OpenSRF/Application/Validator/Base.pm
1098 96 0 src/perl/lib/OpenSRF/Application/Validator/EmailAddress/DNS.pm
1099 23 0 src/perl/lib/OpenSRF/Application/Validator/EmailAddress/Regex.pm
1100 16 0 src/perl/lib/OpenSRF/Application/Validator/Invalid.pm
1101 create mode 100644 src/perl/lib/OpenSRF/Application/Validator.pm
1102 create mode 100644 src/perl/lib/OpenSRF/Application/Validator/Base.pm
1103 create mode 100644 src/perl/lib/OpenSRF/Application/Validator/EmailAddress/DNS.pm
1104 create mode 100644 src/perl/lib/OpenSRF/Application/Validator/EmailAddress/Regex.pm
1105 create mode 100644 src/perl/lib/OpenSRF/Application/Validator/Invalid.pm
1107 commit b6b64deb16ed3f005d64f99365b0220a82d72431
1108 Author: Jason Stephenson <jstephenson@mvlc.org>
1109 Date: Wed Dec 7 15:08:42 2011 -0500
1111 Support installation for Ubuntu 12.04 Precise Pangolin.
1113 Update the README to include Precise Pangolin as a supported release.
1115 Update src/extras/Makefile.install to install two new debs required on
1116 Ubuntu 12.04 alpha1.
1118 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
1119 Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
1122 15 1 src/extras/Makefile.install
1124 commit 3a4ae77be13349fae180fdc81bcc23e5a93032b4
1125 Author: Dan Scott <dscott@laurentian.ca>
1126 Date: Fri Nov 4 09:42:50 2011 -0400
1128 Add explicit chown command to README
1130 Warren Layton noticed that there was no explicit command to change the
1131 ownership of the files in the /<PREFIX> directory to be owned by
1132 "opensrf", although there was a statement that the files needed to be
1133 owned by "opensrf". To reduce the chance of failure, add the explicit
1136 TODO (for a willing volunteer): teach the installer to change the
1137 ownership at the time the files are installed!
1139 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1143 commit a7be31f137ccf6e2f4522c9a4c690a23b5636db8
1144 Author: Bill Erickson <berick@esilibrary.com>
1145 Date: Fri Oct 28 11:33:24 2011 -0400
1147 Add SIGPIPE retry handling to child data sysread
1149 Similar to the SIGPIPE retry logic wrapped around the parent process'
1150 syswrite call (for sending data to a child process), protect the child's
1151 sysread call (as it reads data from the parent). In pre-2.0, the
1152 sysread step was handled by Net::Server, but now we need to protect it
1155 Signed-off-by: Bill Erickson <berick@esilibrary.com>
1156 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1158 10 0 src/perl/lib/OpenSRF/Server.pm
1160 commit 40a753b10a3db58baa9179d75a76df1266589ea1
1161 Author: Dan Scott <dscott@laurentian.ca>
1162 Date: Wed Oct 19 11:39:41 2011 -0400
1164 LP878284: stop_osrf action should stop, not start, Perl
1166 As reported by Vicent Mas <uvemas@gmail.com> to the Evergreen
1167 developer's mailing list:
1170 It seems I've found a small bug in the
1171 /openils/bin/osrf_ctl.sh script. The line for the osrf_stop action is:
1173 "stop_osrf") stop_python; stop_c; start_perl;;
1177 "stop_osrf") stop_python; stop_c; stop_perl;;
1180 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1182 1 1 bin/osrf_ctl.sh.in
1184 commit 07b5a335656be741353ab70c1d4717dacdbebc1b
1185 Author: Bill Erickson <berick@esilibrary.com>
1186 Date: Tue Oct 18 09:17:10 2011 -0400
1188 Warn when sending very large messages
1190 Depending on configuration, messages of a certain size sent through a
1191 Jabber server will cause the jabber server to disconnect the client.
1192 This change allows admins to configure a message size warning threshold.
1193 When a message meets or exceeds the size threshold, a warning is issued
1194 to the logs with the message size (in bytes) and the message recipient.
1195 It does not prevent the message from being delivered. It's purely
1198 Use 1 800 000 as the default threhold.
1200 Signed-off-by: Bill Erickson <berick@esilibrary.com>
1201 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1203 3 0 examples/opensrf_core.xml.example
1204 11 1 src/perl/lib/OpenSRF/Transport/SlimJabber/Client.pm
1206 commit ffb8bb73a2f505cfda9d8b97fab1f82aa3fb7097
1207 Author: Dan Scott <dscott@laurentian.ca>
1208 Date: Sat Sep 10 12:22:08 2011 -0400
1210 Fix README typo: 'mod_offlinex'
1212 mod_offline is not that x-treme.
1214 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1218 commit 0725d1ddced0f16c351a5953f5fd3c14714cda1a
1219 Author: Dan Scott <dan@coffeecode.net>
1220 Date: Thu Aug 25 11:41:19 2011 -0400
1222 Don't define a variable inside a conditional block
1224 ./configure --disable-core --enable-javascript was dying with an error
1225 due to CHECK_TESTS not being defined; move it outside the conditional
1226 block so that we can ensure that it is defined as either yes or no.
1228 Signed-off-by: Dan Scott <dscott@laurentian.ca>
1232 commit b24e90f1a1b1f2309ca3cdf0728cdd54f7822597
1233 Author: Dan Scott <dan@coffeecode.net>
1234 Date: Mon Aug 22 09:49:45 2011 -0400
1236 Make distro targets in README match Makefile.install
1238 Swap ubuntu-karmic for ubuntu-lucid and pull fedora14 as it is really
1239 close to end of life.
1241 Signed-off-by: Dan Scott <dscott@laurentian.ca>