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
|
2010-12-15:
* (mhatle) add sqlite call profiling, enable with NPROFILE
* (mhatle) as a result of profiling, optimize inode search
* (mhatle) rearrange the pseudo_op file data operations to reduce
the number of selects.
* (mhatle) add the ability to cache the last select result
* (mhatle) change the indexing in pseudo_db.c
2010-12-14:
* (mhatle) restructure wrapfuncs.c
2010-12-09:
* (mhatle) Add doc/program_flow to attempt to explain startup/running
* (mhatle) guts/* minor cleanup
* (mhatle) Reorganize into a new constructor for libpseudo ONLY
pseudo main() now manually calls the util init
new / revised init for client, wrappers and utils
* (mhatle) Add central "reinit" function
* (mhatle) Add manul execv* functions
* (mhatle) rename pseudo_populate_wrappers to pseudo_check_wrappers
2010-12-08:
* (mhatle) Add guts/clone.c to cleanup the clone support
* (mhatle) guts/clone.c only run setupenv and reinit when NOT PSEUDO_RELOADED
* (mhatle) guts/execve.c whitespace fixe
* (mhatle) guts/fork.c similar to guts/clone.c change
* (mhatle) pseudo_client.c add reinit function
* (mhatle) pseudo_client.c revise client reset, include code from pseudo_wrappers.c
* (mhatle) pseudo_server.c move the pid writing to the parent
* (mhatle) pseudo_wrappers.c clone cleanup and populate cleanup
2010-12-07:
* (seebs) whitespace fixes
* (seebs) improve fork and PSEUDO_DISABLED
* (seebs) add support for clone(2)
* (mhatle) rework/improve clone(2) support
* (mhatle) add test code for PSEUDO_DISABLED
2010-12-02:
* (seebs) rework of fork/exec, add PSEUDO_DISABLED
2010-11-30:
* (seebs) move *_t types to a separate file.
* (seebs) remove unused tables from pseudo_db.c
* (seebs) cleanup .gitignore
2010-11-17:
* (seebs) add "Futures.txt" notes about future development plans
* (seebs) split some of the templating code out of makewrappers
2010-11-16:
* (seebs) database move functionality (first pass)
2010-10-25:
* (seebs) various makewrappers cleanups (pylint, mostly)
2010-10-12:
* (seebs) add missing copyright to Python makewrappers.
* (seebs) detab makewrappers
2010-10-11:
* (seebs) do the other *xattr() wrappers.
* (seebs) Replace makewrappers with Python implementation and some
template files.
2010-10-06:
* (mhatle) Add the fsetxattr wrapper to return ENOTSUP
(note: workaround gnu coreutils 'cp')
2010-09-16:
* (seebs) change exec*() to use file, rather than path or filename,
also add OP_EXEC where it was missing.
2010-09-15:
* (seebs) allow setting default RPATH entry distinct from sqlite3
directory.
2010-09-08:
* (seebs) handle mkfifo without guaranteeing an EINVAL response.
2010-09-02:
* (seebs) fix errno for getcwd() with insufficient size
* (seebs) Add an RPATH entry to the pseudo binary to find the sqlite3
library.
2010-09-01:
* (seebs) add missing casts to even more printf arguments
2010-08-31:
* (seebs) add missing casts to printf arguments, after being warned
about them a mere twenty or thirty thousand times.
2010-08-27:
* (seebs) fix a bug caused by memcmp with wrong length
* (seebs) stop hand-coding lengths of memcmp (torek was right...)
2010-08-26:
* (seebs) make offsets.c slightly less useless
* (seebs) don't overwrite LD_LIBRARY_PATH values that include us
2010-08-25:
* (seebs) fix the signal mask restore
2010-08-24:
* (seebs) try to restore signal mask before calling exec()
* (seebs) move errno restoration after code which could set errno
2010-08-19:
* (seebs) handle insane edge case involving regcomp/regexec
2010-08-17:
* (seebs) create speculative-deletion logic
* (seebs) remove crackpot theories about cross-device renames
2010-08-16:
* (rp) Fix ld_preload/ld_library_path mixup.
* (seebs) Handle failed allocations.
* (seebs) Fix logic for dropping empty LD_PRELOAD.
2010-08-12:
* (seebs) Fix install of libpseudo so the plain library is created
when using $(SUFFIX), this is needed so pseudo daemons don't
need to know $(SUFFIX) so you can use prebuilts.
* (seebs) Remove spurious "const" from modifiable table.
2010-08-11:
* (seebs) document the new variables.
2010-08-10:
* (mhatle) add execl, execle, execlp, execv, and execvp wrappers
* (seebs) handle ... for execl, etc.
* (mhatle) add a local cache of variables, instead of using environ
* (mhatle) rewrite pseudo_setupenv, pseudo_dropenv routines
we now support running "/usr/bin/env -i env" in pseudo!
2010-08-06:
* (mhatle) Fix an exec program with an empty environment
2010-08-03:
* (mhatle) Fix parallel build problem
* (mhatle) allow both environment CFLAGS and internals CFLAGS
* (mhatle) add PSEUDO_BINDIR, PSEUDO_LIBDIR, PSEUDO_LOCALSTATEDIR
to allow specific overrides above and beyond PSEUDO_PREFIX
2010-07-30:
* (kscherer) added .gitignore file
* (kscherer) added sqlite version check to configure script
* (kscherer) added basic test harness
* (kscherer) fixed bug that when moving a directory the contents
of the dir were removed from the db
2010-06-29:
* (seebs) handle the other half of the suffix case -- when
libpseudo is in LD_PRELOAD under another name.
* (seebs) remove a couple of debugging messages.
2010-06-28: 0.3
* (seebs) back out PSEUDO_SUFFIX -- it causes problem when
rebuilding the library but not the server, but this is
a permissible use case.
2010-06-21:
* (seebs) add mkstemp64
2010-06-02:
* (seebs) add PSEUDO_NOSYMLINKEXP feature and documentation.
2010-04-30:
* (seebs) rework pdb_history
* (seebs) small cleanups and bulletproofing.
* (seebs) fix up PSEUDO_DEBUG_FILE, use it for server as well.
2010-04-27:
* (seebs) fix -P in pseudolog
* (seebs) document PSEUDO_DEBUG_FILE
2010-04-26:
* (seebs) many bug fixes and updates
* (seebs) allow deleting entries in pseudolog
* (seebs) correct race conditions and related bugs
2010-04-20:
* (seebs) add quick sanity-check option for pseudo
* (seebs) report on rows deleted
* (seebs) unlink after removing db entry to reduce race conditions
2010-04-19:
* (seebs) fix crash if xstat() or similar routine called with null path
* (seebs) fix list of client processes still running
* (seebs) fix pathname mismatches introduced by chroot() support
2010-04-16:
* (seebs) add tracking of program names
* (seebs) track message types
* (seebs) small bug fixes and improvements galore
2010-04-06:
* (seebs) implement various passwd-related utilities, various
bugfixes.
2010-03-25:
* (seebs) fix return values.
2010-03-24:
* (seebs) add chroot syscall
* (seebs) add chroot handling to path canonicalization
* (seebs) add many calls just to get path fixups
* (seebs) handle virtualizing rootness of absolute symlinks
2010-03-24:
* (seebs) regenerate wrappers when makewrappers is changed.
* (seebs) begin prep for chroot
* (seebs) standardize path expansion
* (seebs) extend makewrappers to handle function pointer args
2010-03-17:
* (seebs) fixup help options
* (seebs) use strerror() in a couple more places
* (seebs) mention ^ specification in pseudolog -h output.
2010-03-16:
* (seebs) Fix missing error checking noted by comp.lang.c reader.
2010-03-16: 0.2
* first public release
(There's no changelog before that, sorry.)
|