summaryrefslogtreecommitdiffstats
path: root/source3/lib/system.c
Commit message (Collapse)AuthorAgeFilesLines
* Patch based on work from James Peach <jpeach@sgi.com> to convert over toJeremy Allison2004-01-061-0/+41
| | | | | | | using pread/pwrite. Modified a little to ensure fsp->pos is correct. Fix for #889. Jeremy. (This used to be commit 019aaaf0df091c3f67048f591e70d4353a02bb9b)
* Fix from James Flemer <jflemer@uvm.edu> to make HAVE_ATTR_LIST linked toJeremy Allison2004-01-051-3/+3
| | | | | | HAVE_SYS_ATTRIBUTES_H to fix AIX compile. Jeremy. (This used to be commit 1b1c216122e4dcf40e4ccaea528a7775521fa618)
* wrap internals of sys_setgroups() so the sys_XX() call can be done ↵Gerald Carter2003-10-011-3/+5
| | | | | | unconditionally; bug 550 (This used to be commit 9df3f53e6ae751d522c7ac21deb785f1fa05f225)
* add IRIX EA supportHerb Lewis2003-08-151-1/+158
| | | | (This used to be commit 589e94f4ffa325acfd6562a84906639e19fd5d33)
* Use filedes as first argument to fsetxattr, not the undefined variable ↵Jelmer Vernooij2003-06-061-1/+1
| | | | | | 'path' :-) (This used to be commit d3c02b40c48921f842c92fa1beed1924897ce160)
* Get ready for EA code... Add Linux interface.Jeremy Allison2003-06-051-0/+125
| | | | | Jeremy. (This used to be commit 48853140749b74053f1a7857a983397b6e9a0234)
* dlysym takes a const char *.Jeremy Allison2003-03-031-1/+1
| | | | | Jeremy. (This used to be commit 54e5413a9267b7279cbde0ec129478a5a9c3116c)
* Merge from HEAD - add PRINTF_ATTRIBUTE to a few more functions.Andrew Bartlett2003-01-031-1/+1
| | | | (This used to be commit 9e5297131cc53d7161aa74566f147b98e1c27aaa)
* sync'ing up for 3.0alpha20 releaseGerald Carter2002-09-251-9/+6
| | | | (This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
* sync 3.0 branch with headJelmer Vernooij2002-08-171-0/+10
| | | | (This used to be commit 3928578b52cfc949be5e0ef444fce1558d75f290)
* updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell2002-07-151-101/+115
| | | | (This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
* Added sys_adminlog() system for info the appliance admins reallyJeremy Allison2002-03-271-0/+28
| | | | | | need to know about. Different from the DEBUG system. Jeremy. (This used to be commit 74eac41c681f92a6da0ae2167f031e021862e0d8)
* Removed HAVE_LIBDL from most places (except system.c). Added checks forJeremy Allison2002-03-271-4/+4
| | | | | | | dlopen & friends into configure.in. This should help building on *BSD where dl*** calls are in libc. Jeremy (This used to be commit ac1baba35d7a399bf800ced49a4384e39955e3eb)
* Sync up vfs changes from 2.2.x.Jeremy Allison2002-03-191-0/+15
| | | | | Jeremy. (This used to be commit ad1e858d8e72adf924ff435eab8da3e60842e2e6)
* Removed version number from file header.Tim Potter2002-01-301-2/+1
| | | | | Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
* Getting ready to add UNIX extensions in HEAD also.Jeremy Allison2002-01-101-184/+392
| | | | | Jeremy (This used to be commit 6210d4aa196c944e47076e316980f76ac9c6b02d)
* Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.Tim Potter2001-10-021-2/+0
| | | | (This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
* move to SAFE_FREE()Simo Sorce2001-09-171-10/+8
| | | | (This used to be commit 60e907b7e8e1c008463a88ed2b076344278986ef)
* Wrapped dlerror() in the same way as the other dlxxx() calls.Jeremy Allison2001-07-061-0/+9
| | | | | Jeremy. (This used to be commit ed5a1f70c6d155788b62e9e6e8c5d97a5ca0858d)
* strchr and strrchr are macros when compiling with optimisation in gcc, so we ↵Andrew Tridgell2001-07-041-2/+2
| | | | | | can't redefine them. damn. (This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
* The big character set handling changeover!Andrew Tridgell2001-07-041-170/+0
| | | | | | | | This commit gets rid of all our old codepage handling and replaces it with iconv. All internal strings in Samba are now in "unix" charset, which may be multi-byte. See internals.doc and my posting to samba-technical for a more complete explanation. (This used to be commit debb471267960e56005a741817ebd227ecfc512a)
* Ensured all the system calls in msdfs.c go through the vfs layer.Jeremy Allison2001-06-291-0/+28
| | | | | | | Added vfs calls to symlink() and readlink() with appropriate configure checks. Jeremy. (This used to be commit c24e6b41ea60ab4bac2fcd19da947851d6df3c7c)
* Fixed password entry caching bug pointed out by Elrond.Jeremy Allison2001-04-301-14/+25
| | | | | Jeremy. (This used to be commit dc31b47deda188cb88288a8f33dc09faed9b2c41)
* Sync up with 2.2 ACL code.Jeremy Allison2001-03-231-4/+0
| | | | | Jeremy. (This used to be commit 5b9a88c2d0da3479f91131f66ff741e88f9760ee)
* Added sys_dlopen/sys_dlsym/sys_dlclose.Jeremy Allison2001-03-191-0/+31
| | | | | Jeremy. (This used to be commit 49f0e7e7143f82bce9dfd8b06e9e515bc0869ab7)
* removed useless debug msgAndrew Tridgell2001-03-171-3/+0
| | | | (This used to be commit 348ebe30d047d69968df0f33b227e52b5bbabafe)
* lib/system.c (Finally) fixed all insure errors in password caching code. We ↵Jeremy Allison2001-03-171-56/+53
| | | | | | | | | | | | | | can't stop libc routines from calling getpwXXX functions, so caching a pointer to them is impossible. This new code now makes two copies of the returned struct passwd struct - one used as a cache, one returned to allow the caller to modify. When doing a lookup we compare against the cached copy. Code is now easier to understand also. smbd/posix_acls.c: If we move the head of the linked list, remember to pass a reference to that pointer..... Jeremy. (This used to be commit af364b93d92f70aa52195c46d3cc516830752609)
* change pstrcpy() in setup_pwret() to fstrcpy() since we areGerald Carter2001-02-131-2/+2
| | | | | | | | | | using fstrings. Spotted by Elrond. Thanks :-) jerry (This used to be commit a55a4fea9728550c4d28b05910c0b7d5080714b3)
* lib/system.c: Fix for pw caching.Jeremy Allison2001-01-311-12/+37
| | | | | | | srv_samr.c: Fix for pw caching. smbd/nttrans.c: Fix to allow trans create to set ACL on open. Jeremy. (This used to be commit c4f810a7588a2faf41f4222dc77678c53ab1dec0)
* Fix insure problems with passwd caching code.Jeremy Allison2001-01-241-6/+10
| | | | | Jeremy. (This used to be commit 2bd4f163890be58456a7e49b1adbed3f5834ff9e)
* Added modification to Richard Bollinger getpw[nam|uid] cache patch. OnlyJeremy Allison2001-01-241-2/+14
| | | | | | uses cache max 100 times. Jeremy. (This used to be commit 3712e35c5460d341ba750fe5e7bce8ef63c9f8ef)
* getpw[nam|uid] caching patch from "Richard Bollinger"Gerald Carter2001-01-241-7/+37
| | | | | | | | | <rabollinger@home.com> jerry (This used to be commit 158430ba6a030061bc7d7b84126c6f7ea0041c91)
* sys_popen got damaged when converted from FILE * to int fd I think.Jeremy Allison2000-10-081-14/+3
| | | | | | Patrick Powell kindly pointed out the bug. Jeremy. (This used to be commit 1f156b2420b7ecf1266e650efc3cee55362e29dd)
* added a hack to get 64 bit locking working with the broken fcntl()Andrew Tridgell2000-09-291-0/+14
| | | | | | call in glibc 2.1.95. This hack only gets enabled if you define GLIBC_HACK_FCNTL64 (This used to be commit d8b9ec741cc57b5f3dd1b3ef782a7baed402beaa)
* totally rewrote the async signal, notification and oplock notificationAndrew Tridgell2000-06-121-109/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handling in Samba. This was needed due to several limitations and races in the previous code - as a side effect the new code is much cleaner :) in summary: - changed sys_select() to avoid a signal/select race condition. It is a rare race but once we have signals doing notification and oplocks it is important. - changed our main processing loop to take advantage of the new sys_select semantics - split the notify code into implementaion dependent and general parts. Added the following structure that defines an implementation: struct cnotify_fns { void * (*register_notify)(connection_struct *conn, char *path, uint32 flags); BOOL (*check_notify)(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *data, time_t t); void (*remove_notify)(void *data); }; then I wrote two implementations, one using hash/poll (like our old code) and the other using the new Linux kernel change notify. It should be easy to add other change notify implementations by creating a sructure of the above type. - fixed a bug in change notify where we were returning the wrong error code. - rewrote the core change notify code to be much simpler - moved to real-time signals for leases and change notify Amazingly, it all seems to work. I was very surprised! (This used to be commit 44766c39e0027c762bee8b33b12c621c109a3267)
* Linux kernel oplocks now seem to work, but need a _lot_ of testingAndrew Tridgell2000-06-111-8/+18
| | | | | | I had to modify sys_select() to not loop on EINTR. I added a wrapper called sys_select_intr() which gives the old behaviour. (This used to be commit b28cc4163bc2faaa80c5782fc02c8f03c410cdeb)
* continued the split of the kernel level oplocks code into a moreAndrew Tridgell2000-06-101-0/+2
| | | | | | modular form. In this pass I added oplock_irix.c and added a "struct kernel_oplocks" that describes a kernel oplock implementation. (This used to be commit b5ceab810292602ea9a81696c20a781c16b706c2)
* clean up oplock capability code ready for Linux codeAndrew Tridgell2000-06-091-7/+15
| | | | (This used to be commit 70dcc791b45ac64fc536ef449e4e6b53b2b68fd4)
* Added sys_fork() and sys_getpid() functions to stop the overheadJeremy Allison2000-05-021-1/+31
| | | | | | of doing a system call every time we want to just get our pid. Jeremy. (This used to be commit 148628b616b5c29ba6340d65fc3ddbcabba6e67a)
* got rid of some more old configure tests and includesAndrew Tridgell2000-04-171-17/+0
| | | | (This used to be commit f137648504362479143d50477fa38ebf7147968b)
* converted a bunch more functions to use a fd instead of a FILE*Andrew Tridgell2000-04-161-88/+14
| | | | | | | | to support some of this I added the following functions in util_file.c file_lines_pload : load lines from a pipe file_pload : load a pipe into memory (This used to be commit a09470817c5b21dba42f9ef4ce5e8b768a254c0b)
* Fixes to add "paranoid" option to popen. Checks some basic things.Jeremy Allison2000-03-161-1/+56
| | | | | Jeremy (This used to be commit 3b8cbb10de322fd7a1063fb5b681790b10d24ab0)
* lib/system.c: Fixed gcc warnings.Jeremy Allison2000-02-231-1/+0
| | | | | | | nmbd/nmbd_processlogon.c: Use "True" and "False" instead of 1 and 0. Others - preparing for multiple pdu write code. Jeremy. (This used to be commit 9f879ec396230deba34fbe5e82d8a65f92137c54)
* Added replacement functions sys_popen and sys_pclose. These are basedJeremy Allison2000-02-151-7/+224
| | | | | | | | | | on the glibc source code and are safer than the traditional popen as they don't use a shell to exec the requested command. Now we have these functions they can be tightened up (environment etc.) as required to make a safe popen. It should now be safe to add the environement variable loading code to loadparm.c Jeremy. (This used to be commit b52e92b09d4ca3b66e534f520468dee27065d048)
* include/includes.h: Trimmed down unicode directory entry to be POSIX complient.Jeremy Allison1999-12-221-3/+4
| | | | | | | lib/system.c: Trimmed down unicode directory entry to be POSIX complient. lib/util_unistr.c: Added wstrdup(). Jeremy. (This used to be commit ca64f4ab00c6d54022ba9bd4b869523566a242d7)
* First cut at unicode sys_xx functions. Now to start moving upwards.....Jeremy Allison1999-12-221-0/+169
| | | | | Jeremy. (This used to be commit b5eb009cc3cfd1adc044e91911d59acdb54c30cb)
* first pass at updating head branch to be to be the same as the SAMBA_2_0 branchAndrew Tridgell1999-12-131-38/+159
| | | | (This used to be commit 453a822a76780063dff23526c35408866d0c0154)
* sys_select added one more argument (read, write selectors).Luke Leighton1999-12-011-3/+4
| | | | (This used to be commit e4d92ff9dfc51735e6932748f66a7c20b2c1cb6a)
* check to see if copy_passwd_struct() ever receives its own internalLuke Leighton1999-07-161-0/+7
| | | | | buffer as an argument :-) :-) (This used to be commit 0d1f5e5a6d1cbceda3be3d5626842116e6e91809)
* using jeremy's sys_getpwnam() call in the more critical area: Get_Pwnam().Luke Leighton1999-07-061-3/+3
| | | | | | | made sure that hashed_getpwnam() has the copy-passwd-struct-wrapper around it, too. TODO: replace all calls of getpwnam() with sys_getpwnam(). (This used to be commit 436a89145524d3539b3a247f98c1e71f0616dd70)