~ubuntu-branches/ubuntu/edgy/e2fsprogs/edgy-security

« back to all changes in this revision

Viewing changes to lib/ext2fs/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Tollef Fog Heen
  • Date: 2005-08-23 10:42:10 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050823104210-t15igvmgrkzea0dq
Tags: 1.38-2ubuntu1
* Merge with Debian.  (Ubuntu #13757)
* Remove tests/f_bad_disconnected_inode/image.gz to be able to build the
  package.  This will (hopefully) be in the next upstream version and is
  just used for testing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2005-07-25  Theodore Ts'o  <tytso@mit.edu>
 
2
 
 
3
        * test_io.c (safe_getenv): Pass in zero to the unusued arguments
 
4
                of prctl(PR_GET_DUMPABLE) to avoid false positives from
 
5
                valgrind.
 
6
 
 
7
2005-07-19  Theodore Ts'o  <tytso@mit.edu>
 
8
 
 
9
        * mkjournal.c (ext2fs_add_journal_inode): Check for the case where
 
10
                the filesystem is apparently not mounted, but the device
 
11
                is still busy.  This can happen when the luser doesn't
 
12
                bother to mount /proc and has a bogus /etc/mtab, but still
 
13
                wants to mount the filesystem before using tune2fs(?!?).
 
14
                Add a safety check to save him from his own stupidity, at
 
15
                least on 2.6 kernels.  (Addresses Debian Bug #319002)
 
16
 
 
17
2005-07-09  Andreas Dilger <adilger@clusterfs.com>
 
18
 
 
19
        * getsize.c (ext2fs_get_device_size): Use fstat/fstat64 to get
 
20
                size of regular files.  Fix file descriptor leaks in error
 
21
                paths.
 
22
 
 
23
2006-06-30  Theodore Ts'o  <tytso@mit.edu>
 
24
 
 
25
        * Release of E2fsprogs 1.38
 
26
 
 
27
2005-06-30  Theodore Ts'o  <tytso@mit.edu>
 
28
 
 
29
        * bitops.h, bitops.c (ext2fs_set_bit, ext2fs_clear_bit,
 
30
                ext2fs_test_bit): Change these function prototypes to be
 
31
                unsigned int's.  Negative bit numbers were never allowed
 
32
                (and never made any sense), so this should be a safe
 
33
                change.  This is needed to allow safe use of block numbers
 
34
                greater than or equal to 2**31.
 
35
 
 
36
2005-06-27  Stephen Tweedie  <sct@redhat.com>
 
37
 
 
38
        * ext2fs.h (ext2fs_resize_mem): Fix C99 strict type aliasing
 
39
                problems.  Addresses Red Hat Bugzilla #161183.
 
40
 
 
41
2005-06-19  Theodore Ts'o  <tytso@mit.edu>
 
42
 
 
43
        * getsectsize.c (BLKSSZGET): Clean up test for when to manually
 
44
                define the BLKSSZGET ioctl.
 
45
 
 
46
2005-05-29  Theodore Ts'o  <tytso@mit.edu>
 
47
 
 
48
        * ismounted.c (ext2fs_check_mount_point): Add test to see if the
 
49
                device appears to be busy; this only works on Linux 2.6+
 
50
                systems, but provides some additional bullet-proofing in
 
51
                those cases.
 
52
 
 
53
2005-05-08  Theodore Ts'o  <tytso@mit.edu>
 
54
 
 
55
        * test_io.c (safe_getenv): Fix bug so it would fetch the right
 
56
                environment variable.
 
57
 
 
58
2005-04-09  Theodore Ts'o  <tytso@mit.edu>
 
59
 
 
60
        * inode.c (ext2fs_write_new_inode), 
 
61
                ind_block.c (ext2fs_read_ind_block): Add missing return
 
62
                value in error return case.  (Otherwise we return garbage
 
63
                instead of the error code.)
 
64
 
 
65
2005-03-31  Theodore Ts'o  <tytso@mit.edu>
 
66
 
 
67
        * test_io.c (test_open): If called by a setuid/setgid or an
 
68
                otherwise privileged program, be paranoid and ignore the
 
69
                TEST_IO_* environment variables.
 
70
 
 
71
2005-03-21  Theodore Ts'o  <tytso@mit.edu>
 
72
 
 
73
        * Release of E2fsprogs 1.37
 
74
 
 
75
2005-03-21  Theodore Ts'o  <tytso@mit.edu>
 
76
 
 
77
        * ext2_ext_attr.h (EXT2_XATTR_LEN, EXT2_XATTR_SIZE): Add new
 
78
                convenience cpp macros.
 
79
 
 
80
2005-03-20  Theodore Ts'o  <tytso@mit.edu>
 
81
 
 
82
        * mkdir.c (ext2fs_mkdir): Call ext2fs_write_new_inode() instead of
 
83
                ext2fs_write_inode().
 
84
 
 
85
        * inode.c (ext2fs_write_new_inode): New function which should be
 
86
                used when the caller is writing an inode for the first
 
87
                time.  It makes sure that the extra portion of the large
 
88
                inode is initialized properly.
 
89
 
 
90
2005-03-18  Theodore Ts'o  <tytso@mit.edu>
 
91
 
 
92
        * Makefile.in: Fix clean target to remove tst_getsectsize.
 
93
 
 
94
        * getsize.c (ext2fs_get_device_size): Check to see if the number
 
95
                of blocks is greater than 2**32 when we are doing a binary
 
96
                search to determine the device size.  Thanks to Stephen
 
97
                Tweedie for the patch.
 
98
        
 
99
2006-02-05  Theodore Ts'o  <tytso@mit.edu>
 
100
 
 
101
        * Release of E2fsprogs 1.36
 
102
 
 
103
2005-02-05  Theodore Ts'o  <tytso@mit.edu>
 
104
 
 
105
        * Makefile.in: Remove ext2fs.pc on a "make distclean"
 
106
 
 
107
2005-02-04  Theodore Ts'o  <tytso@mit.edu>
 
108
 
 
109
        * Makefile.in (clean): Remove tst_getsize when doing a make clean
 
110
 
 
111
2005-02-03  Theodore Ts'o  <tytso@mit.edu>
 
112
 
 
113
        * bitops.c: Make the generic functions more efficient.
 
114
 
 
115
        * bitops.h: Drop SPARC assembly code. It's less efficient than GCC
 
116
                3.4 compiled code and also triggers nasty compiler
 
117
                warnings on sparc64.  Thanks to Matthias Andree for his
 
118
                analysis and suggestion.
 
119
        
 
120
2005-01-27  Theodore Ts'o  <tytso@mit.edu>
 
121
 
 
122
        * res_gdt.c (ext2fs_create_resize_inode): Create the resize inode
 
123
                even if s_reserved_gdt_blocks is zero.
 
124
 
 
125
2005-01-26  Theodore Ts'o  <tytso@mit.edu>
 
126
 
 
127
        * ext2fs.pc.in: Add pkg-config files.
 
128
 
 
129
2005-01-25  Theodore Ts'o  <tytso@mit.edu>
 
130
 
 
131
        * ext2fs.h: Add definition of struct ext2_inode_large
 
132
 
 
133
        * ext2_fs.h: Add new function prototypes
 
134
 
 
135
        * ext_attr.c (ext2fs_read_ext_attr, ext2fs_write_ext_attr): The
 
136
                ext2fs_swap_ext_attr() has been moved to swapfs.c, and
 
137
                given a new argument, has_header.
 
138
 
 
139
        * swapfs.c (ext2fs_swap_ext_attr): Moved from ext_attr.c, and
 
140
                takes an argument which controls whether or not there is
 
141
                an EA header which needs to be byteswaped.
 
142
                (ext2fs_swap_inode_full): New function which byte-swaps
 
143
                the EA in inode.
 
144
 
 
145
        * inode.c (ext2fs_get_next_inode_full, ext2fs_read_inode_full,
 
146
                ext2fs_write_inode_full): New functions, originally from
 
147
                Alex Tomas, but which needed to be substantially fixed so
 
148
                that the tests wouldn't cause major stack overwrite bugs
 
149
                in byte-swapping is enabled.
 
150
        
 
151
2005-01-18  Theodore Ts'o  <tytso@mit.edu>
 
152
 
 
153
        * Makefile.in: Fix the kernel compile-time echo commands to be
 
154
                consistent and portable
 
155
 
 
156
2005-01-07  Theodore Ts'o  <tytso@mit.edu>
 
157
 
 
158
        * unlink.c (ext2fs_unlink): If both the name and the inode number
 
159
                are unspecified, then return an error, so that we don't do
 
160
                something surprising such as unconditionally deleting the
 
161
                first directory entry.
 
162
                (unlink_proc): Delete directory entries by coalescing it
 
163
                with the previous entry, to avoid directory fragmentation.
 
164
 
 
165
2005-01-06  Theodore Ts'o  <tytso@mit.edu>
 
166
 
 
167
        * version.c (ext2fs_parse_version_string): Change parsing
 
168
                algorithm so that version strings such as 1.36-rc1 returns
 
169
                a non-surprising result (i.e., 136, and not 1361).
 
170
 
 
171
2005-01-05  Theodore Ts'o  <tytso@mit.edu>
 
172
 
 
173
        * block.c (block_iterate_ind, block_iterate_dind,
 
174
                block_iterate_tind): Move the code which byte swaps and
 
175
                read/writes indirect blocks to ext2fs_{read,write}_ind_block.
 
176
                This saves 400 bytes, and we need them for the
 
177
                resize_inode handling. 
 
178
 
 
179
        * ind_block.c (ext2fs_read_ind_block, ext2fs_write_ind_block): New
 
180
                functions.
 
181
 
 
182
        * res_gdt.c (ext2fs_create_resize_inode): Use 
 
183
                ext2fs_{read,write}_ind_block so that byte swapping is
 
184
                handled on big-endian systems.
 
185
 
 
186
        * dupfs.c (ext2fs_dup_handle): Make sure the new filesystem handle
 
187
                has its own copy of the orig_super data structure.  (This
 
188
                is a better way of fixing a double-free problem in
 
189
                resize2fs which Fedora attempted to fix in 
 
190
                e2fsprogs-1.35-double_free.patch.   Addresses Red Hat
 
191
                Bugzilla #132707.)
 
192
        
 
193
2004-12-23  Theodore Ts'o  <tytso@mit.edu>
 
194
 
 
195
        * inode.c (ext2fs_flush_icache): When flushing the icache, clear
 
196
                the last-read block information as well.
 
197
 
 
198
        * ext2fs.h (BMAP_SET), bmap.c (ext2fs_bmap): Add support for new
 
199
                flag, BMAP_SET, which allows the caller to set a
 
200
                particular logical->physical block mapping.
 
201
 
 
202
        * ext2_err.et.in (EXT2_ET_SET_BMAP_NO_IND): New error code
 
203
 
 
204
        * initialize.c (calc_reserved_gdt_blocks): #ifdef out all
 
205
                debugging printf statements.
 
206
        
 
207
        * res_gdt.c (ext2fs_create_resize_inode): Return
 
208
                EXT2_ET_RESIZE_INODE_CORRUPT if the resize inode is not
 
209
                what we expect.  #ifdef out all debugging printf
 
210
                statements.
 
211
 
 
212
        * ext2_err.et.in (EXT2_ET_RESIZE_INODE_CORRUPT): Add new error code.
 
213
 
 
214
2004-12-22  Theodore Ts'o  <tytso@mit.edu>
 
215
 
 
216
        * swapfs.c (ext2fs_swap_super): Byteswap the reserved_gdt_blocks
 
217
                superblocks field.
 
218
 
 
219
2004-12-15  Theodore Ts'o  <tytso@mit.edu>
 
220
 
 
221
        * sparse.c (ext2fs_list_backups, ext2fs_bg_has_super),
 
222
                res_gdt.c (list_backups), closefs.c (ext2fs_bg_has_super),
 
223
                ext2fs.h: Move ext2fs_list_backups() to res_gdt.c, and
 
224
                ext2fs_bg_has_super() back to closefs.c.  There's no
 
225
                reason for the new file, since list_backups() isn't being
 
226
                used by any other functions, and can be made static, and
 
227
                all users of the ext2fs filesystem will have to call
 
228
                ext2fs_close() anyway.
 
229
 
 
230
2004-12-15  Theodore Ts'o  <tytso@mit.edu>
 
231
 
 
232
        * Applied resize inode patch from Andreas Dilger
 
233
 
 
234
        * res_gdt.c (ext2fs_create_resize_inode): New function that
 
235
                creates the resize inode.
 
236
 
 
237
        * initialize.c (ext2fs_initialize): Reserve space for the resize
 
238
                inode.
 
239
 
 
240
        * ext2fs.h (EXT2_LIB_FEATURE_COMPAT_SUPP): Add
 
241
                EXT2_FEATURE_COMPAT_RESIZE_INODE to the list of supported
 
242
                capabilities.
 
243
                Add function prototypes for res_gdt.c and sparse.c.
 
244
 
 
245
        * closefs.c (ext2fs_super_and_bgd_loc): Take the reserved blocks
 
246
                into account when calculating the number of overhead
 
247
                blocks.
 
248
 
 
249
        * closefs.c (ext2fs_bg_has_super, test_root), sparse.c: Move these
 
250
                functions to the new file sparse.c
 
251
 
 
252
        * alloc_sb.c (ext2fs_reserve_super_and_bgd): Reserve the blocks
 
253
                saved in the resize inode as being in use.
 
254
 
 
255
        * ext2_err.et.in (EXT2_ET_RES_GDT_BLOCKS): Add new error code.
 
256
 
 
257
        * Makefile.in (srcdir): Add res_gdt.c and sparse.c to the ext2fs
 
258
                library.
 
259
 
 
260
2004-12-14  Theodore Ts'o  <tytso@mit.edu>
 
261
 
 
262
        * Makefile.in: Use Linux-kernel-style makefile output for "make
 
263
                install"
 
264
 
 
265
        * Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro
 
266
                Update dependencies.
 
267
 
 
268
2004-11-30  Theodore Ts'o  <tytso@mit.edu>
 
269
 
 
270
        * unix_io.c (unix_set_option): Add support for the offset option.
 
271
 
 
272
        * test_io.c (test_set_option): Add support for the set_option method.
 
273
 
 
274
        * ext2_io.h: Add new io_channel method, set_option(), and change
 
275
                io_channel_write_byte() from a macro to a library function.
 
276
 
 
277
        * ext2fs.h, openfs.c(ext2fs_open2): New version of ext2fs_open
 
278
                which adds a new parameter, io_options.
 
279
                (ext2fs_open): If there is a question mark in the
 
280
                filename, and no io_options are specified, assumed that
 
281
                the text following the question mark are io_options.
 
282
        
 
283
        * io_manager.c, Makefile.in: New source file which contains
 
284
                high-level functions for the io_channel layer.
 
285
 
 
286
        * freefs.c (ext2fs_free): Make sure we don't free the io_channel
 
287
                if image_io is NULL.
 
288
 
 
289
        * Makefile.in: Use Linux-kernel-style makefile output to make it
 
290
                easier to see errors/warnings.
 
291
 
 
292
2004-11-29  Theodore Ts'o  <tytso@mit.edu>
 
293
 
 
294
        * ext2_fs.h (EXT2_EXTENTS_FL, EXT3_FEATURE_INCOMPAT_EXTENTS, 
 
295
                EXT2_MAX_BLOCK_LOG_SIZE): Add definition for extent
 
296
                feature and inode flag.  Change maximum allowable block
 
297
                size to be 65536.
 
298
 
 
299
2004-10-08  Theodore Ts'o  <tytso@mit.edu>
 
300
 
 
301
        * getsize.c (ext2fs_get_device_size): Add support for Windows
 
302
                9x/NT under Cygwin.  Thanks to Sam Robb
 
303
                (samrobb@users.sourceforge.net) for pointing this and the
 
304
                suggested code patch.
 
305
 
 
306
2004-09-17  Theodore Ts'o  <tytso@mit.edu>
 
307
 
 
308
        * getsize.c: Clean up header #include's.
 
309
 
 
310
        * llseek.c (ext2fs_llseek): On non-linux systems, use lseek64() if
 
311
                it is present.  (Addresses Debian bug #269044)
 
312
 
 
313
2004-07-28  Theodore Ts'o  <tytso@mit.edu>
 
314
 
 
315
        * rw_bitmaps.c (read_bitmaps), block.c (block_iterate_ind,
 
316
                block_iterate_dind, block_iterate_tind), inode.c
 
317
                (ext2fs_read_inode): If EXT2_FLAG_IMAGE_FILE is set, so
 
318
                read the metadata from fs->image_io instead of fs->io.
 
319
 
 
320
        * initialize.c (ext2fs_initialize), openfs.c (ext2fs_open):
 
321
                Initialize fs->image_io to be the same as fs->io.
 
322
        
 
323
        * ext2_err.et.in (EXT2_ET_NOT_IMAGE_FILE): Add new error code. 
 
324
 
 
325
        * openfs.c (ext2fs_get_data_io, ext2fs_set_data_io,
 
326
                ext2fs_rewrite_to_io): New functions that allow
 
327
                applications to manipulate fs->image_io and fs->io safely.
 
328
 
 
329
        * freefs.c (ext2fs_free): If fs->image_io is different fs->io,
 
330
                then call io_channel_close on fs->image_io.
 
331
 
 
332
        * ext2fs.h: Add image_io element to the ext2_filsys data
 
333
                structure.  Add ext2fs_get_data_io() ext2fs_set_data_io(),
 
334
                and ext2fs_rewrite_to_io() prototypes.
 
335
 
 
336
2004-05-26  Theodore Ts'o  <tytso@mit.edu>
 
337
 
 
338
        * closefs.c (ext2fs_flush): Make sure the master superblock is
 
339
                written last, and only after other I/O has been flushed to
 
340
                disk.  Thanks to Junfeng Yang from the Stanford
 
341
                Metacompilation group for pointing a potential ordering
 
342
                constraint problem if we don't write things out in the
 
343
                right order.
 
344
 
 
345
        * test_io.c: Implement the ability to abort after n reads or
 
346
                writes to a particular block.  The block is specified by
 
347
                TEST_IO_BLOCK environment variable, and the read/write
 
348
                count by the TEST_IO_READ_ABORT and TEST_IO_WRITE_ABORT
 
349
                environment variables.  The block data is now only dumped
 
350
                if the 0x10 bit is set in TEST_IO_FLAGS.
 
351
 
1
352
2004-04-03  Theodore Ts'o  <tytso@mit.edu>
2
353
 
3
354
        * ext2_types.h.in: Remove check for _UUID_TYPES since uuid_types.h