From 4bc12e751a5c98aae8ef16294050808b28b6d70c Mon Sep 17 00:00:00 2001 From: gernot Date: Sun, 27 Apr 2003 13:15:48 +0000 Subject: [PATCH] - new parameter -u / --user added, thx goes to Wolfang Eul for the patch! git-svn-id: https://svn.ibp.de/svn/capisuite/trunk/capisuite@108 4ebea2bb-67d4-0310-8558-a5799e421b66 --- scripts/capisuitefax.in | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/scripts/capisuitefax.in b/scripts/capisuitefax.in index 0b44d40..5ad394f 100755 --- a/scripts/capisuitefax.in +++ b/scripts/capisuitefax.in @@ -4,7 +4,7 @@ # --------------------------------------------------- # copyright : (C) 2002 by Gernot Hillier # email : gernot@hillier.de -# version : $Revision: 1.3 $ +# version : $Revision: 1.4 $ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,6 +17,7 @@ import cs_helpers dialstring="" abort="" +user="" quiet=0 listqueue=0 useprefix=1 @@ -25,7 +26,7 @@ def usage(error=""): print """capisuitefax - capisuite tool for enqueueing faxes usage: -capisuitefax [-q] [-n] -d file1 [file2...] or +capisuitefax [-q] [-n] [-u ] -d file1 [file2...] or capisuitefax [-q] -a or capisuitefax [-h] [-l] @@ -37,6 +38,7 @@ possible options are: -l, --list print jobs in the send queue -n, --noprefix ignore configured dial prefix for this call (for internal calls) +-u , --user= send fax as (only when called as root!) -q, --quiet be quiet, don't output informational messages The given files must be in Adobe PostScript format""" @@ -99,8 +101,8 @@ def abortjob(config,user,job): try: - optlist,args = getopt.getopt(sys.argv[1:], "d:a:lhqn" - ,['dialstring=','noprefix','help',"abort=","list","quiet"]) + optlist,args = getopt.getopt(sys.argv[1:], "d:a:u:lhqn" + ,['dialstring=','noprefix','help',"abort=","list","quiet","user="]) except getopt.GetoptError, e: usage(e.msg) @@ -113,6 +115,12 @@ for option,param in optlist: if option in ('-l','--list'): listqueue=1 if option in ('-a','--abort'): abort=param if option in ('-q','--quiet'): quiet=1 + if option in ('-u','--user'): + if (os.getuid()==0): + user=param + else: + usage("--user may only used as root!") + if (not abort and not listqueue and not dialstring): usage("No usable command given.") @@ -127,7 +135,8 @@ if (dialstring and len(args)==0): # test if this user is allowed to send faxes config=cs_helpers.readConfig() -user=pwd.getpwuid(os.getuid())[0] +if (user==""): + user=pwd.getpwuid(os.getuid())[0] if (not config.has_section(user)): print "Sorry, you're no valid user for CapiSuite" sys.exit(1) @@ -183,5 +192,8 @@ for i in args: +"user=\""+user+"\"\n") os.chmod(newname,0600) os.chmod(newname[:-3]+"txt",0600) - + if (os.getuid()==0): + user_entry=pwd.getpwnam(user) + os.chown(newname,user_entry[2],user_entry[3]) + os.chown(newname[:-3]+"txt",user_entry[2],user_entry[3]) print i,"successful enqueued as",newname,"for",dialstring