This file is indexed.

/usr/share/gnuspool/help/spuser.dumb is in gnuspool 1.7ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
#
#   Copyright 2009 Free Software Foundation, Inc.
#
#  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
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# $Header: /sources/gnuspool/gnuspool/src/helpmsg/spuser.help,v 1.3 2009/02/16 21:49:38 toadwarble Exp $
# This file defines the screen headers, prompts, keystrokes, help and
# error messages for 'gspl-user'.
# You are welcome to change any of the text (within reason) to get the
# customisation you require.
# The numbers give "states" within the internal state machine by which
# 'gspl-user' operates. These should generally be left alone.

T1:User    def min max cps form              ptr             Class       S/Priv
T2:
U1:===============================================================================
U2:GNUspool %P Copyright FSF Inc 2008  (? for help)

=1:Setting Program options for %P
=2:

# Auto-generated beyond this line from master.

# Default user form type if nothing else given

1000P:standard

# Keys global to all states in screen-based progs

K400:?
K401:^L
K402:\e
K403:\s,\t
K404:\r
K405:Q,q
K406:k
K407:j
K408:^B
K409:^F
K410:^U
K411:^D
K416:B
K417:E
K420:\kERASE
K421:\kINTR
K430:=
K490:^Z
10K450:y,Y,t,T
10K451:n,N,f,F
11K450:y,Y,t,T
11K451:n,N,f,F
12K450:y,Y,t,T
12K451:n,N,f,F
13K450:y,Y,t,T
13K451:n,N,f,F
15K450:y,Y,t,T
15K451:n,N,f,F
15K452:~,!
21K422:l,L
21K423:r,R

# Set fields and widths in spq display

29K450:y,Y,t,T
29K451:n,N,f,F

# Set class code bits

90K422:l,L
90K423:r,R
90K450:y,Y,t,T,+
90K451:n,N,f,F,-
90K452:~,!
90K453:*
90K454:&

# Ask about saving spq options

750P:Save parameters? 
751P:Save in current directory? 
752P:Save in home directory? 
753P:Save in home (also current) directory? 

# Error messages whilst saving .gnuspool files

