X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=deanimate.h;h=71cb547976b600155d29d68f3dcc94a14529e5ec;hp=6553e05124fa7a5dfaea3d4393275e49f9147865;hb=bd9729afd8f965aceb987ab9dc16236ca3aa46f7;hpb=4391b43d98a19764dacaf3b8073e657dff5d3903 diff --git a/deanimate.h b/deanimate.h index 6553e051..71cb5479 100644 --- a/deanimate.h +++ b/deanimate.h @@ -1,17 +1,21 @@ -#ifndef _DEANIMATE_H -#define _DEANIMATE_H -#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.1 2001/07/13 13:40:09 oes Exp $" +#ifndef DEANIMATE_H_INCLUDED +#define DEANIMATE_H_INCLUDED +#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.8.2.1 2004/10/03 12:53:32 david__schmidt Exp $" /********************************************************************* * - * File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $ + * File : $Source: /cvsroot/ijbswa/current/Attic/deanimate.h,v $ * - * Purpose : Declares functions to deanimate GIF images on the fly. + * Purpose : Declares functions to manipulate binary images on the + * fly. High-level functions include: + * - Deanimation of GIF images + * - Fixup of malformed comment block in JPEG headers * - * Functions declared include: gif_deanimate, buf_free + * Functions declared include: gif_deanimate, buf_free, + * jpeg_inspect * * - * Copyright : Written by and Copyright (C) 2001 Andreas S. Oesterhelt - * for the SourceForge IJBSWA team. http://ijbswa.sourceforge.net + * Copyright : Written by and Copyright (C) 2001 - 2004 by the the + * SourceForge Privoxy team. http://www.privoxy.org/ * * Based on ideas from the Image::DeAnim Perl module by * Ken MacFarlane, @@ -40,10 +44,44 @@ * * Revisions : * $Log: deanimate.h,v $ + * Revision 1.8.2.1 2004/10/03 12:53:32 david__schmidt + * Add the ability to check jpeg images for invalid + * lengths of comment blocks. Defensive strategy + * against the exploit: + * Microsoft Security Bulletin MS04-028 + * Buffer Overrun in JPEG Processing (GDI+) Could + * Allow Code Execution (833987) + * Enabled with +inspect-jpegs in actions files. + * + * Revision 1.8 2002/03/26 22:29:54 swa + * we have a new homepage! + * + * Revision 1.7 2002/03/24 13:25:43 swa + * name change related issues + * + * Revision 1.6 2002/03/08 17:46:04 jongfoster + * Fixing int/size_t warnings + * + * Revision 1.5 2002/03/07 03:46:17 oes + * Fixed compiler warnings + * + * Revision 1.4 2001/07/29 18:50:04 jongfoster + * Fixing "extern C" block, and renaming #define _DEANIMATE_H + * + * Revision 1.3 2001/07/18 12:29:05 oes + * Updated prototype for gif_deanimate + * + * Revision 1.2 2001/07/13 13:46:20 oes + * Introduced GIF deanimation feature + * * *********************************************************************/ +#ifdef __cplusplus +extern "C" { +#endif + /* * A struct that holds a buffer, a read/write offset, * and the buffer's capacity. @@ -51,14 +89,15 @@ struct binbuffer { char *buffer; - int offset; - int size; + size_t offset; + size_t size; }; /* * Function prototypes */ -extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst); +extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image); +extern int jpeg_inspect(struct binbuffer *src, struct binbuffer *dst); extern void buf_free(struct binbuffer *buf); /* @@ -71,7 +110,7 @@ extern const char deanimate_h_rcs[]; } /* extern "C" */ #endif -#endif /* ndef _DEANIMATE_H */ +#endif /* ndef DEANIMATE_H_INCLUDED */ /* Local Variables: