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
Aleksander Zdyb [Wed, 2 Jul 2014 07:31:51 +0000 (09:31 +0200)]
Refactorize Cynara::BucketDeserializer
BucketDeserializer is no longer stateless.
The class is now constructed with reference
on input stream. It's easier testable and enables
dependency injection in Cynara::StorageDeserializer.
TODO: Consider squashing with 2 prior commits.
Change-Id: If79727c7759178bd9ac82351b16f043971abd577
Aleksander Zdyb [Wed, 2 Jul 2014 07:29:02 +0000 (09:29 +0200)]
Add Cynara::StorageDeserializer
Change-Id: I4a981bea8b2a43641ff213cbce9cb09fa24cd2dc
Aleksander Zdyb [Wed, 2 Jul 2014 06:55:31 +0000 (08:55 +0200)]
Rename StorageDeserializer to BucketDeserializer
The name StorageDeserializer will be taken by
more general class loading whole db.
TODO: Rename StorageSerializer
Change-Id: I66f5c34c3c47b712f104bc2013da23ef84e4bdd9
Rafal Krypa [Thu, 3 Jul 2014 12:06:40 +0000 (14:06 +0200)]
Add gmock package dependency and enable tests
Change-Id: Idd2a1c392844248934734be3668952b392fda272
Krzysztof Jackiewicz [Fri, 27 Jun 2014 06:33:45 +0000 (08:33 +0200)]
Fix buildbreaks
Change-Id: I34bdc6f54e0290f5b416dcf189a6da2cb7e5f543
Lukasz Wojciechowski [Mon, 30 Jun 2014 07:58:18 +0000 (09:58 +0200)]
Prepare client socket class for connecting cynara service
Class is based on implementation imported from security-server
in previous commit.
Change-Id: I77643de6ec7321d3f6af0b395e1b1e4bf06b3774
Lukasz Wojciechowski [Thu, 26 Jun 2014 23:20:15 +0000 (01:20 +0200)]
Raw copy client-common.cpp from security-server repository
Source of code:
repository: tizen.org/platform/core/security/security-server
patch:
210758dc04b639fbc87df8c1ef6fba7e86b41875
Added file needs adaptation to Cynara. Due to many dependencies
it won't compile. That is why it is not added to CMakeLists yet.
Verification : Because of above patch doesn't need verification.
Change-Id: Ie826567c11ff827cf45043911b54b24275a0ffe7
Lukasz Wojciechowski [Thu, 26 Jun 2014 21:57:10 +0000 (23:57 +0200)]
Switch libcynara-client from bootstrap to cynara service version
Remove cynara-bootstrap implementation.
Add ApiInterface class.
Add Logic class - main class of cynara client.
Logic class implements ApiInterface.
Fix CMakeFile by removing dependencies and updating source files.
Change-Id: Ic6a9ebe9ad9c1de85620b943523e751382083bc6
Lukasz Wojciechowski [Thu, 26 Jun 2014 20:07:09 +0000 (22:07 +0200)]
Clone protocol objects
Add clone method to Protocol class and derivatives.
Use cloned Protocol object for every new socket (created after
accept on listening socket).
Protocol derived classes handle serialization and deserialization
of Requests and Responses. Protocol objects are kept in Descriptor
objects for every open socket in form of shared pointers. All
binary communication through a socket is translated by related
Protocol.
On the server side of Cynara Protocols are used as ResponseTakers
(they consume Responses ready to send back to clients). Pointers
to Protocols as ResponseTakers are kept in RequestContext as weak
pointers. RequestContext may be (will be in the future) saved
by Plugin in order to run some UI and return Response later.
Meanwhile a socket can be closed. In such a case weak pointer shall
lose his reference to Protocol object, which was destroyed in
Descriptor::close() method. Before returning Response to
ResponseTaker, validation of weak pointer is made in
RequestContext::cynaraResponse().
Change-Id: I5a6af197357c8ff641aa1162fd30c01bbe725786
Lukasz Wojciechowski [Thu, 26 Jun 2014 19:12:31 +0000 (21:12 +0200)]
Complete response handling path
Add Response class - base for all response classes.
Add extractResponseFromBuffer() method to all protocol classes.
Change all response objects references to shared pointers.
Change-Id: I9ac88c8e70ca8084bc2653a0b6aa545320d8de35
Lukasz Wojciechowski [Thu, 26 Jun 2014 12:13:37 +0000 (14:13 +0200)]
Change Cynara class model from singleton to common object
Use shared pointers for layers managers (Logic, SocketManager,
Storage). Add bind...() and unbindAll() methods in layers managers.
Change-Id: If7fe5f36933e244c48c3ab2b6699a0d9b8e4f4a7
Aleksander Zdyb [Thu, 26 Jun 2014 12:36:10 +0000 (14:36 +0200)]
Add Cynara::StorageDeserializer
Change-Id: I402276fc32aec5839dc5e20b323fbc639dc6ff14
Lukasz Wojciechowski [Thu, 26 Jun 2014 11:03:12 +0000 (13:03 +0200)]
Adapt protocol, request and response classes to common
Update of includes, defines and CMakeLists.
This patch should be verified together with previous one.
Change-Id: I08e38dcba381a2514981068adbabb2e3b35088a5
Lukasz Wojciechowski [Thu, 26 Jun 2014 10:42:34 +0000 (12:42 +0200)]
Move protocol, request and response classes to common
This patch won't compile. It is a raw move. Update of includes,
defines and CMakeLists will be done in next patch.
They should be verified together.
Change-Id: I667c25419ec95ea686175bcd870f0126b828e41c
Lukasz Wojciechowski [Thu, 26 Jun 2014 10:27:35 +0000 (12:27 +0200)]
Derive Protocol from RequestTaker
Protocol will play role of RequestTaker on library side of Cynara.
Change-Id: Ife92e6f634bfd9e566b6f4f3c2b331022e961de7
Aleksander Zdyb [Thu, 26 Jun 2014 10:32:54 +0000 (12:32 +0200)]
Add Cynara::BucketRecordCorruptedException
Change-Id: Id4b28a9c3dfbf5e4bae0c750dc8d173db44eea6e
Lukasz Wojciechowski [Thu, 26 Jun 2014 10:12:13 +0000 (12:12 +0200)]
Use shared and weak pointers for ReponseTaker and RequestContext
Change-Id: I711a2c97819d7a363fa1b2d1401e7156554a2e09
Lukasz Wojciechowski [Thu, 26 Jun 2014 09:03:41 +0000 (11:03 +0200)]
Move ResponseTaker class to response directory
Change-Id: I5bbe58347dbe1411eaeb88dd173c0107b4bfd636
Lukasz Wojciechowski [Wed, 25 Jun 2014 19:18:06 +0000 (21:18 +0200)]
Change request execution path
Add RequestTaker - interface for objects executing requests.
Derive Logic from RequestTaker.
Implement CheckRequest execution in Logic.
Swap const references to Request derivatives with shared pointers.
Add pointers.h file to gather all request related shared pointers.
Remove Request.cpp file (all methods inlined).
Fix SocketManager request execution.
Remove not any more needed NoResponseGeneratedException class.
Add temporary impl. of method requestTaker() to SocketManager.
Change-Id: I67526fb1f68cc90c5340572445ce63068bed03ea
Lukasz Wojciechowski [Wed, 25 Jun 2014 18:07:18 +0000 (20:07 +0200)]
Move adding sockets to write set to SocketManager main loop
Change-Id: Id06b23612992e9c134b69e42746f2af44eb0a8ec
Adam Malinowski [Tue, 24 Jun 2014 13:51:27 +0000 (15:51 +0200)]
Adapt ProtocolSerialization to Cynara
Change-Id: I92cab43eeb1861459dcd19fe1da2e6e0862a32c5
Adam Malinowski [Tue, 24 Jun 2014 13:18:39 +0000 (15:18 +0200)]
Import of DPL class Serialization from Security-Server
Change-Id: I3800e5f7bf54500a2b02e0674fa62e1ec774acea
Adam Malinowski [Mon, 23 Jun 2014 17:03:54 +0000 (19:03 +0200)]
Fix user adding & deleting during installing and uninstalling process
Verification:
Build cynara and install it on "fresh" image which contains already
installed cynara rush edition.
Cynara service should start during installation without any warnings
nor errors.
run "systemctl status cynara.service" to check if cynara service works.
Change-Id: I1c98165230277b7ae11d5157c2abd9712067f85f
Adam Malinowski [Mon, 23 Jun 2014 12:09:29 +0000 (14:09 +0200)]
Add backtrace building functionality
Change-Id: I3443b444d6f7a6f507e55a88c36c936274965e3e
Lukasz Wojciechowski [Mon, 23 Jun 2014 17:38:00 +0000 (19:38 +0200)]
Add refs to ResponseTaker and ResponseQueue to RequestContext
Add mentioned references and avoid explicit calls to SocketManager.
Remove not needed methods and RequestContext.cpp file.
Change-Id: I26a4f5f0349b2b27ccc485d496c5d04b7ad792df
Lukasz Wojciechowski [Fri, 20 Jun 2014 22:39:46 +0000 (00:39 +0200)]
Use Storage to return value for check() function in Logic layer
Change-Id: I30bdb8eafffa6a5cc06c9ddac3a724412c10733b
Aleksander Zdyb [Mon, 23 Jun 2014 10:32:10 +0000 (12:32 +0200)]
Add wildcard tests for Cynara::PolicyBucket
Add some convenience functions to Cynara::PolicyKey
Change-Id: Iddd51ca16f85199e2f8993c95120dcdbc6b5d7eb
Lukasz Wojciechowski [Fri, 20 Jun 2014 21:45:37 +0000 (23:45 +0200)]
Rearrange classes for request and response processing
RequestContext object is the only one passed from SocketManager
to Request execute() method.
Response object is passed to Protocol through
RequestContext::returnResponse().
Response queue is managed automaticaly in RequestContext class.
Request derivatives don't need to handle queues.
ResponseTaker::appendResponseToBuffer() methods need to take
additional queue object as parameter as it is no longer
part of response object.
Change-Id: I15af84c315a55284d4dccff670537e47c60c6b70
Lukasz Wojciechowski [Fri, 20 Jun 2014 21:27:12 +0000 (23:27 +0200)]
Define ResponseTaker interface for binding response handling
ResponseTaker is base interface for Protocol class.
Its implementation of appendResponseToBuffer methods throw.
They must be overridden in proper Protocol derivatives.
Change-Id: Ia16008c52f660ebc45143b9e67a741d632c674bc
Lukasz Wojciechowski [Fri, 20 Jun 2014 17:18:19 +0000 (19:18 +0200)]
Change Request* to RequestPtr implemented as shared_ptr<Request>
Handle case when no response is generated during request execution.
Change-Id: I2ffbcd520dcb910bae7ee342ab432fae457ef437
Aleksander Zdyb [Fri, 20 Jun 2014 13:01:14 +0000 (15:01 +0200)]
Add tests for Cynara::PolicyBucket
Added some convenience methods to PolicyType and PolicyResult
Change-Id: Ibcc1200403132cd16879c6afbc859e851c2a3dac
Lukasz Wojciechowski [Fri, 20 Jun 2014 16:57:19 +0000 (18:57 +0200)]
Change Protocol* to ProtocolPtr implemented with shared_ptr
Change-Id: Ic1b6e7dd50ddf011e8700fa65fdb05560df3f32a
Lukasz Wojciechowski [Fri, 20 Jun 2014 12:59:53 +0000 (14:59 +0200)]
Use unique_ptr for request handling
Change-Id: Ib39099fb34e192b11d1c38c9fd89cd895e97b7da
Lukasz Wojciechowski [Wed, 18 Jun 2014 19:54:42 +0000 (21:54 +0200)]
Add CheckRequest class
Change-Id: I98ecece4473f9806e6515320402e607f8d6dfffb
Lukasz Wojciechowski [Wed, 18 Jun 2014 19:53:12 +0000 (21:53 +0200)]
Add CheckResponse handling
Change-Id: I68553c633dac84a92caf956f00bc95bb9eef33d0
Lukasz Wojciechowski [Wed, 18 Jun 2014 19:49:41 +0000 (21:49 +0200)]
Redesign RequestContext to avoid cyclic dependencies
Change-Id: Ia3ff6511f279a43c972eb47ec984d16dd13d5a27
Lukasz Wojciechowski [Wed, 18 Jun 2014 19:44:43 +0000 (21:44 +0200)]
Add stub function check in Logic layer
Change-Id: Ia4774c17ace192451a8d125e1b4d7dbd688d6130
Lukasz Wojciechowski [Wed, 18 Jun 2014 19:39:05 +0000 (21:39 +0200)]
Widen descriptor class with usage flag
Change-Id: Ia607a96374955db7afb80d839b34e23058b54b85
Lukasz Wojciechowski [Wed, 18 Jun 2014 16:42:14 +0000 (18:42 +0200)]
Add Storage Layer objects to Cynara singleton
Change-Id: I5e1a8ba06f811d3611956666329e8811424134ad
Lukasz Wojciechowski [Wed, 18 Jun 2014 16:40:37 +0000 (18:40 +0200)]
Add Storage related classes to CMakeLists, fix includes
Change-Id: Ie8f8e63df145ae80bca8b9e5022eec4f751a0ece
Lukasz Wojciechowski [Mon, 16 Jun 2014 19:46:23 +0000 (21:46 +0200)]
Add early cynara service implementation
Change-Id: I3007944f08f9c29cab6e6b755c4996f38db3ab0d
Lukasz Wojciechowski [Tue, 17 Jun 2014 19:24:28 +0000 (21:24 +0200)]
Remove temporary added dummy file common.cpp
It was added for keeping library non-empty at the begining of cynara
implementation. It is no longer needed.
Change-Id: Ied7f97dec91dda7f17d9c860ee6a32d86dd145c1
Lukasz Wojciechowski [Tue, 17 Jun 2014 19:21:23 +0000 (21:21 +0200)]
Fix email address
Change-Id: I11af1a0e98a168aa1ee12ea2d2016bd9129f0fe1
Lukasz Wojciechowski [Tue, 17 Jun 2014 19:12:53 +0000 (21:12 +0200)]
Adapt BinaryQueue to Cynara. Add new exception classes
Change-Id: Ide3a7eb6e9d44c265d67285b863dabe5cfe52079
Change: code formatting, ifdef guards, exceptions, nocopyability, namespace.
Lukasz Wojciechowski [Tue, 17 Jun 2014 16:17:49 +0000 (18:17 +0200)]
Import of DPL class binary_queue from SecurityServer
src repo : ssh://review.tizen.org:29418/platform/core/security/security-server
commit :
9d7d2f242d036ed8f07e4afa108709524b1af409
Warning this class won't compile:
1) files are not added to CMake;
2) another required DPL classes not needed by cynara aren't imported
Change-Id: I1002e84e17d9f83c1210187404a0480d6cd6433e
Aleksander Zdyb [Fri, 20 Jun 2014 08:34:03 +0000 (10:34 +0200)]
Add storage serializer (Cynara::StorageSerializer)
Change-Id: I10bbfae96e33a99d3d089dab313dc259e080aa5d
Aleksander Zdyb [Fri, 20 Jun 2014 09:54:56 +0000 (11:54 +0200)]
Change PolicyType enum to PredefinedPolicyType for consts
PolicyType cannot be an enum, because it needs
to hold values other than just those predefined
Change-Id: I9038b57a1fc80c6c3eb3b87e74037073e9342ebd
Aleksander Zdyb [Fri, 13 Jun 2014 07:17:14 +0000 (09:17 +0200)]
Add base class (Cynara::Exception) for all exceptions
Change-Id: I21c59558b4d2696907cfc69b4fac952d6b875e85
Aleksander Zdyb [Fri, 6 Jun 2014 07:26:50 +0000 (09:26 +0200)]
Add temporary CMakeLists.txt for tests
Possible verification:
1. cd test; mkdir build; cd build
2. cmake -D GMOCK_DIR=/path/to/gmock-1.7.0 -D CYNARA_SRC=../src/ ..
3. make
4. ./cynara-tests
Change-Id: I9a3a84a8f8c4ec7596368366e55d74cf85f4202b
Aleksander Zdyb [Mon, 16 Jun 2014 07:32:51 +0000 (09:32 +0200)]
Add tests for InMemoryStorageBackend and Storage
Change-Id: I756457678619ad2efa6fd469f6b442018e565cdc
Aleksander Zdyb [Tue, 10 Jun 2014 12:38:41 +0000 (14:38 +0200)]
Add InMemoryStorageBackend for Cynara::Storage
Change-Id: I46a53657d3f0e36318abc91572d38e64b3e03607
Aleksander Zdyb [Fri, 13 Jun 2014 06:27:58 +0000 (08:27 +0200)]
Refactorize code to make it easier testable
Change-Id: I60f18fa2d811cb2d94e0a220f4e4131af1491b0a
Adam Malinowski [Thu, 22 May 2014 11:15:34 +0000 (13:15 +0200)]
Preparation of cynara for better usage of systemd.
Change-Id: Ie210b1422ace6ebe45a3804fd52b701fe9fe13f3
Adam Malinowski [Thu, 22 May 2014 10:51:00 +0000 (12:51 +0200)]
Add logging helper.
Change-Id: Ib4006dd6a813e9de795333458eb5fa3620aa46d9