Sun Java System Messaging Server - readership foldername error
Hi,
my original problem was to change the ACL rights to many folders recursively. As I couldnt find a solution to do this, I wrote a little script which extracts all shared folders of a userid and updates the rights.
But now, for some folders I get these error messages:
[..]
readership -s "user/public/Geschaeftsfuehrung/Zug&AOQ-nge" group=gf@<domain> lrwipcd
ERROR: Mailbox does not exist
readership -s "user/public/Geschaeftsfuehrung/B&APw-ros" group=gf@<domain> lrwipcd
ERROR: Mailbox does not exist
readership -s "user/public/Geschaeftsfuehrung/B&APw-ros/Bad Homburg" group=gf@<domain> lrwipcd
ERROR: Mailbox does not exist
one error I could resolve:
readership -s "user/public/Geschaeftsfuehrung/1&-1 Rechnungen" group=gf@<domain> lrwipcd
ERROR: Mailbox does not exist
this one worked if I left out the dash "-" and escaped the slash. but its not working for the others above.
Anybody know what I could do to update acl rights?
# 1
Likely you will need to escape the ampersand (&)
# 2
Hi Jay,sorry, thats what I meant . I escaped the ampersand and left out the dash, but it is not working for the examples above. The string "&AOQ-" represents the german umlaut A and the escaping technic is not working for some reason :/
# 3
Why would you leave out the dash? If it's part of the name of the folder, you cannot leave it out, and expect the folder to be found.
# 4
because the real name in my mail client is "1&1 Rechnungen". so I tried "1\&1 Rechnungen" which worked. I guess the internal representation for the ampersand is "&-" and for other weird signs it is "&<something>-". but for the latter I dont know how to enter it on command line.
# 5
Always best to assume that the "name" of a folder is what you see in your mail client, not the representation as a disk directory. Some characters will need to be escaped, as you found out, but the translation to disk directory is somewhat more complex than that. Some filesystems we support aren't case sensitive, and so we prepend a "+" to capital letters, for example.
# 6
ok, the name I can see in Mail Client is (hope you can see the A umlaut):
"user/public/Geschaeftsfuehrung/Zug鋘ge"
mboxutil shows (umlaut totally missing!):
bash-3.00# mboxutil -lx | grep Zug
791514 2007/03/26 14:03 primary - user/public/Geschaeftsfuehrung/Zugnge /opt/SUNWmsgsr/data/store/partition/primary/=user/96/46/=public/=+Geschaeftsfuehrung/=+Zug&+A+O+Q-nge publiclrswipcdagroup=gf@<domain>.de lrwipc
and now I tried this:
# readership -s "user/public/Geschaeftsfuehrung/Zug鋘ge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
# readership -s "user/public/Geschaeftsfuehrung/Zug\鋘ge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
bash-3.00# readership -s "user/public/Geschaeftsfuehrung/Zug&+A+O+Q-nge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
bash-3.00# readership -s "user/public/Geschaeftsfuehrung/=+Zug&+A+O+Q-nge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
bash-3.00# readership -s "user/public/Geschaeftsfuehrung/Zug&AOQ-nge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
bash-3.00# readership -s "user/public/Geschaeftsfuehrung/Zug\&AOQ\-nge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
bash-3.00# readership -s "user/public/Geschaeftsfuehrung/Zugnge" group=gf@<domain>.de lrswipcd
ERROR: Mailbox does not exist
but nothing works.. ? I have no idea what to try next or how to debug this problem.
# 7
You might want to use mboxutil to see how Messaging reads the mailbox folder.jay
# 8
How can I do this?
Do you mean with "mboxutil -lx" like I did above? That doesn't help, because mboxutil is just leaving out the umlaut: "user/public/Geschaeftsfuehrung/Zugnge". But using that string with readership doesn't work :/
also using "=+Zug&+A+O+Q-nge" or the like, like mboxutil shows are not working.
Thanks Jay for dealing with my problem still!
-David
# 9
Hi,
Do you mean with "mboxutil -lx" like I did above?
That doesn't help, because mboxutil is just leaving
out the umlaut:
"user/public/Geschaeftsfuehrung/Zugnge". But using
that string with readership doesn't work :/
also using "=+Zug&+A+O+Q-nge" or the like, like
mboxutil shows are not working.
If you run a truss on the readership command using the folder name "Zug&AOQ-nge" it tries to open the folder <path>/=+Zug&-+A+O+Q-nge whereas it should open up the path =+Zug&+A+O+Q-nge. It appears that the readership utility is escaping the "&" character and I couldn't work out a way around this.
Suggest you log a support case to Sun to get a bug logged.
Shane.
# 10
Hi Shane,
thanks for your hint with truss! I recognized the same thing like you: couldn't get around escaping the "&".
As a work around I created a link in my filesystem: "=+Zug&-+A+O+Q-nge" -> "=+Zug&+A+O+Q-nge"
Now readership could find the folder which it wants to open and I could update my access rights. :-) Afterwards I removed the link..
I have never logged a support case before. Where can I do this?
-David
Edit:
Unfortunately this method is not working. mboxutil still shows the old rights, because its database /opt/SUNWmsgsr/data/store/mboxlist/lright.db is not updated. The store.idx file in my folder has the new rights though.. also after creating the link and using readership, mboxutil had 2 folders:
bash-3.00# mboxutil -l -s | grep "Zug"
user/public/Geschaeftsfuehrung/Zug&AOQ-nge
user/public/Geschaeftsfuehrung/Zugnge
I deleted the first one to have the state from before, but now my mboxutil db seems to be out of sync.
Can I somehow update mboxutil's db using mboxutil command?
Maybe I can copy the folder with my mail client, delete it with mboxutil and then copy it back. This way the rights should be inherited from the parent folder..
Edit2:
Success! Moving the folders to a temp folder in my mail client and moving them back worked! Now the rights which I want are assigned.
Anyway, there's a bug in readership. If you tell me where to do it, I will file a bug report.
Thanks for your help so far
-David
Message was edited by:
DavidSchulz
# 11
Hi,
Good to hear that you managed to work-around the issue - hopefully this is useful information for other users if they hit this issue in the short-term.
On the support/bug front, you can log a support case by going to the following site:
http://www.sun.com/service/online/
(this assumes you have a support contact for messaging server of course).
-> Select your country
-> Click on "service requests" tab
-> Click on "submit"
-> Go through the steps
I recommend in the problem description that you also point at this forum thread as it goes through the issue, a reproducible example etc.
Regards,
Shane.
# 12
Hi,
yes and its unbelivable how simple the work-around is.. only for the ones who are reliant on the command line tool are in trouble..
Unfortunately I have no support contact. I tried reporting a bug on bugs.sun.com, but there's no category for Messaging Server or JES. Isnt it possible to just report a bug for this somewhere?
regards
# 13
The only way to officially report a bug is through a support case. While we can report such, unless there's a real customer attached to the bug, they get low priority.
# 14
Hi,
Anyway, there's a bug in readership. If you tell me
where to do it, I will file a bug report.
I have logged a RFE (request for enhancement) #6548829 for the readership utility to allow you to specify the encoding on the command line using a switch.
The same switch (-E) has already been added in messaging server 6.3 for the mboxutil and reconstruct commands. For example to create the folder in question you can run:
./mboxutil -c -E MUTF-7 'user/shjorth/Zug&AOQ-nge'
create user/shjorth/Zug&AOQ-nge
to reconstruct it you can run:
bash-3.00# ./reconstruct -r -E MUTF-7 'user/shjorth/Zug&AOQ-nge'
user/shjorth/Zug&AOQ-nge
So the idea would be to be able to run:
./readership -s -E MUTF-7 'user/shjorth/Zug&AOQ-nge" user@domain.com lrwipcd
Hopefully this switch is added for the next release.
Regards,
Shane.
# 15
Thanks shane,that would be nice if they would implement that.
# 16
Hi,
It's been implemented in the next release (6.4/7.0 or whatever the heck they want to call it). Rather then using -E it uses -e but the usage as per earlier post will remain the same.
On a side note I have it on good authority that if you can manage to enable the terminal that you use to run the readership command to accept the accented character (i.e. don't use the standard "C" locale) the you can just input the 'real' name for the folded on the command line.
For example if your terminal accepts japanese characters (ja_JP-UTF8 locale) you could use:
readership -s user/demo2/テスト demo1 lpr
In my case when I cut/paste the folder name the terminal stripped out automatically any non-ascii characters but this may be different from your end.
Regards,
Shane.