Created attachment 145959 [details] Proposed patches The x11/slim graphical login manager does not support UTF-8 encoded input for username and password. For instance, nothing appears when typing accentuated characters on a french keyboard layout with UTF-8 encoding(set through hal). Some users may want to use characters outside the ASCII charset for stronger passwords. I found patches in an linux Arch User Repository (https://aur.archlinux.org/packages/slim-unicode/) that proved to work on port slim-1.3.6_2. Here are the patches adapted in the FreeBSD ports patch format.
can you upload the patches again in a text/plain diff format?
Created attachment 145990 [details] const.h patch
Created attachment 145992 [details] main.cpp patch
Created attachment 145993 [details] panel.cpp patch
Created attachment 145994 [details] panel.h patch
Created attachment 145995 [details] slimlock.cpp patch
Created attachment 145996 [details] switchuser.h patch
Created attachment 145997 [details] util.cpp patch
ack, no! I meant a diff file to add patches to the port. ONE file.
Created attachment 145998 [details] util.h patch
you are providing patches to the s/w. You need to prove a diff to the port itself.
Woops sorry. I'll have a look at that.
Created attachment 146000 [details] Port patch proposal
much better, but can I ask one more favor? Since you generated this with svn patch, can you create a new version with "--patch-compatible" switch? the bugzilla diff view chokes on regular svn patches.
Created attachment 146003 [details] Port patch proposal Generated with SVN --patch-compatible
It's a pity, after all that, the diff viewer still won't show it. Oh well, we have to review it the old fashioned way. Moving this PR to "Approval Needed" status. The maintainer has 2 weeks to approve it, otherwise it's automatically approved. Note, this needs a portrevision increment in the Makefile.
Comment on attachment 146003 [details] Port patch proposal I've read the patch and it seems ok. However, I'm not sure that we should enable it by default, because for most users it is not useful. Because we can't have an input method running with slim, for the users who require an input method to input non-ascii characters in their languages, this is also not useful. For the patch itself, I'm not sure why it uses char uint16_t* instead of wstring. The logic seems ok, although I'm not sure whether it would introduce security or reliability problems. I think that we can create an option for this patch, and disable it by default. What do you think?
Sounds fair and appropriate. You are right, it's probably better to leave it off by default for people who do not need it.
Created attachment 146476 [details] New patch This is an updated patch. It combines the original patch into one optional patch file. The UTF8 option is added. If enabled, the optional patch file would be applied to the port. This patch also fixed some problems of slim: 1. Fix the default path variable. Set the PATH variable according to login.conf, which includes /sbin, /usr/sbin and some other directories. 2. Notice the change from sessions to sessiondir in slim.conf and set the default value of sessiondir. Also change pkg-message to reflect this. Port version is bumped.
A commit references this bug: Author: marino Date: Sat Sep 20 19:07:38 UTC 2014 New revision: 368677 URL: http://svnweb.freebsd.org/changeset/ports/368677 Log: x11/slim: Add non-default UTF-8 character input support PR: 192783 Submitted by: DaLynX Refined by: maintainer (Henry Hu) Changes: head/x11/slim/Makefile head/x11/slim/files/extra-patch-utf8 head/x11/slim/files/patch-slim.conf head/x11/slim/files/pkg-message.in
thanks!