Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jul 2002 17:52:06 -0700 (PDT)
From:      Garance A Drosehn <gad@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/usr.sbin/lpr/common_source matchjobs.c
Message-ID:  <200207170052.g6H0q6WZ015652@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
gad         2002/07/16 17:52:06 PDT

  Modified files:
    usr.sbin/lpr/common_source matchjobs.c 
  Log:
  The new implementation of 'lpc topq' is intended to be upwardly compatible
  with the previous implementation.  One noticeable difference is the order
  in which messages are printed.  In the previous implementation, the
  command "lpc topq lp 1 20 300" might print:
  
  lp:
      moved cfA300some.host.org
      moved cfA020some.host.org
      moved cfA001some.host.org
  
  while in the new implementation you'll see:
  
  lp:
      moved cfA001some.host.org
      moved cfA020some.host.org
      moved cfA300some.host.org
  
  The final order of jobs in the queue is exactly the same, it's just
  that the jobs are now moved in the same order they were specified,
  instead of being moved (and thus listed) in the reverse order.
  
  The new implementation also supports more options for how to select
  which jobs should be moved.  The previous topq allowed the user to
  select jobs based on a job number, or based on a userid:
      topq lp 17
      topq lp drosehn
  
  The new one also allows for a range of job numbers, or a hostname
  (matching jobs that were sent from that hostname).  To specify a
  hostname, you must prefix it with an '@'-sign:
      topq lp 17
      topq lp 15-25
      topq lp drosehn
      topq lp @some.host.com
  
  or a combination of those things:
      topq lp drosehn:17
      topq lp 15-25:drosehn
      topq lp 15-25@some.host.edu
      topq lp gad:15-25@some.host.edu
  
  Futhermore, in the new implementation the user can also use
  filename-style pattern-matching on the userid or hostname fields:
      topq lp dros[ie]hn
      topq lp @samba*
      topq lp gad@*freebsd.org
  
  (although the user should probably include those in quotes when they
  are specifying the topq command as part of the 'lpc' command, just
  to make sure the pattern-matching characters are not expanded by
  whatever shell they are typing the command into)
  
  The operator can still specify several of these job-specifiers in a
  single command:
     topq lp 17 22 27 drosihn:23 gad@*freebsd.org 97
  
  If a job is matched by multiple job-specifiers on a single command,
  then its final position in the queue is based on the first job-specifer
  which matched it.
  
  The previous implementation also recognized a jobnumber followed by
  a hostname (with no separator), or a hostname:jobnumber, although
  neither of these options were documented.  Eg:
      topq lp 42some.host.org
      topq lp some.host.org:42
  
  The new version allows the first one, and will also recognize the
  second one *iff* the hostname includes a period (otherwise it is
  assumed to be a userid followed by a job number).  Both remain
  undocumented, and are only provided in case there were some users
  who did know about those options, and are used to typing them in.
  
  The new implementation also fixes a few subtle security issues in
  the old one (mainly just making sure all error-messages are printed
  while the process is "not-priv"), avoids integer-overflow issues on
  bad user input, and prints out more descriptive messages in a number
  of circumstances.
  
  The new bottomq command accepts all the same arguments as topq, but
  moves the selected jobs to the bottom of the queue instead of the top.
  
  Revision  Changes    Path
  1.2       +0 -0      src/usr.sbin/lpr/common_source/matchjobs.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207170052.g6H0q6WZ015652>