Revision
9828 -
Directory Listing
-
[select for diffs]
Modified
Fri May 11 19:21:52 2018 UTC
(6 years, 4 months ago)
by
laffer1
Diff to
previous 9786
,
to
selected 5166
Migrate the asset list routine to it's own file and include extra fields so it can be used elsewhere.
Introduce a new function to get a package metadata from a file path. This allows us to find out what installed a file.
Revision
9688 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 16 17:24:42 2017 UTC
(6 years, 9 months ago)
by
laffer1
Diff to
previous 9687
,
to
selected 5166
Update libiconv implementation from NetBSD & FreeBSD.
Add compatiblity shim for old binaries (libc_nonshared hack).
Introduce ldscript for libc to allow us to use stack protector on i386 later.
Revision
9397 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 4 21:28:54 2017 UTC
(7 years, 6 months ago)
by
laffer1
Diff to
previous 9396
,
to
selected 5166
posix_spawn_file_actions_adddup2(3): Document difference with
dup2().
The ability to clear a file descriptor's close-on-exec flag via
posix_spawn_file_actions_adddup2() is in fact proposed in Austin Group issue
#411.
Revision
9396 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 4 21:28:26 2017 UTC
(7 years, 6 months ago)
by
laffer1
Diff to
previous 9390
,
to
selected 5166
posix_spawn_file_actions_addopen(3): Correct error for bad file
descriptor.
As per POSIX.1-2008, posix_spawn_file_actions_add* return [EBADF] if a file
descriptor is negative, not [EINVAL]. The bug was only in the manual page;
the code is correct.
Revision
9372 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 4 20:22:59 2017 UTC
(7 years, 6 months ago)
by
laffer1
Diff to
previous 9371
,
to
selected 5166
dup(2): Remove incorrect sentence about getdtablesize().
There are no getdtablesize() bounds on the file descriptor to be duplicated;
it only has to be open. If the RLIMIT_NOFILE rlimit was decreased after
opening the file descriptor, it may be greater than or equal to
getdtablesize() but still valid.
Revision
9371 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 4 20:22:25 2017 UTC
(7 years, 6 months ago)
by
laffer1
Diff to
previous 9370
,
to
selected 5166
getdtablesize(2): Describe what this function actually does.
getdtablesize() returns the limit on new file descriptors; this says nothing
about existing descriptors
Revision
9368 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 4 19:53:27 2017 UTC
(7 years, 6 months ago)
by
laffer1
Diff to
previous 9359
,
to
selected 5166
EINTR in POSIX sem_*.
Document that sem_wait() can fail with [EINTR].
Programs often do not expect an [EINTR] return from sem_wait() and POSIX
only allows it if the signal was installed without SA_RESTART. The timeout
in sem_timedwait() is absolute so it can be restarted normally.
The old POSIX semaphore implementation did this correctly, unlike the new
umtx one.
Specific to 9-stable: UMTX_ABSTIME does not exist and therefore
sem_timedwait() is erroneously not restarted after a SA_RESTART signal
handler.
It may be desirable to avoid [EINTR] completely, which matches the pthread
functions and is explicitly permitted by POSIX. However, the kernel must
return [EINTR] at least for signals with SA_RESTART clear, otherwise pthread
cancellation will not abort a semaphore wait. In this commit, only restore
the 8.x behaviour which is also permitted by POSIX, as far as possible with
the ABI in 9-stable.
Obtained from: FreeBSD
Revision
9004 -
Directory Listing
-
[select for diffs]
Modified
Fri Sep 30 01:37:33 2016 UTC
(7 years, 11 months ago)
by
laffer1
Diff to
previous 9003
,
to
selected 5166
add barrier write capability to the VFS buffer interface. it is a disk write request that tells the disk that the buffer being written must be committed to the media before future writes.
Revision
8201 -
Directory Listing
-
[select for diffs]
Modified
Sat Sep 17 15:47:42 2016 UTC
(8 years ago)
by
laffer1
Diff to
previous 8189
,
to
selected 5166
Using putenv() and later direct pointer contents modification it is possibe
to craft environment variables with similar names like that:
a=1
a=2
...
unsetenv("a") should remove them all to make later getenv("a") impossible.
Fix it to do so (this is GNU autoconf test #3 failure too).
Obtained from: FreeBSD
Revision
8161 -
Directory Listing
-
[select for diffs]
Modified
Sat Sep 17 02:20:13 2016 UTC
(8 years ago)
by
laffer1
Diff to
previous 8146
,
to
selected 5166
sigaction(2),sigwait(2),sigwaitinfo(2): Remove [EFAULT] error
condition.
Passing an invalid pointer results in undefined behaviour.
The wrappers in libthr access some of the data pointed to by the arguments
in userland, so that an invalid pointer will cause a signal and not an
[EFAULT] error return.
Furthermore, if the [EFAULT] error occurs when the kernel is writing, it is
not a proper error in the sense that the call still commits (changing the
signal disposition or accepting the signal).
Obtained from: FreeBSD
Revision
7917 -
Directory Listing
-
[select for diffs]
Modified
Wed Sep 14 19:48:34 2016 UTC
(8 years ago)
by
laffer1
Diff to
previous 7901
,
to
selected 5166
Refine the implementation of POSIX_FADV_NOREUSE to perform
POSIX_FADV_DONTNEED requests on the currently accessed portion of the
file on each read(2) or write(2) rather than using direct I/O. This
gives much better performance including read-ahead and write clustering
similar to normal read(2) and write(2) calls.
If subsequent read(2) and write(2) calls are sequential, then the
POSIX_FADV_DONTNEED requests will cover the entire sequentially-accessed
range.
Obtained from: FreeBSD
Revision
7661 -
Directory Listing
-
[select for diffs]
Modified
Sat Aug 6 19:10:35 2016 UTC
(8 years, 1 month ago)
by
laffer1
Diff to
previous 7660
,
to
selected 5166
add logging to syslog when a package fails to install. Refactor several parts of do_actual_install into their own functions. Add error handling for sample files.
Revision
7490 -
Directory Listing
-
[select for diffs]
Modified
Sun Mar 20 22:18:45 2016 UTC
(8 years, 6 months ago)
by
laffer1
Diff to
previous 7489
,
to
selected 5166
Replace access to /dev/random with kernel pseudo random number source KERN_ARND and remove fallback.
POSIX requires rand(3) return values in the 0 to rand max range, but ACM formula we have intranl state in the range 1, 0x7fffffffe so our rand max value is never reached (zero as well)
Make this POSIX friendly.
Don't overflow on big seeds.
Obtained from: FreeBSD 9 stable.
Revision
7474 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 19 00:07:45 2016 UTC
(8 years, 6 months ago)
by
laffer1
Diff to
previous 7473
,
to
selected 5166
The SUSv4tcl requires that pthread_setcancelstate() shall not be a cancellation point. When enabling cancellation, only process the pending cancellatinos for async mode.
Obtained from: FreeBSD
Revision
7313 -
Directory Listing
-
[select for diffs]
Modified
Sat Sep 26 17:45:27 2015 UTC
(9 years ago)
by
laffer1
Diff to
previous 7312
,
to
selected 5166
Initial implementation of pre exec/unexec and post exec/unexec for plists
Historically we've run @exec and @unexec inline. While this is still supported, we're now refactoring to allow steps before
and after package runs.
@preexec and @postexec fire on install and updates
@preunexec and @postunexec fire on deletes. (and updates when removing)
Revision
7140 -
Directory Listing
-
[select for diffs]
Modified
Sat Jul 25 19:03:20 2015 UTC
(9 years, 2 months ago)
by
laffer1
Diff to
previous 7120
,
to
selected 5166
Bring in reallocarray(3) from OpenBSD CURRENT.
The reallocarray() function is similar to realloc() except it operates on nmemb members of size size and checks for integer overflow in the calculation nmemb * size.
Revision
7089 -
Directory Listing
-
[select for diffs]
Modified
Wed Jul 15 01:28:03 2015 UTC
(9 years, 2 months ago)
by
laffer1
Diff to
previous 7088
,
to
selected 5166
reimplement mport_copy_file to use C code rather than system() cp to improve performance. Also, modify mport to create a copy of .sample files without the file extension if there isnt already a file. This is often used for config files and it helps the user get a default
Revision
6995 -
Directory Listing
-
[select for diffs]
Modified
Sat Apr 18 18:10:02 2015 UTC
(9 years, 5 months ago)
by
laffer1
Diff to
previous 6973
,
to
selected 5166
add preliminary support for sample files aka @sample in the plist. This currently only installs the sample file, but eventually will do some additional steps.
Revision
6846 -
Directory Listing
-
[select for diffs]
Modified
Fri Oct 10 12:37:45 2014 UTC
(9 years, 11 months ago)
by
laffer1
Diff to
previous 6794
,
to
selected 5166
only set permissions on a real file and not a symlink. this was causing an error condition and a failed install. while here, fix ASSET_DIR so that it is handled like dirrm
Revision
6614 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 1 20:47:31 2014 UTC
(10 years, 7 months ago)
by
laffer1
Diff to
previous 6613
,
to
selected 5166
n _pthread_kill(), if passed pthread is current thread, do not send
the signal second time, by adding the missed else before if statement.
Obtained from: FreeBSD
Revision
6490 -
Directory Listing
-
[select for diffs]
Modified
Sun Dec 15 05:57:46 2013 UTC
(10 years, 9 months ago)
by
laffer1
Diff to
previous 6487
,
to
selected 5166
Create os_release in packages of the master database to indicate what os_release the installed package is for.
This is important because we may be upgrading from 0.4 to 0.5. We want to be able to indicate to the user that we have old packages or force upgrade functionality on them.
Revision
6024 -
Directory Listing
-
[select for diffs]
Modified
Sat Sep 7 19:49:51 2013 UTC
(11 years ago)
by
laffer1
Diff to
previous 5989
,
to
selected 5166
Introduce new functions:
mport_version() (public) to display bundle version and currently running os.
mport_get_osrelease() (private util) to get the os release from sysctl
Packate stubs now include the OS version the package was created for in the meta table as os_release key. This way, we know what OS version the package was built for. Fetching packages currently relies on a static define in the mport tool and this may go dynamic in the future.
It might be useful to install old packages in newer os versions in some scenarios such as jails.
Also, bump the fetch url to 0.5 for 0.5-CURRENT as we're starting to tinker with the package format. The idea is to assume packages are for old releases if they don't include the meta[os_release] and allow a new mechanism to upgrade all packages for those built on the current release when we do major updates.
Revision
5166 -
Directory Listing
-
[selected]
Modified
Sun Aug 26 14:11:21 2012 UTC
(12 years, 1 month ago)
by
laffer1
Diff to
previous 5159
drop useless arch checks and fix the path to compiler_rt code
Revision
4637 -
Directory Listing
-
[select for diffs]
Modified
Sun Feb 12 21:14:24 2012 UTC
(12 years, 7 months ago)
by
laffer1
Diff to
previous 4630
,
to
selected 5166
Introduce support for preinit, init and fini arrays per the ELF standard.
This patch is based on work by John Marino for DragonFly. This makes us the second BSD to support this feature.
From his comments:
For the main executable file, the .init_array and .fini_array sections
are handled by crt1, just like .init and .fini are. In the case of
a statically linked binary, the .preinit_array section is also handled
by crt1. The real-time linker handles the .init_array and .fini_array
sections for dynamically shared objects (libraries) and .preinit_array
for dynamically-linked binaries. There are no .preinit_array sections
in the DSOs per standard.
These sections are described by the System V Application Binary Interface
http://www.sco.com/developers/gabi/latest/ch4.sheader.html#special_sections
In order for this patch to work, we also introduced several items from NetBSD needed for newer versions of GCC as well as some features used in this patch. (cdefs.h)
Finally, we're also through in manpages for cpu set which is totally unrelated, but an obmission from a previous patch for ULE.
Revision
4361 -
Directory Listing
-
[select for diffs]
Modified
Sat Nov 19 17:54:54 2011 UTC
(12 years, 10 months ago)
by
laffer1
Diff to
previous 4351
,
to
selected 5166
pthread_cond_timedwait()'s timeout is broken
if the kernel condition variable is used (that means, when it is called
from a thread with realtime priority or with a priority-inherit or
priority-protect mutex; process-shared mutexes and condition variables
do not currently work).
Revision
4291 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 22 20:59:45 2011 UTC
(12 years, 11 months ago)
by
laffer1
Diff to
previous 4286
,
to
selected 5166
Introduce crazy hack to work around GCC warning that's killing buildworld.
va_start doesn't like it when you modify the value of an argument to a function before calling it. It makes sense, but it's inconvenient.
Revision
4215 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 15 20:18:31 2011 UTC
(12 years, 11 months ago)
by
laffer1
Diff to
previous 4211
,
to
selected 5166
Introduce CPU Affinity in MidnightBSD.
The ULE scheduler is now default on i386 and amd64 architectures.
cpuset(1) allows the user to limit a process to a group of CPU cores to run on using new system calls.
32bit versions of the system calls were also added to support 32bit binaries running on amd64 boxes. libc's
symbol map was modified to include the cpuset* system calls to expose them to userland.
This is based on work by Jeff Roberson from FreeBSD 7.1.
Revision
4119 -
Directory Listing
-
[select for diffs]
Modified
Sat Aug 13 20:19:30 2011 UTC
(13 years, 1 month ago)
by
laffer1
Diff to
previous 4113
,
to
selected 5166
Change from ftw to fts. ftw will return -1 and stop when a cycle is detected in the file system. Unfortunetely, crazy things happen like the libxml port that creates a symlink to .
This will allow the whole volume to be indexed. Cycles are skipped and reported on stderr by the library.
Revision
4112 -
Directory Listing
-
[select for diffs]
Modified
Tue Aug 9 12:38:55 2011 UTC
(13 years, 1 month ago)
by
laffer1
Diff to
previous 4109
,
to
selected 5166
Until I get time to design this properly, let's block out some paths that we don't want to index including
/var /tmp /proc /dev /usr/obj Most of these wouldn't be indexed because of file type or permissions anyway, but it's faster to check the path rather than let it be done farther down in the code.
Revision
4057 -
Directory Listing
-
[select for diffs]
Modified
Sun Jul 24 15:59:08 2011 UTC
(13 years, 2 months ago)
by
laffer1
Diff to
previous 4054
,
to
selected 5166
Add new mport_setting_get and mport_setting_set functions to allow users to customize settings. The sqlite3 master database now contains a settings table with name and val fields.
There are two obvious uses for this:
1. defining the country the user is in to pick the nearest mirror list.
2. storing the last time we fetched an index so it doesn't try to do it all the time when it's out of date and we haven't generated one on stargazer yet.
Revision
4054 -
Directory Listing
-
[select for diffs]
Modified
Sun Jul 24 15:07:37 2011 UTC
(13 years, 2 months ago)
by
laffer1
Diff to
previous 3976
,
to
selected 5166
Start of the experimental msearch project. This will be a sqlite backed search tool that indexes the contents of the filesystem (including contents of files).
Think locate with more features. There is some inspiration with apple's spotlight.
Revision
3961 -
Directory Listing
-
[select for diffs]
Modified
Sun Jun 5 05:12:13 2011 UTC
(13 years, 3 months ago)
by
laffer1
Diff to
previous 3957
,
to
selected 5166
On sigint or sigquit, return an error from mport_xsystem so we know something happened. This has to do with system(3) behavior. I still wonder if this should be a hand roled solution due to environmnt "sanity"
Cache the getsysctlbyname call so we don't make all these expensive calls. It speeds up ports that do a lot of @exec statements in the plist.
Revision
3939 -
Directory Listing
-
[select for diffs]
Modified
Fri May 20 12:49:37 2011 UTC
(13 years, 4 months ago)
by
laffer1
Diff to
previous 3922
,
to
selected 5166
The mport index should not be unloaded if a recentish version cannot be downloaded. If we have one to work with, use it. This allows mport list & friends to work when the index hasn't been updated on stargazer for some time or when network connectivity is limited. You can at least compare what you have installed to the last index.
Refactor the mirror list routine to return the number of mirrors. We may want this available later for display in a UI and it's helpful when debugging.
Revision
3917 -
Directory Listing
-
[select for diffs]
Modified
Sun Apr 24 22:40:10 2011 UTC
(13 years, 5 months ago)
by
laffer1
Diff to
previous 3915
,
to
selected 5166
add a new error state MPORT_ERR_WARN. This is a non fatal error that we could possibly work around.
Change the logic to loop through mirrors to make sense.
fallback to the bootstrap index url if the mirrors list fails.
Revision
3901 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 19 19:30:28 2011 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3899
,
to
selected 5166
Incompatible change: rename property_count as properties_count. It's "wrong" but it shouldn't conflict with a similar definitiion in libcrypt and as it's a new function, we can safely change it.
Revision
3880 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 12 20:49:22 2011 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3879
,
to
selected 5166
Backward incompatible change.. mport packages are now compressed with xz compression instead of bzip2. This means package creation requires more ram, but extracting packages is faster. Packages will also be smaller.
Revision
3878 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 12 14:47:48 2011 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3877
,
to
selected 5166
Rework the resize logic so that it actually works without an infinite loop.
After testing, keep the LINK_TABLE_SIZE at 1024. Most ports won't need to resize the hash table which is somewhat expensive.
Revision
3877 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 12 03:31:33 2011 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3876
,
to
selected 5166
Fix return handling on the bundle add/write.
There's a bug with the hard link hash code somewhere. For now increase the size which fixes most ports hanging on it. We need to fix this correclty though.
Revision
3876 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 12 01:29:38 2011 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3875
,
to
selected 5166
Get rid of an extra param we don't need. (one less warning)
don't set NULL when we're not using the assignment anyway.
Use \0 when it's the end of a string for clarity.
Revision
3580 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 11 07:01:11 2010 UTC
(13 years, 9 months ago)
by
laffer1
Diff to
previous 3579
,
to
selected 5166
Fix a bug in update_primitive where a free'd var was strdup'd.
Assign NULL to several pointers. While it shouldn't matter, if something weird happens it will make it easier to track down.
Revision
3576 -
Directory Listing
-
[select for diffs]
Modified
Fri Dec 10 00:52:05 2010 UTC
(13 years, 9 months ago)
by
laffer1
Diff to
previous 3568
,
to
selected 5166
When reopening a stream backed by an open file descriptor, do not close
the existing file descriptor. Instead, let dup2() atomically close the
old file descriptor when assigning the newly opened file to the same
descriptor. This closes a race in a multithreaded application where a
concurrent open() could allocate the existing file descriptor in between
the calls to close() and dup2().
Obtained from: FreeBSD
Revision
3565 -
Directory Listing
-
[select for diffs]
Modified
Sat Nov 20 17:49:41 2010 UTC
(13 years, 10 months ago)
by
laffer1
Diff to
previous 3563
,
to
selected 5166
Several portions of the kernel and userland code related to UFS file
systems (and UFS2) cannot properly handle inode counts above 2^31 due
to use of int types. Based on a patch from FreeBSD, I've modified
our UFS2 implementation to handle unsigned values for inode counts
which should allow for file systems greater than 16TB.
newfs and growfs was also modified.
Revision
3552 -
Directory Listing
-
[select for diffs]
Modified
Wed Nov 10 18:03:16 2010 UTC
(13 years, 10 months ago)
by
laffer1
Diff to
previous 3551
,
to
selected 5166
What a weird bug. apparently some plists have @mode or @group commands with no arguments. This is supposed to "reset" to the default state. libmport can't handle this right now though.
As a workaround, i have added a case to check for data being null. That means the argument is missing
@mode vs @mode 644 where data is 644 as stored in sqlite.
This allows us to uninstall phpMyAdmin.
The next question is what to do about this case. I think a default mode should be defined for installing files and directories for ports in libmport and we should die on weird edge cases for plists. I don't think the package should have been created like this.
Revision
3531 -
Directory Listing
-
[select for diffs]
Modified
Fri Oct 8 16:33:29 2010 UTC
(13 years, 11 months ago)
by
laffer1
Diff to
previous 3482
,
to
selected 5166
A recently security vulnerability was reported in glob memory limit handling. It allows for remote dos attacks on ftp and sftp servers among other things.
Add new limits based on a patch from DragonFly and NetBSD.
Note there are still issues here:
1. No man page changes yet.
2. sftp has not been fully patched yet.
Revision
3482 -
Directory Listing
-
[select for diffs]
Modified
Thu Sep 2 12:51:16 2010 UTC
(14 years ago)
by
laffer1
Diff to
previous 3456
,
to
selected 5166
Fix a potential security issue first spotted with OpenSSH and modifications to login.conf
http://secunia.com/advisories/40923/
In setusercontext(), do not apply user settings unless running as the
user in question (usually but not necessarily because we were called
with LOGIN_SETUSER). This plugs a hole where users could raise their
resource limits and expand their CPU mask.
Obtained from: FreeBSD
Revision
3456 -
Directory Listing
-
[select for diffs]
Modified
Sun Aug 15 04:28:26 2010 UTC
(14 years, 1 month ago)
by
laffer1
Diff to
previous 3455
,
to
selected 5166
Add an internal _once() method that works like pthread_once(3) but safe for libc routines. This is safe to use in single threaded and multithreaded processes.
Obtained from: FreeBSD (SVN 200649)
Revision
3408 -
Directory Listing
-
[select for diffs]
Modified
Sun May 30 03:02:12 2010 UTC
(14 years, 4 months ago)
by
laffer1
Diff to
previous 3406
,
to
selected 5166
While this is mostly unnecessary, let's allocate memory in many cases with calloc for now. It will make finding bugs that much easier since we're guaranteed to have the memory zerod.
Revision
3406 -
Directory Listing
-
[select for diffs]
Modified
Thu May 27 13:55:02 2010 UTC
(14 years, 4 months ago)
by
laffer1
Diff to
previous 3402
,
to
selected 5166
The nfsclient didn't validate the length of the path passed to it. This could cause code execution particularly when users are allowed to mount file systems.
Revision
3353 -
Directory Listing
-
[select for diffs]
Modified
Fri Mar 12 03:59:44 2010 UTC
(14 years, 6 months ago)
by
laffer1
Diff to
previous 3342
,
to
selected 5166
We're getting weird locking errors sometimes. If the sqlite call is "busy" or "locked", try the operation again. It could be a temporary problem from another process or a time consuming operation.
Revision
3342 -
Directory Listing
-
[select for diffs]
Modified
Wed Mar 10 05:28:05 2010 UTC
(14 years, 6 months ago)
by
laffer1
Diff to
previous 3331
,
to
selected 5166
finalize was getting called before we evaluated the column. This was causing a seg fault on the new version of sqlite. I'm surprised we didn't see this sooner.
Revision
3287 -
Directory Listing
-
[select for diffs]
Modified
Wed Feb 10 01:33:40 2010 UTC
(14 years, 7 months ago)
by
laffer1
Diff to
previous 3286
,
to
selected 5166
Fix stats printing of the amount of memory currently consumed by huge
allocations. [1]
Fix calculation of the number of arenas when 'n' is specified via
MALLOC_OPTIONS.
Clean up various style inconsistencies.
Obtained from: [1] NetBSD, FreeBSD
Revision
3226 -
Directory Listing
-
[select for diffs]
Modified
Sun Jan 10 18:29:20 2010 UTC
(14 years, 8 months ago)
by
laffer1
Diff to
previous 3219
,
to
selected 5166
Create a new MidnightBSD symbol namespace. This will include additions and extensions not found in the legacy FBSD_1.0 space. Unless we happen to add symbols for compatibility with newer freebsd 7.x versions, this old FBSD stuff should not be used. I have not created a private symbol yet.
Add posix spawn related functions to libc. posix_spawn(3) and friends can replace fork and exec in some situations and have been in the specification since 1999. Many operating systems do not yet implement them as they do not provide any benefit in terms of performance when systems use MMU. glibc implements them as well as FreeBSD 8, DragonFly current, Mac OS X Snow Leopard. It's time.
We've used the FreeBSD 8 versions with little change here. This is one of the many requirements for libdispatch. (mostly for test suite apps)
Revision
3199 -
Directory Listing
-
[select for diffs]
Modified
Sat Nov 28 22:44:36 2009 UTC
(14 years, 10 months ago)
by
laffer1
Diff to
previous 3196
,
to
selected 5166
Import OpenBSD's sysctl sensors framework. This is based on work by Constantine A. Murenin for the 2007 Google summer of code for FreeBSD.
Includes:
sample config file for sensord
rc scripts
documentation fixes and updates
sys/kern/kern_sensors.c
sys/sensors.h
This is compatible with OpenBSD 4.1 and 4.2 in terms of the userland bits.
Revision
3196 -
Directory Listing
-
[select for diffs]
Modified
Fri Nov 27 20:51:25 2009 UTC
(14 years, 10 months ago)
by
laffer1
Diff to
previous 3166
,
to
selected 5166
Add the pthread_condattr_init and pthread_condattr_destroy symbols to libc. This will be required for future versions of dbus to function properly on MidnightBSD.
Based on a FreeBSD patch by Joe Marcus Clarke.
Revision
3014 -
Directory Listing
-
[select for diffs]
Modified
Mon Jun 8 01:50:50 2009 UTC
(15 years, 3 months ago)
by
laffer1
Diff to
previous 3000
,
to
selected 5166
Step one of libffi. This is a partially working environment. (i386 only for now)
The library compiles but we're not dealing with man pages, installing include files into /usr/include or other architectures.
It is not connected to the build.
Revision
2622 -
Directory Listing
-
[select for diffs]
Modified
Mon Mar 16 16:23:37 2009 UTC
(15 years, 6 months ago)
by
laffer1
Diff to
previous 2502
,
to
selected 5166
Fix information leakage. Some jackass didn't use -DPURIFY which lets the code run memset. So uninitialized memory is written to db files all over the system.
Revision
1910 -
Directory Listing
-
[select for diffs]
Modified
Thu Oct 2 02:01:58 2008 UTC
(15 years, 11 months ago)
by
laffer1
Diff to
previous 1909
,
to
selected 5166
Move libpthread to libkse. Prepare to set libthr as the default threading library.
Move libncurses to ncurses. Prepare to import a newer version of ncurses.
Revision
1571 -
Directory Listing
-
[select for diffs]
Modified
Mon May 12 03:16:01 2008 UTC
(16 years, 4 months ago)
by
laffer1
Diff to
previous 1570
,
to
selected 5166
Do not read away the target directory entry when encountering deleted
files after a seekdir().
The seekdir shall set the position for the next readdir operation.
When the _readdir_unlocked() encounters deleted entry, dd_loc is
already advanced. Continuing the loop leads to premature read of
the target entry.
Submitted by: Marc Balmer <mbalmer at openbsd org>
Obtained from: OpenBSD
Revision
1501 -
Directory Listing
-
[select for diffs]
Modified
Sat Apr 26 17:59:26 2008 UTC
(16 years, 5 months ago)
by
ctriv
Diff to
previous 1492
,
to
selected 5166
Next developement snapshot.
Many bug fixes: hardlinks work correctly, exec/unxec parsing, etc...
Packages now have a status, on install it starts as 'dirty', and is set to
'clean' if the install succeeds. Similar logic is used in package deletion,
which now tries harder to keep going after errors.
Revision
1440 -
Directory Listing
-
[select for diffs]
Modified
Thu Apr 3 17:47:01 2008 UTC
(16 years, 5 months ago)
by
laffer1
Diff to
previous 1439
,
to
selected 5166
Found an additional integer overflow.
This version of the patch comes from NetBSD.
Also limits the range of getnumber to 0x00ffffff to ensure that adding two does not cause an overflow.
Revision
1386 -
Directory Listing
-
[select for diffs]
Modified
Sun Mar 2 18:45:33 2008 UTC
(16 years, 7 months ago)
by
laffer1
Diff to
previous 1374
,
to
selected 5166
Don't assume the lock is in use when reinitializing a lockuser. Only allocate a lockuser request if both watched and lockuser's requests are null. Fixes some random lockup behavior with some applications forking
Revision
1370 -
Directory Listing
-
[select for diffs]
Modified
Tue Jan 15 18:53:01 2008 UTC
(16 years, 8 months ago)
by
laffer1
Diff to
previous 1366
,
to
selected 5166
PTY handling patch.
This is text from the FreeBSD advisory on the same issue:
If openpty(3) is called as non-root user the newly created
pseudo-terminal is world readable and writeable. While this is
documented to be the case, script(1) still uses openpty(3) and
script(1) may be used by non-root users [CVE-2008-0217].
The ptsname(3) function incorrectly extracts two characters from the
name of a device node in /dev without verifying that it's actually
operating on a valid pty which the calling user owns. pt_chown uses
the bad result from ptsname(3) to change ownership of a pty to the
user calling pt_chown [CVE-2008-0216].
Revision
1366 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 5 22:18:20 2008 UTC
(16 years, 8 months ago)
by
ctriv
Diff to
previous 1356
,
to
selected 5166
Latest developement version of libmport.
Changes:
It is now possible to create, install, and delete packages from a system
with the library.
The install primative now uses the progress callback system to give the user
feedback during the install.
Support for installing into a chroot envirement is included at the library
level. This is useful if you have a GUI app and you don't want your entire
process stuck in the chroot.
Many function names have been changed in an effort to improve the library's
orginization.
Many bug fixes and subtle changes.
Todo:
Docs:
library overview.
function reference.
mport bundle specification.
The merge primative.
The fetch primative.
The update primative.
Top level functions to do things like "fetch this bundle, its depends, and
then install them all."
Some of the sematics are still up in the air. For example, gtk12 and
gtk2 both have a pkgname of gtk. libmport doesn't allow two package with
the same name to be installed.
Hard links are not implemented in a mport bundle.
Much more testing and bug fixing is needed.
Revision
1355 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 1 06:21:37 2007 UTC
(16 years, 10 months ago)
by
ctriv
Diff to
previous 1350
,
to
selected 5166
sync with developement version.
Version comparison now works, but we might change the definition of "works"
in the near future. As crazy as the FreeBSD semantics are, they might be
useful.
All package files are now bundles. Typical package files are simply a
special case of a bundle only containting one package. There is no
performance penalty for many packages in one bundle at install time, and
there is only one code path for all installations.
pkg-deinstall script support has been added (but is not yet tested).
Many new functions for simplifing work. See mport_db_do(),
mport_db_prepare(), and mport_add_file_to_archive(), et al.
Revision
1297 -
Directory Listing
-
[select for diffs]
Modified
Tue Oct 23 14:46:25 2007 UTC
(16 years, 11 months ago)
by
laffer1
Diff to
previous 1296
,
to
selected 5166
Remove libio as that was only for the alpha. I don't know why I added it in the previous revision. Also remove the files.
$MidnightBSD$ libbz2
work around libarchive so the system compiles.
Revision
1251 -
Directory Listing
-
[select for diffs]
Modified
Tue Sep 25 15:25:42 2007 UTC
(17 years ago)
by
laffer1
Diff to
previous 1247
,
to
selected 5166
libc_r close() fails if fstat() returns an error. This causes problems with FreeBSD 4.x applications.
Since we don't control compat4x, this will never be fully resolved, but we can certainly fix our part.
Revision
1245 -
Directory Listing
-
[select for diffs]
Modified
Mon Sep 24 16:49:59 2007 UTC
(17 years ago)
by
ctriv
Diff to
previous 1243
,
to
selected 5166
Added mport_parselist().
Conflicts and depends are now inserted into the package file db. The schema
of this will probably change once the install end is written and we know
what we need.
Revision
1204 -
Directory Listing
-
[select for diffs]
Modified
Sat Aug 18 07:58:02 2007 UTC
(17 years, 1 month ago)
by
laffer1
Diff to
previous 1019
,
to
selected 5166
Obtained from FreeBSD:
pam_nologin(8) starts to provide an account management function in
addition to the existing authentication function so that sshd(8) can
respect nologin(5) while the rest of PAM consumers work as earlier.
In turn, sshd(8) starts to use the new account management function
in pam_nologin(8) and thus respect nologin(5) even when doing public
key authentication with sshd's internal routines (PAM authentication
isn't called at all in that case).
Revision
1005 -
Directory Listing
-
[select for diffs]
Modified
Mon May 14 06:12:57 2007 UTC
(17 years, 4 months ago)
by
laffer1
Diff to
previous 1002
,
to
selected 5166
$MidnightBSD$
Use unsigned comparisons. This fixes some bugs in the following case:
1. i386
2. program calling update is statically linked to libmd
3. buffer provided is aligned modulo 4 bytes
4. the buffer extends beyond 2 GB.
Bugs 1-3 still cause problems beyond 4GB.
Revision
898 -
Directory Listing
-
[select for diffs]
Modified
Thu Apr 5 03:52:16 2007 UTC
(17 years, 5 months ago)
by
laffer1
Diff to
previous 897
,
to
selected 5166
After adding pro police, we started failing one of the regression tests that we used to pass (mutex_d).
curthread can be NULL in some cases. This was causing the test app to crash.
Revision
886 -
Directory Listing
-
[select for diffs]
Modified
Mon Apr 2 00:48:03 2007 UTC
(17 years, 6 months ago)
by
archite
Diff to
previous 876
,
to
selected 5166
Importing propolice into MidnightBSD. Propolice is going to
provide us with much greater security and stability in the
long run. If upgrading from a pre-propolice system, please
follow the these instructions:
cd /usr/src/lib/libc && make obj && make && make install
cd /usr/src/gnu/usr.bin/cc && make obj && make && make install
buildworld and kernel
It is adviced that any mports which were installed and/or built
prior to the propolice update also be updated. If any errors
or issue are encounted, please contact security@midnightbsd.org
and we will be sure to investigate and come up with an expeditious
fix.
Revision
869 -
Directory Listing
-
[select for diffs]
Modified
Tue Mar 20 17:02:55 2007 UTC
(17 years, 6 months ago)
by
laffer1
Diff to
previous 833
,
to
selected 5166
$MidnightBSD$
The __MBSDID macro is not working as it should be with the assembler. There must be a behavior difference between FBSDID and MBSDID somewhere.
Revision
603 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 13 13:51:19 2007 UTC
(17 years, 8 months ago)
by
laffer1
Diff to
previous 596
,
to
selected 5166
Handling of login.access(5) was moved from login(1) to pam_login_access(8) years ago. This will remove dead code, clean up manpages and install login.access.5 from the pam_login_access src dir.
Revision
440 -
Directory Listing
-
[select for diffs]
Modified
Sun Dec 31 09:59:48 2006 UTC
(17 years, 9 months ago)
by
laffer1
Diff to
previous 349
,
to
selected 5166
Add NetBSD efun(3) functions...
esetfunc, easprintf, efopen, ecalloc, emalloc, erealloc, estrdup, estrlcat, estrlcpy, evasprintf
Some code in the tree already includes this such as fsck and rcorder. This will make NetBSD code porting easier. Note our libutil uses libutil.h instead of util.h.
Revision
338 -
Directory Listing
-
[select for diffs]
Modified
Mon Dec 18 23:50:50 2006 UTC
(17 years, 9 months ago)
by
laffer1
Diff to
previous 326
,
to
selected 5166
As discussed on freebsd-threads@freebsd.org, a libpthread bug exists that this patch by Peter Edwards Corrects.
Here is a summary:
I've a problem when a process uses:
libpthread
detached threads
mixed bound/unbound threads
suspended threads (a la pthread_resume_np())
whereby some newly created suspended threads don't get scheduled.
I think I've tracked it down, so if someone could review the
reasoning, I'd be grateful.
Newly launched threads have a "struct pthread" that may be allocated
from a freelist of GCed threads. Apparently, when detached threads
enter the GCed list, they can still have the "active" flag set on
them. Later, this causes problems when this thread is recycled and
resumed, because _thr_setrunnable_unlocked() doesn't add it to a
run queue.
thr_cleanup can be called either from the bound-threads scheduler,
or the unbound scheduler. One callsite clears "active", "needswitchout",
and "lock_switch" to zero before the call. The other callsite just
clears "check_pending". I think these flags are all either bound-thread
or unbound-thread specific, and that there was an unintended
assumption that the thread would remain with the same "boundedness"
after being recycled, which isn't neccessarily the case. (Or another
way - the idea was that there was no need to clear the "active"
flag on a bound thread, as its only used for unbound threads, but
a GCed bound thread might be recycled into an unbound thread)
Given that, it seems correct to clean up the thread the same way
for both cases, and just move that code into thr_cleanup.
Revision
314 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 30 14:50:16 2006 UTC
(17 years, 11 months ago)
by
laffer1
Diff to
previous 313
,
to
selected 5166
Only catch SIGINFO when LIBPTHREAD_DEBUG is defined in the environment.
Eliminate a race condition in timed waist (cv, mutex, sleeps).
Don't forget to init a TAILQ before using it.
Allocate a thread's tcb last so it is easier to handle failures to malloc() siginfo.
Include needed headers obtained through pthread.h
Obtained from FreeBSD (March 2006 MFC)
Revision
3 -
Directory Listing
-
[select for diffs]
Added
Sat Feb 25 02:29:52 2006 UTC
(18 years, 7 months ago)
by
laffer1
Diff
to
selected 5166
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches.