• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.xvpics/H03-May-2022-360292

bits/H03-May-2022-3,2723,122

contrib/H23-Apr-2007-261193

docs/H07-May-2022-5,1903,520

jpeg/H03-May-2022-38,99624,828

tiff/H07-May-2022-18,12313,084

unsupt/H03-May-2022-3,7213,017

vms/H19-Jan-1995-3,7892,905

BUGSH A D19-Jan-1995789 2214

CHANGELOGH A D23-Jan-1995114 KiB2,6641,976

IDEASH A D22-Dec-19947.5 KiB192134

INSTALLH A D22-Dec-199410 KiB238179

ImakefileH A D03-May-20227.5 KiB319230

MakefileH A D03-May-202215.6 KiB505139

Makefile.stdH A D03-May-202215.6 KiB505139

READMEH A D22-Dec-19946.8 KiB161123

README.jumboH A D21-May-200725.4 KiB560479

README.pcdH A D08-Jul-20016.1 KiB160114

bggen.cH A D03-May-202210.6 KiB462314

bggen.manH A D03-May-20223.6 KiB8684

c2bH A D22-Dec-1994384 167

cleandirH A D03-May-2022308 147

config.hH A D03-May-202211.6 KiB36175

copyright.hH A D03-May-20224.7 KiB1070

vdcomp.cH A D03-May-202256.2 KiB1,484844

vdcomp.manH A D03-May-20222.4 KiB8374

vprintf.cH A D22-Dec-19946.5 KiB347273

xcmap.cH A D03-May-20229.6 KiB434307

xcmap.manH A D03-May-20221.1 KiB2827

xv.cH A D03-May-2022132.9 KiB4,8163,362

xv.hH A D03-May-202272.1 KiB2,1321,532

xv.manH A D03-May-20221.5 KiB4342

xv24to8.cH A D03-May-202249.3 KiB1,7551,182

xv_mgcsfx.sampleH A D17-Apr-20055.4 KiB126109

xvalg.cH A D03-May-202244.6 KiB1,6761,068

xvbmp.cH A D03-May-202227.2 KiB1,084793

xvbrowse.cH A D03-May-2022162.9 KiB6,1844,207

xvbutt.cH A D03-May-202233.3 KiB1,245837

xvcolor.cH A D03-May-202241 KiB1,557968

xvctrl.cH A D03-May-202226.3 KiB892639

xvcut.cH A D03-May-202246.5 KiB1,8651,175

xvdflt.cH A D03-May-20229.3 KiB372255

xvdflt.hH A D03-May-2022275.4 KiB1,3651,359

xvdial.cH A D03-May-202212.5 KiB474321

xvdir.cH A D03-May-202264.1 KiB2,4741,700

xvevent.cH A D03-May-202287.4 KiB3,3202,339

xvfits.cH A D03-May-202226.3 KiB970624

xvgam.cH A D03-May-202286.3 KiB3,3462,380

xvgif.cH A D03-May-202225 KiB898584

xvgifwr.cH A D03-May-202214.7 KiB600347

xvgrab.cH A D03-May-202233.9 KiB1,263833

xvgraf.cH A D03-May-202223.1 KiB922639

xvhips.cH A D01-May-20059.7 KiB407309

xvhips.hH A D25-Apr-20054.4 KiB155104

xviff.cH A D03-May-202215.3 KiB553352

xvimage.cH A D03-May-202285.4 KiB3,3572,206

xvinfo.cH A D03-May-20227.6 KiB284188

xviris.cH A D03-May-202218.7 KiB812601

xvjp2k.cH A D03-May-202250.3 KiB1,327920

xvjpeg.cH A D03-May-202226.6 KiB1,022681

xvmag.cH A D18-Apr-200520.6 KiB867721

xvmaki.cH A D18-Apr-200520 KiB795688

xvmgcsfx.cH A D15-Apr-200758.2 KiB2,2771,771

xvmisc.cH A D03-May-202231 KiB1,226791

xvml.cH A D18-Apr-200522.9 KiB990899

xvml.hH A D18-Apr-20052.6 KiB9732

xvp2p.manH A D03-May-2022425 1513

xvpbm.cH A D03-May-202221.9 KiB906608

xvpcd.cH A D14-May-200734.2 KiB1,312851

xvpcx.cH A D03-May-20229.7 KiB402286

xvpds.cH A D03-May-202232.8 KiB1,057678

xvpi.cH A D18-Apr-200522.9 KiB1,061905

xvpic.cH A D18-Apr-200529 KiB1,2861,084

xvpic2.cH A D15-Apr-200788.7 KiB3,6092,865

xvpictoppm.cH A D03-May-20223.5 KiB16683

xvpm.cH A D03-May-202210.7 KiB421293

xvpng.cH A D03-May-202233.8 KiB1,212874

xvpopup.cH A D03-May-202235.5 KiB1,265854

xvps.cH A D03-May-202248.3 KiB1,7861,248

xvrle.cH A D03-May-20229.6 KiB383268

xvroot.cH A D03-May-202210 KiB359239

xvscrl.cH A D03-May-202213.3 KiB505351

xvsmooth.cH A D03-May-202224.7 KiB892594

xvsunras.cH A D03-May-202214.6 KiB595434

xvtarga.cH A D03-May-20224.7 KiB222127

xvtext.cH A D03-May-202273.1 KiB2,6832,129

xvtiff.cH A D03-May-202255.8 KiB2,1681,596

xvtiffwr.cH A D03-May-202211.9 KiB496353

xvvd.cH A D03-May-202221.8 KiB1,104798

xvwbmp.cH A D16-Apr-20076.6 KiB346234

xvxbm.cH A D03-May-20225.7 KiB234134

xvxpm.cH A D03-May-202217.7 KiB720504

xvxwd.cH A D03-May-202218.6 KiB725536

xvzx.cH A D14-May-20078.5 KiB350188

README

