Package: mldonkey-server Version: 2.8.1-1 Severity: normal Tags: patch Here is an example (trying to give a UID instead of a username): # mldonkey --chuid 1000 Fatal error: exception Not_found The same can happen with --chgid and --umask. The exception is not very expressive.
Arg.parse is used to parse the command line but this function does not intercept all exceptions, so a "conversion" has to be made. The proposed patch: --- mldonkey-2.8.1/debian/utils/mldonkey_server.ml.orig 2006-10-12 08:53:17.000000000 +0200 +++ mldonkey-2.8.1/debian/utils/mldonkey_server.ml 2006-10-12 09:46:48.000000000 +0200 @@ -181,7 +181,8 @@ "--chuid", Arg.String (fun x -> let passwd_ent = - Unix.getpwnam x + try Unix.getpwnam x with + Not_found -> raise (Arg.Bad ("wrong argument `"^x^"'; option `--chuid' expects a user name")) in state := {!state with chuid = passwd_ent.pw_uid} ), @@ -189,13 +190,18 @@ "--chgid", Arg.String (fun x -> let group_ent = - Unix.getgrnam x + try Unix.getgrnam x with + Not_found -> raise (Arg.Bad ("wrong argument `"^x^"'; option `--chgid' expects a group name")) in state := {!state with chgid = group_ent.gr_gid} ), "Which group own the process"; "--umask", - Arg.String (fun x -> state := {!state with umask = int_of_string ( "0o"^x )}), + Arg.String (fun x -> + let mask = + try int_of_string ( "0o"^x ) with + Failure "int_of_string"|| -> raise (Arg.Bad ("wrong argument `"^x^"'; option `--umask' expects an octal umask")) + in state := {!state with umask = mask}), "What umask to use"; "--nice", Arg.Int (fun x -> state := {!state with nice = x}), -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]