E790:Sorry saveopts crashed with signal 0x%x0
E791:Sorry cannot delete old init file from %s
E792:Sorry cannot create init file in %s
E792:(and I've deleted your old one - sorry!!)
E793:Sorry cannot create init file in %s
E794:Sorry cannot fork to create init file
E796:No memory available creating init file.
E3070:Macro command %d0 is not defined.
E3071:Macro command failed to fork - %E
E3072:Macro command failed - signal %d0
E3073:Macro command failed - exit code %d0

# Spuser interactive state

H1:?             Help (this screen)
H1:q             Quit
H1:^L            Redraw screen
H1:
H1:j k           down up
H1:^F ^B ^D ^U   Page down/up, half page down/up
H1:
H1:d l u         Set default, min, max priority
H1:f o p n s     Set form type, ptr, privileges,
H1:                  max copies, class code
H1:r g           Set form and printer restrictions
H1:
H1:D L U F P N S O R G Set system defaults.
H1:
H1:a             Copy system default priorities to user
H1:A             Copy system default priorities to all users
H1:
H1:c             Set charge
1K500:d
1K501:D
1K502:l
1K503:L
1K504:u
1K505:U
1K506:f
1K507:F
1K508:r
1K509:R
1K510:o
1K511:O
1K512:g
1K513:G
1K514:p
1K515:P
1K516:s
1K517:S
1K518:n
1K519:N
1K520:A
1K521:c,C
1K522:a
1K523:/
1K524:\\
1K600:@

# Spuser privs screen state

H2:In this screen you are editing the privileges for user `%s'.
H2:On each field you can type y, Y, t or T to allow the corresponding
H2:privilege, n, N, f or F to disallow it, ENTER or RETURN to move
H2:to the next line, or Q to quit back to the main screen.
H2:Cursor up/down can be used to move up and down also.
H2:Some privileges imply others - don't be surprised if some change
H2:Above or below the current line.
H2:To initialise to the default privileges, type `D'.
H3:In this screen you are editing the default privileges.
H3:These are copied to each new user subsequently created.
H3:You will also be asked at the end whether you want to copy them
H3:to all other users.
H3:On each field you can type y, Y, t or T to allow the corresponding
H3:privilege, n, N, f or F to disallow it, ENTER or RETURN to move
H3:to the next line, or Q to quit back to the main screen.
H3:Cursor up/down can be used to move up and down also.
H3:Some privileges imply others - don't be surprised if some change
H3:Above or below the current line.
2K450:y,Y,t,T,s,S
2K451:n,N,f,F,u,U
2K452:~,!
2K453:D

# Spuser change defaults state

H4:?  Help
H4:q  Quit
H4:^L Redraw screen
H4:
H4:d  Set default priority
H4:f  Set form type
H4:p  Set printer type
4K500:f,F
4K501:d,D
4K502:p,P

# Spuser confirm rebuild

E5:Warning: Your user control file may be out of date
E5:with your password file.
E5:Do you want to rebuild it? (Y or N).
E5:(This may take some time and may hold up other users)
E6:***Rebuilding user control file, please wait***

# Spuser save options

5K450:y,Y,t,T,s,S
5K451:n,N,f,F,u,U

# Spuser copy default classes

H40:Please say (Y or N) whether you want the default class code
H40:be copied to all users INCLUDING you.
40P:Copy to all users? 
40K450:y,Y
40K451:n,N

# Help stuff spuser main screen

H100:Please enter the required default priority (between %d0 and %d1)
H100:for user `%s' to replace the existing value of %d2.
H101:Please enter the required system default priority, between %d0 and %d1
H101:to replace the existing value of %d2. This will be inserted as the
H101:default priority of any new user created from now on.
H102:Please enter the required minimum priority (between %d0 and %d1) for
H102:user `%s' to replace the existing value of %d2.
H103:Please enter the required system minimum priority, between %d0 and %d1
H103:to replace the existing value of %d2. This will be inserted as the
H103:minimum priority of any new user created from now on.
H104:Please enter the required maximum priority (between %d0 and %d1) for
H104:user `%s' to replace the existing value of %d2.
H105:Please enter the required system maximum priority, between %d0 and %d1
H105:to replace the existing value of %d2. This will be inserted as the
H105:maximum priority of any new user created from now on.
H106:Please enter the required maximum number of copies (between %d0 and %d1)
H106:for user `%s' to replace the existing value of %d2.
H107:Please enter the required system maximum number of copies, between %d0
H107:and %d1 to replace the existing value of %d2. This will be inserted as the
H107:maximum number of copies for any new user created from now on.
H108:Please enter a new value for your default priority. This is currently
H108:%d2, and can be any number between %d0 and %d1.
109P:User class code:
H109:Please enter a new value for the class code for user `%s'. This is
H109:a string of bits A to P and a to p and controls which jobs and printers the
H109:user has access to (by default).
H109:Type & to clear all * to set all A to P, a to p to set bit.
110P:Default class code:
H110:Please enter a new value for the default class code.
H110:This value is inserted by default as the class code for new users,
H110:and (if you want) is copied to all existing users when you have finished.
H111:Please specify the default form type for user `%s'
H112:Please enter the system default form type. This will be inserted as the
H112:default for any new user created from now on.
113P:User form(s):
H113:Please enter a form type restriction for user `%s'.
H113:This should be a pattern, e.g. a4.* or alternatives
H113:like a*,form[1-7].
114P:System form(s):
H114:Please enter a form type restriction to be given to new users.
H114:This should be a pattern, e.g. a4.* or alternatives
H114:like a*,form[1-7].
115P:User printer(s):
H115:Please enter a printer restriction for user `%s'.
H115:This should be a pattern, e.g. lp* or alternatives
H115:like lp*,ptr[0-3].
116P:System printer(s):
H116:Please enter a printer restriction to be given to new users.
H116:This should be a pattern, e.g. lp* or alternatives
H116:like lp*,ptr[0-3].
H117:Please specify the default printer for user `%s'
H118:Please enter the system default printer. This will be inserted as the
H118:default for any new user created from now on.
H119:Please enter your new default form type.
H120:Please enter your new default printer.
121P:Current charge for user %s is %ld
122P:Forward search user:
H122:Please give a user name to search for.
H122:'.' matches any character.
123P:Reverse search user:
E123:No search string given, please try again.
E124:No such user found.

# Shell level parameters output

125P:Parameters for user: %s
126P:Default priority: 
127P:Default form type: 
128P:Default printer type: 
129P:Priority: min %d max %d sys default %d
130P:Forms restricted to `%s'
131P:Printers restricted to `%s'

# Options setting for spuser - prompts

700P:Default program mode       :
701P:Sort users                 :
702P:Help messages     :
703P:Error messages    :
704P:Clear help message:

# Initial cursor and start display row for spuser opts

698N700
699N700
# Order in which prompts happen
700N701
701N702
702N703
703N704
704N-1
7000P:Display on stdout
H7000:What mode to you want to have as the default
H7000:for %P?
7001P:Edit default form/prio
7002P:Edit user list
7010P:Numeric order of userid
H7010:How do you want the users to be displayed?
H7010:This only applies to full edit of user list.
7011P:Alphabetic order of user name
7020P:Inverse video
H7020:Please indicate whether you want to display help messages
H7020:in inverse video (standout mode) or boxes.
7021P:Boxes
7030P:Inverse video
H7030:Please indicate whether you want to display error messages
H7030:in inverse video (standout mode) or boxes.
7031P:Boxes
7040P:Use next command
H7040:Please indicate whether you want the next keystroke afer
H7040:displaying a help message to be kept or lost
7041P:Clear help

# Privilege names in full

1100P:Edit admin file
1101P:Override class
1102P:Stop spooler
1103P:Use other forms
1104P:Use other printers
1105P:Change priority on Q
1106P:Edit other users' jobs
1107P:Select printer list
1108P:Halt/restart printers
1109P:Add/delete printers
1110P:Set any priority on Q
1111P:Change own default prio/form
1112P:Unqueue jobs
1113P:View other users' jobs
1114P:Edit remote jobs
1115P:Edit remote printers
1116P:Access queue options
1117P:Save new default options

# Select starting row for cursor of list of perms, and initial display row

1098N1100
1099N1100

# Define row order for priv descrs on spuser

1100N1101
1101N1102
1102N1103
1103N1104
1104N1105
1105N1106
1106N1107
1107N1108
1108N1109
1109N1110
1110N1111
1111N1112
1112N1113
1113N1114
1114N1115
1115N1116
1116N1117
1117N-1

# Misc strings and prompts for spuser

H1200:Please say (Y or N) whether you want the default privileges to
H1200:be copied to everyone other than you (%R)
1200P:Copy to everyone else (but you)?
1201P:Privileges for user %s
1202P:Default privileges
1203P:User %s is allowed to
1204P:Default is to allow users to
1205P:
1206P:<DCl
1207P:>DCl
1208P:N/S Cl
1209P:
1210P:<DP
1211P:>DP
1212P:N/S P
1213P:DEFAULT
1214P:Yes
1215P:No
1216P:-- %d more above --
1217P:-- %d more below --
E1220:Default form %s form types %t
E1220:Maximum copies %d0
E1220:Priority: min %d1 max %d2 default %d3.  Current charge is %d4.
E1221:Default printer `%s' printer types `%t`
E1222:Class code: %s
E1223:Privileges:

1224P:You may
E1300:Unknown command
E1301:Off end of user list
E1302:Off beginning of user list
E1303:Unknown command (expecting `f' or `p')
E1304:Must give some kind of form type
E1305:Form type not in permitted range
E1306:Printer name not in permitted range
E1307:Unknown command (please type `Y' or `N')
E1308:Off end of screen
E1309:Off beginning of screen
E1310:You are editing the defaults!
E1311:Missing state code %d9 in privs order e.g. 700N702
E1312:Jumbled state code in list of program options order
E1313:Invalid pattern type - unmatched [ etc
E1314:Invalid state code number %d9 in display options order in
E1314:help file %F
E1315:Duplicated state code %d9 referred to in %d8N%d9 in
E1315:list of display options order in help file %F
E1316:Unknown command - setting screen options
E1317:Unknown command - please say Y or N do you want to save options
E1320:Sorry - you do not have the privilege to change your form type
E1320:or priority. Please ask someone who can edit the admin file
E1320:to set this for you.
E1321:Sorry - you do not have the privilege to edit the admin file.

# Argument defs for spuser

A300:?,help,explain
A301:d,display
A302:c,form-and-prio
A303:i,administer
A304:u,user-sort
A305:n,numeric-sort
A306:H,keep-char-help
A307:h,lose-char-help
A308:b,help-box
A309:B,no-help-box
A310:m,error-box
A311:M,no-error-box

# Spuser explain

E3:You may invoke the following options for %P
E3:
E3:     %P -d   display current privileges
E3:     %P -c   change default form type and/or priority
E3:     %P -i   edit admin file (if permitted)
E3:             append -n (default) or -u to sort into numeric id
E3:             or alphabetic id order.
E3:     -h loses -H keeps char after help screen
E3:     %P -b -B -m -M  boxes/no boxes help/error messages

# Strings for wnum etc

E4000:No defaults found with prefix %s
E4001:String too long
E4002:Unknown command (expecting string)
E4003:Invalid character (expecting string)
E4010:Value for %s is too large. (Maximum is %d1) Please try again.
E4011:Value for %s is too small. (Minimum is %d0) Please try again.
E4012:Unknown command (expecting numeric value for %s)
E4013:Invalid character (expecting numeric value for %s)
E4014:Value is too large. (Maximum is %d1) Please try again.
E4015:Value is too small. (Minimum is %d0) Please try again.
E4016:Unknown command (expecting numeric value)
E4017:Invalid character (expecting numeric value)
E4020:Exceeded field size for %s
E4021:Sorry you are not allowed to set a zero class value for %s
E4022:Unknown command (expecting class letter for %s)
E4023:Invalid character (expecting class letter for %s)
E4024:Exceeded field size for class value
E4025:Sorry you are not allowed to set a zero class value
E4026:Unknown command (expecting class value)
E4027:Invalid character (expecting class value)

# System errors

E8000:Cannot open file - check ownership of files in spool directory, and
E8000:this program, %P. All should be owned by `spooler' and %P
E8000:should be suid to `spooler'.
E8002:Trouble creating user file - please check GNUSpool is installed
E8002:correctly.
E8003:The current time on your machine comes before the time on your
E8003:/etc/passwd file. Corrective action has been taken, but I suggest that
E8003:you investigate the situation rapidly!
E8004:Error - %E
E8004:Attempting to lock user control file.
E8005:Error - %E
E8005:Attempting to unlock user control file.
E8006:Error - %E
E8006:Attempting to create temporary file %s.
E8007:User control file GNUSpool version number is %d0.
E8007:GNUSpool Version is %d1.
E8007:Your user control file is either corrupted, or you are attempting
E8007:to a mixture of binaries from different versions of GNUSpool.
E8007:I am continuing, but please shut down GNUSpool as soon as possible
E8007:and investigate. Thanks.
E8123:Sorry, but your user id %R has not yet been
E8123:registered for GNUSpool. You need to run
E8123:(or have run for you) "gspl-user -i" "gspl-xmuser" or "gspl-xuser".

# Key setup errors

E9000:Global key setup error - clash on character %c0 with previously-given
E9000:value %d2 and new value %d1.
E9000:This means that you have defined one key to do two or more different things,
E9000:possibly because you have specified one as a terminal key (\KKILL etc).
E9000:Please look in the file %F for lines
E9000:of the form "K%d2:...." and "K%d1:....."
E9000:You may be using a different terminal or account than before?
E9001:State %d3 key setup error - clash on character %c0 with previously-given
E9001:value %d2 and new value %d1.
E9001:This means that you have defined one key to do two or more different things,
E9001:possibly because you have specified one as a terminal key (\KKILL etc).
E9001:Please look in the file %F for lines
E9001:of the form "%d3K%d2:...." or "K%d2:..." and "%d3K%d1:....."
E9001:You may be using a different terminal or account than before?
E9002:Key setup error on character number %d3 - %c0 with previously-given
E9002:value %d2 and new value %d1.
E9003:Keys not defined for state %d3... Aborting.
E9004:Key string too long... Aborting.
E9005:Bad syntax global key definitions... Aborting.
E9006:Unknown key name `%s' - ignored.
E9006:This is harmless, but is because you have called for something not defined in
E9006:your "termcap" or "terminfo" file - probably a "HOME" key.
E9006:Please look in the file %F for lines that might refer to %s
E9006:You may be using a different terminal or account than before?
E9007:Bad syntax state key definitions... Aborting.
E9008:Undefined key sequence - ignored
E9009:Aborted due to %d0 key setup errors.
E9010:Error on terminal input - %E
E9500:Bad argument %s to program %P
E9501:Bad string argument %s to program %P
E9502:Option %s to program %P expects an argument
E10000:Missing help message code %d0
E10001:Missing prompt message code %d0
E10002:Missing error message code %d0
E10003:Clash on character %c2 with state %d0 and state %d1
E10003:(i.e. you have 2 meanings for -%c2)
E10004:Clash on option %s with state %d0 and state %d1
E10004:(i.e. you have 2 meanings for +%s)
E10005:Aborted due to %d0 conflict(s) in argument descriptions

# Macro prompts - add to this??

27000P:Run what:
H27000:Please give the command you want to run.
H27000:Details from the current line will be given as a parameter.
E1164:%P - Problems with locking semaphore. This is almost certainly
E1164:due to being unable to allocate sufficient "undo" structures
E1164:(structures which hold adjustments to semaphore values to apply
E1164:on exit) within the kernel. If you have the program "/etc/sysdef"
E1164:available, please run it now and look at the parameter SEMMNU.
E1164:This should be at least as great as the parameter SEMMNS and
E1164:your kernel parameters should be updated to avoid this error.
E1164:The error reported was "%E".
E1164:However this can vary between platforms.
E1165:Error setting lock - %E