Re: A plugin to record modification timestamp and modifiers DN for specific attribute

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On 22 Sep 2020, at 00:48, Jan Tomasek <jan@xxxxxxxxxx> wrote:
> 
> Hi William,
> 
>> An interesting idea that could bring you a lot assurance, would be to
>> integrate and test with Address Sanitiser. This would help you find
>> and detect potential memory safety issues in the plugin. If you want
>> some advice on how to do this, I'm happy to help.
> 
> Using Address Sanitiser is completely new topic to me. But I would like
> to give it try, if you would by so nice to provide me with pointers how
> to start.

Sure, you'll probably need to build the 389-ds rpms with the correct options or at least a local build from our development page since ns-slapd also needs ASAN enabled to work in this case. You should *not* run ASAN in production (due to elevated risk of crashing on a fault, and there is a potential root priv esc iirc from it). So this is for testing only :)

https://www.port389.org/docs/389ds/contributing.html#building-the-project

If I recall, you can do:

ASAN_ON=1 make -f rpm.mk rpms


Then in your own makefile, you need to define these extra CFLAGS:

-fsanitize=address -fno-omit-frame-pointer -lasan


Build your plugin as normal, and to check that it is build correctly you can see if asan required by the plugin:

$ ldd /opt/dirsrv/lib/dirsrv/plugins/libautomember-plugin.so  | grep -i asan
	libasan.so.6 => /usr/lib64/libasan.so.6 (0x00007fa3a92ea000)

If you see that, you're good to go and do your tests. You'll want to run ns-slapd in the foreground to get the output.

ns-slapd -d 0 -D /etc/dirsrv/slapd-instance


If asan finds a fault it will crash and put a trace in to the console that gives details about where the memory fault occured. 


Hope that this (quick/rough) guide helps :) 


> 
> Thanks
> -- 
> -----------------------
> Jan Tomasek aka Semik
> http://www.tomasek.cz/
> 

—
Sincerely,

William Brown

Senior Software Engineer, 389 Directory Server
SUSE Labs, Australia
_______________________________________________
389-users mailing list -- 389-users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to 389-users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/389-users@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux