Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hide implementation details from the shared library #6

Closed
dkopecek opened this issue Mar 22, 2015 · 2 comments
Closed

Hide implementation details from the shared library #6

dkopecek opened this issue Mar 22, 2015 · 2 comments
Assignees
Labels
Milestone

Comments

@dkopecek
Copy link
Member

A shared library is provided to abstract the details of IPC implementation and to allow developing clients for the usbguard daemon (applets, control apps, etc). However, since the public IPCClient class contains private members of types which need to be defined (qb types, json, etc.), it's needed to ship a lot of third-party files. This could be avoided by using a "d-pointer" (pimpl, opaque pointer, whatever...).

@dkopecek dkopecek added the RFE label Mar 22, 2015
@dkopecek dkopecek added this to the v0.3 milestone Mar 22, 2015
@dkopecek dkopecek self-assigned this Mar 24, 2015
@dkopecek
Copy link
Member Author

Partially resolved in 36ce736. Needs more work.

@dkopecek
Copy link
Member Author

Finished with 20b9189.

@dkopecek dkopecek modified the milestones: v0.2, v0.3 Apr 3, 2015
dkopecek pushed a commit that referenced this issue May 26, 2016
Resolves: #69

Addresses:
```
Direct leak of 72 byte(s) in 1 object(s) allocated from:
    #0 0x7f8076950bb0 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc2bb0)
    #1 0x7f8075969fe5 in usbguard::parseRuleSpecification(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, unsigned int) src/Library/RuleParser.cpp:72
    #2 0x7f807599382f in usbguard::RulePrivate::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/Library/RulePrivate.cpp:599
    #3 0x7f8075958d38 in usbguard::Rule::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/Library/Rule.cpp:254
    #4 0x512764 in ____C_A_T_C_H____T_E_S_T____6 Regression/test_Rule_ghi37.cpp:15
    #5 0x461b26 in Catch::FreeFunctionTestCase::invoke() const (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x461b26)
    #6 0x416165 in Catch::TestCase::invoke() const ../../src/ThirdParty/Catch/include/internal/catch_test_case_info.hpp:176
    #7 0x45cffb in Catch::RunContext::invokeActiveTestCase() (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45cffb)
    #8 0x45bcfe in Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45bcfe)
    #9 0x454516 in Catch::RunContext::runTest(Catch::TestCase const&) (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x454516)
    #10 0x40d04f in Catch::runTests(Catch::Ptr<Catch::Config> const&) ../../src/ThirdParty/Catch/include/internal/../catch_session.hpp:78
    #11 0x45f67f in Catch::Session::run() (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45f67f)
    #12 0x45ef2f in Catch::Session::run(int, char const* const*) (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45ef2f)
    #13 0x42ad3a in main ../../src/ThirdParty/Catch/include/internal/catch_default_main.hpp:15
    #14 0x7f80736df77f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2077f)
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant