1 commit 0a469559782c8e79e489e3fa003f90c7c92d51bf
2 Author: Galen Charlton <gmc@equinoxinitiative.org>
3 Date: Thu Feb 16 15:32:13 2017 -0500
5 add release notes for OpenSRF 2.4.2
7 Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
9 28 0 doc/RELEASE_NOTES.txt
11 commit e72a15842c10d4c2288323ede92f38d4b4b41794
12 Author: Galen Charlton <gmc@equinoxinitiative.org>
13 Date: Wed Feb 15 16:58:06 2017 -0500
15 LP#1652382: more improvements to cache key munging
17 - teach osrfCacheRemove to clean keys
18 - fix implict declaration compilation warning
19 - account for fact that iscntrl('\0') returns true
21 Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
22 Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
24 5 2 src/libopensrf/osrf_cache.c
26 commit c1eae17ad8b61d62ad6795ca3cd01347c39c7903
27 Author: Galen Charlton <gmc@equinoxinitiative.org>
28 Date: Wed Feb 15 14:12:34 2017 -0500
30 LP#1652382: handle cases where supplied key is longer than 250 bytes
32 With this patch, if cache clients want to use a key longer
33 than the memcached text protocol limit of 250 bytes, the
34 key is normalized to 'shortened_' + md5_hex(normalized_key).
36 Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
37 Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
39 10 1 src/libopensrf/osrf_cache.c
40 4 0 src/perl/lib/OpenSRF/Utils/Cache.pm
42 commit b2ed8ef36baa1242448beae89ffe51a98f8175d1
43 Author: Mike Rylander <mrylander@gmail.com>
44 Date: Mon Jan 30 12:54:10 2017 -0500
46 LP#1652382: Make use of the clean key just created
48 Signed-off-by: Mike Rylander <mrylander@gmail.com>
49 Signed-off-by: Kathy Lussier <klussier@masslnc.org>
50 Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
51 Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
53 1 1 src/libopensrf/osrf_cache.c
55 commit f608444010fff1b4b6da06b5ec49df643218b005
56 Author: Mike Rylander <mrylander@gmail.com>
57 Date: Fri Jan 27 15:25:05 2017 -0500
59 LP#1652382: normalization of memcache keys in C code
61 Memcache does not allow spaces in keys, so here we will actively strip them
62 from any key we get from a caller. Some callers are not very proactive about
63 sending clean keys, and this patch prevents issues that can poison C-based
64 OpenSRF service backends.
66 Signed-off-by: Mike Rylander <mrylander@gmail.com>
67 Signed-off-by: Kathy Lussier <klussier@masslnc.org>
68 Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
69 Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
71 20 2 src/libopensrf/osrf_cache.c
73 commit da98d30ca754a5a9bacb09982f8cad9c053a3105
74 Author: Galen Charlton <gmc@esilibrary.com>
75 Date: Thu Dec 22 15:53:12 2016 +0500
77 LP#1652122: fix infinite recursion in opensrf.system.method.all
79 Under certain circumstances, calling opensrf.system.method.all on a
80 Perl service can result in an infinite recursion when attempting to
81 serialize an OpenSRF::Application object to JSON. In particular,
82 this was observed to happen when doing an introspection of
83 the opensrf.settings service.
85 This patch avoids the infinite recursion (and consequent memory
86 leak) by ensuring that the 'session' key is slated for exclusion
87 from serialization from OpenSRF::Application objects during
90 Note that the problem does not affect all Perl services; if a
91 Perl service declares at least one streaming method, the auto-registration
92 of the .atomic method will result in 'session'-stripping.
94 This patch fixes a regression introduced in bug 1350457.
98 [1] Run 'introspect opensrf.settings' via srfsh; observe
99 that it never returns and that the opensrf.settings drone
100 will grow in memory sized until killed.
101 [2] Apply the patch, then repeat step 1. This time, the
102 request should succeed.
104 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
105 Signed-off-by: Mike Rylander <mrylander@gmail.com>
107 1 1 src/perl/lib/OpenSRF/System.pm
109 commit 5bd88d39d7d22e6deee85952f1dc827c138095c4
110 Author: Galen Charlton <gmc@esilibrary.com>
111 Date: Fri Mar 18 10:59:11 2016 -0400
113 LP#1559121: remove Debian Squeeze support
115 Now that Debian Squeeze's LTS (long-term support) period
116 has ended, Evergreen no longer offers community support
117 for that distribution. This patch removes references
118 to Squeeze from the installation scripts and documentation.
122 [1] Verify that Debian Squeeze is no longer referenced in
123 the installation documentation.
125 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
128 1 14 src/extras/Makefile.install
130 commit 65ed54c4dc713919756644d3873f8fa7d851b427
131 Author: Galen Charlton <gmc@esilibrary.com>
132 Date: Thu Feb 4 13:09:48 2016 -0500
134 LP#1350457: add test case for perl2JSONObject change
136 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
138 4 1 src/perl/t/09-Utils-JSON.t
140 commit 675c7a693d9a5d4f228d7b7ca5fe3b3f7fd62214
141 Author: Mike Rylander <mrylander@gmail.com>
142 Date: Wed Jul 30 13:29:46 2014 -0400
144 LP#1350457: Pass caller's session to subrequests called via method_lookup
146 In the process of looking up a method for an internal subrequest, we lose
147 session info. This is a problem when the subrequest makes a remote request,
148 because then the subrequest can't look up the proper locale, among other
149 things. The forthcoming branch passes the caller's session to the subrequest.
151 This patch also teaches OpenSRF object registration how to strip certain
152 object members -- in particular, the session -- so that introspection
155 Signed-off-by: Mike Rylander <mrylander@gmail.com>
156 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
158 9 4 src/perl/lib/OpenSRF/Application.pm
159 8 1 src/perl/lib/OpenSRF/Utils/JSON.pm
161 commit b484a31c413a017c6b7409f3f101636f68c08c9a
162 Author: Jason Etheridge <jason@esilibrary.com>
163 Date: Tue Jul 14 14:54:27 2015 -0400
165 LP#1474507: fix interval_to_seconds for weeks and seconds
167 This patch fixes an issue where OpenSRF::Utils::interval_to_seconds()
168 was not recognizing intervals expressed as seconds or weeks.
170 Signed-off-by: Jason Etheridge <jason@esilibrary.com>
171 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
173 2 2 src/perl/lib/OpenSRF/Utils.pm
175 commit 61e6732111db9389038bce1b1f6f655b619fdc86
176 Author: Jason Etheridge <jason@esilibrary.com>
177 Date: Tue Jul 14 15:10:15 2015 -0400
179 LP#1474507: tests for interval_to_seconds
181 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
183 16 0 src/perl/t/09-Utils-interval_to_seconds.t
184 create mode 100644 src/perl/t/09-Utils-interval_to_seconds.t
186 commit 8f6923efc2c632548f860a9aaabd92fdf2545437
187 Author: Mike Rylander <mrylander@gmail.com>
188 Date: Thu Sep 10 16:56:13 2015 -0400
190 LP#1494486: Limit damage caused by dropped drone XMPP sockets
192 It is apparently possible for drones to get into a state where their XMPP
193 socket is closed but they don't notice. This is bad because the drone can
194 continue to receive requests from its listener but can no longer respond
195 to them. To limit the pain this can cause, we should kill the drone as soon
196 as we notice this condition.
198 To avoid overhead, this commit notices when the socket returns an error (or
199 raises a signal, in Perl) upon write, and exits immediately. One message
200 will be lost, but the drone will no longer be a black hole that does nothing
201 but absorb requests it can never fill.
205 [1] Start an OpenSRF stack and look for a drone process.
206 [2] Use lsof to identify which socket that drone is using
208 [3] Use gdb to attach to the process and close the socket, e.g.,
211 (gdb) p close(11) # or whatever the socket number was
214 [4] Use srfsh to make requests of that service. Eventually, one
215 of them will hit the drone.
216 [5] Sans patch, the request will get handled by the drone, but
217 the results will never get sent, and the drone will remain
218 available to handle other requests.
219 [6] With the patch, the drone will exit when it discovers that it
220 can no longer write to the XMPP socket.
222 Signed-off-by: Mike Rylander <mrylander@gmail.com>
223 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
225 4 2 src/libopensrf/osrf_app_session.c
226 5 0 src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm