At 12:50 AM 9/26/96, Richard J. Sears wrote:
* I am trying to figure out a way to hid the names of list members,
* not just from non-subscribers, but from the list members
themselves.
If you know perl, it's easy to change the results of the who command,
or disable it entirely. The relevant code is in the majordomo
script, at or around line 510 or so. This is how I changed it
(please read my comments after this code snippet; don't try this at
home if you don't feel comfortable editing perl code!):
if ( &cf_ck_bool($clean_list,"private_who")
&& ! &is_list_member($reply_to, $listdir,
$clean_list.'.restrict')) {
# && ! &is_list_member($reply_to, $listdir,
$clean_list)) {
print REPLY "**** List '$clean_list' is a private
list.\n";
print REPLY "**** Only the owner of the list can do a
'who'.\n";
# print REPLY "**** Only members of the list can do a
'who'.\n";
# print REPLY "**** You aren't a member of list
'$clean_list'.\n";
return 0;
}
Things I should point out:
1. Comment out the original lines, as I did, so that you can always
put 'em back if you need to.
2. For my hack to work, you must (a) enable private_who, and (b) use
restrict_post. What I'm doing is checking to see if the person
requesting the 'who' is allowed to post -- instead of checking to see
if they're on the list (like a normal private_who would do).
3. If you want to do something similar for a list where you *don't*
restrict who can post, you could just just change the first three
lines (two lines in the original script, but I wanted to make it
readable for e-mail purposes) to something like this:
if ( &cf_ck_bool($clean_list,"private_who")) {
In other words, turning on private_who, with this code change, should
disable the 'who' command entirely for the list you set private_who
for. Note that I haven't tested this (disabling 'who' when
private_who is selected), but I'm sure it'll work. :)
Hope this helps,
Kendall
--
Kendall P. Bullen
E-mail: kendall@his.com or kbullen@tax.org -- take your pick!
Web: http://www.his.com/~kendall/
|
|