summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* lib/util/charset: Remove autodetection of charset from LOCALEAndrew Bartlett2011-06-231-31/+0
| | | | | | | | | | | | | | | | In the past, our LOCALE would set the display charset of Samba. The display charset has now been removed. This patch removes the support code that detected the locale from the environment. We cannot safely have 'unix charset' follow the locale (at it creates files on disk and entries in databases that must not vary), so this code is unused. As an example, imagine a database is manipulated in the administrator's locale, and then read by smbd starting up in the system default locale. Or smbd restarted by the administrator rather than a startup script. Both of these situations could corrupt databases or filenames on disk. Andrew Bartlett
* lib/util/charset: Remove 'display charset'Andrew Bartlett2011-06-235-103/+61
| | | | | | | | | | | | | | | | | As discussed in 'CH_DISPLAY and gettext' on the samba-technical list: http://lists.samba.org/archive/samba-technical/2011-June/078190.html Setting this to a value other than 'unix charset' does not make sense, as any system where the filesytem charset does not equal the terminal charset will already have problems with programs as simple as 'ls'. It also means that our output could not be pasted as our input in interactive programs or onto our command line, as we never did translate in the DISPLAY -> UNIX direction. The d_printf() calls are retained in case we need to revisit this, and to support display_set_stderr(). Andrew Bartlett
* lib/util: Restore CH_UNIX as source charset for d_printf()Andrew Bartlett2011-06-211-1/+1
| | | | | | | | | | | | | | | I'm changed this during the change to use the d_printf() code in common, but should not have. However, there is a puzzle: What is the right source charset? Translated strings in our .mo and .msg files are in UTF8, but strings such as file names on remote servers are in UNIX (whatever that is). I can't see how this actually works properly when either CH_DISPLAY or CH_UNIX are other than UTF8! Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* lib/util Remove display_cd from d_printf()Andrew Bartlett2011-06-211-7/+0
| | | | | | | | | | The setting of the display charset is now done by convert_string_talloc() selecting the right charset based on CH_DISPLAY. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* lib/ccan/tally.h: update for FreeBSD compile.Rusty Russell2011-06-217-2/+8
| | | | | | | | | | | | | Based on commit 0284423676209380a2e07086b9b356096a2f93e6 from CCAN: Author: Rusty Russell <rusty@rustcorp.com.au> Date: Tue Jun 21 10:43:31 2011 +0930 tally: fix FreeBSD compile, memleak in tests. Posix says ssize_t is in sys/types.h; on Linux stdlib.h is enough. Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Tue Jun 21 05:52:12 CEST 2011 on sn-devel-104
* lib/util Remove samba-util-common!Andrew Bartlett2011-06-211-44/+12
| | | | | | | All of this code is now in common, so we don't need the second '-common' library any more! Andrew Bartlett
* lib/util: allow parmlist.c to compile under s3 includes.hAndrew Bartlett2011-06-211-0/+2
|
* lib/util: Use common d_printf() in the whole codebaseAndrew Bartlett2011-06-213-26/+25
| | | | | | | | | This removes the lang_tdb based varient, the only user of the lang_tdb code is SWAT, which calls that directly. 'net' and 'pam_winbind' are internationalised using gettext. Andrew Bartlett
* lib/util Make unused d_vfprintf() staticAndrew Bartlett2011-06-212-2/+1
|
* Use tevent_req_oomVolker Lendecke2011-06-201-3/+3
| | | | This fixes a few Coverity errors
* tevent: change version to 0.9.12Volker Lendecke2011-06-202-1/+75
|
* tevent: Add tevent_req_oomVolker Lendecke2011-06-202-1/+20
| | | | This is a replacement for tevent_req_nomem(NULL, req)
* tdb_compat: respect TDB_NO_FSYNC environment variable for tdb2.Rusty Russell2011-06-201-0/+6
| | | | | | | | | | | I don't think this kind of hack belongs in the tdb2 source, but SAMBA uses it to speed testing, so we should respect it: handle it in our compat open wrapper. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Mon Jun 20 12:32:08 CEST 2011 on sn-devel-104
* tdb2: tie it into build process if --enable-tdb2-breaks-compatRusty Russell2011-06-203-2/+116
| | | | | | | | | | | This is simplistic. We need to support making TDB2 a standalone library, but for now, we simply built it in-tree. Once we have tdb1 compatibility in tdb2, we can rename this option to --enable-tdb2. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb2: create tdb2 versions of various testing TDBs.Rusty Russell2011-06-202-22/+55
| | | | | | | Soon, TDB2 will handle tdb1 files, but until then, we substitute. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb2: python wrapperRusty Russell2011-06-201-0/+574
| | | | | Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb2: minor changes to SAMBIFY it.Rusty Russell2011-06-203-4/+18
| | | | | | | | This is a bit messy, but it works. Kept as a separate patch so it's easier to merge back and forth with CCAN's tdb2. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb2: add lib/tdb2 (from CCAN init-1161-g661d41f)Rusty Russell2011-06-2084-0/+26504
| | | | | Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb_compat: Higher level API fixes.Rusty Russell2011-06-202-6/+6
| | | | | | | | | | | | My previous patches fixed up all direct TDB callers, but there are a few utility functions and the db_context functions which are still using the old -1 / 0 return codes. It's clearer to fix up all the callers of these too, so everywhere is consistent: non-zero means an error. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb_compat: use tdb_open_compat.Rusty Russell2011-06-201-5/+28
| | | | | | | | | This is a helper for the common case of opening a tdb with a logging function, but it doesn't do all the work, since TDB1 and TDB2's log functions are different types. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb_store: check returns for 0, not -1.Rusty Russell2011-06-204-16/+16
| | | | | | | | TDB2 returns a negative error number on failure. This is compatible if we always check for != 0 instead of == -1. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb_delete: check returns for 0, not -1.Rusty Russell2011-06-201-1/+1
| | | | | | | | TDB2 returns a negative error number on failure. This is compatible if we always check for != 0 instead of == -1. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb_fetch_compat: use instead of tdb_fetch.Rusty Russell2011-06-201-3/+3
| | | | | | | This is a noop for tdb1. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tdb_compat.h: divert every tdb build and includes to tdb_compatRusty Russell2011-06-205-7/+14
| | | | | | | | We change all the headers and wscript files to use tdb_compat; this means we have one place to decide whether to use TDB1 or TDB2. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* lib/tdb_compat: header for tdb1 vs tdb2.Rusty Russell2011-06-203-0/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TDB2's API is slightly different from TDB1. In particular, all functions return 0 (TDB_SUCCESS) or a negative error number, rather than -1 or tdb_null and storing the error in tdb_error() (though TDB2 does that as well). The simplest fix is to replace all the different functions with a wrapper, and that is done here. Compatibility functions: tdb_null: not used as an error return, so not defined by tdb2. tdb_fetch_compat: TDB1-style data-returning tdb_fetch. tdb_firstkey_compat: TDB1-style data-returning tdb_firstkey tdb_nextkey_compat: TDB1-style data-returning tdb_nextkey, with TDB2-style free of old key. tdb_errorstr_compat: TDB1-style tdb_errorstr() which takes TDB instead of ecode. TDB_CONTEXT: TDB1-style typedef for struct tdb_context. tdb_open_compat: Simplified open routine which takes log function, sets TDB_ALLOW_NESTING as Samba expects, and adds TDB_CLEAR_IF_FIRST support. Things defined away in TDB2 wrappers: tdb_traverse_read: TDB2's tdb_traverse only uses read-locks anyway. tdb_reopen/tdb_reopen_all: TDB2 detects this error itself. TDB_INCOMPATIBLE_HASH: TDB2 uses the Jenkins hash already. TDB_VOLATILE: TDB2 shouldn't have freelist scaling issues. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* lib: import ccan modules for tdb2Rusty Russell2011-06-20129-0/+13867
| | | | | | | Imported from git://git.ozlabs.org/~ccan/ccan init-1161-g661d41f Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* libcli/util Rename common map_nt_error_from_unix to avoid duplicate symbolAndrew Bartlett2011-06-201-2/+2
| | | | | | | | | | | | The two error tables need to be combined, but for now seperate the names. (As the common parts of the tree now use the _common function, errmap_unix.c must be included in the s3 autoconf build). Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Mon Jun 20 08:12:03 CEST 2011 on sn-devel-104
* talloc: added talloc_stackframe_exists()Andrew Tridgell2011-06-172-0/+25
| | | | | | | | | This can be used to tell if a talloc stackframe is currently available. Callers can use this to decide if they will use talloc_tos() or instead use an alternative strategy. This gives us a way to safely have calls to talloc_tos() in common code that may end up in external libraries, as long as all talloc_tos() calls in these pieces of common code check first that a stackframe is available.
* s3-param Remove 'time offset' from smb.confAndrew Bartlett2011-06-113-24/+1
| | | | | | | | | | This strange parameter is apparently very rarely used, and it seems to me that on modern networks, if clients don't have correct clocks and DST offsets, that many other things (Kerberos) start to fail pretty quickly, and time and DST tables tend to be internet delivered anyway. Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Sat Jun 11 03:54:45 CEST 2011 on sn-devel-104
* lib/util/wrap_xattr.h: fix licence/copyrightGünther Deschner2011-06-101-0/+21
| | | | Guenther
* lib/util/util_tdb.h: fix licence/copyrightGünther Deschner2011-06-101-0/+21
| | | | Guenther
* lib/util/util_ldb.h: fix licence/copyrightGünther Deschner2011-06-101-0/+23
| | | | Guenther
* lib/util/time.h: fix licence/copyrightGünther Deschner2011-06-101-1/+6
| | | | Guenther
* lib/util/data_blob.h: fix licence/copyrightGünther Deschner2011-06-101-1/+4
| | | | Guenther
* server_id: Change format to vnn:pid.task_id, pid.task_id or pidAndrew Bartlett2011-06-091-1/+6
| | | | | | | | | | | This helps ensure the string cannot be ambiguous, while also ensuring that it remains simple in the non-cluster case. The asymmetry of reading get_my_vnn() but writing based on NONCLUSTER_VNN is acceptable because in the non-clustered case, they are equal, and in the clustered case we will print the full string. Andrew Bartlett
* lib/util Bring procid_str() into lib/util as server_id_string()Andrew Bartlett2011-06-093-1/+40
| | | | | | | This is needed for OpenChange, which prints Samba struct server_id values in debug messages. Andrew Bartlett
* s3-talloc Change TALLOC_MEMDUP() to talloc_memdup()Andrew Bartlett2011-06-091-1/+1
| | | | | Using the standard macro makes it easier to move code into common, as TALLOC_MEMDUP isn't standard talloc.
* s3-talloc Change TALLOC_ZERO_P() to talloc_zero()Andrew Bartlett2011-06-094-6/+6
| | | | | Using the standard macro makes it easier to move code into common, as TALLOC_ZERO_P isn't standard talloc.
* s3-talloc Change TALLOC_ARRAY() to talloc_array()Andrew Bartlett2011-06-094-13/+13
| | | | | Using the standard macro makes it easier to move code into common, as TALLOC_ARRAY isn't standard talloc.
* s3-talloc Change TALLOC_REALLOC_ARRAY() to talloc_realloc()Andrew Bartlett2011-06-092-2/+2
| | | | | | | Using the standard macro makes it easier to move code into common, as TALLOC_REALLOC_ARRAY isn't standard talloc. Andrew Bartlett
* tdb: enable VALGRIND to remove valgrind noise.Rusty Russell2011-06-081-35/+0
| | | | | | | | | | | | | | Andrew Bartlett complained that valgrind needs --partial-loads-ok=yes otherwise the Jenkins hash makes it complain. My benchmarking here revealed that at least with modern gcc (4.5) and CPU (Intel i5 32 bit) there's no measurable performance penalty for the "correct" code, so rip out the optimized one. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Wed Jun 8 11:05:47 CEST 2011 on sn-devel-104
* Fix bug #8197 - winbind does not properly detect when a DC connection is dead.Jeremy Allison2011-06-061-6/+32
| | | | | | | | | | | | | | | Only waiting for writability doesn't get fd errors back with poll. So always begin by selecting for readability, and if we get it then see if bytes were available to read or it really is an error condition. If bytes were available, remove the select on read as we know we will retrieve the error when we've finished writing and start reading the reply (or the write will timeout or fail). Metze and Volker please check. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Jun 6 21:53:16 CEST 2011 on sn-devel-104
* lib/util use modules_path(), data_path() and shlib_ext() from source3Andrew Bartlett2011-06-063-1/+90
| | | | | | | | | | This brings these helpful utility functions in common, as they are not based on either loadparm system. (The 'modules dir' parameter from Samba4 will shortly be removed, so there is no loss in functionality) Andrew Bartlett
* util-net: added is_ipaddress_v6()Andrew Tridgell2011-06-062-3/+13
|
* ipv6: always try to convert as a numeric address firstAndrew Tridgell2011-06-061-0/+9
| | | | | This avoids unnecessary name lookups, plus it fixes a problem with using interpret_string_addr*() with the wildcard IPv6 address
* Fix the poll() backend to correctly respond to POLLHUP|POLLERR returns on a ↵Jeremy Allison2011-06-031-1/+13
| | | | | | | | | | | | fd selected for TEVENT_FD_WRITE only. Don't trigger the write handler and remove the POLLOUT flag for this fd. Report errors on TEVENT_FD_READ requests only. Metze please check ! Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Jun 3 22:53:52 CEST 2011 on sn-devel-104
* Fix warning messages on Freebsd 4.6.2.Herb Lewis2011-06-021-0/+2
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* lib/tdb/python/tests/simple.py: don't assume TDB ordering.Rusty Russell2011-06-021-1/+3
| | | | | | | | | TDB2 can break this assumption. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Thu Jun 2 12:07:40 CEST 2011 on sn-devel-104
* lib/tevent/tevent.h: minor documentation fix.Rusty Russell2011-06-011-3/+3
| | | | | | | | | | | The usecs arguments are (of course) microseconds, not milliseconds. This was added by Andreas Schneider in 6c1bcdc2 (tevent: Document the tevent helper functions.). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Wed Jun 1 11:47:38 CEST 2011 on sn-devel-104
* lib/util/time.c: timeval_current_ofs_usecRusty Russell2011-06-012-0/+14
| | | | | | | | | | | | | | | Several places want "microseconds from current time", and several were simply handing "usecs" values which could be over a million. Using a helper to do this is safer and more readable. I didn't replace any obviously correct callers (ie. constants). I also renamed wait_nsec in source3/lib/util_sock.c; it's actually microseconds not nanoseconds (introduced with this code in Volker's 19b783cc Async wrapper for open_socket_out_send/recv). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>