1(Note: This has been changed, and hopefully clarified, from the 3.00
2version of this info.  Please read it.)
3
4Thank you for acquiring a copy of XV, a pretty nifty X program.
5I hope you enjoy using it, as I've enjoyed writing it.
6
7The latest version of XV (or at least a pointer to it) is available
8via anonymous ftp on ftp.cis.upenn.edu, in the directory pub/xv.  If
9you're not sure if you have the latest version, or you are missing the
10source or documentation for XV, PLEASE pick up the latest version of
11the xv distribution.  Do *not* send mail unless absolutely necessary
12(ie, you don't have ftp capability).
13
14Note:  The documentation ('xvdocs.ps') may be installed in '/usr/local'.
15
16If you're viewing this information via the 'About XV' command, and
17you'd like to print it out, a copy of this info can be found in the
18README file in the top-level XV source directory.  Print that.  If you
19don't have it, see the previous paragraph.
20
21
22XV Licensing Information
23------------------------
24XV IS SHAREWARE FOR PERSONAL USE ONLY.
25
26You may use XV for your own amusement, and if you find it nifty,
27useful, generally cool, or of some value to you, your registration fee
28would be greatly appreciated.  $25 is the standard registration fee,
29though of course, larger amounts are quite welcome.  Folks who donate
30$40 or more can receive a printed, bound copy of the XV manual for no
31extra charge.  If you want one, just ask.  BE SURE TO SPECIFY THE
32VERSION OF XV THAT YOU ARE USING!
33
34COMMERCIAL, GOVERNMENT, AND INSTITUTIONAL USERS MUST REGISTER THEIR
35COPIES OF XV.
36
37This does *not* mean that you are required to register XV just because
38you play with it on the workstation in your office.  This falls under
39the heading of 'personal use'.  If you are a sysadmin, you can put XV
40up in a public directory for your users amusement.  Again, 'personal
41use', albeit plural.
42
43On the other hand, if you use XV in the course of doing your work,
44whatever your 'work' may happen to be, you *must* register your
45copy of XV.  (Note:  If you are a student, and you use XV to do
46classwork or research, you should get your professor/teacher/advisor
47to purchase an appropriate number of copies.)
48
49XV licenses are $25 each.  You should purchase one license per
50workstation, or one per XV user, whichever is the smaller number.  XV
51is *not* sold on a 'number of concurrent users' basis.  If XV was some
52$1000 program, yes, that would be a reasonable request, but at $25,
53it's not.  Also, given that XV is completely unlocked, there is no way
54to enforce any 'number of concurrent users' limits, so it isn't sold
55that way.
56
57Printed and bound copies of the 100-odd page XV manual are available
58for $15 each.  Note that manuals are *only* sold with, at minimum, an
59equal number of licenses.  (e.g.  if you purchase 5 licenses, you can
60also purchase *up to* 5 copies of the manual)
61
62The source code to the program can be had (as a compressed 'tar' file
63split over a couple 3.5" MS-DOS formatted floppies) for $15, for those
64who don't have ftp capabilities.
65
66Orders outside the US and Canada must add an additional $5 per manual
67ordered to cover the additional shipping charges.
68
69Checks, money orders, and purchase orders are accepted.  Credit cards
70are not.  All forms of payment must be payable in US Funds.  Checks
71must be payable through a US bank (or a US branch of a non-US bank).
72Purchase orders for less than $50, while still accepted, are not
73encouraged.
74
75All payments should be payable to 'John Bradley', and mailed to:
76        John Bradley
77        1053 Floyd Terrace
78        Bryn Mawr, PA  19010
79        USA
80
81
82Site Licenses
83-------------
84If you are planning to purchase 10 or more licenses, site licenses are
85available, at a substantial discount.  Site licenses let you run XV on
86any and all computing equipment at the site, for any purpose
87whatsoever.  The site license covers the current version of XV, and
88any versions released within one year of the licensing date.  You are
89also allowed to duplicate and distribute an unlimited number of copies
90of the XV manual, but only for use within the site.  Covered versions
91of the software may be run in perpetuity.
92
93Also, it should be noted that a 'site' can be defined as anything
94you'd like.  It can be a physical location (a room, building,
95location, etc.), an organizational grouping (a workgroup, department,
96division, etc.) or any other logical grouping ("the seventeen
97technical writers scattered about our company", etc.).
98
99The site license cost will be based on your estimate of the number of
100XV users or workstations at your site, whichever is the smaller
101number.
102
103If you are interested in obtaining a site license, please contact the
104author via electronic mail or FAX (see below for details).  Send
105information regarding your site (the name or definition of the 'site',
106a physical address, a fax number, and an estimate of the number of
107users or workstations), and we'll get a site license out to you for
108your examination.
109
110
111Copyright Notice
112----------------
113XV is Copyright 1989, 1994 by John Bradley
114
115Permission to copy and distribute XV in its entirety, for
116non-commercial purposes, is hereby granted without fee, provided that
117this license information and copyright notice appear in all copies.
118
119If you redistribute XV, the *entire* contents of this distribution
120must be distributed, including the README, and INSTALL files, the
121sources, and the complete contents of the 'docs' directory.
122
123Note that distributing XV 'bundled' in with any product is considered
124to be a 'commercial purpose'.
125
126Also note that any copies of XV that are distributed MUST be built
127and/or configured to be in their 'unregistered copy' mode, so that it
128is made obvious to the user that XV is shareware, and that they should
129consider registering, or at least reading this information.
130
131The software may be modified for your own purposes, but modified
132versions may not be distributed without prior consent of the author.
133
134This software is provided 'as-is', without any express or implied
135warranty.  In no event will the author be held liable for any damages
136arising from the use of this software.
137
138If you would like to do something with XV that this copyright
139prohibits (such as distributing it with a commercial product, using
140portions of the source in some other program, distributing registered
141copies, etc.), please contact the author (preferably via email).
142Arrangements can probably be worked out.
143
144
145The author may be contacted via:
146    US Mail:  John Bradley
147              1053 Floyd Terrace
148              Bryn Mawr, PA  19010
149
150    FAX:     (610) 520-2042
151
152Electronic Mail regarding XV should be sent to one of these three addresses:
153     xv@devo.dccs.upenn.edu               - general XV questions
154     xvbiz@devo.dccs.upenn.edu            - all XV licensing questions
155     xvtech@devo.dccs.upenn.edu           - bug reports, technical questions
156
157Please do *not* send electronic mail directly to the author, as he
158gets more than enough as it is.
159
160
161

README.jumbo

1This is the latest version of the XV jumbo patches I originally created in
2February 2000 (but never distributed) and eventually updated and released in
3May 2004, prompted by a discussion on LWN (http://lwn.net/Articles/76391/).
4Information about the patches, updates to the patches, and the patches
5themselves can all be found here:
6
7	http://pobox.com/~newt/greg_xv.html
8	http://freshmeat.net/projects/xvjumbopatches/
9
10(Use the "Subscribe to new releases" link on the latter page if you want to
11be notified of new versions automatically; trivial registration required.)
12
13These patches incorporate all of the fix- and enhancement-patches available
14from John's XV site (http://www.trilon.com/xv/downloads.html and
15ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes and
16additions (security-related and otherwise), plus quite a few from other
17people.  They're still not fully complete, and it's probable they never
18will be, but I do plan to continue tinkering with them whenever the mood
19strikes--and I may even release them publicly on rare occasions.  (At the
20current rate, once every few years may be the best we can hope for....)
21
22Also be aware that several other people have had the same idea over the
23years.  Ones I've found, more or less by accident, include:
24
25 - Landon Curt "chongo" Noll (http://www.isthe.com/chongo/)
26   http://www.isthe.com/chongo/src/xv-patch/
27 - Mark Ashley <mark ibiblio.org>
28   http://www.ibiblio.org/pub/packages/solaris/sparc/html/xv.3.10a.p19.html
29 - Peter Jordan <pete dc.seflin.org>
30   http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/xv-3.10a.patch.*
31 - Uwe F. Mayer (http://www.tux.org/~mayer/)
32   http://www.tux.org/~mayer/linux/book/node311.html
33 - Kurt Wall <kwall kurtwerks.com>
34   http://www.kurtwerks.com/software/xv.html
35 - Chisato Yamauchi (http://phe.phyas.aichi-edu.ac.jp/~cyamauch/index_en.html)
36   http://phe.phyas.aichi-edu.ac.jp/~cyamauch/xv.html
37 - Daisuke Yabuki <dxy optix.org>
38   http://www.optix.org/~dxy/solaris/xv/
39 - Pekoe (http://pekoe.lair.net/)
40   http://pekoe.lair.net/diary/xv.html
41 - FreeBSD FreshPorts
42   http://www.freshports.org/graphics/xv/
43 - Kyoichiro Suda <sudakyo fat.coara.or.jp>
44   http://www.coara.or.jp/~sudakyo/XV_jp.html
45
46This is not an exhaustive list (e.g., J�rgen Grahn also had one).  So far,
47most of the other patch-sets appear not to be as extensive or as up-to-date
48as my own, particularly now that the (very large) "Japanese extension" patches
49are incorporated--big thanks to Werner Fink of SuSE for that!
50
51Below I summarize the component patches that are encompassed by my jumbo
52bugfixes and jumbo enhancements patches, circa 2005.  (As of 2007, they're
53distributed as a single monster-patch, and the "component patches" are now
54listed in the changelog section at the bottom of this file.)  Unfortunately,
55some of my own additions never saw the light of day as standalone patches,
56but considering the number of overlaps (collisions) already implicit in the
57list, that would have been difficult to accomplish even if I'd had the time.
58
59Here's a quick guide to the "third-party" credits in the lists and changelog
60below:
61
62  AAC = Andrey A. Chernov [ache]
63        (http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab)
64  AD  = Andreas Dilger (adilger clusterfs.com)
65  AL  = Alexander Lehmann (lehmann usa.net)
66  AS  = Alexey Spiridonov (http://www-math.mit.edu/~lesha/)
67  AT  = Anthony Thyssen (http://www.cit.gu.edu.au/~anthony/)
68  BR  = Bruno Rohee (http://bruno.rohee.com/)
69  DAC = David A. Clunie (http://www.dclunie.com/xv-pcd.html)
70  EAJ = Erling A. Jacobsen (linuxcub email.dk)
71  EK  = Egmont Koblinger (egmont users.sourceforge.net)
72  FG  = Fabian Greffrath (fabian debian-unofficial.org)
73  GRR = Greg Roelofs (http://pobox.com/~newt/greg_contact.html)
74  GV  = Guido Vollbeding (http://sylvana.net/guido/)
75  IM  = IKEMOTO Masahiro (ikeyan airlab.cs.ritsumei.ac.jp)
76  JC  = John Cooper (john.cooper third-harmonic.com)
77  JCE = John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html)
78  JDB = John D. Baker (http://mylinuxisp.com/~jdbaker/)
79  JG  = J�rgen Grahn (jgrahn algonet.se)
80  JHB = John H. Bradley, of course (http://www.trilon.com/xv/)
81  JPD = Jean-Pierre Demailly (http://www-fourier.ujf-grenoble.fr/~demailly/)
82  JR  = John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920)
83        (also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag)
84  JRK = James Roberts Kirkpatrick (uwyo.edu)
85  JZ  = Joe Zbiciak (http://spatula-city.org/~im14u2c/)
86  KS  = Kyoichiro Suda (http://www.coara.or.jp/~sudakyo/XV_jp.html)
87  LCN = Landon Curt "chongo" Noll (http://www.isthe.com/chongo/)
88  LJ  = Larry Jones (lawrence.jones ugs.com)
89  PBJ = Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/)
90  PSV = Pawel S. Veselov (http://manticore.2y.net/wbmp.html)
91  RAC = Ross Combs (rocombs cs.nmsu.edu)
92  RJH = Robin Humble (http://www.cita.utoronto.ca/~rjh/)
93  SB  = Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html)
94  SJT = TenThumbs (tenthumbs cybernex.net)
95  SBM = Scott B. Marovich (formerly marovich hpl.hp.com)
96  TA  = Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html)
97  TAR = Tim Ramsey (tar pobox.com)
98  TI  = Tetsuya INOUE (tin329 chino.it.okayama-u.ac.jp)
99  TO  = Tavis Ormandy (taviso gentoo.org)
100  WF  = Werner Fink (http://www.suse.de/~werner/)
101
102Other credits are as listed on the XV Downloads page or in the respective
103patches (e.g., the jp-extension patches or within the PNG patch).
104
105Finally, please note that these patches have not been blessed by John Bradley
106in any way (although I copied him on the May 2004 announcement and wrote to
107him again in May 2005), unless you count Debian's redistribution permission
108(Daniel Kirchheimer, 5 Dec 2005).  Nor have I personally tested every change
109and feature!  (See the BIG SCARY WARNING below for further caveats.)  In other
110words, they're both completely unofficial and completely unguaranteed.  But
111they seem to work for me.  (And when they don't, I try to fix 'em--eventually,
112anyway... ;-) )
113
114Greg Roelofs, 20070520
115http://pobox.com/~newt/greg_contact.html
116
117
118How to build
119------------
120
121The following assumes you, the user, already have the libtiff,[1] libjpeg,[2]
122libpng,[3] zlib,[4] and JasPer[5] libraries downloaded, patched (if necessary),
123compiled, and installed, not to mention a C compiler and the bzip2,[6] tar,[7]
124patch,[8] and make[9] utilities.  You should also have downloaded the original
125XV 3.10a source distribution from the XV Downloads page[10] and be able to edit
126its Makefile and config.h files as indicated in the INSTALL file.  (Editing
127the Makefile will also allow you to disable some of the third-party libraries
128if you wish.)  Finally, you should know what a Unix(-style) command line is,
129where to find one, and how to wield it with abandon (or at least with adult
130supervision)--and preferably not as the root user until the "make install"
131step.  (A filesystem is a terrible thing to waste.)
132
133   [1] http://www.remotesensing.org/libtiff/
134   [2] http://www.ijg.org/
135   [3] http://www.libpng.org/pub/png/libpng.html
136   [4] http://www.zlib.net/
137   [5] http://www.ece.uvic.ca/~mdadams/jasper/
138   [6] http://sources.redhat.com/bzip2/
139   [7] http://www.gnu.org/directory/devel/specific/tar.html
140   [8] http://www.gnu.org/directory/devel/specific/patch.html
141   [9] http://www.gnu.org/directory/devel/specific/make.html
142  [10] http://www.trilon.com/xv/downloads.html#src-distrib
143
144+-------------------------------------------------------------------------+
145|                                                                         |
146|                            BIG SCARY WARNING                            |
147|                                                                         |
148|  These patches work for Greg (and parts of them reportedly work for     |
149|  various other people), and so far Greg's CPU still computes and his    |
150|  hard disks haven't been wiped.  But there's no guarantee that this     |
151|  will be the case for you! In particular, not every incorporated patch  |
152|  has been explicitly tested, nor has every possible subcase of the      |
153|  explicitly tested subset. (Read that again; it's grammatical.)  Nor    |
154|  are these patches officially blessed by John Bradley in any way. In    |
155|  other words, if you use these patches, you do so at your own risk.     |
156|  (Greg doesn't believe there are any serious problems remaining, but    |
157|  then, what programmer ever does? Bugs happen.)                         |
158|                                                                         |
159+-------------------------------------------------------------------------+
160
161Assuming you have the prerequisites out of the way and aren't scared
162off by the Big Scary Warning, here's the build procedure:
163
164      tar xvzf xv-3.10a-jumbo-patches-20070520.tar.gz
165      (or:  gzip -dc xv-3.10a-jumbo-patches-20070520.tar.gz | tar xvf - )
166
167      tar xvzf xv-3.10a.tar.gz
168
169      cd xv-3.10a
170
171      patch -p1 < ../xv-3.10a-jumbo-fix-enh-patch-20070520.txt
172
173      edit Makefile and config.h as directed in INSTALL file (in particular,
174      ensure paths to external libraries and header files are correct)
175
176      make
177
178      ./xv  your_favorite_image  your_other_favorite_image  etc.
179
180If everything seems to be working to your satisfaction, go ahead and install:
181
182      make -n install (and double-check that things will be installed
183      where you want them to be)
184
185      become root if necessary (e.g., type su)
186
187      make install
188      (or:  sudo make install)
189
190That wasn't so hard, was it?
191
192
193Summary of incorporated and unincorporated patches (through 20050501)
194---------------------------------------------------------------------
195(See the ChangeLog at the bottom for more recent incorporated patches.)
196
197fixes ((*) = listed on XV Downloads page, (f) = on ftp site only):
198
19920040516:
200 - grabpatch (*)		[obsoleted by new-xvgrab.c below]
201 - vispatch (*)
202 - mp-tiff-patch (*)		[technically an enhancement, but JHB says...]
203 - longname.patch (*)		[*SECURITY*]
204 - xpm.patch (*)
205 - deepcolor.patch (*)		[slightly modified for language conformance]
206 - gifpatch (*)
207 - exceed_grab.patch (*)
208 - xv-redhat6-readme.txt (*)	[slightly modified for portability]
209 - beos.patch (*)		[modified for portability]
210 - croppad.patch (f)
211 - epsfpatch (f)
212 - tiff1200.patch (*)
213 - gssafer.patch (*)		[*SECURITY*]
214 - new-xvgrab.c (f)		[includes grabpatch but not exceed_grab.patch]
215 - xcmap.diff (AD)		[part of xv-3.10a-png-1.2d.tar.gz]
216 - fixes for huge number gcc -Wall warnings--including two bugs (GRR)
217 - fix for cleandir script when no makefile exists (GRR)
218 - *SECURITY* fix for gets() in vdcomp.c (GRR, LCN vdcomp-security.patch)
219 - *SECURITY* fix for getwd() on Linux (GRR, LCN Linux-compile.patch)
220 - fix for "no fuss" Linux compiles (LCN Linux-compile.patch)
221 - partial *SECURITY* fix for mktemp() in xv.c and xvdir.c (GRR)
222   (remaining instances in xv.c (2), xvimage.c, xvfits.c, xvpds.c, xvps.c, and
223   possibly xvtiff.c--most involve system())
224 - freebsd-vdcomp-newline.patch (AAC)
225 - xv-3.10a.patch.linux (PBJ)	[/bin/sh versions of cleandir, RANLIB.sh only]
226 - removed trailing white space (GRR)  [purely cosmetic]
22720040523:
228 - fixed compilation error in registered versions (GRR)
22920050410:
230 - fix for YCbCr oversaturated-green bug(s) in TIFF decoder (GRR)
231 - provisional fix for contiguous tiled TIFFs with bottom-* orientation (GRR)
232 - fixes for gcc 3.3 -Wall warnings (GRR)
233 - fix for incorrect 16/24-bit display of xwd dumps (SJT)
234 - *SECURITY* fix for multiple input-validation bugs (OpenBSD/SuSE, Gentoo, GRR)
235   (this also completes the partial mktemp() security fix listed above)
236 - fix for (probable) 24-bit endianness bug in fixpix code (GRR)
237
238
239enhancements ((*) = listed on XV Downloads page, (<who>) = third-party):
240
24120040516:
242 - xv-3.10a.JPEG-patch (*)
243   (xv-3.10a.JPEG-patch.old differs only in ftp site listed in comments at top)
244 - xv-3.10a.TIFF-patch (*)
245 - xv-3.10a-png-1.2d.tar.gz (AL, AD) (*)
246   (xvjpeg.diff and xvtiff.diff ignored; xcmap.diff included in fixes)
247 - xvpng-1.2d-fix3.patch (GRR, SJT) (*)
248 - pdf.patch (*)
249 - windowid.patch + windowid.patch.readme (*)
250 - bmp32.patch (*)
251 - fixpix-20000610.tar.gz (GV)
252   (identical to 19961127 version except for README updates and new Win32 file)
253   [modified to be runtime-selectable via -/+fixpix option]
254 - browse-remember.patch (JZ)
255 - faster-smooth.patch (JZ)
256 - PAM support (GRR)
257 - PNG/GIF -ibg ("image background") transparency option (GRR)
258   (does not yet support TIFF, XPM or TGA)
259 - VersionInfo* in help screen (GRR)
260 - minor grammar/spelling fixes (GRR)
261 - floating-point support for -wait when USE_TICKS enabled (GRR)
262 - wheelmouse.patch (SB)
263 - freebsd-gravity-hints-patch (JR)
264 - xv-zx.patch (JCE)
265 - xv3.10a.wapbmp.patch (PSV)
266 - xv-3.10a-pcd.patch.20010708 (DAC)
267 - jp-ext-bzip2-1.1.patch
268   (from ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/shige/xv/)
26920050410:
270 - boosted maximum number of files from 4096 to 32768 (GRR)
271   (note that OS kernel limits may also apply; for example, in Linux see
272   MAX_ARG_PAGES in linux-<version>/include/linux/binfmts.h)
273 - xv-3.10a-bmp16.patch (KS)
274 - final-image delay (e.g., "-wait 0.2,3" : pause 3 secs on final image) (GRR)
275 - xv-numpad.patch (EK)
276 - xv-delete-is-not-backspace.patch (EK)
277 - made browser window (schnauzer) and icons configurable (AT, GRR)
27820050501:
279 - xv-3.10a-bmpfix.patch (WF)		[*SECURITY*]
280 - xv310a-jp-extension-rev5.3.3.tar.gz (TI, IM, ..., WF)
281   (adds support for MAG, MAKI, Pi, PIC, and PIC2 formats[!]; "magic suffix"
282   detection/conversion; MacBinary prefixes; archives as virtual filesystems;
283   multilingual text viewer [though not Unicode]; etc.)
284 - xv-3.10a-yaos.dif (WF, TO)		[*SECURITY*]
285   (fixes a number of format-string issues and system() calls)
286 - xv-3.10a.dif (WF)			[*SECURITY*]
287   (fixes more format-string issues, mktemp() and open() calls, and compilation
288   warnings [mostly from jp-extension patch])
289 - xv-3.10a-jumbo-jpd_startgrab-patch-20050420.txt (JPD)
290 - PATCH.alwaysnever (LJ)
291 - PATCH.bsd (LJ)
292 - PATCH.linedraw (LJ)
293 - PATCH.multipage (LJ)
294 - PATCH.multipageGIF (LJ)
295 - PATCH.random (LJ)
296 - PATCH.stat (LJ)
297 - PATCH.thumbs (LJ)
298 - xv-startgrab-imake-hips.patch (JPD)
299   ("hips" portion only; adds support for HIPS image format[!])
300 - xv-3.10a-formatstr.patch (KS)
301 - xv-3.10a-shortsleep.patch (KS)
302 - xv-3.10a-locale-linux.patch (KS)
303 - xv-3.10a-printkey.patch (KS)
304 - xv-3.10a-sysconfdir.patch (KS)
305 - added PREFIX and DESTDIR support to Makefile (KS, GRR)
306 - xv-3.10a-xvexecpath.patch (but disabled pending fixes) (KS)
307 - xv-3.10a-zeroquit.patch (KS, GRR)
308
309[!] Note that all six of these formats may still suffer from exploitable heap
310    overflows [*SECURITY*] when decoding images with large (possibly invalid)
311    dimensions; as a result, they are DISABLED by default.  (Search for "GRR
312    POSSIBLE OVERFLOW / FIXME" comments in xvmag.c, xvmaki.c, xvpi.c, xvpic.c,
313    xvpic2.c, and xvhips.c, but keep in mind that these may not be exhaustive.)
314    Users who choose to overlook these security issues can enable any or all
315    of them by editing config.h.
316
317
318not (yet?) included:
319
320 - others from http://www.coara.or.jp/~sudakyo/XV_jp.html (some are duplicates):
321	-rw-r--r--      4644 Mar 11  2004 xv-3.10a-directory.patch
322	-rw-r--r--       462 Mar 11  2004 xv-3.10a-dirwkey.patch
323	-rw-r--r--       688 Mar 11  2004 xv-3.10a-docdir.patch
324	-rw-r--r--     11952 Mar 11  2004 xv-3.10a-download-test0.patch
325	-rw-r--r--     41786 Mar 11  2004 xv-3.10a-download-test1.patch
326	-rw-r--r--     42397 Mar 11  2004 xv-3.10a-download-test2.patch
327	-rw-r--r--     47679 Mar 11  2004 xv-3.10a-download-test3.patch
328	-rw-r--r--     52745 Mar 11  2004 xv-3.10a-download-test4.patch
329	-rw-r--r--      3423 Apr 24  2004 xv-3.10a-keyzoom.patch
330	-rw-r--r--     12387 Mar 15  2004 xv-3.10a-menubutton.patch
331	-rw-r--r--      1178 Apr 24  2004 xv-3.10a-noblink.patch
332	-rw-r--r--     57092 Jul  9  2004 xv-3.10a-resolution.patch
333	-rw-r--r--      4645 Apr 24  2004 xv-3.10a-selall.patch
334	-rw-r--r--       702 Apr 24  2004 xv-3.10a-showlongname.patch
335	-rw-r--r--      1205 Apr 24  2004 xv-3.10a-staytoppdir.patch
336	-rw-r--r--      4228 Apr 24  2004 xv-3.10a-wheelmouse.patch
337	-rw-r--r--       744 Apr 24  2004 xv-3.10a-xvbutt_wait.patch
338	-rw-r--r--      3757 Jul  9  2004 xv-3.10a-xvscrl_button2.patch
339	-rw-r--r--      1494 Jul  9  2004 xv-3.10a-xvscrl_wait.patch
340	-rw-r--r--     19352 Jul  9  2004 xv-3.10a-xvzoom.patch
341
342 - xv-3.10a+jp-extension-rev5.3.3+FLmask.v2.1+png+misc.patch	["mask" support]
343
344 - xv-psnewstyle.patch (TA)			[coming "soon"?]
345 - xv-3.10a.patch.linux (PBJ)			[maybe use vdcomp.c changes?]
346 - xvxpm-anthony-thyssen.c (AT)			["slate grey" bug already gone?]
347 - xv-geoff-kuenning-iconsize-slideshow.patch	[var. icons; full-screen slides]
348 - xv-scott-marovich-20070214-xvtiff.c.patch6.unified	[TIFF CMYK support]
349
350 - stuff in xv/unsupt:
351	-rw-r--r--     30527 Dec 22  1994 FITS.rite
352	-rw-r--r--     49152 Dec 22  1994 FITS.tar
353	-rw-r--r--      3753 Dec 22  1994 G3.patch1
354	-rw-r--r--     24576 Dec 22  1994 G3.tar
355	-rw-r--r--      1098 Dec 22  1994 INFO.cgm
356	-rw-r--r--      1941 Dec 22  1994 README
357	-rwxr-xr-x      1059 Dec 22  1994 getweather
358	-rwxr-xr-x      2186 Dec 22  1994 getweather.ksh
359	-rw-r--r--       856 Dec 22  1994 twm.fix
360	-rw-r--r--       844 Dec 22  1994 vargs.c
361	-rw-r--r--     47626 Dec 22  1994 vis
362	-rw-r--r--     21097 Dec 22  1994 xscm
363
364
365
366not finished (and/or even started ;-) ):
367
368 - fix xvpng.c not to use direct struct access
369 - (better) fix for never-ending pile of SLOW popups when viewing TIFFs with
370   unknown tags (or truncated/corrupted images)
371 - fix for minor .Z inefficiency in xv.c ("FIXME")
372 - fix for filename entry-field mouse/cursor deficiencies
373   (positioning fixed 20070104 by Ross Combs; would like select/cut/paste, too)
374 - fix for .ppm.gz "disk leak" [can't reproduce...already fixed?]
375   (maybe occurs only if filesystem is already nearly full?  bad .gz?)
376
377 - transparency support for TIFF, XPM and TGA images
378 - support for tiled background image (with transparent foreground image)
379 - MNG/JNG support
380 - SVG support
381
382
383ChangeLog
384---------
385
386  20000220
387    original pair of jumbo patches, comprising perhaps 16 fix-patches and a
388    dozen enhancement-patches; never publicly released
389
390  20040516
391    first public release, incorporating 25 fix-patches and 21 enhancement-
392    patches
393
394  20040523
395    minor fix to xvctrl.c to support registered versions (GRR warnings-patch
396    was slightly overzealous); switched to tarball packaging
397
398  20040531
399    fixed undefined CLK_TCK with gcc -ansi (enh/USE_TICKS option); made
400    libjpeg, libtiff, libpng and zlib sections of makefile more consistent
401    (enh)
402
403  20040606
404    added freshmeat link, build instructions, and changelog to jumbo README
405    (this file)
406
407  20050213
408    increased max number of files from 4096 to 32768 (enh)
409
410  20050320-20050410
411    fixed two very long-standing YCbCr bugs in TIFF decoder (fix);
412    provisionally fixed bug in TIFF decoder for contiguous tiled TIFFs with
413    bottom-* orientation (fix/USE_TILED_TIFF_BOTLEFT_FIX option); fixed new
414    gcc 3.3 warnings (fix); fixed incorrect 16/24-bit display of xwd dumps
415    (fix); fixed multiple input-validation bugs (potential heap overflows)
416    and mktemp() dependencies (*SECURITY* fixes:  CAN-2004-1725, CAN-2004-
417    1726, CAN-2005-0665, CERT VU#622622, and others); added support for 16-
418    and 32-bit BMPs using bitfields "compression" (enh); fixed probable byte-
419    sex bug in 24-bit FixPix display code (enh/USE_24BIT_ENDIAN_FIX option);
420    fixed numerical-keypad NumLock behavior and delete-key behavior in file-
421    load/save window (enh); made schnauzer window and icons configurable (enh)
422
423  20050417
424    incorporated "Japanese extension" patches, revision 5.3.3 (enh); fixed
425    additional *SECURITY* issues (format-string vulnerabilities, system()
426    and mktemp() calls, etc., but NOT heap overflows in new decoders) both
427    in existing code and in jp-extension additions (enh)
428
429  20050425
430    added support for -startgrab option (enh); added support for a "Never"
431    button to file-overwrite popups (enh); added NetBSD and BSDI to list of
432    mkstemp()-supporting systems (enh); improved line-drawing code to set the
433    correct pixels for lines of all slopes (enh); added "Page n of m" to Info
434    window for multipage images (enh); added support for multipage (animated)
435    GIFs (enh); fixed -random support so randomized file list can be traversed
436    normally in forward or backward direction (enh); added typecasts to stat()
437    printfs for portability (enh); fixed erroneous use of "creation" time and
438    forced unlink prior to overwrite in schnauzer thumbnail code (enh); added
439    HIPS support (enh/HAVE_HIPS option)
440
441  20050501
442    extended multipage keyboard support (PgUp/PgDn) to all windows except
443    control ("console") and directory (enh); fixed minor (non-security)
444    format-string issue in xv.c (enh); shortened delay on popup error windows
445    from 3 seconds to 1 second (enh); tweaked text-viewer localization support
446    (TV_L10N) for Linux (enh); added keyboard short cuts for Color and
447    Grayscale buttons in print dialog (enh); added support for separate "magic
448    suffix" (xv_mgcsfx) config dir (enh); added PREFIX and DESTDIR support to
449    Makefile (enh); fixed handling of zero-length files and other text-viewer
450    failures (enh)
451
452  20050528
453    conditionally added missing alloca.h to xvpcd.c (required if alloca() is
454    a macro and alloca.h not included in stdlib.h, for example); fixed bogus
455    __S_IWRITE introduced in 20050501 release; fixed Makefile "install" target
456    (mkdir, chmod); fixed bug in MUST macro in xvwbmp.c; fixed prototype
457    warnings in xvevent.c, xvpcd.c (JRK, GRR)
458	- xv-3.10a-jimkirk-fixes.patch
459
460  20050630
461    fixed broken mkdir(.xvpics) introduced in 20050501 release (RJH, GRR);
462    tweaked GUNZIP config for OpenBSD (GRR)
463	- xv-3.10a-xvpics-mkdir-fix.patch
464
465  20051014
466    fixed longstanding xvevent.c typo (wasJpegUp -> wasPngUp) that caused build
467    failure if no JPEG support (TAR)
468
469  20051019
470    fixed Darwin (Mac OS X) build error in xv.h and vdcomp.c due to lack of
471    malloc.h (JDB)
472
473  20070210
474    fixed minor grammos (GRR); promoted PNG to first position, demoted GIF to
475    third (GRR); changed internal type of default image to PNG (GRR); increased
476    max files again, to 65536 (GRR)
477
478  20070310
479    incorporated JPEG-2000 patch (SBM, GRR); added manual fax options for
480    unrecognized G3 images (SBM); relaxed 30-byte minimum file size (SBM)
481	- http://www.ece.uvic.ca/~mdadams/jasper/software/xv-patches
482
483  20070318
484    incorporated 16bps raw (binary) PPM patch (define ASSUME_RAW_PPM_LSB_FIRST
485    for old behavior) (RAC, GRR); updated format list, web sites in xv man page
486    (GRR); fixed Makefile "install" target to create any necessary directories
487    (RAC, GRR); fixed GIF decoder bug (sizes of global, local color tables
488    different) (GRR)
489	- xv-ross-combs-ppm-16bps-rawbits.patch
490
491  20070325
492    fixed invalid gamma assumption in PNG decoder (=> progressive color changes
493    over load/save cycles) (GRR)
494
495  20070328
496    fixed animated-GIF /tmp/xvpgXXXXXX droppings (GRR)
497
498  20070331
499    fixed PNG duplicate-palette-entries bug (GRR)
500
501  20070415
502    incorporated EXIF-preserve patch (GHK); added missing JP2/JPC VS bits code
503    (GRR); added extended-warning options to CCOPTS (RAC); added "const" to
504    huge number of function args (RAC, GRR); made more effectively static
505    functions officially static (RAC); added mouse-clickability (but not
506    selectability) to text-entry fields (RAC); fixed window positioning (race
507    conditions?) under some virtual window managers (e.g., tvtwm) (RAC);
508    removed explicit paths for external (de)compressors (GRR, RAC)
509	- xv-geoff-kuenning-jpeg-exif-preserve.patch
510	- xv-ross-combs-20070104.diff
511
512  20070422
513    incorporated function-key-scripts patch (see contrib/fnkey-scripts) (AS);
514    fixed man-page-section extensions ("1", not "l" or "1X") (FG); switched to
515    more sensible install paths for docs (FG); added Fedora Core build script
516    (see contrib/fedora) (JC); fixed VS to switch from move-mode to copy-mode
517    if source dir is read-only (EAJ); extended VS incremental-search mode (EAJ)
518	- xv-alexey-spiridonov-20070116-fnkey-scripts.tar.bz2
519	- xv-fabian-greffrath-20070215-debian-04-manpages.dpatch
520	- xv-fabian-greffrath-20070215-debian-03-makefiles.dpatch
521	- xv-john-cooper-Build-FC5-script.sh
522	- xv-erling-jacobsen-20060617-incr-search.patch
523
524  20070428
525    modified install to include README.jumbo in docs (GRR); incorporated PNG
526    no-stdio patch (SBM); fixed XWD endianness support, improved performance
527    (replaces SJT 16/24-bit fix) (SBM)
528	- xv-scott-marovich-20070214-xvpng.diff
529	- xv-scott-marovich-20070214-xvxwd.c.patch
530
531  20070506
532    added JPEG CMYK support (SBM); fixed TIFF (and others?) /tmp/xvpgXXXXXX
533    droppings (GRR); added VS clipboard support (JG)
534	- xv-scott-marovich-20070214-xvjpeg.c.patch
535	- xv-jurgen-grahn-20051127-schnauzer-clip.patch
536
537  20070512
538    inverted handling of malloc.h header file to require NEED_MALLOC_H macro
539    for those few systems that actually need it (GRR)
540
541  20070513
542    fixed GCC 4.1.x warnings (GRR); next round of const cleanup (GRR); fixed
543    minor TIFF memleak (GRR)
544
545  20070514
546    fixed TIFF YCbCr reference black/white levels (SBM); added option to use
547    libjpeg YCbCr-to-RGB conversion for TIFF images (SBM, GRR)
548	- xv-scott-marovich-20070214-xvtiff.c.patch2.unified
549	- xv-scott-marovich-20070214-xvtiff.c.patch3.unified
550
551  20070519
552    fixed handling of multi-page JPEG-compressed TIFFs (old or new) (SBM);
553    added TIFF YCbCr separated-color-plane support (may require libtiff
554    patch(es) to tif_ojpeg.c and/or tif_jpeg.c) (SBM)
555	- xv-scott-marovich-20070214-xvtiff.c.patch4.unified
556	- xv-scott-marovich-20070214-xvtiff.c.patch5.unified
557
558  20070520
559    updated README.jumbo
560

README.pcd

1Copyright 1993-2001 David Clunie.
2
3PCD patch for XV 3.10a Release Notes 2001/07/08.
4
5See also the progress notes at the end of this file. Thanks to all those
6contributors who have substantially improved this patch.
7
8These patches allow xv to read Kodak photocd files and choose which of the
95 available resolutions one wants to view.
10
11When a photocd file is loaded, a dialog box asks which resolution you
12would like. The visual schnauzer builds thumbnails by reading the lowest
13resolution image. The selected resolution can be selected from the
14command line with the -pcd option:
15
16	[-pcd 0|1|2|3|4]
17
18where:
19
20	0=192*128,	base/16 resolution
21	1=384*256,	base/4 resolution
22	2=768*512,	base resolution
23	3=1536*1024,	4base resolution
24	4=3072*2048	16base resolution.
25
26Note that the Pro format is not supported.
27
28The command line option allows loops without the dialog box popping up, eg.:
29
30	xv -pcd 1 -wloop -wait 10 *.pcd
31
32The code is pretty crude and was written quickly for a specific purpose and
33has not really been cleaned up. It is poorly structured, full of debugging
34codes and verbose comments, and there is very little attempt at optimizing
35things. No profiling has been done.
36
37There is not yet support for overview files, nor is there a facility to
38use the higher resolution chroma planes from when viewing lower resolution
39images.
40
41It's only claim to fame is that it works and produces reasonable looking
42images.
43
44The outline of this is shamelessly derived from xvpbm.c to read the
45file, and xvtiffwr.c to handle the popup window and X stuff (X never
46has been my forte !), and the PhotoCD format information (though not
47the code) was found in Hadmut Danisch's (danisch@ira.uka.de) hpcdtoppm
48program in which he has reverse engineered the format by studying
49hex dumps of PhotoCDs ! The color stuff and Huffman decding were
50extensively revised by Matthew Francey.
51
52Feel free to send me comments or improvements, or even better, more
53information about the photo CD format ... hopefully someone who really
54knows what they are doing will tidy it up or do a neater job.
55
56david (dclunie@dclunie.com)
57
58---------
59
60The trace #define in xvpcd.c is now in the right place, and the ansi
61prototype for the magnify function has been fixed. Colin made me switch to
62xvbcopy() which seems like a good idea for System V victims.
63
64---------
65
66Date: Wed, 22 Dec 1993 16:09:52 --1000
67From: colinc@fitmail.fit.qut.edu.au (Colin Canfield )
68
69I have done some more work using your patch I thought you might be intested in.
70The major change was adding a size parameter to the LoadPCD; either -1 to mean
71the popup or else the size you desired. This allows batch mode processing,
72specifically xv -pcd <size> <filename>, and the visual schnauzer can work in
73quick mode (ie. you don't have to select each image size when it is building
74the icons)
75
76I have added an xbm file for the file type but haven't drawn an icon for it,
77this is in bitmaps/br_pcd.xbm. I will just send you the new files.
78
79---------
80
81From: andrew@andrew.triumf.ca (Andrew Daviel)
82Date: 16 Feb 1995 23:32:21 GMT
83
84This is David Clunie's patch for xv-3.00 tuned a bit to work
85on xv-3.10. The code's all the same except for replacing
86"trace" with "fprintf" in xvpcd.c and adding an "unsigned" qualifier to
87keep my compiler (gcc) happy. Oh yes, changed RFT_PCD to 20 as
88John Bradley has now used 15 through 19.
89
90---------
91
92From: dclunie@flash.us.com (David A. Clunie)
93Date: Thu Jun 15 14:43:46 GMT+0300 1995
94
95Andrew's patch didn't include Colin's browser changes, so I redid the
96xv-3.10 update from scratch ... it seems pretty much the same as
97Andrew's changes. I also edited the Imakefile and Makefiles in order
98to support the PCD changes, as well as make the install process a
99little more flexible, with options to strip and set modes and so on.
100Also made RFT_PCD 25 so as not to conflict with magpic patch from Japan
101by Ikemoto Masahiro <ikeyan@airlab.cs.ritsumei.ac.jp>, and used his
102bitmap icon for pcd files.
103
104Now there are two versions of the patch, one which should be applied
105to the xv-3.10 distribution.
106
107The other should be applied to xv-3.10 AFTER Ikemoto Masahiro's
108Patch.magpic2.PhotoCD.XV319a, in order to add the browser features to
109the latter, as well as fixing a Makefile typo (was xcpcd.c not xvpcd.c)
110and including unistd.h for the SEEK_xxx constants in the magicpic
111stuff.
112
113---------
114
115Subject: Re: photo-cd patch for xv
116From: Matthew Francey <mdf@angoss.com>
117Date: Mon, 26 Mar 2001 15:37:55 +0000
118
119Attached is a revised version of xvpcd.c;  the areas that I have
120re-written or changed are in a different coding style so you can tell
121what has changed.  The GNU 'indent' program can be run against the file
122to enforce a consistent style ..
123
124Here is what I've done though:
125
126a) huffman table reader re-written, because it would fail on some
127   photocd files with "unusual" huffman codes.
128
129b) the huffman-coded corrections are now properly applied
130
131c) the corrections can sometimes over or underflow;  clipping has been
132   introduced and effectively fixes the problem, but I suspect that
133   there is something deeper going on.
134
135d) the "official" YCC->sRGB transform is done.  a "beyond 100% white"
136   mapping table was snarfed from ImageMagick.  an option for using a
137   flat linear LUT was added -- this can make somewhat over-exposed images
138   look alot nicer.
139
140e) there were strange problems where the code wouldn't be able to find
141   the huffman tables and data for the 16base image (the bit-buffering
142   code was starting mid-sector, instead of at a sector boundary).  Looking
143   at a pcd file with a hex editor suggests to me that it is possible to
144   just skip directly to these huffman tables -- no special "+12" and such
145   constants necessary.  But I haven't tried this yet.
146
147The results:  I've been able to read about 50 or 60 .pcd files [scattered
148in age from 6 years old to scans done last week] with this code without
149incident.  Image quality at the high resolution is excellent.  Even the
150trivial amount of LUT control is useful when dealing with over-exposed
151images.
152
153If I get around to it:  finer LUT control to take advantage of the
154slightly extended dynamic range of PhotoCD scans, especially in regards to
155dark or somewhat underexposed scenes.
156
157
158
159
160