24 | | # |
25 | | # $Log$ |
26 | | # Revision 1.89 2005/02/16 00:29:33 jalet |
27 | | # Fixed the maxdenybanners directive. |
28 | | # Introduced the denyduplicates directive. |
29 | | # Fixed some database related glitches. |
30 | | # |
31 | | # Revision 1.88 2005/02/14 23:39:50 jalet |
32 | | # Introduces the new 'trustjobsize' directive to workaround some printers |
33 | | # generating unstable internal page counter values when queried through SNMP. |
34 | | # |
35 | | # Revision 1.87 2005/02/14 22:53:44 jalet |
36 | | # Now always precomputes the job's size with the internal PDL parser, and not |
37 | | # only when 'enforcement: strict' was set in pykota.conf |
38 | | # |
39 | | # Revision 1.86 2005/02/13 22:48:37 jalet |
40 | | # Added the md5sum to the history |
41 | | # |
42 | | # Revision 1.85 2005/02/13 22:02:28 jalet |
43 | | # Big database structure changes. Upgrade script is now included as well as |
44 | | # the new LDAP schema. |
45 | | # Introduction of the -o | --overcharge command line option to edpykota. |
46 | | # The output of repykota is more complete, but doesn't fit in 80 columns anymore. |
47 | | # Introduction of the new 'maxdenybanners' directive. |
48 | | # |
49 | | # Revision 1.84 2005/01/17 08:44:23 jalet |
50 | | # Modified copyright years |
51 | | # |
52 | | # Revision 1.83 2005/01/06 23:23:35 jalet |
53 | | # Regain priviledge the time to read the job control file to extract the client |
54 | | # hostname |
55 | | # |
56 | | # Revision 1.82 2005/01/06 22:52:53 jalet |
57 | | # Implemented the dropping of priviledges. Beware, beware... |
58 | | # |
59 | | # Revision 1.81 2004/12/07 16:54:02 jalet |
60 | | # Now logs as errors differences between computed and precomputed job's sizes |
61 | | # |
62 | | # Revision 1.80 2004/11/15 22:12:46 jalet |
63 | | # Fix for the Fix !!! |
64 | | # |
65 | | # Revision 1.79 2004/11/15 22:01:34 jalet |
66 | | # Improved banner handling. |
67 | | # Fix for raw printing and banners. |
68 | | # |
69 | | # Revision 1.78 2004/11/15 19:59:34 jalet |
70 | | # PyKota banners now basically work ! |
71 | | # |
72 | | # Revision 1.77 2004/11/06 22:40:57 jalet |
73 | | # Safer code |
74 | | # |
75 | | # Revision 1.76 2004/11/06 22:35:58 jalet |
76 | | # Added a miniparser for IPP messages (RFC 2910). The job-originating-host-name |
77 | | # retrieval is now fiable, unless the CUPS developpers change something... |
78 | | # |
79 | | # Revision 1.75 2004/11/01 15:45:25 jalet |
80 | | # Added many debug messages. |
81 | | # Added some code to prevent short writes. |
82 | | # |
83 | | # Revision 1.74 2004/10/13 20:51:27 jalet |
84 | | # Made debugging levels be the same in cupspykota and lprngpykota. |
85 | | # Now outputs more information in informational messages : user, printer, jobid |
86 | | # |
87 | | # Revision 1.73 2004/10/13 16:56:45 jalet |
88 | | # Added a space to the pattern to differentiate jobs which id begins with |
89 | | # the same digits, like jobs 87 and 879 for example : if printed by same |
90 | | # user on same printer, but from a different host this could have broken |
91 | | # the result. (In reality this couldn't happen because 879 would be the |
92 | | # last line to match anyway because of job ordering, but we never know |
93 | | # if the page_log file gets corrupt somewhat) |
94 | | # |
95 | | # Revision 1.72 2004/09/13 16:02:44 jalet |
96 | | # Added fix for incorrect job's size when hardware accounting fails |
97 | | # |
98 | | # Revision 1.71 2004/09/06 17:05:06 jalet |
99 | | # Fix for autodetection of SC_OPEN_MAX |
100 | | # |
101 | | # Revision 1.70 2004/07/26 09:20:27 jalet |
102 | | # Unneeded module |
103 | | # |
104 | | # Revision 1.69 2004/07/22 22:41:47 jalet |
105 | | # Hardware accounting for LPRng should be OK now. UNTESTED. |
106 | | # |
107 | | # Revision 1.68 2004/07/20 22:19:44 jalet |
108 | | # Sanitized a bit + use of gettext |
109 | | # |
110 | | # Revision 1.67 2004/07/16 12:22:45 jalet |
111 | | # LPRng support early version |
112 | | # |
113 | | # Revision 1.66 2004/07/01 19:56:25 jalet |
114 | | # Better dispatching of error messages |
115 | | # |
116 | | # Revision 1.65 2004/06/22 09:31:17 jalet |
117 | | # Always send some debug info to CUPS' back channel stream (stderr) as |
118 | | # informationnal messages. |
119 | | # |
120 | | # Revision 1.64 2004/06/18 13:34:46 jalet |
121 | | # Now all tracebacks include PyKota's version number |
122 | | # |
123 | | # Revision 1.63 2004/06/17 13:26:50 jalet |
124 | | # Better exception handling code |
125 | | # |
126 | | # Revision 1.62 2004/06/16 20:56:34 jalet |
127 | | # Smarter initialisation code |
128 | | # |
129 | | # Revision 1.61 2004/06/08 09:00:04 jalet |
130 | | # Fixed problem when username was passed in uppercase from Samba and we |
131 | | # tried to find correct line in CUPS page_log to extract the hostname. |
132 | | # |
133 | | # Revision 1.60 2004/06/03 23:14:08 jalet |
134 | | # Now stores the job's size in bytes in the database. |
135 | | # Preliminary work on payments storage : database schemas are OK now, |
136 | | # but no code to store payments yet. |
137 | | # Removed schema picture, not relevant anymore. |
138 | | # |
139 | | # Revision 1.59 2004/06/03 22:12:53 jalet |
140 | | # Now denies empty jobs |
141 | | # |
142 | | # Revision 1.58 2004/06/03 21:50:33 jalet |
143 | | # Improved error logging. |
144 | | # crashrecipient directive added. |
145 | | # Now exports the job's size in bytes too. |
146 | | # |
147 | | # Revision 1.57 2004/06/02 22:18:07 jalet |
148 | | # I think the bug when cancelling jobs should be fixed right now |
149 | | # |
150 | | # Revision 1.56 2004/06/02 21:50:56 jalet |
151 | | # Moved the sigterm capturing elsewhere |
152 | | # |
153 | | # Revision 1.55 2004/06/02 14:25:07 jalet |
154 | | # Should correctly capture ALL errors now |
155 | | # |
156 | | # Revision 1.54 2004/05/26 16:44:48 jalet |
157 | | # Now logs something when client hostname can't be extracted |
158 | | # |
159 | | # Revision 1.53 2004/05/26 14:49:35 jalet |
160 | | # First try at saving the job-originating-hostname in the database |
161 | | # |
162 | | # Revision 1.52 2004/05/25 09:15:13 jalet |
163 | | # accounter.py : old code deleted |
164 | | # the rest : now exports PYKOTAPRECOMPUTEDJOBSIZE and PYKOTAPRECOMPUTEDJOBPRICE |
165 | | # |
166 | | # Revision 1.51 2004/05/25 08:31:16 jalet |
167 | | # Heavy CPU usage seems to be fixed at least ! |
168 | | # |
169 | | # Revision 1.50 2004/05/25 05:17:50 jalet |
170 | | # Now precomputes the job's size only if current printer's enforcement |
171 | | # is "STRICT" |
172 | | # |
173 | | # Revision 1.49 2004/05/24 22:45:48 jalet |
174 | | # New 'enforcement' directive added |
175 | | # Polling loop improvements |
176 | | # |
177 | | # Revision 1.48 2004/05/24 14:36:24 jalet |
178 | | # Revert to old polling loop. Will need optimisations |
179 | | # |
180 | | # Revision 1.47 2004/05/24 11:59:46 jalet |
181 | | # More robust (?) code |
182 | | # |
183 | | # Revision 1.46 2004/05/21 22:02:51 jalet |
184 | | # Preliminary work on pre-accounting |
185 | | # |
186 | | # Revision 1.45 2004/05/19 07:15:32 jalet |
187 | | # Could the 'misterious' bug in my loop be finally fixed ??? |
188 | | # |
189 | | # Revision 1.44 2004/05/18 14:48:47 jalet |
190 | | # Big code changes to completely remove the need for "requester" directives, |
191 | | # jsut use "hardware(... your previous requester directive's content ...)" |
192 | | # |
193 | | # Revision 1.43 2004/05/17 11:46:05 jalet |
194 | | # First try at cupspykota's main loop rewrite |
195 | | # |
196 | | # Revision 1.42 2004/05/10 11:22:28 jalet |
197 | | # Typo |
198 | | # |
199 | | # Revision 1.41 2004/05/10 10:07:30 jalet |
200 | | # Catches OSError while reading |
201 | | # |
202 | | # Revision 1.40 2004/05/10 09:29:48 jalet |
203 | | # Should be more robust if we receive a SIGTERM during an I/O operation |
204 | | # |
205 | | # Revision 1.39 2004/05/07 14:44:53 jalet |
206 | | # Fix for file handles unregistered twice from the polling object |
207 | | # |
208 | | # Revision 1.38 2004/04/09 22:24:46 jalet |
209 | | # Began work on correct handling of child processes when jobs are cancelled by |
210 | | # the user. Especially important when an external requester is running for a |
211 | | # long time. |
212 | | # |
213 | | # Revision 1.37 2004/03/18 19:11:25 jalet |
214 | | # Fix for raw jobs in cupspykota |
215 | | # |
216 | | # Revision 1.36 2004/03/18 14:03:18 jalet |
217 | | # Added fsync() calls |
218 | | # |
219 | | # Revision 1.35 2004/03/16 12:05:01 jalet |
220 | | # Small fix for new waitprinter.sh : when job was denied, would wait forever |
221 | | # for printer being in printing mode. |
222 | | # |
223 | | # Revision 1.34 2004/03/15 10:47:56 jalet |
224 | | # This time the traceback formatting should be correct ! |
225 | | # |
226 | | # Revision 1.33 2004/03/05 12:46:07 jalet |
227 | | # Improve tracebacks |
228 | | # |
229 | | # Revision 1.32 2004/03/05 12:31:35 jalet |
230 | | # Now should output full traceback when crashing |
231 | | # |
232 | | # Revision 1.31 2004/03/01 14:35:56 jalet |
233 | | # PYKOTAPHASE wasn't set soon enough at the start of the job |
234 | | # |
235 | | # Revision 1.30 2004/03/01 14:34:15 jalet |
236 | | # PYKOTAPHASE wasn't set at the right time at the end of data transmission |
237 | | # to underlying layer (real backend) |
238 | | # |
239 | | # Revision 1.29 2004/03/01 11:23:25 jalet |
240 | | # Pre and Post hooks to external commands are available in the cupspykota |
241 | | # backend. Forthe pykota filter they will be implemented real soon now. |
242 | | # |
243 | | # Revision 1.28 2004/02/26 14:18:07 jalet |
244 | | # Should fix the remaining bugs wrt printers groups and users groups. |
245 | | # |
246 | | # Revision 1.27 2004/02/04 23:41:27 jalet |
247 | | # Should fix the incorrect "backend died abnormally" problem. |
248 | | # |
249 | | # Revision 1.26 2004/01/30 16:35:03 jalet |
250 | | # Fixes stupid software accounting bug in CUPS backend |
251 | | # |
252 | | # Revision 1.25 2004/01/16 17:51:46 jalet |
253 | | # Fuck Fuck Fuck !!! |
254 | | # |
255 | | # Revision 1.24 2004/01/14 15:52:01 jalet |
256 | | # Small fix for job cancelling code. |
257 | | # |
258 | | # Revision 1.23 2004/01/13 10:48:28 jalet |
259 | | # Small streams polling loop modification. |
260 | | # |
261 | | # Revision 1.22 2004/01/12 22:43:40 jalet |
262 | | # New formula to compute a job's price |
263 | | # |
264 | | # Revision 1.21 2004/01/12 18:17:36 jalet |
265 | | # Denied jobs weren't stored into the history anymore, this is now fixed. |
266 | | # |
267 | | # Revision 1.20 2004/01/11 23:22:42 jalet |
268 | | # Major code refactoring, it's way cleaner, and now allows automated addition |
269 | | # of printers on first print. |
270 | | # |
271 | | # Revision 1.19 2004/01/08 14:10:32 jalet |
272 | | # Copyright year changed. |
273 | | # |
274 | | # Revision 1.18 2004/01/07 16:16:32 jalet |
275 | | # Better debugging information |
276 | | # |
277 | | # Revision 1.17 2003/12/27 16:49:25 uid67467 |
278 | | # Should be ok now. |
279 | | # |
280 | | # Revision 1.17 2003/12/06 08:54:29 jalet |
281 | | # Code simplifications. |
282 | | # Added many debugging messages. |
283 | | # |
284 | | # Revision 1.16 2003/11/26 20:43:29 jalet |
285 | | # Inadvertantly introduced a bug, which is fixed. |
286 | | # |
287 | | # Revision 1.15 2003/11/26 19:17:35 jalet |
288 | | # Printing on a printer not present in the Quota Storage now results |
289 | | # in the job being stopped or cancelled depending on the system. |
290 | | # |
291 | | # Revision 1.14 2003/11/25 13:25:45 jalet |
292 | | # Boolean problem with old Python, replaced with 0 |
293 | | # |
294 | | # Revision 1.13 2003/11/23 19:01:35 jalet |
295 | | # Job price added to history |
296 | | # |
297 | | # Revision 1.12 2003/11/21 14:28:43 jalet |
298 | | # More complete job history. |
299 | | # |
300 | | # Revision 1.11 2003/11/19 23:19:35 jalet |
301 | | # Code refactoring work. |
302 | | # Explicit redirection to /dev/null has to be set in external policy now, just |
303 | | # like in external mailto. |
304 | | # |
305 | | # Revision 1.10 2003/11/18 17:54:24 jalet |
306 | | # SIGTERMs are now transmitted to original backends. |
307 | | # |
308 | | # Revision 1.9 2003/11/18 14:11:07 jalet |
309 | | # Small fix for bizarre urls |
310 | | # |
311 | | # Revision 1.8 2003/11/15 14:26:44 jalet |
312 | | # General improvements to the documentation. |
313 | | # Email address changed in sample configuration file, because |
314 | | # I receive low quota messages almost every day... |
315 | | # |
316 | | # Revision 1.7 2003/11/14 22:05:12 jalet |
317 | | # New CUPS backend fully functionnal. |
318 | | # Old CUPS configuration method is now officially deprecated. |
319 | | # |
320 | | # Revision 1.6 2003/11/14 20:13:11 jalet |
321 | | # We exit the loop too soon. |
322 | | # |
323 | | # Revision 1.5 2003/11/14 18:31:27 jalet |
324 | | # Not perfect, but seems to work with the poll() loop. |
325 | | # |
326 | | # Revision 1.4 2003/11/14 17:04:15 jalet |
327 | | # More (untested) work on the CUPS backend. |
328 | | # |
329 | | # Revision 1.3 2003/11/12 23:27:44 jalet |
330 | | # More work on new backend. This commit may be unstable. |
331 | | # |
332 | | # Revision 1.2 2003/11/12 09:33:34 jalet |
333 | | # New CUPS backend supports device enumeration |
334 | | # |
335 | | # Revision 1.1 2003/11/08 16:05:31 jalet |
336 | | # CUPS backend added for people to experiment. |
337 | | # |