Commit Graph

54 Commits

Author SHA256 Message Date
Yan Gao
b0d292f8cb Accepting request 390203 from home:yan_gao:branches:network:ha-clustering:Factory:Test
- further avoid magic in qblog.h by using named constants
- defs: add wrappers over preprocessor operators
- Upstream version cs: 6f2b3e85d0315288ee76869b99369e2b1f2f1b71

- Update to version 1.0.0
- build: update library soname to 0.18.0
- build: enable syslog tests when configuring in spec
- log: allow changing the identifier for syslog (+tests)
- ipc: return -errno when getsockopt/setsockopt fail
- ipc: set socket buffer size used by ipcs service
- ipc: set socket receive buffer
- includes: format __attribute__ func. annotations in qblog.h
- spec cleanup: get rid of redundant %clean section
- ipc: set gid on unix sockets
- lib: store server peer credentials in qb_ipcc_connection
- lib: create mmap files in socket directory
- includes: Fix format string
- ipc: Prevent fd and memory leaks in handle_new_connection() (bsc#947341)
  * Drop bug-947341_libqb-ipc-fd-memory-leaks.patch which has been merged upstream
- Upstream version cs: 6fc24f855bfc8dadb4c84bf823b225680670b1c3 (v1.0)

OBS-URL: https://build.opensuse.org/request/show/390203
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=71
2016-04-15 14:10:29 +00:00
Yan Gao
581ca04095 Accepting request 337267 from home:yan_gao:branches:network:ha-clustering:Factory:Test
- ipc: Prevent fd and memory leaks in handle_new_connection() (bsc#947341)
 * bug-947341_libqb-ipc-fd-memory-leaks.patch

- log: don't call dlopen inside dl_iterate_phdr()
- ipc: Don't send the dispatch_del() function a closed fd
- Upstream version cs: 1a7ea3b8d8bf9d5ffbbfdc785ace2b81e9f2356d

OBS-URL: https://build.opensuse.org/request/show/337267
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=69
2015-10-09 11:34:33 +00:00
Yan Gao
f09d48bc14 Accepting request 327756 from home:yan_gao:branches:network:ha-clustering:Factory:Test
- Update to version 0.17.2 (bsc#943486)
- ipcc: valgrind "invalid file descriptor" warning
- ipc: Increase the length of description field.
- Upstream version cs: 4d817cc7e0b620acda8cc45266dc085c5bf48c59

OBS-URL: https://build.opensuse.org/request/show/327756
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=67
2015-08-28 14:18:12 +00:00
Yan Gao
6acf00e8aa Accepting request 311415 from home:yan_gao:branches:network:ha-clustering:Factory:Test
- log: Implement "extended" logging using a marker character
- Upstream version cs: 35faa45558b0ae44e3a244fbd3e8f9405d535526

- loop: fixes resource starvation in mainloop code (bsc#929835)

OBS-URL: https://build.opensuse.org/request/show/311415
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=65
2015-06-10 09:24:10 +00:00
Yan Gao
4331914d33 - Upstream version cs: c3bcf25b72bf451c2ef79ec3946a1c48077a50a0
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=63
2015-04-30 12:32:08 +00:00
Yan Gao
14a68be76a - loop: fixes resource starvation in mainloop code
- Upstream version cs: 3a9cc7898017fdc6f1ff580a6ac4cf8f4b28e5fd

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=62
2015-04-21 14:41:11 +00:00
Yan Gao
13e848992f - ipc_setup: yield to scheduler during new connection auth processing
- kqueue: The udata member of the kevent struct is a void *
- Upstream version cs: 83552692aa5425e50049b130eb2e17ea7b31217d

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=60
2015-03-09 16:13:04 +00:00
Yan Gao
331a3a2ce9 Update _service
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=59
2014-11-12 12:31:25 +00:00
Yan Gao
a3c6d158a6 - Bump release version to 0.17.1
- check_ipc.c: improve error checking during ipc stress tests
- ipcs: Correctly allocate receive buffer size
- ipc_socket: Signalhandler must be resetted to Default, use only cleanup_sigpipe to return from qb_ipc_dgram_sock_setup.
- trie: allow modifying the trie map during the notify callback
- Upstream version cs: 3f7de657855bb9fb4e58777851735bf663fa7f3f

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=57
2014-10-21 10:20:09 +00:00
Yan Gao
bf1676d891 Add baselibs.conf as a source in libqb.spec
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=55
2014-08-08 05:02:56 +00:00
Yan Gao
006613ec71 - log: return filter type enum to preserve abi compatibilty with corosync
- Upstream version cs: e5b8950863b92b314675ba0cbba13f00b8b77c52

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=54
2014-07-28 06:30:50 +00:00
Yan Gao
81ff663055 - epoll: don't miss poll events under high load
- ipc_shm: fix error handling in qb_ipcs_shm_connect()
- ringbuffer: fix size in qb_rb_create_from_file()
- trie: cleanup ref count logic in trie_notify_del
- ipcs: Cleanup unnecessary reference counting
- Upstream version cs: b103e1ae61f6fc288cfb228344f24508adaaba9a

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=53
2014-07-01 09:11:14 +00:00
Yan Gao
036d2317bc - ipcc: Properly timeout during recv when timeout value is provided
- Upstream version cs: c6f4fcd778248c41e5b108159d00cf1798a296d4

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=51
2014-03-21 06:39:03 +00:00
Yan Gao
fe4f0698c2 - Bump version to 0.17.0
- ipc_socket: further optimize max msg size calculations for fbsd portability tests
- ipc_socket: Allow socket max msg size to be calculated more accurately
- Upstream version cs: 78978d07ac2f19a801ebde61379ac55359cc17f3

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=49
2014-02-20 11:45:10 +00:00
Yan Gao
c998d1a12a - ipcs: Prevent ipc server use after free.
- Upstream version cs: 29bbe615b5fe6da17db3d6774df557960ae78bbb

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=47
2014-02-08 15:28:13 +00:00
Yan Gao
f441a35d27 - ipc: Remove ipc connection reference given to dispatch functions (bnc#857779)
- ipc: Fixes memory leak in server connection accept when client partially connects (bnc#857779)
- Upstream version cs: d9706f75619976e334a109d0dbfdeac3b1074fe4

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=45
2014-01-17 13:41:13 +00:00
Yan Gao
af46782bef - IPC: Increase the listen backlog of IPC server (bnc#857779)
- Upstream version cs: b579f7af151f453a870bbaac037084df13b45ef9

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=43
2014-01-09 15:50:46 +00:00
Yan Gao
59139f7879 - New api function to retrieve client buffer size
- Enforce buffer size limits on the server side
- Filter logs using regex patter on function, format, or filename
- Upstream version cs: b09473fd4a03b4434efd44408f7ae631a855f9cd

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=41
2013-11-25 14:34:35 +00:00
Yan Gao
d88711667b - Add libqb-configure-package-version.patch
* Build: Generate PACKAGE_VERSION according to the basename of the top directory

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=40
2013-11-16 13:20:10 +00:00
Yan Gao
35afa52046 Tweak of _service file
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=39
2013-11-15 17:06:06 +00:00
Yan Gao
6e9674bfb6 Disable _service services to be acceptable for factory. To update tar, run osc service dr
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=38
2013-11-15 16:46:01 +00:00
Yan Gao
29e2884d1c Accepting request 207059 from home:yan_gao:branches:network:ha-clustering:Factory
Enable source service

OBS-URL: https://build.opensuse.org/request/show/207059
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=37
2013-11-15 15:39:14 +00:00
Yan Gao
2271cf52d9 More tweak of _service file
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=36
2013-11-15 04:11:46 +00:00
Yan Gao
6dff22b335 More tweak of _service file
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=35
2013-11-15 03:42:17 +00:00
Yan Gao
052f999013 Tweak of _service file
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=34
2013-11-15 03:29:05 +00:00
Yan Gao
41dc6384d1 uildRequires: xz
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=33
2013-11-14 15:55:40 +00:00
Yan Gao
9608d0688f Accepting request 206900 from home:yan_gao:branches:network:ha-clustering:Factory
Use the tarball_version for rpm version: 0.16.0.21 -> 0.16.0.21.b4c3

OBS-URL: https://build.opensuse.org/request/show/206900
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=32
2013-11-14 15:05:25 +00:00
Yan Gao
b37e036a23 Change the version from 0.16.0 to 0.16.0.21
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=30
2013-11-12 03:56:11 +00:00
Yan Gao
c799b3fc7b - ipc_setup: Set SO_PASSCRED on listener socket
- log: Filtering by function and file must match exactly, no substring matches
- blackbox: Abort blackbox logging on ringbuffer overwrite reclaim error
- ipcs: Api function allowing server to retrieve client connection's ipc buffer size
- ringbuffer: Abort during chunk reclaim if OVERWRITE flag is set and reclaim fails.
- blackbox: unique blackbox ringbuffer files per pid
- ipc_socket: Fixes fd leak in socket ipc client disconnection
- Detect the max signal value that can be used using NSIG macro
- Avoid double-decrement of level->todo
- Upstream version cs: b4c36efff8b91f287da87590911a01184243cf64

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=29
2013-10-23 15:35:46 +00:00
Yan Gao
4561bf02d7 Accepting request 200380 from home:yan_gao:branches:network:ha-clustering:Factory
- Add baselibs.conf

OBS-URL: https://build.opensuse.org/request/show/200380
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=27
2013-09-24 13:14:02 +00:00
Yan Gao
570d5b039c - Bump version to 0.16.0
- ipc_socket.c: Detect EOF connection on connection STREAM socket
- ipc_socket.c: Handle the unlikely event of an EAGAIN or EINTR during dgram max size detection
- Fixes sem leak
- Fixes less-than-zero comparision of unsigned int
- Fixes double fd close
- Fixes fd leak
- Fixes use ater free in shm disconnect
- Fixes use after free during ipcs client disconnect
- ipcc: Add abilty to verify dgram kernel buffer size meets max msg value
- Upstream version cs: 75f7ed373758b3cb9087e89e4fae17379dd7b483 (v0.16.0)

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=25
2013-07-26 01:59:17 +00:00
Yan Gao
4fce676b4f - ringbuffer: Make max_size of ringbuffer accurate so shm ipc max msg size value is honored
- ipcs: For shm ipc, always retry outstanding notifications when next event is sent
- ipc_socket: In fbsd send() returns ENOBUFS when dgram queue is full, this should be treated similar to EAGAIN
- kqueue: Properly enable kqueue filter in poll loop
- ipcs: Attempt to resend outstanding event notifications during event send
- ipcs: Disconnect shm ipc connection when poll socket returns error on msg receive
- ipcs: Properly disconnect client connection on POLLNVAL or any other error causing connection removal from mainloop.
- Upstream version cs: 39e9ef542dc89893c7c5af4fbd539338266e8031

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=24
2013-07-22 08:19:09 +00:00
Stephan Kulow
133518516a Accepting request 182126 from network:ha-clustering:Factory
supersede

OBS-URL: https://build.opensuse.org/request/show/182126
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqb?expand=0&rev=1
2013-07-08 05:18:10 +00:00
Yan Gao
a6daabc3ab Accepting request 181752 from home:coolo:branches:openSUSE:Factory
- disable _service services to be acceptable for factory. To
  update tar, run osc service dr

OBS-URL: https://build.opensuse.org/request/show/181752
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=22
2013-07-02 14:41:55 +00:00
Yan Gao
fae77086c1 - Simplify internal ipcs ref counting, add comments and document api behavior
- Simplifies connection ref counting without changing behavior
- Fix: refcount leak
- Fix: ringbuffer: Add file header version field and detect reading corrupted blackbox files using hash value
- fix a problem when the character string beyond the number of the maximum characters is passed
- Add a IPC service context pointer and accessors from both the connection and service level.
- ringbuffer: use atomic ops on ringbuffer chunk magic
- IPC: make each connection ref the owning service
- Indicate when/why qb_rb_force_close() fails to remove share memory files
- Deal better with corrupt blackbox files.
- Upstream version cs: 7c6e109046ec772a97a7fe2cdf61f84fc2155b7e

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=21
2013-07-02 10:51:11 +00:00
Yan Gao
59e9f8877e - IPC: fix the connection state checking
- LOG: copy the function/filename for dynamic callsites
- Properly discover SO_NOSIGPIPE and MSG_SIGNAL
- IPC: fix call to QB_SUN_LEN
- list: don't splice empty lists onto the head.
- Upstream version cs: 258e86583ecd2437161211b9d70bc69229630e7e

- Upstream version cs: 31d9f0900db728cfe182799b61b05759a6a26e8b

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=20
2013-03-28 09:46:57 +00:00
Yan Gao
bc44b215b8 - rpl_sem: make destroy more compliant
- RB: make the "sem" abstraction into a notifier
- Use dgram sockets for message oriented communications
- IPC: don't interpret EMSGSIZE and ENOMSG as a disconnect
- POLL: prevent a spin if the fd is not removed from the mainloop
- Upstream version cs: 2125310c935420945d419ab62b149b32b2c14d87

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=19
2013-02-25 08:23:07 +00:00
Yan Gao
77172770a5 - IPC: make sure we return a consistent error when the message is too big.
- Upstream version cs: 9d2eca251bdd1833889f42f4e60238c4c774906e

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=18
2013-02-08 17:31:09 +00:00
Yan Gao
5af9533c47 - Bump the version to 0.14.4
- LOG: prevent the last char of the blackbox message from getting lost.
- Add the processing which remove notifier at skiplist_destroy function
- Add the processing which remove hash node and notifier at hashtable_destroy function
- Upstream version cs: 848242a7860c5a7e19240c2ded053fa9908af9e0

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=17
2013-01-18 05:16:53 +00:00
Yan Gao
e767bcb090 - Fix return code which is an error occurred at pthread function
- LOG: fix truncation in some messages that get padded.
- Fix the blackbox formatter when specifing the string len/precision
- Fix strlcpy and strlcat functions
- IPC: don't over log on disconnect
- LOG: Make sure we don't use the format string whilst it is getting changed.
- Upstream version cs: eceee03a7bc4962a0b136c38344c7e0c16908489

- ptrie: deref the current node in trie_iter_free()
- LOG: fix the format comparison to avoid generating multiple entries.
- LOG: set the return code when calloc fails
- Upstream version cs: 813dfb5fd2bce6ac1353b03b5bed3a7eb46dc278

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=16
2013-01-11 13:35:53 +00:00
Yan Gao
0181d312de Bump version number to 0.14.3
Update description

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=15
2012-11-20 04:54:44 +00:00
Yan Gao
63c7a069bb - Bump the version to 0.14.3
- IPC: call poll if we are mid message and get EAGAIN
- Make sure that mmap'ed files smaller than a page size are written to.
- IPC: Pass the timeout to poll() if the recv function returns EAGAIN
- LOG: make the format comparison safe and sane
- LOG: don't break on empty callsites, just ignore them
- LOG: use the array callback to register new callsites
- array: add a mechanism to get a callback when a bin is allocated
- Fix a crash in ptrie if you iterate over the map in the deleted notifier.
- Make sure atomic's are initialized (for non-gcc atomic).
- ipc_us: slightly more robust cmsg handling
- ipc_us: on Linux, set SO_PASSCRED on the sending socket too
- blackbox: fix 64-bit big-endian issues
- RB: change the #error to ENOTSUP if no usable shared process sem
- LOG: Make sure the semaphores are initialized.
- Upstream version cs: 709b32de434ec157ec2a73153e58ffec186ae660

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=14
2012-11-16 06:52:27 +00:00
Yan Gao
49c9c6455e - Bump the version to 0.14.1
- RB: set the new read pointer after clearing the header.
- RB: if read or peek don't get the message then re-post to the semaphore
- IPC: use calloc instead of malloc to fix valgrind warnings
- Upstream version cs: 11b20e19beff7f1b6003be0b4c73da8ecf936442

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=13
2012-07-20 04:14:00 +00:00
Tim Serong
c973fd00c1 - Bump the version to 0.14.0
- Upstream version cs: 1c2b77f005a8011471af11839b7e1b67d147e10d

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=12
2012-06-25 10:47:32 +00:00
Yan Gao
5988a93d5e - LOG: fix threaded logging.
- Add user control of the permissions that are set on the shared mem files 
- Upstream version cs: b9f8ec34dfc25eb52f520fe76d8f97fe58da4dee

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=11
2012-06-21 09:33:04 +00:00
Tim Serong
c6257944a2 Rejig spec so the main package doesn't have the SONAME
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=10
2012-06-08 13:22:31 +00:00
Tim Serong
423a7ac102 Move qb-blackbox manpage to libqb package
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=9
2012-06-08 13:11:48 +00:00
Tim Serong
1f0c3d61da Rename spec to match package name
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=8
2012-06-08 13:07:29 +00:00
Tim Serong
89eedddb57 Conditional make check, use %{buildroot} not $RPM_BUILD_ROOT
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=7
2012-06-08 12:30:33 +00:00
Tim Serong
eccb5a73c5 Include git metadata in tarball, use git to extract version
OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/libqb?expand=0&rev=6
2012-06-08 12:05:31 +00:00