I have been doing some tests with lightdm and found out that version 1.28.0 actually respects the lock-memory configuration. I suspect my previous tests were performed with older versions which maybe were buggy.
Since I'd like to make lightdm the default window manager for xfce with the update to the upcoming version 4.14, I have patched the port set this option to false by default. This avoids the need for users to modify the login.conf file.
I also updated the pkg-message file to explain the change. please review my wording thoroughly, I'm not a native English speaker and I may have made mistakes. While here I also took advantage of the new UCL functionality to make this message appear only at installation time.
While testing all this on recent head I met crashes. I got this backtrace:
(gdb) bt
#0 0x00000008008f8420 in strncmp () at /lib/libc.so.7
#1 0x00000008008f3d1e in getenv () at /lib/libc.so.7
#2 0x000000080086cf36 in execvp () at /lib/libc.so.7
(rest of stack is all ?? () )
Unluckily the crashes were not repeatable with a debugging binary. Anyway something strange is happening with the environment, so I changed the way it is manipulated before calling execvp(). I'm not sure why but defining the extern char **environ at the start of the C file works better, and I left the code with environ = NULL since our C library checks for that too and does the right thing. This made the crashes disappear.
Not sure what prompted this new behavior, my suspect is something changed in the compiler.
Finally I noticed a new version 1.30.0 was available and updated the port.