Adam Malinowski [Wed, 6 Aug 2014 13:12:15 +0000 (15:12 +0200)]
Move user and group creating section from %post to %pre scriptlet
This change is needed for creating cynara local state directory
with proper user and group.
Change-Id: I50d353f7fee1e352c7377a8902a237519c0a6491
Adam Malinowski [Mon, 4 Aug 2014 12:12:13 +0000 (14:12 +0200)]
Change default virtual destructor from '= default' to '{}'
'= default' seems to be problematic. Some compilers give error:
"declared virtual cannot be defaulted in the class body".
Change-Id: Iaca3a70f64e45309430bc010883a87fcdc536d1b
Adam Malinowski [Mon, 4 Aug 2014 12:09:56 +0000 (14:09 +0200)]
Add 'class' keyword in friend class declaration
Change-Id: I1a63573faf35313b600439678198112cd9a6dcd9
Adam Malinowski [Mon, 4 Aug 2014 12:02:20 +0000 (14:02 +0200)]
Change member initialization
This change is needed by other compilers to build without error.
Change-Id: I38826a3c72fed96f948ad1b1eaf9735bd3f5b99f
Adam Malinowski [Mon, 4 Aug 2014 11:43:17 +0000 (13:43 +0200)]
Add missing include in InMemoryStorageBackend.cpp file
Change-Id: I82e40449ce7f797d656482af39749d6879298860
Adam Malinowski [Mon, 4 Aug 2014 11:39:33 +0000 (13:39 +0200)]
Fix format string concatenating in log message
Change-Id: I945ca6a4fcc80ff83415b285b761369356757e6a
Lukasz Wojciechowski [Fri, 1 Aug 2014 10:29:02 +0000 (12:29 +0200)]
Release version 0.2.0
Change-Id: Ied0ad56182536bbd0012bc3bf68f7ec3ea1dcc6f
Aleksander Zdyb [Fri, 1 Aug 2014 07:45:16 +0000 (09:45 +0200)]
Disallow pointing to nonexistent buckets
Storage::insertPolicies() now cares, if bucket pointed
by inserted policies exists.
Change-Id: I113de2ead6ae17d18eb9a5928ef0181bee2f67d3
Lukasz Wojciechowski [Thu, 31 Jul 2014 16:13:37 +0000 (18:13 +0200)]
Handle SIGPIPE more elegant way
Remove SIGPIPE ignoring in libraries. Use send with MSG_NOSIGNAL
instead of write in libraries Socket classes.
Change-Id: I2876d0ae80a21c7e2e3314f718c974cb7a1d389f
Lukasz Wojciechowski [Thu, 31 Jul 2014 15:35:49 +0000 (17:35 +0200)]
Check if connection to cynara is valid
Change-Id: I1a406ce6aa092cc75f452493ec22996e675a57ea
Lukasz Wojciechowski [Thu, 31 Jul 2014 14:36:13 +0000 (16:36 +0200)]
Disconnect all clients from cynara when policy rules change
All actions that should be run when cynara policies change
are grouped in onPoliciesChanged() function.
Change-Id: I30687fc35258b448fcccc2d54955b57d8cbc82af
Lukasz Wojciechowski [Thu, 31 Jul 2014 14:33:17 +0000 (16:33 +0200)]
Add disconnectAllClients() function in SocketManager
Function disconnects all clients connected to client interface socket.
Boolean field m_client and accessor methods are added to Descriptor
class to distinguish client connections from other.
Change-Id: Ic3cc382fa3056153e25df05ed8c0eba2872adf7f
Lukasz Wojciechowski [Thu, 31 Jul 2014 13:12:14 +0000 (15:12 +0200)]
Change enum to defines in libcynara-client
This change makes client API functions compatible with return type.
Change-Id: I3973b66e27060dbc4c9374840de5182bde314121
Zofia Abramowska [Thu, 17 Jul 2014 12:38:56 +0000 (14:38 +0200)]
Change cache interface and add simple implementations
Change CacheInterface so it supports different plugins
Implement naive plugin
Implement class responsible for getting values from server
Change-Id: I8ca21a65ec9b9dfcbc922270d2b1351797bbd92d
Lukasz Wojciechowski [Wed, 30 Jul 2014 15:39:10 +0000 (17:39 +0200)]
Remove dependency to security-server
Dependencies are relict of first cynara version that used
security-server for checking privileges in libprivilege-control
database.
Change-Id: Iaa61370e048a824e4a5b09975f2349f0f915c847
Aleksander Zdyb [Thu, 31 Jul 2014 14:49:12 +0000 (16:49 +0200)]
Fix build break on DEBUG dbuild type
Build was breaking during compilation with DEBUG option.
snprintf was dropped and ostringstream is now used.
Thanks to that we do no need to cast unw_word_t to void* during printing.
To verify this check build with '--define "build_type DEBUG"' flag
without and with this commit.
Change-Id: I92f7b85873df2ea25c050f5b4949a6c6562535f7
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
Aleksander Zdyb [Thu, 31 Jul 2014 13:01:13 +0000 (15:01 +0200)]
Implement a better data structure to store policies
A new map-based structure was used to store policies
in Cynara::PolicyBucket. This allows policy checks
to be much faster.
PolicyBucket interface was changed, so the operation
required a lot of refactorings across many storage classes.
Most of functions are now simpler, clearer and decoupled
from each other. Tests has been adjusted. No public API changes
were required.
Change-Id: Ida9dc8eb31120b27cf9547e56840dd27390de247
Aleksander Zdyb [Thu, 31 Jul 2014 12:35:39 +0000 (14:35 +0200)]
Add Cynara::PolicyKeyHelpers
PolicyKeyHelpers is an utility class holding
helper functions to manage policy keys.
Change-Id: I2f9195d62fc22809989890b0914f385b1c05d0b6
Adam Malinowski [Mon, 28 Jul 2014 09:24:21 +0000 (11:24 +0200)]
Make protocol() method const in Descriptor class
Change-Id: Ic4d14c09af552c9a675f1f2f7fe6c696277b7010
Adam Malinowski [Mon, 28 Jul 2014 09:00:14 +0000 (11:00 +0200)]
Make few methods static in Cynara and SocketManager classes
This change is due to cppcheck report.
Change-Id: Ib163bc4294d4afdf3742564a7fd0d4bf7a81304f
Adam Malinowski [Mon, 28 Jul 2014 08:31:17 +0000 (10:31 +0200)]
Remove unused bucket visitor mechanism from BinaryQueue class
Change-Id: I0601ad50a6bb3ab9e1eba6323ba74faa1f07f51f
Adam Malinowski [Tue, 22 Jul 2014 09:11:02 +0000 (11:11 +0200)]
Add SIGPIPE ignoring in client and admin libraries
Change-Id: I485dee789cc3916256affea310b7bd288200eec6
Adam Malinowski [Tue, 22 Jul 2014 09:27:30 +0000 (11:27 +0200)]
Enable logs in admin library
Change-Id: Ib54497540ce9bb61e98e9cb50317bc71ccbb8ffa
Aleksander Zdyb [Fri, 25 Jul 2014 08:25:56 +0000 (10:25 +0200)]
Fix Cynara::PolicyBucket tests
Wildcards test has been inverted -- now wildcard policies are stored
in buckets and checks are made only against concrete keys.
Change-Id: I8b1a02a6648961403829564bf81d57dd42e1036d
Aleksander Zdyb [Fri, 25 Jul 2014 09:00:53 +0000 (11:00 +0200)]
Adjust tests for new storage and serialization API
Tests need to be adjusted because of changes in
Storage::insertPolicies() and Storage::deletePolicies().
They also make use of pointers on I/O streams instead of references
(in serializers and deserializers).
Change-Id: Ief7e256f0848097caa66365ffd063289c50ec26c
Aleksander Zdyb [Wed, 23 Jul 2014 06:10:59 +0000 (08:10 +0200)]
Make (de)serializer classes more generic and easier testable
StorageSerializer and StorageDeserializer now accept std::ostream
and std::istream respectively, to enable unit testing.
Storage::insertPolicies() body has been slightly rearranged
to be more readable.
Change-Id: I54296a679a5d1b736ae4f3829f718b6bf8aea66e
Aleksander Zdyb [Thu, 24 Jul 2014 10:00:24 +0000 (12:00 +0200)]
Fix dumping PolicyKey in StorageSerializer
StorageSerializer no longer uses PolicyKey::toString(),
which was meant only for logging purposes.
Change-Id: I14214319ce7d2c3a7c79b60a44bb56ae79c2dad4
Adam Malinowski [Fri, 25 Jul 2014 09:48:43 +0000 (11:48 +0200)]
Reduce scope of variables
Change-Id: Ib18cde12f9508cb17469bcef0bb38a6665d6297d
Adam Malinowski [Fri, 25 Jul 2014 09:31:28 +0000 (11:31 +0200)]
Correct snprintf format string in Backtrace::buildBacktrace() method
Additionally use static_cast and reduce scope of local variable.
Change-Id: Idbaf8f6622ae8bf4e2610e378c6a001ea3a0acbf
Adam Malinowski [Fri, 25 Jul 2014 09:17:36 +0000 (11:17 +0200)]
Remove unneeded return statement
Change-Id: Ib500dd5249cbe37adbab441bb6700fb8554e3c18
Adam Malinowski [Fri, 25 Jul 2014 12:56:46 +0000 (14:56 +0200)]
Fix implementation of what() method in Exception class
Change-Id: Ib0259dbd85bc5526b474396ac82b819f0b03b54d
Adam Malinowski [Fri, 25 Jul 2014 09:01:14 +0000 (11:01 +0200)]
Correct exception catching
Exception should be caught by reference.
Change-Id: I19e906aa892956b783f174f6d40c63b4320cda93
Lukasz Wojciechowski [Tue, 22 Jul 2014 06:48:55 +0000 (08:48 +0200)]
Fix parameter checking when setting bucket-pointing policy
Field result_extra in cynara_admin_policy structure should contain
another bucket's name in case of insertion or update of a policy
pointing to another bucket.
There was no check for that. In case a nullptr was passed, it was
converted to an empty string "".
Now cynara_admin_set_policies
returns CYNARA_ADMIN_API_INVALID_PARAM when
result is set to CYNARA_ADMIN_BUCKET and
result_extra is nullptr.
Change-Id: I24ff5ab662e88b7bc538368385e13d78f48f9e9a
Adam Malinowski [Tue, 22 Jul 2014 08:52:36 +0000 (10:52 +0200)]
Add 'default-ac-domains' package dependency in spec file
This dependency is needed for using System domain for cynara service.
Change-Id: Ib0c21e3375309f25c893289fd1271b84798fdb85
Adam Malinowski [Mon, 21 Jul 2014 16:25:49 +0000 (18:25 +0200)]
Release version 0.1.0
Change-Id: I5b4cc3fe87e4ea0af46e7a73a58e9b20b760f8d6
Adam Malinowski [Mon, 21 Jul 2014 16:23:50 +0000 (18:23 +0200)]
Fix cynara service and local state directory labeling with smack
Change-Id: I08c3fdbc118d566a3e9fb4b4b340ba3c2323d71a
Lukasz Wojciechowski [Mon, 21 Jul 2014 15:54:03 +0000 (17:54 +0200)]
Fix bug - change reference to object in CheckResponse
Change-Id: I1a7754669db74e747c069be70d5593b478e9b28d
Lukasz Wojciechowski [Mon, 21 Jul 2014 14:38:26 +0000 (16:38 +0200)]
Fix problem with passing references to local objects
References are changed to shared pointers.
Change-Id: I8bdd52e1ba04ce6625cf42810c68d19cdf006ecd
Lukasz Wojciechowski [Mon, 21 Jul 2014 12:26:23 +0000 (14:26 +0200)]
Fix badly inceremented pointers
Change-Id: I40790d15f973a6e7bfacefb39b307b2a7bd77510
Lukasz Wojciechowski [Mon, 21 Jul 2014 11:57:31 +0000 (13:57 +0200)]
Use save() from Storage to save changes to database
Save is needed after operations that change state of database:
* setting policies;
* updating or inserting a bucket;
* removing bucket.
Change-Id: If1eea5cbbc0b8144d3ce9786fa4cbe8c858b9893
Adam Malinowski [Fri, 18 Jul 2014 15:28:25 +0000 (17:28 +0200)]
Add admin protocol (de)serialization
Change-Id: I59f279c45125ea049d762201f779ecadada136b4
Lukasz Wojciechowski [Fri, 18 Jul 2014 19:34:49 +0000 (21:34 +0200)]
Implement Storage::save() using StorageSerializer and clean up
There was a lot of mess in #includes directives and forward
declarations of classes. It was cleaned out.
InMemoryStorageBackend::Buckets were moved to separate file
in order not to make a cyclic dependency.
New exception class CannotCreateFile was added.
Change-Id: I32b234ba0f4872791a9f931690c58e623de7096f
Lukasz Wojciechowski [Fri, 18 Jul 2014 19:58:32 +0000 (21:58 +0200)]
Fix usage of local state directory in Cynara service
Change-Id: I66f60b919edf7f36a1de3d21db81bef5b9245485
Adam Malinowski [Fri, 18 Jul 2014 16:22:05 +0000 (18:22 +0200)]
Create local state directory for cynara service
Change-Id: I5b5ca2323916fe9a8763949ba17051d46e59a16f
Aleksander Zdyb [Thu, 17 Jul 2014 12:29:53 +0000 (14:29 +0200)]
Add loading database in Cynara::init
Change-Id: Ie0d0774e4bc539ee4a33d87fb57afe33a5045952
Aleksander Zdyb [Wed, 16 Jul 2014 14:09:05 +0000 (16:09 +0200)]
Add serialization IO exception
BucketSerializationException is thrown, when
bucket file stream could not be opened.
Change-Id: If8d3ca06f708fbe4a67c82e43c967d56be30e8af
Lukasz Wojciechowski [Thu, 17 Jul 2014 15:57:52 +0000 (17:57 +0200)]
Update tests and remove unused Storage methods
Change-Id: I00456f5a087014d9e176ab1dd5bee86aa92c374b
Lukasz Wojciechowski [Fri, 18 Jul 2014 07:55:40 +0000 (09:55 +0200)]
Remove unused enum Result
Change-Id: Id2db61e45c17ae9ecb196a792568e130498754d4
Lukasz Wojciechowski [Fri, 18 Jul 2014 07:50:25 +0000 (09:50 +0200)]
Remove unused class BucketAlreadyExistsException
Change-Id: I382d02081925d3eda9424e869e26ff0b921cba48
Lukasz Wojciechowski [Thu, 17 Jul 2014 19:38:55 +0000 (21:38 +0200)]
Implement sending administration requests to Cynara service
Implemented requests are:
* InsertOrUpdateBucketRequest;
* RemoveBucketRequest;
* SetPoliciesRequest.
All three requests have same response type (CodeResponse)
so they are handled in common function.
Change-Id: I84f7ad9375279d90db977d8a5d96ae38e29c3e5b
Lukasz Wojciechowski [Thu, 17 Jul 2014 19:37:29 +0000 (21:37 +0200)]
Add new libcynara-admin return codes and missing comments
Change-Id: I7dd2bd16d82d9d4d6e19f4c980287034d6c94bea
Lukasz Wojciechowski [Thu, 17 Jul 2014 18:09:37 +0000 (20:09 +0200)]
Implement administrating request in Cynara service Logic class
Change-Id: Ia4b1fe57ae2dc5a74565bf6f020cd14e72da19e8
Lukasz Wojciechowski [Thu, 17 Jul 2014 18:07:16 +0000 (20:07 +0200)]
Add CodeResponse class - a simple response with just a status
This class shall be used as an answer for administrative requests:
* InsertOrUpdateBucketRequest;
* RemoveBucketRequest;
* SetPoliciesRequest.
Change-Id: I764ff5947a728504227114a1c5297df184a0c4bc
Lukasz Wojciechowski [Thu, 17 Jul 2014 17:56:55 +0000 (19:56 +0200)]
Fix missing includes
Change-Id: Id10efb9dc37c1b0567ce2e7e3f4e641b2a6ac4c3
Lukasz Wojciechowski [Thu, 17 Jul 2014 16:44:28 +0000 (18:44 +0200)]
Catch and throw more detailed exception, when bucket not found
There was an uncaught out_of_range exception, that can be thrown
by unordered_map::at() method. It will be better to use a more
detailed exception here. It will also fit into design of other
methods from InMemoryStorageBackend.
Change-Id: Ib70f10c79358b08f3b2a792143a1498050cc677a
Lukasz Wojciechowski [Thu, 17 Jul 2014 15:52:13 +0000 (17:52 +0200)]
Change collection types passed to Storage for changing policies
Old methods shall be removed in another commit, after unit test
are updated.
Change-Id: Id8a7a48859b743f897a651ebff2156846d8f0e58
Lukasz Wojciechowski [Thu, 17 Jul 2014 13:36:05 +0000 (15:36 +0200)]
Add 3 new Request classes for administrating Cynara
Three added classes are:
InsertOrUpdateBucketRequest - for inserting new bucket or modyfying
default policy of existing one;
RemoveBucketRequest - for removing bucket;
SetPoliciesRequest - for modification of policies (adding, updating,
removing).
RequestTaker class has been extended with new execute() methods for
processing newly added Request objects.
Proper shared pointers definitions were added in request/pointers.h
for supporting new Request types.
Change-Id: I0a94eb9ce8326da4ccb9bd078d3a90b6bef25bfa
Aleksander Zdyb [Thu, 17 Jul 2014 06:55:45 +0000 (08:55 +0200)]
Add deserialization IO exception
BucketDeserializationException is thrown, when
bucket file stream could not be opened.
Change-Id: I0930793564beb73cfea937d43155e6953d42a6a1
Lukasz Wojciechowski [Thu, 17 Jul 2014 11:28:08 +0000 (13:28 +0200)]
Add ApiInterface for libcynara-admin
Implement ApiInterface in Logic class with stub functions.
Interpret CAPI parameters and use ApiInterface in admin-api.cpp.
Change-Id: I2fb617e23fe00a7183281e666388c4153c3d00f0
Lukasz Wojciechowski [Thu, 17 Jul 2014 09:29:46 +0000 (11:29 +0200)]
Correct misspell in coment
Change-Id: Icbe463a8242a79baafb19174d11c8169c710e659
Rafal Krypa [Wed, 9 Jul 2014 14:24:10 +0000 (16:24 +0200)]
Use proper printf length modifier for sizeof()
Printing sizeof value needs %zu, not %u.
Change-Id: I0d1cf2b9bfb8956e4377eccf70f24f6bfbe5bc4d
Aleksander Zdyb [Fri, 11 Jul 2014 08:58:35 +0000 (10:58 +0200)]
Implement Storage::addOrUpdateBucket()
createBucket() has been is renamed to addOrUpdateBucket()
in Cynara::Storage. The function will now create new bucket or,
if it existed, only update its default policy.
Test asserting addition of default bucket has been removed,
because the common function Storage::addOrUpdateBucket()
will just update default policy in such case.
Change-Id: I2099f9306873d192cbbbcd34ac9769ca663bdbe3
Aleksander Zdyb [Mon, 14 Jul 2014 09:22:32 +0000 (11:22 +0200)]
Add InMemoryStorageBackend::updateBucket()
The function will be used by Cynara::Storage to update bucket's
default policy without altering its policies.
Change-Id: I777c930eedc9c63d8ce1f4a29b144eeee205f145
Aleksander Zdyb [Mon, 14 Jul 2014 09:26:57 +0000 (11:26 +0200)]
Add InMemoryStorageBackend::hasBucket()
The function will be used by Cynara::Storage to check
if new bucket should be created or an old one updated.
Change-Id: I0c60724a112880010dcde7793346c1bc2fd687dc
Aleksander Zdyb [Mon, 14 Jul 2014 10:57:46 +0000 (12:57 +0200)]
Move parseMetadata() and parsePolicyType() to StorageDeserializer
These static methods better fit in a more general
Cynara::StorageDeserializer instead of Cynara::BucketDeserializer
Change-Id: I2bad160683ac34b68d993dc7b10e8ec7ba1b1d1c
Aleksander Zdyb [Mon, 14 Jul 2014 12:23:26 +0000 (14:23 +0200)]
Add serializer for InMemoryStorageBackend::Buckets
Change-Id: Ia5def8f5c8b5bb1e16c20f2adc1757849f440866
Adam Malinowski [Mon, 14 Jul 2014 12:39:55 +0000 (14:39 +0200)]
Add backtrace to exception message
This patch introduces new method 'message()' in class Exception
which must be overloaded by all dervied classes instead of
'what()' method. This is needed to add backtrace info to
exception message.
Change-Id: Ic451578c72566300283843468a32297fdec42f56
Adam Malinowski [Tue, 15 Jul 2014 12:16:20 +0000 (14:16 +0200)]
Add conditional logs building
This feature is needed for correct building tests when tested
units use logging mechanism. Tests should not depend on logger.
Change-Id: I110f5f0238726d1110388eaefc028c90747aa747
Adam Malinowski [Mon, 14 Jul 2014 11:48:19 +0000 (13:48 +0200)]
Add serialization of CheckResponse object
Change-Id: I78c0b69dd6502e3d1067f8e75da90324ff8d61da
Adam Malinowski [Mon, 14 Jul 2014 10:14:39 +0000 (12:14 +0200)]
Add log messages related to protocol (de)serialization
Change-Id: I6ca994c29326f0f5bce2e668adc4f9a3185c1592
Adam Malinowski [Mon, 14 Jul 2014 10:04:17 +0000 (12:04 +0200)]
Remove unneeded return statement in Logic::check method
Change-Id: Idfda59a64c76fd8721b3c5dd94c9db4b5dd8ee12
Adam Malinowski [Mon, 14 Jul 2014 10:01:30 +0000 (12:01 +0200)]
Fix memory leak in demangling symbols for backtrace functionality
Change-Id: If4525dd6f610b6e2fcc2e64c5d6b89e0bf20d0d5
Adam Malinowski [Mon, 14 Jul 2014 09:58:35 +0000 (11:58 +0200)]
Fix client socket labeling with smack
Change-Id: Ic859959b5b95feae93159429b976037b52fc44de
Adam Malinowski [Mon, 14 Jul 2014 09:41:58 +0000 (11:41 +0200)]
Enable logs in client library
Change-Id: I46b423ddf7482392d6859496f53a5e29fa2b82b0
Lukasz Wojciechowski [Tue, 15 Jul 2014 12:46:22 +0000 (14:46 +0200)]
Add declaration of struct cynara_admin in libcynara-admin header
Change-Id: I8e441d67bec81ba83f5686a9d1d85c7c7f217cdf
Lukasz Wojciechowski [Tue, 15 Jul 2014 12:20:44 +0000 (14:20 +0200)]
Remove const specifiers in cynara_admin_policy structure
With fileds defined as const, user of this structure would probably
have some problems with freeing memory.
Change-Id: I159ebc2ea772c76be70e5e58310f0ae1e8728c8f
Adam Malinowski [Tue, 8 Jul 2014 06:42:40 +0000 (08:42 +0200)]
Fix shared pointers access in Cynara class
Change-Id: I85c98846655d8363e63640b88f6a756bb16c08d5
Adam Malinowski [Mon, 7 Jul 2014 13:22:02 +0000 (15:22 +0200)]
Add signal processing
For now only SIGTERM is processed to kindly stop the service.
Change-Id: If754002a8af9f8ca70323f22b06fbd22da0ddb19
Lukasz Wojciechowski [Mon, 7 Jul 2014 14:09:50 +0000 (16:09 +0200)]
Add cache interface and NoCache stub
Add interface defining API for cache, that will be used to speed up
checks. Add NoCache class, that implements this interface with very
simple version, which always enforces checks on Cynara server.
Add usage of NoCache in Logic class.
Change-Id: I3b799c4c6eccddfed98e8130ef1ca4cb849b8c05
Lukasz Wojciechowski [Mon, 7 Jul 2014 12:59:46 +0000 (14:59 +0200)]
Add sequence number generation
Change-Id: I1fc3250d211a171bc121846d96282d8ff5b095fa
Marcin Niesluchowski [Wed, 9 Jul 2014 17:48:12 +0000 (19:48 +0200)]
Fix comment for cynara_admin_set_policies function
Change-Id: I02ed34465a41d1caa670617e2169d41567bd914a
Marcin Niesluchowski [Wed, 9 Jul 2014 12:58:20 +0000 (14:58 +0200)]
Remove semicolon from defines.
Change-Id: Ib18ffc5560f2b629fbd586f1e70b9bbe9e020b99
Lukasz Wojciechowski [Thu, 3 Jul 2014 16:45:54 +0000 (18:45 +0200)]
Add stub implementation of libcynara-admin API functions
Prepare Logic and ApiInterface classes skeletons.
Remove old empty admin-api.cpp file.
Change-Id: I498e0e904dbd9dea3a07eaaa998a30fce21cb4e5
Lukasz Wojciechowski [Fri, 4 Jul 2014 12:38:22 +0000 (14:38 +0200)]
Update libcynara-admin API header
Change const strings from const char* to defines.
Add missing struct keywords.
In function cynara_admin_set_policies() change polices parameter
to array of pointers.
In function cynara_admin_set_bucket() add extra parameter for
passing additional data to bucket's default policy.
Change-Id: Id1370a202a39636572aa6a203ae29662e423c986
Adam Malinowski [Thu, 3 Jul 2014 09:26:05 +0000 (11:26 +0200)]
Add response deserialization
Change-Id: Id3bb97e5cc590aa9ef3757b503d423e2c3c9a99f
Rafal Krypa [Thu, 3 Jul 2014 12:14:53 +0000 (14:14 +0200)]
Remove usage of unwanted binutils library
Change-Id: I616494d5280b87a6059149a8005911e4f7062fa3
Adam Malinowski [Wed, 2 Jul 2014 13:51:35 +0000 (15:51 +0200)]
Remove unused PolicyVector.h file
Change-Id: Ic4c43d1e1afbd1c506a47cefc8cb78c47c92170d
Adam Malinowski [Thu, 26 Jun 2014 08:04:17 +0000 (10:04 +0200)]
Add protocol deserialialization mechanism
Change-Id: Id3b24f67a639f22cfd2995880ad3b21593318822
Lukasz Wojciechowski [Wed, 2 Jul 2014 07:49:41 +0000 (09:49 +0200)]
Adjust client socket classes after move to common library
Fix #ifndef guards, include paths and CMakeLists.
This patch should be verified together with previous one (Raw move).
Change-Id: I81640c5297c11435e2fe0e8b18c9d37ded5318a3
Lukasz Wojciechowski [Wed, 2 Jul 2014 07:34:08 +0000 (09:34 +0200)]
Raw move of client socket classes to common library
This will allow usage of same classes in libcynara-admin library.
This patch does not compile.
Please verify it with following patch.
Change-Id: Ib0d2032e2e843ad9bdb34e6a087037436ff8a12f
Lukasz Wojciechowski [Wed, 2 Jul 2014 07:28:35 +0000 (09:28 +0200)]
Make SocketClient independent of specific protocol and path
Add protocol and socket path to SocketClient constructor.
Pass path to client socket and ProtocolClient object to
SocketClient in libcynara-client Logic class.
Change-Id: I45e991b8309616876248289558265e5df915012d
Lukasz Wojciechowski [Tue, 1 Jul 2014 19:28:09 +0000 (21:28 +0200)]
Define libcynara-admin API
Change-Id: I9d3708ad4a69336e893bcb683d69c3bc613e3054
Rafal Krypa [Thu, 3 Jul 2014 12:14:14 +0000 (14:14 +0200)]
Move cynara-tests packaging to a separate directory
No gmock dependency in main spec file
Cynara-tests package can be build by passing "--packaging-dir packaging_tests" to gbs build
Change-Id: I786ad78bae0bceca0ae6423f7bf33981435bd189
Krzysztof Jackiewicz [Wed, 2 Jul 2014 13:18:31 +0000 (15:18 +0200)]
Cleanup tests cmake file
Requires: https://mcdsrvbld02.digital.local/review/#/c/15770/
Change-Id: I41e82319aa1ecaf647c303345fe30fb84010e568
Krzysztof Jackiewicz [Thu, 3 Jul 2014 09:36:48 +0000 (11:36 +0200)]
Use proper include paths
Change-Id: I34973bde473c2f7cfa35b00b04168c42c238726b
Aleksander Zdyb [Wed, 2 Jul 2014 10:52:09 +0000 (12:52 +0200)]
Fix wildcard checks
Fixed bug, where consecutive buckets were filtered with wildcard keys
instead of original key being checked
Change-Id: I97499f41c796a0262e9f8d2a57908cc8a4fc3014
Lukasz Wojciechowski [Mon, 30 Jun 2014 18:12:53 +0000 (20:12 +0200)]
Remove "m_fd" - unused field of RequestContext
Change-Id: I869ff96dea13b9eeac216d9af2159ebb3aaecedf
Lukasz Wojciechowski [Mon, 30 Jun 2014 17:59:07 +0000 (19:59 +0200)]
Implement Logic::check() method using SocketClient
Implementation always checks privilege by sending request to Cynara
service.
Features not implemented:
* No cache is used;
* Session parameter is unused;
* No plugin support is implemented.
Change-Id: Ifdfdd56cceb967a8490f383ae396c5066e8a97fd
Rafal Krypa [Thu, 3 Jul 2014 12:07:35 +0000 (14:07 +0200)]
Add CYNARA_API_SERVICE_NOT_AVAILABLE
This is new external API result code, which is returned, when
Cynara service is not available (a connection to service cannot be
set via UNIX socket)
Change-Id: I53c006f1795c975b1e36a1c20753f090beb603f0
Lukasz Wojciechowski [Mon, 30 Jun 2014 17:51:30 +0000 (19:51 +0200)]
Add SocketClient class
SocketClient class is a class in client library that is
responsible for communication with Cynara service.
It has simple API askCynaraServer() which allows to send a request
and receive response with information about connection state.
Inside it keeps:
Socket - a client socket implementation;
Protocol - for serialization and deserialization of requests and
responses;
Queues - needed for writing and receiving data.
Change-Id: I6f54edd7a7986c60e50eb3119e431fc17da0646c