Timo Teras
67108bf07a
io: fix corruption of big files on mmap write
...
remember to increment destination pointer; and munmap the proper
base address.
2009-07-31 10:50:55 +03:00
Natanael Copa
fe43d8ab1d
db: allow update of untrusted index
2009-07-30 19:16:37 +00:00
Natanael Copa
b3596ff247
verify: report missing files rather than segfault
2009-07-30 14:29:20 +00:00
Timo Teras
c1fe6d08f3
db: fix checksum storing to db
...
also take precautions in audit code if the db is missing the
checksum.
2009-07-30 11:55:59 +03:00
Timo Teras
5b48b85560
audit: protection mask for "symlinks only"
...
and use it for /etc/init.d by default. fixes #99 .
2009-07-30 10:42:20 +03:00
Timo Teras
60c668f1dc
io: keep static pointer to copying buffer
...
so we avoid some malloc/free calls.
2009-07-30 09:11:14 +03:00
Timo Teras
8e4075e6b1
io: fix mmap writing to actually work
...
apparently it needs to have both PROT_READ and PROT_WRITE. and
it needs to be MAP_SHARED for the writing to be effective. oh,
and the data needs to be preallocated with ftruncate; otherwise,
one gets SIGBUS.
2009-07-30 09:07:35 +03:00
Timo Teras
f482701eee
db: fix protected directory handling ( fixes #89 )
...
we don't want to do checksumming of existing files unless it's
in a protected directory. also, we keep the original file if it's
*modified*.
2009-07-29 19:39:59 +03:00
Timo Teras
2ff4059b9a
io: use mmap to write archive entries to disk
...
avoids some copying and system calls.
2009-07-29 19:33:52 +03:00
Timo Teras
7b05eef61f
tar: make checksumming of inner files conditional
...
and force checksumming only when unpacking archive. otherwise
it's extra computation for nothing.
2009-07-29 19:16:04 +03:00
Timo Teras
2887e04cd7
build: make install depend on main targets
...
apparently the double colon rule dependencies affect only the
specific rule-set.
2009-07-29 19:07:14 +03:00
Timo Teras
8cacc96bf0
tar: don't call digest finalization twice
...
otherwise bad things happens. avoid this be checking end of
stream at the beginning of read.
2009-07-29 19:06:10 +03:00
Timo Teras
6092865d85
add, fetch: make handling of special options more logical
2009-07-24 14:23:33 +03:00
Timo Teras
1c92602172
apk: add -i/--interactive option ( fixes #60 )
...
and use that to figure if questions are allowed or not instead
of the verbosity level.
2009-07-24 14:18:45 +03:00
Timo Teras
195859b3fd
db: fix repository write locking
2009-07-24 14:12:59 +03:00
Timo Teras
8e66768cd2
pkg: remove implicit bb dependency when install script is present
...
this dependency is now inserted automatically by abuild.
2009-07-24 14:06:03 +03:00
Timo Teras
e1b489c8b5
db: increase required verbosity for filename prints
2009-07-24 14:04:57 +03:00
Timo Teras
c8c52e1dc6
db: remove APK_NAME_VIRTUAL flag
...
use the package 'installed_size' == 0 as a test instead for
dependency only packages.
2009-07-24 14:02:56 +03:00
Timo Teras
e5be34335c
db: create cache index with non-repository packages
...
this enables virtual packages and files specified from command
line to work on non-harddisk installs.
2009-07-24 14:00:57 +03:00
Natanael Copa
8806ce875e
archive: append .apk-new to hard link targets
...
Otherwise will link(2) fail since it does not exist.
2009-07-23 13:19:48 +00:00
Timo Teras
042879f417
index: fully process archive when reading index for signature check
...
can't cancel an index reading or we lose signature checking.
2009-07-23 11:41:10 +03:00
Timo Teras
a388f4bfa6
index: more informative error message
...
when failed to load an existing index.
2009-07-23 11:35:40 +03:00
Timo Teras
90aaa28a95
apk: add --purge option ( fixes #61 )
...
and do not remove modified configuration files unless --purge is
specified.
2009-07-22 21:34:25 +03:00
Timo Teras
83ae16feb8
audit: add --system option
...
to check system files for changes.
2009-07-22 21:28:39 +03:00
Timo Teras
79f43861e6
signing: verify and generate identity
...
fixes verification of non-repository packages while installing
them. this is final thing needed for full signing support
(fixes #46 ).
2009-07-22 21:04:54 +03:00
Timo Teras
718ef3079e
add: fixes to installing non-repository package
...
make sure cache is enabled on non-permanent rootfs setups.
some optimizations and fixes too.
2009-07-22 20:47:21 +03:00
Timo Teras
9b77c053e8
pkg: cleanup the signing code
...
smaller callback and less cases to check. also reintroduce the
oneshot digest flag, hopefully correct this time.
2009-07-22 19:56:13 +03:00
Timo Teras
9b63730d84
state: fix previous commit to show OK when everything is ok
2009-07-22 16:19:12 +03:00
Timo Teras
9dc60e8d1c
state: commit fdb changes even on error
...
we might have done already something.
2009-07-22 16:11:21 +03:00
Timo Teras
5375efac1a
apk: allow-untrusted option
...
to not make hard error of untrusted or missing signatures
2009-07-22 16:06:34 +03:00
Timo Teras
23582a0ec5
db: honour clean-protected flag again
2009-07-22 16:00:14 +03:00
Timo Teras
93f0b3524c
various: more informative error messages
2009-07-22 14:56:27 +03:00
Timo Teras
0a7991f70d
various: misc fixes
...
- error codes for verification failure types
- fix some fdb corruption on file migration
- combine some dependency parsing code
- fix versioned dependencies
2009-07-22 14:24:19 +03:00
Timo Teras
0dadc27ce1
db: fix protected directory handling
...
do not overwrite untracked files.
2009-07-22 12:00:56 +03:00
Timo Teras
680a301511
various: installation fixes
...
- extract everything as .apk-new and overwrite only after data
has been checksummed
- url construction fixes (to work with simple http servers)
- end of gunzip stream fixed
- remove oneshot digesting flag for now as it's usage was broken
2009-07-22 11:36:55 +03:00
Timo Teras
772e4aa26a
various: fix installation of new style apks
2009-07-21 18:25:22 +03:00
Timo Teras
2345548e45
index: read also new style index files
2009-07-21 17:59:08 +03:00
Timo Teras
812483515a
pkg: fix indexing of multi-part apks
2009-07-21 17:37:44 +03:00
Timo Teras
75802cb07d
db: increase hash sizes a bit
2009-07-21 14:26:06 +03:00
Timo Teras
1339b14365
db: don't run pre-install until control data is verified
...
to make sure the scripts have not been altered.
2009-07-21 14:06:35 +03:00
Timo Teras
84e3786e05
db: fixes to package checksumming while installing it
2009-07-21 13:49:35 +03:00
Timo Teras
be8b59dbe1
gzip: fix finalization of compressed output
...
the unflushed data when closing file can be several thousand kiloes,
loop until all is written out.
2009-07-20 15:20:37 +03:00
Timo Teras
89d1abe4e6
db: write errors about repository update ( fixes #70 )
2009-07-20 11:41:45 +03:00
Timo Teras
eca9c22205
db: signed index loading (ref #46 )
...
prefer index in the new format as signed .tar.gz.
2009-07-20 11:13:03 +03:00
Timo Teras
99be653f14
pkg: filenames with '/' cannot be control data
2009-07-20 08:56:53 +03:00
Timo Teras
e30834fdcb
digest: use oneshot context flag where approriate
...
speeds up digest calculation on some cases.
2009-07-17 15:56:09 +03:00
Timo Teras
0942832325
index: fix output file permissions, verify signed index (ref #46 )
2009-07-17 14:29:02 +03:00
Timo Teras
65be7ade1d
pkg: remove debug prints
2009-07-17 14:09:52 +03:00
Timo Teras
d694025b91
pkg: fix index generation
...
that got broke during verify implementation.
2009-07-17 14:06:43 +03:00
Timo Teras
3f4f9e9957
verify: new applet (ref #46 )
...
an utility to check package signature and integrity.
2009-07-17 13:07:52 +03:00